introduccion dia +mitro alg

28
CONCEPTOS BÁSICOS Defnición de Lenguaje Lenguaje: Son Símbolos que sirven para mostrar uno o mas mensajes entre dos entidades diferentes. A la transmisión de mensajes se le conoce normalmente como comunicación. La comunicación es un proceso que necesita un conjunto de reglas simples para poderse llevar a cabo. Las dos principales son las siguientes:  Los mensajes deben correr en un sentido a la vez.  Debe forzosamente existir elementos: !misor" #eceptor" $edio de %omunicación & $ensaje.  Lenguajes de Programación  Son un conjunto de símbolos" caracteres & reglas que le permiten a las personas comunicarse con la computadora.  Los lenguajes de programación poseen un conjunto de instrucciones que permiten realizar operaciones de entrada'salida" calculo" manipulación de textos" lógica'comparac ión & almacenamiento'recuperac ión. Los lenguajes de programación se clasi(can en:  Lenguaje $aquina: Son aquellos cu&as instrucciones son entendibles por la computadora & no necesitan traducción para que la %)* pueda comprender & poner a correr el programa. Las instrucciones en lenguaje maquina se expresan en t+rminos de la unidad de memoria mas peque,a el bit -dígito binario o /0.  Lenguaje de 1ajo 2ivel -!nsamblador0: Son aquellos cu&as instrucciones se escriben en códigos alfab+ticos conocidos como mnemot+cnic os para las operaciones & direcciones simbólicas.  Lenguaje de Alto 2ivel: Los lenguajes de alto nivel mas conocidos son -31asic" c44"  5creator" pascal" cobol" frot ran" etc.0 & son aquellos en los que las instrucciones a la computadora son escritas con palabras parecidas a el lenguaje 6umano -en general en ingles0" lo que facilita la escritura & comprensión del programa. Defnición de Algoritmo La palabra algoritmo se deriva de la traducción al latín de la palabra 7rabe al86o9arizmi" nombre de un matem7tico & astrónomo 7rabe que escribió un tratado sobre manipulación de nmero s & ecuaciones en el siglo ;<. *n algoritmo es una serie de pasos lógicos organizados que describe el proceso que se debe seguir" para dar solucionar un problema especi(co.  =ipos de A lgoritmos  %ualitativos: Son aquellos en los que se describen los pasos utilizando palabras.  %uantitativos: Son aquellos en los que se utilizan c7lculos num+ricos para de(nir los pasos del proceso.

Post on 07-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 1/28

CONCEPTOS BÁSICOS

• Defnición de Lenguaje 

• Lenguaje: Son Símbolos que sirven para mostrar uno o mas mensajes entre dos entidadesdiferentes. A la transmisión de mensajes se le conoce normalmente como comunicación.

La comunicación es un proceso que necesita un conjunto de reglas simples para podersellevar a cabo. Las dos principales son las siguientes:

 – Los mensajes deben correr en un sentido a la vez.

 – Debe forzosamente existir elementos: !misor" #eceptor" $edio de %omunicación &$ensaje.

 – Lenguajes de Programación 

 – Son un conjunto de símbolos" caracteres & reglas que le permiten a las personascomunicarse con la computadora.

 – Los lenguajes de programación poseen un conjunto de instrucciones que permitenrealizar operaciones de entrada'salida" calculo" manipulación de textos"

lógica'comparación & almacenamiento'recuperación.

Los lenguajes de programación se clasi(can en:

 – Lenguaje $aquina: Son aquellos cu&as instrucciones son entendibles por lacomputadora & no necesitan traducción para que la %)* pueda comprender & ponera correr el programa. Las instrucciones en lenguaje maquina se expresan ent+rminos de la unidad de memoria mas peque,a el bit -dígito binario o /0.

 – Lenguaje de 1ajo 2ivel -!nsamblador0: Son aquellos cu&as instrucciones se escribenen códigos alfab+ticos conocidos como mnemot+cnicos para las operaciones &

direcciones simbólicas. – Lenguaje de Alto 2ivel: Los lenguajes de alto nivel mas conocidos son -31asic" c44"

 5creator" pascal" cobol" frotran" etc.0 & son aquellos en los que las instrucciones a lacomputadora son escritas con palabras parecidas a el lenguaje 6umano -en generalen ingles0" lo que facilita la escritura & comprensión del programa.

Defnición de Algoritmo 

La palabra algoritmo se deriva de la traducción al latín de la palabra 7rabe al86o9arizmi" nombrede un matem7tico & astrónomo 7rabe que escribió un tratado sobre manipulación de nmeros &

ecuaciones en el siglo ;<.

*n algoritmo es una serie de pasos lógicos organizados que describe el proceso que se debeseguir" para dar solucionar un problema especi(co.

 =ipos de Algoritmos

 – %ualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

 – %uantitativos: Son aquellos en los que se utilizan c7lculos num+ricos para de(nir lospasos del proceso.

Page 2: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 2/28

Lenguajes Algortmicos 

!s una serie de símbolos & reglas que se utilizan para describir de manera explícita unproceso.

Ti!os de Lenguajes Algortmicos 

 – >r7(cos: !s la representación gr7(ca de las operaciones que realiza un algoritmo-diagrama de ?ujo0.

 – 2o >r7(cos: #epresenta en forma descriptiva las operaciones que debe realizar unalgoritmo -pseudocodigo0.

"etodologa !ara la solución de !ro#lemas !or medio de com!utadora 

Defnición del Problema 

!n esta fase esta compuesta por el enunciado del problema" el cual requiere unade(nición clara & precisa. )ara de(nir el enunciado es importante saber que desea que realice lacomputadora@ si no se conoce esto no se debe continuar a la siguiente etapa.

 Análisis del Problema 

%uando &a 6a&amos comprendido lo que queremos de la pc" es necesario de(nir:

 –  Los datos de entrada.

 –  %ual es la información que se desea producir -salida0 .

 –  Los m+todos & fórmulas que se necesitan para procesar los datos.

%omo recomendación practica debemos ponernos en el lugar de la computadora & analicemosque es lo que necesitamos que nos ordenen & en que secuencia para producir los resultadosesperados.

Diseño del Algoritmo 

 –  Debe tener un punto de inicio.

 –  Debe ser de(nido" no debe permitir dobles interpretaciones.

 –  Debe ser general" es decir" soportar las variaciones que se puedan presentar.

 –  Debe ser (nito en tama,o & tiempo de ejecución.

Codifcación 

 –  La codi(cación es la operación de escribir la solución del problema -de acuerdo a lalógica del diagrama de ?ujo o pseudocodigo0" son instrucciones detalladas en uncódigo entendible por la computadora" estas instrucciones son llamdas códigofuente" el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.

Page 3: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 3/28

Prueba y Depuración 

 –  Los errores 6umanos dentro de la programación de computadoras son muc6os &aumentan considerablemente con la complejidad del problema. !l proceso deidenti(car & eliminar errores" para dar paso a una solución sin errores se le llamadepuración.

 – La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo dela solución" por ello se debe considerar con el mismo inter+s & entusiasmo.

 –  #esulta conveniente observar los siguientes principios al realizar una depuración"&a que de este trabajo depende el +xito de nuestra solución.

Documentación 

!s la guía o comunicación escrita es sus variadas formas" &a sea en enunciados" procedimientos"dibujos o diagramas. A menudo un programa escrito por una persona" es usado por otra. )orello la documentación sirve para a&udar a comprender o usar un programa o para facilitarfuturas modi(caciones -mantenimiento0.

La documentación se divide en tres partes: –  Documentación ;nterna

 –  Documentación !xterna

 –  $anual del *suario

Documentación Interna$ Son los comentarios o mensaje que se a,aden al código fuente para6acer mas claro el entendimiento de un proceso.

Documentación E%terna$ Se de(ne en un documento escrito los siguientes puntos:

 –  Descripción del )roblema

 –  2ombre del Autor

 –  Algoritmo -diagrama de ?ujo o pseudocódigo0

 –  Diccionario de Datos

 –  %ódigo uente -programa0

"anual del &suario$ Describe paso a paso la manera como funciona el programa" con el (n deque el usuario obtenga el resultado deseado.

Mantenimiento 

Se lleva acabo despu+s de terminado el programa" cuando se detecta que es necesario 6aceralgn cambio" ajuste o complementación al programa para que siga trabajando de maneracorrecta. )ara poder realizar este trabajo se requiere que el programa este correctamentedocumentado.

Ti!os De Datos 

Page 4: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 4/28

 =odos los datos tienen un tipo asociado con ellos. *n dato puede ser un simple car7cter" tal comoBbC" un valor entero tal como E. !l tipo de dato determina la naturaleza del conjunto de valoresque puede tomar una variable.

 =ipos de datos

Simples !structurados -Def. por el usuario0

2um+ricos Arreglos -3ectores" matrices0

Alfanum+ricos -string0 #egistros

Lógicos Apuntadores

Tipos de Datos Simples 

Datos Numéricos: )ermiten representar valores escalares de forma num+rica" esto inclu&e a los

nmeros enteros & los reales. !ste tipo de datos permiten realizar operaciones aritm+ticascomunes.

Datos Lógicos: Son aquellos que solo pueden tener dos valores -cierto o falso0 &a querepresentan el resultado de una comparación entre otros datos -num+ricos o alfanum+ricos0.

Datos Alfanuméricos (String): !s una secuencia de caracteres alfanum+ricos que permitenrepresentar valores identi(cables de forma descriptiva" esto inclu&e nombres de personas"direcciones" etc. !s posible representar nmeros como alfanum+ricos" pero estos pierden supropiedad matem7tica" es decir no es posible 6acer operaciones con ellos. !ste tipo de datos serepresentan encerrados entre comillas.

• !jemplo:FGola $undoHF/IIIH

E%!resiones 

Las expresiones son combinaciones de constantes" variables" símbolos de operación" par+ntesis& nombres de funciones especiales. )or ejemplo:

a4-b 4 0'c

%ada expresión toma un valor que se determina tomando los valores de las variables &

constantes implicadas & la ejecución de las operaciones indicadas.

*na expresión consta de operadores & operandos. Segn sea el tipo de datos que manipulan" seclasi(can las expresiones en:

J Aritm+ticasJ #elaciónalesJ Lógicas

Page 5: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 5/28

O!eradores ' O!erandos 

Kperadores: Son elementos que relacionan de forma diferente" los valores de una o masvariables &'o constantes. !s decir" los operadores nos permiten manipular valores.

Los =ipos de Kperadores que existen son tres: los relaciónales" los Aritm+ticos & porltimo los lógicos

Operadores Aritméticos: Los operadores aritm+ticos permiten la realización de operacionesmatem7ticas con los valores -variables & constantes0.

 Los operadores aritm+ticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos

son enteros" el resultado es entero@ si alguno de ellos es real" el resultado es real.

Kperando -Kperador0 Kperando3alor

-constante o variable0

Kperadores Aritm+ticos4 SumaJ #esta $ultiplicación' División$od $odulo -residuo de la división entera0

!jemplos:

!xpresión #esultado

M ' N O .E

/N mod M O E

4 N E O /

)rioridad de los Kperadores Aritm+ticos

 =odas las expresiones entre par+ntesis se evalan primero. Las expresiones con par+ntesisanidados se evalan de dentro a fuera" el par+ntesis mas interno se evala primero.

Dentro de una misma expresión los operadores se evalan en el siguiente orden.

Page 6: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 6/28

  /.J P !xponenciaciónN.J " '" mod $ultiplicación" división" modulo..J 4" J Suma & resta.

Los operadores en una misma expresión con igual nivel de prioridad se evalan de izquierda a

derec6a.!jemplos:

4 N E O /

N N ' E O I.N Q ' E O I.N

4 E -/ J -N 4 00 O N 4 E -/ J Q0 O 4 E O 4 N O N

.E 4 E.I J /. ' O E.I .E 4 E.I J .E O R.EI J .E O E.I

N./ -/.E 4 . ./0 O NR.IR N./ -/.E 4 /N.0 O N./ /.R O NR.IR

Operadores Relaciónales 

Se utilizan para establecer una relación entre dos valores.

%ompara estos valores entre si & esta comparación produce un resultado de certeza o falsedad-verdadero o falso0.

Los operadores relaciónales comparan valores del mismo tipo -num+ricos o cadenas0

 =ienen el mismo nivel de prioridad en su evaluación.

Los operadores relaciónales tiene menor prioridad que los aritm+ticos.

•  Los operadores #elaciónales son: $a&or queT $enor que O $a&or o igual queT O $enor o igual que

T DiferenteO ;gual

!jemplos:

Si a O / b O N c O

a 4 b c alsoa J b T c 3erdaderoa J b O c alsoa b T c 3erdadero

Page 7: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 7/28

 !jemplos no lógicos:

a T b T c

/ T N T

 = T -no es lógico porque tiene diferentes operandos0

Operadores Lógicos:

!stos operadores se utilizan para establecer relaciones entre valores lógicos.!stos valores pueden ser resultado de una expresión relacional.

Kperadores LógicosAnd UKr K2ot 2egación

Kperador AndKperando/ Kperador KperandoN #esultado

3 A2D 3 3

3 3

Kperador Kr

Kperando/ Kperador KperandoN #esultado3 K# 3 33 3 3 3

 

Kperador 2otKperando #esultado

3 3

!jemplos:

-a T b0 and -b T c0-/TN0 and -NT0

3 and 33

)rioridad de los Kperadores Lógicos2otAndKr

Page 8: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 8/28

)rioridad de los Kperadores en >eneral/.J - 0N.J P.J " '" $od" 2ot.J 4" J" And

E.J " T" O" T O" T " O" Kr

!jemplo:a O / b O /N c O / d O/

--a b0 or -a T c00 and --a O c0 or -a O b00 3

3

Identifcadores 

Los identi(cadores representan los datos de un programa -constantes" variables" tipos de datos0.*n identi(cador es una secuencia de caracteres que sirve para identi(car una posición en lamemoria de la computadora" que nos permite accesar a su contenido.

!jemplo: 2ombre2umV6rs%alifN

#eglas para formar un ;denti(cador

Debe comenzar con una letra -A a W" ma&sculas o minsculas0 & no deben contener espacios enblanco.

Letras" dígitos & caracteres como la subra&a - V 0 est7n permitidos despu+s del primer car7cter.

La longitud de identi(cadores puede ser de 6asta R caracteres.

Constantes y !ariables 

Constante *na constante es un dato num+rico o alfanum+rico que no cambia durante laejecución del programa.!jemplo: pi O .//Q

!ariable: !s un espacio en la memoria de la computadora que permite almacenartemporalmente un dato durante la ejecución de un proceso" su contenido puede cambia durantela ejecución del programa. )ara poder reconocer una variable en la memoria de la computadora"es necesario darle un nombre con el cual podamos identi(carla dentro de un algoritmo.

!jemplo: 7rea O pi radio P N

Page 9: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 9/28

Clasifcación de las !ariables

)or su %ontenido )or su *so2um+ricas De =rabajoLógicas %ontadores

Alfanum+ricas -String0 Acumuladores

Por su Contenido 

!ariable "um#ricas Son aquellas en las cuales se almacenan valores num+ricos" positivos onegativos" es decir almacenan nmeros del al I" signos -4 & J0 & el punto decimal. !jemplo:ivaO./E piO.//Q costoONE

• !ariables $ógicas Son aquellas que solo pueden tener dos valores -cierto o falso0 estosrepresentan el resultado de una comparación entre otros datos.

• !ariables Al%anum#ricas !sta formada por caracteres alfanum+ricos -letras" nmeros &

caracteres especiales0. !jemplo:letraOCaC apellidoOClopezC direccionOCAv. Libertad X/IC

Por su &so 

• !ariables de Traba'o 3ariables que reciben el resultado de una operación matem7ticacompleta & que se usan normalmente dentro de un programa. !jemplo:

sumaOa4b'c.

• Contadores Se utilizan para llevar el control del numero de ocasiones en que se realiza

una operación o se cumple una condición. %on los incrementos generalmente de uno enuno.

•  Acumuladores orma que toma una variable & que sirve para llevar la suma acumulativade una serie de valores que se van le&endo o calculando progresivamente.

Diagrama de (lujo 

*n diagrama de ?ujo es la representación gr7(ca de un algoritmo. =ambi+n se puede decirque es la representación detallada en forma gr7(ca de como deben realizarse los pasos en lacomputadora para producir resultados.

 !sta representación gr7(ca se da cuando varios símbolos -que indican diferentes procesos en lacomputadora0" se relacionan entre si mediante líneas que indican el orden en que se debenejecutar los procesos.

Los símbolos utilizados 6an sido normalizados por el instituto norteamericano de normalización-A2S;0.

Page 10: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 10/28

Page 11: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 11/28

Recomendaciones para el diseño de Diagramas de (lu'o 

Page 12: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 12/28

• Se deben se usar solamente líneas de ?ujo 6orizontales &'o verticales.

• Se debe evitar el cruce de líneas utilizando los conectores.Se deben usar conectores solo cuando sea necesario.

• 2o deben quedar líneas de ?ujo sin conectar.

• Se deben trazar los símbolos de manera que se puedan leer de arriba 6acia abajo & deizquierda a derec6a.

•  =odo texto escrito dentro de un símbolo deber7 ser escrito claramente" evitando el uso demuc6as palabras.

(&NCIONES INTE)NAS$

Son funciones matem7ticas diferentes de las operaciones b7sicas pero que se incorporan allenguaje & que se consideran est7ndar. Dependen del lenguaje. 2ormalmente se encuentran enla librería de matem7ticas del lenguaje de programación.

órmulas:

Abs -x0 Arctan -x0 %os -x0

Sen -x0 !xp -x0

Log / -x0 #edondeo -x0

%uadrado -x0 #aiz -x0

Pseudocódigo

$ezcla de lenguaje de programación & espa,ol -o ingles o cualquier otro idioma0 que se emplea"

dentro de la programación estructurada" para realizar el dise,o de un programa. !n esencial" elpseudocodigo se puede de(nir como un lenguaje de especi(caciones de algoritmos.

!s la representación narrativa de los pasos que debe seguir un algoritmo para dar solucióna un problema determinado. !l pseudocodigo utiliza palabras que indican el proceso a realizar.

!enta'as de utili)ar un Pseudocodigo a un Diagrama de (lu'o

• Kcupa menos espacio en una 6oja de papel.

• )ermite representar en forma f7cil operaciones repetitivas complejas.

• !s mu& f7cil pasar de pseudocodigo a un programa en algn lenguaje de programación.• Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

Diagramas estructurados *"assi+Sc,neiderman-

!l diagrama estructurado 2JS tambi+n conocido como diagrama de c6apin es como un diagramade ?ujo en el que se omiten las ?ec6as de unión & las cajas son contiguas. Las accionessucesivas se pueden escribir en cajas sucesivas & como en los diagramas de ?ujo" se puedenescribir diferentes acciones en una caja. *n algoritmo se represente en la sig. forma:

Page 13: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 13/28

;nicio

Acción /

Acción N

Y

in

Ejem!lo

;nicio

Leer

2ombre" Goras" )recio

%alcular

SalarioO Goras)recio

%alcular

;mpuestoO Salario"/E

%alcular

2etoO Salario 4;mpuesto

!scribir

2ombre" ;mpuesto" 2eto

in

!S=#*%=*#AS AL>K#Z=$;%AS

Las estructuras de operación de programas son un grupo de formas de trabajo" que permiten"mediante la manipulación de variables" realizar ciertos procesos especí(cos que nos lleven a lasolución de problemas. !stas estructuras se clasi(can de acuerdo con su complejidad en:

Page 14: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 14/28

.structuras Secuenciales

La estructura secuencial es aquella en la que una acción -instrucción0 sigue a otra en secuencia.Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente & asísucesivamente 6asta el (n del proceso. *na estructura secuencial se representa de la siguiente

forma:;nicio

  Accion/

  AccionN

  .

  .

  Accion2

in

 Asignación

La asignación consiste" en el paso de valores o resultados a una zona de la memoria. Dic6a zonaser7 reconocida con el nombre de la variable que recibe el valor. La asignación se puedeclasi(car de la siguiente forma:

Simples %onsiste en pasar un valor constate a una variable -aO/E0

Page 15: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 15/28

Contador %onsiste en usarla como un veri(cador del numero de veces que se realiza unproceso -aOa4/0

 Acumulador %onsiste en usarla como un sumador en un proceso -aOa4b0

De traba'o Donde puede recibir el resultado de una operación matem7tica que involucremuc6as variables -aOc4bN'0.

$ectura

La lectura consiste en recibir desde un dispositivo de entrada -p.ej. el teclado0 un valor. !staoperación se representa en un pseudocodigo como sigue:

 

Leer a" b

 

Donde FaH & FbH son las variables que recibir7n los valores.

.scritura

%onsiste en mandar por un dispositivo de salida -p.ej. monitor o impresora0 un resultado omensaje. !ste proceso se representa en un pseudocodigo como sigue:

 

!scribe F!l resultado es:H" #

 

Donde F!l resultado es:H es un mensaje que se desea aparezca & # es una variable que

contiene un valor.

Problemas Secuenciales

/0 Suponga que un individuo desea invertir su capital en un banco & desea saber cuanto dineroganara despu+s de un mes si el banco paga a razón de N[ mensual.

;nicio

  Leer capVinv

  gan O capVinv .N

  ;mprimir gan

in

N0 *n vendedor recibe un sueldo base mas un /[ extra por comisión de sus ventas" elvendedor desea saber cuanto dinero obtendr7 por concepto de comisiones por las tres ventasque realiza en el mes & el total que recibir7 en el mes tomando en cuenta su sueldo base &comisiones.

Page 16: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 16/28

;nicio

  Leer sb" v/" vN" v

  totVvta O v/ 4 vN 4 v

  com O totVvta ./

  tpag O sb 4 com

  ;mprimir tpag" comin

0 *na tienda ofrece un descuento del /E[ sobre el total de la compra & un cliente desea sabercuanto deber7 pagar (nalmente por su compra.

;nicio

  Leer tc

  d O tc ./E

  tp O tc J d

  ;mprimir tp

in

0 *n alumno desea saber cual ser7 su cali(cación (nal en la materia de Algoritmos. Dic6acali(cación se compone de los siguientes porcentajes:

EE[ del promedio de sus tres cali(caciones parciales.

[ de la cali(cación del examen (nal.

/E[ de la cali(cación de un trabajo (nal.

;nicio

  Leer c/" cN" c" ef" tf 

  prom O -c/ 4 cN 4 c0'

  ppar O prom .EE

  pef O ef .

  ptf O tf ./E

  cf O ppar 4 pef 4 ptf 

  ;mprimir cf 

in

E0 *n maestro desea saber que porcentaje de 6ombres & que porcentaje de mujeres 6a& en ungrupo de estudiantes.

Page 17: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 17/28

;nicio

  Leer n6" nm

  ta O n6 4 nm

  p6 O n6 / ' ta

  pm O nm / ' ta

  ;mprimir p6" pmin

Q0 #ealizar un algoritmo que calcule la edad de una persona.

;nicio

  Leer fnac" fact

  edad O fact J fnac

  ;mprimir edadin.

.structuras de Condicionales

Las estructuras condicionales comparan una variable contra otro-s0 valor-es0" para que en baseal resultado de esta comparación" se siga un curso de acción dentro del programa. %abemencionar que la comparación se puede 6acer contra otra variable o contra una constante"segn se necesite. !xisten dos tipos b7sicos" las simples & las mltiples.

Simples Las estructuras condicionales simples se les conoce como F=omas de decisiónH. !stastomas de decisión tienen la siguiente forma:

 

Si Tcondición entonces

Acción-es0

inJsi

 

Dobles Las estructuras condicionales dobles permiten elegir entre dos opciones oalternativas posibles en función del cumplimiento o no de una determinada condición. Serepresenta de la siguiente forma:

Si Tcondición entonces

Acción-es0

  si no

Page 18: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 18/28

Acción-es0

inJsi

Donde:

 

Si YYYYYYY ;ndica el comando de comparación%ondiciónYYYY ;ndica la condición a evaluar

entoncesYY..YY )recede a las acciones a realizar cuando se cumple la condición

acción-es0YYYY Son las acciones a realizar cuando se cumple o no la condición

si noYYYYYY )recede a las acciones a realizar cuando no se cumple la condición

Dependiendo de si la comparación es cierta o falsa" se pueden realizar una o mas acciones.

M/ltiples Las estructuras de comparación mltiples" son tomas de decisión especializadas quepermiten comparar una variable contra distintos posibles resultados" ejecutando para cada casouna serie de instrucciones especi(cas. La forma comn es la siguiente:

 

Si Tcondición entonces

Acción-es0

  si no

Si Tcondición entonces

Acción-es0

  si no

.

. 3arias condiciones

.

 in si

in si

(orma 0eneral 

%asos 3ariable

  Kp/: Acción-es0

  KpN: Acción-es0

Page 19: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 19/28

  .

  .

  Kp2: acción

inJcasos

Problemas Condicionales

a-Problemas Selecti1os Simples

/0 *n 6ombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidadque tiene en inversión en el banco. !l decidir7 reinvertir los intereses siempre & cuando estosexcedan a \M" & en ese caso desea saber cuanto dinero tendr7 (nalmente en su cuenta.

;nicio

  Leer pVint" cap

  int O cap pVint

  si int M entonces

capf O cap 4 int

  (nJsi

  ;mprimir capf 

(n

N0 Determinar si un alumno aprueba a reprueba un curso" sabiendo que aprobara si su promedio

de tres cali(caciones es ma&or o igual a M@ reprueba en caso contrario.;nicio

  Leer calif/" califN" calif

  prom O -calif/ 4 califN 4 calif0'

  Si prom O M entonces

;mprimir Falumno aprobadoH

  si no

;mprimir Falumno reprobadoH  inJsi

in

 

0 !n un almac+n se 6ace un N[ de descuento a los clientes cu&a compra supere los \/] %ual ser7 la cantidad que pagara una persona por su compra^

Page 20: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 20/28

;nicio

  Leer compra

  Si compra / entonces

  desc O compra .N

  si no

desc O   (nJsi

  totVpag O compra J desc

  imprimir totVpag

(n.

0 *n obrero necesita calcular su salario semanal" el cual se obtiene de la sig. manera:

Si trabaja 6oras o menos se le paga \/Q por 6oraSi trabaja m7s de 6oras se le paga \/Q por cada una de las primeras 6oras & \N

por cada 6ora extra.

 

;nicio

  Leer 6t

  Si 6t entonces

  6e O 6t J

ss O 6e N 4 /Q

  si no

ss O 6t /Q

  inJsi

  ;mprimir ss

in

E0 *n 6ombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidadque tiene en inversión en el banco. !l decidir7 reinvertir los intereses siempre & cuando estosexcedan a \M" & en ese caso desea saber cuanto dinero tendr7 (nalmente en su cuenta.

;nicio

  Leer pVint" cap

  int O cap pVint

  si int M entonces

Page 21: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 21/28

capf O cap 4 int

  (nJsi

  ;mprimir capf 

(n

Problemas Selecti1os Compuestos

 

/0 Leer N nmeros@ si son iguales que los multiplique" si el primero es ma&or que el segundo quelos reste & si no que los sume.

;nicio

  Leer num/" numN

  si num/ O numN entonces

resul O num/ numN

  si no

si num/ numN entonces

resul O num/ J numN

  si no

resul O num/ 4 numN

(nJsi

  (nJsi

(n

N0 Leer tres nmeros diferentes e imprimir el numero ma&or de los tres.

;nicio

  Leer num/" numN" num

  Si -num/ numN0 and -num/ num0 entonces

ma&or O num/

  si no

Si -numN num/0 and -numN num0 entonces

ma&or O numN

  si no

ma&or O num

(nJsi

Page 22: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 22/28

  (nJsi

  ;mprimir ma&or

(n

0 Determinar la cantidad de dinero que recibir7 un trabajador por concepto de las 6oras extrastrabajadas en una empresa" sabiendo que cuando las 6oras de trabajo exceden de " el resto seconsideran 6oras extras & que estas se pagan al doble de una 6ora normal cuando no excedende R@ si las 6oras extras exceden de R se pagan las primeras R al doble de lo que se pagan las6oras normales & el resto al triple.

;nicio

  Leer 6t" pp6

  Si 6t T O entonces

tp O 6t pp6

  si no

6e O 6t J

Si 6e T O R entonces

pe O 6e pp6 N

  si no

pd O R pp6 N

pt O -6e J R0 pp6

pe O pd 4 pt

(nJsi

tp O pp6 4 pe

  (nJsi

  ;mprimir tp

(n

.structuras C2clicas

Se llaman problemas repetitivos o cíclicos a aquellos en cu&a solución es necesario utilizar unmismo conjunto de acciones que se puedan ejecutar una cantidad especi(ca de veces. !stacantidad puede ser (ja -previamente determinada por el programador0 o puede ser variable-estar en función de algn dato dentro del programa0.Los ciclos se clasi(can en:

 

Ciclos con un "umero Determinado de 3teraciones *4acer+Para-

Son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el ciclo.

Page 23: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 23/28

La forma de esta estructura es la siguiente:

para 3.% O L.; a L.S

Accion/

AccionN

.

  .  .

Accion2

inJpara

Donde:

3.% 3ariable de control del ciclo

L.; Limite inferir

L.S Limite superior

!n este ciclo la variable de control toma el valor inicial del ciclo & el ciclo se repite 6asta que lavariable de control llegue al limite superior.

Problemas * 4acer para -

/0 %alcular el promedio de un alumno que tiene M cali(caciones en la materia de Dise,o!structurado de Algoritmos

;nicio

  SumO

  Leer 2om

  Gacer para c O / a M

  Leer calif 

Sum O sum 4 calif 

  inJpara

  prom O sum 'M

  ;mprimir prom

in.

N0 Leer / nmeros & obtener su cubo & su cuarta.

;nicio

Page 24: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 24/28

  Gacer para n O / a /

Leer num

cubo O num num num

cuarta O cubo num

;mprimir cubo" cuarta

  inJparain.

 

0 Leer / nmeros e imprimir solamente los nmeros positivos

;nicio

  Gacer para n O / a /

Leer num

Si num entonces;mprimir num

(nJsi

  inJpara

in.

0 Leer N nmeros e imprimir cuantos son positivos" cuantos negativos & cuantos neutros.

;nicio  cn O

  cp O

  cneg O

  Gacer para x O / a N

Leer num

Sin num O entonces

cn O cn 4 /  si no

Si num entonces

cp O cp 4 /

  si no

cneg O cneg 4 /

inJsi

Page 25: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 25/28

inJsi

  inJpara

  ;mprimir cn" cp" cneg

in.

E0 Leer /E nmeros negativos & convertirlos a positivos e imprimir dic6os nmeros.;nicio

  Gacer para x O / a /E

Leer num

pos O num J/

;mprimir num" pos

  inJpara

in.

Problemas Propuestos

 

/0 *na persona debe realizar un muestreo con E personas para determinar el promedio de pesode los ni,os" jóvenes" adultos & viejos que existen en su zona 6abitacional. Se determinan lascategorías con base en la sig" tabla:

%A=!>K#;A !DAD

2i,os J /N

 5óvenes / J NI

Adultos J EI

3iejos Q en adelante

 

N0 Al cerrar un expendio de naranjas" /E clientes que aun no 6an pagado recibir7n un /E[ dedescuento si compran mas de / 8ilos. Determinar cuanto pagara cada cliente & cuanto percibir7la tienda por esas compras.

0 !n un centro de veri(cación de automóviles se desea saber el promedio de puntoscontaminantes de los primeros NE automóviles que lleguen. Asimismo se desea saber los puntoscontaminantes del carro que menos contamino & del que mas contamino.

 

0 *n entrenador le 6a propuesto a un atleta recorrer una ruta de cinco 8ilómetros durante /días" para determinar si es apto para la prueba de E _ilómetros o debe buscar otra especialidad.)ara considerarlo apto debe cumplir por lo menos una de las siguientes condiciones:

Page 26: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 26/28

J `ue en ninguna de las pruebas 6aga un tiempo ma&or a /Q minutos.

J `ue al menos en una de las pruebas realice un tiempo ma&or a /Q minutos.

J `ue su promedio de tiempos sea menor o igual a /E minutos.

E0 *n Woólogo pretende determinar el porcentaje de animales que 6a& en las siguientes trescategorías de edades: de a / a,o" de mas de / a,o & menos de & de o mas a,os. !lzoológico todavía no esta seguro del animal que va a estudiar. Si se decide por elefantes solo

tomara una muestra de N de ellos@ si se decide por las jirafas" tomara /E muestras" & si sonc6impanc+s tomara .

Ciclos con un "umero 3ndeterminado de 3teraciones * 4acer+Mientras5 Repetir+4asta-

Son aquellos en que el numero de iteraciones no se conoce con exactitud" &a que estadado en función de un dato dentro del programa.

4acer+Mientras !sta es una estructura que repetira un proceso durante F2H veces" donde F2Hpuede ser (jo o variable. )ara esto" la instrucción se vale de una condición que es la que debecumplirse para que se siga ejecutando. %uando la condición &a no se cumple" entonces &a no se

ejecuta el proceso. La forma de esta estructura es la siguiente: 

Gacer mientras Tcondición Accion/  AccionN

  .

  .

  Accion2

inJmientras

Problemas *4acer Mientras-

 

/0 *na compa,ía de seguros tiene contratados a n vendedores. %ada uno 6ace tres ventas a lasemana. Su política de pagos es que un vendedor recibe un sueldo base" & un /[ extra porcomisiones de sus ventas. !l gerente de su compa,ía desea saber cuanto dinero obtendr7 en lasemana cada vendedor por concepto de comisiones por las tres ventas realizadas" & cuantotomando en cuenta su sueldo base & sus comisiones.

N0 !n una empresa se requiere calcular el salario semanal de cada uno de los n obreros quelaboran en ella. !l salario se obtiene de la sig. forma:

Si el obrero trabaja 6oras o menos se le paga \N por 6ora

Si trabaja mas de 6oras se le paga \N por cada una de las primeras 6oras & \NEpor cada 6ora extra.

 

Page 27: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 27/28

0 Determinar cuantos 6ombres & cuantas mujeres se encuentran en un grupo de n personas"suponiendo que los datos son extraídos alumno por alumno.

0 !l Depto. de Seguridad )ublica & =ransito del D.. desea saber" de los n autos que entran a laciudad de $+xico" cuantos entran con calcomanía de cada color. %onociendo el ultimo dígito dela placa de cada automóvil se puede determinar el color de la calcomanía utilizando la sig.relación:

 

DZ>;=K %KLK#

/ o N amarilla

o rosa

E o Q roja

M o R verde

I o azul

 

E0 Kbtener el promedio de cali(caciones de un grupo de n alumnos.

Repetir+4asta !sta es una estructura similar en algunas características" a la anterior. #epite unproceso una cantidad de veces" pero a diferencia del GacerJ$ientras" el #epetirJGasta lo 6ace6asta que la condición se cumple & no mientras" como en el GacerJ$ientras. )or otra parte" estaestructura permite realizar el proceso cuando menos una vez" &a que la condición se evala al(nal del proceso" mientras que en el GacerJ$ientras puede ser que nunca llegue a entrar si lacondición no se cumple desde un principio. La forma de esta estructura es la siguiente:

 #epetir

Accion/ AccionN

.

.

.

Accion2

Gasta Tcondición

Problemas Repetir + 4asta

/0 !n una tienda de descuento las personas que van a pagar el importe de su compra llegan a lacaja & sacan una bolita de color" que les dir7 que descuento tendr7n sobre el total de su compra.Determinar la cantidad que pagara cada cliente desde que la tienda abre 6asta que cierra. Sesabe que si el color de la bolita es roja el cliente obtendr7 un [ de descuento@ si es amarillaun NE[ & si es blanca no obtendr7 descuento.

Page 28: introduccion dia +mitro alg

8/18/2019 introduccion dia +mitro alg

http://slidepdf.com/reader/full/introduccion-dia-mitro-alg 28/28

 

N0 !n un supermercado una ama de casa pone en su carrito los artículos que va tomando de losestantes. La se,ora quiere asegurarse de que el cajero le cobre bien lo que ella 6a comprado"por lo que cada vez que toma un articulo anota su precio junto con la cantidad de artículosiguales que 6a tomado & determina cuanto dinero gastara en ese articulo@ a esto le suma lo queira gastando en los dem7s artículos" 6asta que decide que &a tomo todo lo que necesitaba.A&dale a esta se,ora a obtener el total de sus compras.

0 un teatro otorga descuentos segn la edad del cliente. determinar la cantidad de dinero que elteatro deja de percibir por cada una de las categorías. =omar en cuenta que los ni,os menoresde E a,os no pueden entrar al teatro & que existe un precio nico en los asientos. Los descuentosse 6acen tomando en cuenta el siguiente cuadro:

 

!dad Descuento

%ategoría / E J / E [

%ategoría N /E J /I NE [%ategoría N J E / [

%ategoría Q J QE NE [

%ategoría E QQ en adelante E [