Estructuras de Programación

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Estructuras de Programación"

Transcripción

1 Apunte del curso ALGORITMOS y PROGRAMACIÓN (FI-UBA, Prof. Ing. F. J. LAGE, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez Estructuras de Programación Todo programa puede ser escrito utilizando solamente tres tipos de estructuras de control secuenciales selectivas repetitivas Las estructuras de tipo secuencial se han visto en el práctico anterior. En esta practica veremos los otros dos tipos de estructuras. Selectivas: Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar estructuras de decisión o alternativas. Son dos la sentencia if y la sentencia case. If esta sentencia, es considerada de alternativa doble ( si se cumple cierta condición entonces..., sino... / If... then... else... ). Pseudocódigo en español si <condición> entonces < acción S1> sino <acción S2 > Código se programa if <condición> then < acción S1> else < acción S2> Su estructugrama tiene la siguiente forma if <condición> then < acción S1> else < acción S2> Ejemplos: a) Se leen dos valores enteros A, B. Si A es mayor que B se realiza la suma de ambos, caso contrario, se hace el producto. Página 1 de 26

2 Pseudocódigo del programa nombre selección1(program); declaraciones (uses) Crt, Dos; variables A (valor que ingresa) : entero; B (valor que ingresa) : entero; R (resultado de la oper.): entero funciones(function); procedimientos (procedure); inicio (); limpieza(limpia la pantalla); ingreso; alternativa (decisión A>B): resultado (salida resultados): fin(end.) (var); Diagrama N-S nombre selección1 declaraciones Crt, Dos Variables A, B, R :enteros funciones y procedimientos comienzo (programa) limpieza ingreso alternativa resultado fin (programa) Estructura secuencial Como se puede ver tenemos varios procedimientos ya vistos. Por lo tanto solo se desarrollara el pseudocódigo y el estructurado de alternativa, y todo lo que de el dependa. algoritmo alternativa Pseudocódigo del alternativa procedimiento alternativa inicio (); si A > B entonces R A + B sino R Prod (A, B) fin(end;) Diagrama N-S A > B R A + B else R Prod (A, B) El código del procedimiento es: procedure alternativa; {* determina si A es o no mayor que B y hace los cálculos correspondientes *} {* comienzo de alternativa *} if A > B then R := A + B else R := Prod (A,B); {* llamado a la función *} end; {* fin de alternativa *} Nótese que se definió una función Prod (A, B), veremos como se trabaja con ellas. algoritmo Prod Página 2 de 26

3 Pseudocódigo de Prod función Prod ( A, B : enteros)entero inicio (); Prod A * B fin(end;) Diagrama N-S función Prod ( A, B : entero ) entero comienzo (Prod) Prod A * B fin (Prod) function Prod ( A, B: integer ): integer; {* obtiene el producto entre dos valores enteros *} {* comienzo de Prod *} Prod := A * B; end; {* fin de Prod *} Quedándonos el programa de la siguiente manera. Program Seleccion_1; {* Este es el primer programa con estructuras de selección y funciones *} uses crt, dos; {* declaraciones *} {const} {* no hay constantes *} var A, B : integer; {* valores que ingresan *} R: integer; {* salida de la operación *} function Prod ( A, B: integer ): integer; {* obtiene el producto entre dos valores enteros *} {* comienzo de Prod *} Prod := A * B; end; {* fin de Prod *} procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} procedure ingreso; {* comienzo del ingreso de datos *} write ('Ingrese A '); {* ingreso de variable A *} readln (A); write ('Ingrese B '); {* ingreso de variable B *} readln (B); end; {* fin del ingreso de datos *} procedure alternativa; {* determina si A es o no mayor que B y hace los cálculos correspondientes *} {* comienzo de alternativa *} if A > B then R := A + B else R := Prod (A,B); {* llamado a la función *} end; {* fin de alternativa *} procedure resultado; {* comienzo la impresión de los resultados *} Var H :char; Página 3 de 26

4 writeln ( 'Resultado = ', R); writeln ( 'Presione cualquier tecla '); readln (H); {* esta instrucción y la anterior son para dar tiempo para ver resultados *} end; {* fin de la impresión de los resultados *} limpieza; {* llamado al procedimiento limpieza *} ingreso; {* llamado al procedimiento ingreso *} alternativa; {* llamado al procedimiento alternativa *} resultado; {* llamado al procedimiento resultado *} end. b) Se leen dos valores enteros A, B. Si A es mayor que B se realiza la suma de ambos y se imprime un cartel diciendo R es la suma de A y B =, caso contrario, se hace el producto y se imprime otro cartel que diga R. es el producto de A y B = Página 4 de 26

5 Pseudocódigo del programa nombre selección2program); declaraciones (uses); Crt, Dos; variables (var); A (valor que ingresa) : entero; B (valor que ingresa) : entero; R (resultado de la oper.): entero funciones(function); procedimientos (procedure); inicio (); limpieza (limpia la pantalla) ; ingreso (ingreso de datos); alternativa (decisión A>B e imp.); resultado ( para ver los resultados): fin(end.) Diagrama N-S nombre selección1 declaraciones Crt, Dos; Variables A, B, R :enteros funciones y procedimientos comienzo (programa) limpieza ingreso alternativa resultado fin (programa) Como se puede ver dentro de alternativa se colocó la impresión de resultados quedándonos este algoritmo estructurado de la siguiente manera. algoritmo alternativa Pseudocódigo del alternativa Diagrama N-S procedimiento alternativa inicio (); A > B si A > B entonces R A + B R A + B Imprimir cartel suma y resultados Imp. cartel y resultados sino R Prod (A, B) Imprimir cartel producto y resultados Else R Prod (A, B) fin(end;) Imp. cartel y resultados El código del procedimiento es: procedure alternativa; {* determina si A es o no mayor que B y hace los cálculos correspondientes *} {* comienzo de alternativa *} if A > B then {* comienzo del then *} R := A + B; writeln ( 'R es la suma de A y B = ', R); end {* fin del then *} else {* comienzo del else *} R := Prod (A,B); {* llamado a la función *} writeln ( 'R es el producto de A y B = ', R); end; {* fin del else *} Página 5 de 26

6 end; {* fin de alternativa *} Quedándonos el programa de la siguiente manera. Program Seleccion_2; {* Este es el primer programa con estructuras de selección y funciones *} uses crt, dos; {* declaraciones *} {const} {* no hay constantes *} var A, B : integer; {* valores que ingresan *} R: integer; {* salida de la operación *} function Prod ( C, D: integer ): integer; {* obtiene el producto entre dos valores enteros *} {* comienzo de Prod *} Prod := C * D; end; {* fin de Prod *} procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} procedure ingreso; {* comienzo del ingreso de datos *} write ('Ingrese A '); {* ingreso de variable A *} readln (A); writeln ('Ingrese B '); {* ingreso de variable B *} read (B); end; {* fin del ingreso de datos *} procedure alternativa; {* compara A con B y hace los cálculos e imprime resultados *} {* comienzo de alternativa *} if A > B then {* comienzo del then *} R := A + B; writeln ( 'R es la suma de A y B = ', R); {* imprime resultados *} end {* fin del then *} else {* comienzo del else *} R := Prod (A,B); {* llamado a la función *} writeln ( 'R es el producto de A y B = ', R); {* imprime resultados *} end; {* fin del else *} end; {* fin de alternativa *} procedure resultado; {* comienzo la muestra de los resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucción y la anterior son para dar tiempo para ver resultados *} end; {* fin de la muestra de los resultados *} Página 6 de 26

7 limpieza; {* llamado al procedimiento limpieza *} ingreso; {* llamado al procedimiento ingreso *} alternativa; {* llamado al procedimiento alternativa *} resultado; {* llamado al procedimiento resultado *} end. Hay varias cosas para tomar en cuenta cuando en alguna de las opciones tiene más de una instrucción dicha opción deberá llevar un con su correspondiente end. Debe notarse que el end del then no tiene puntuación en cambio el del else si lleva punto y coma (;) esto se debe que este end es el último del if. También debe notarse que las variables del llamado de la función son distintas a las de la función en si. R := Prod (A,B); function Prod ( C, D: integer ): integer; Tanto en funciones como en procedimientos esto es posible ya que el lenguaje vincula automáticamente la primera variable del llamado con la primera de la declaración, la segunda con la segunda y así sucesivamente. Esto nos permite llamar a una función (o procedimiento), con distintos juegos de variables. Sin que tengamos que atenernos a nombres específicos. Solo debemos tener en cuenta que las variables sean del mismo tipo. Mútiples salidas : Si se tiene más de dos posibles salidas, aquí aparecen dos soluciones similares al problema. IF anidado : en esta solución se utiliza un if dentro de otro. Siempre se anida por la salida Else (sino). Ejemplo : Se pide un programa donde ingresa un número entre 1 y 5 incluidos ambos y se imprime en pantalla su expresión de caracteres ( ingresa 2 imprime Dos). En este caso tenemos cinco salidas probables (uno, dos, tres, cuatro o cinco), esto indica que deberemos tener 4 if anidados. Si a = 1 Entonces impre = Uno Sino Si a = 2 Entonces impre = Dos Sino Si a = 3 Entonces impre = Tres Sino Si a = 4 Entonces impre = Cuatro Sino impre = Cinco fin_si {* fin_si no tiene equivalente en Pascal *} fin_si fin_si fin_si if <condición> then else < acción S1> Página 7 de 26

8 if <condición> then < acción S2> Else If <condición> then < acción S3> Else If <condición> then < acción S3> Else < acción S4> El código del procedimiento es: procedure alternativa; {* determina el valor de A y lo expresa en letras *} {* comienzo de alternativa *} if A = 1 then {* pregunta por uno *} writeln ( 'U n o ') {* salida por uno *} else if A = 2 then {* pregunta por dos *} writeln ( 'D o s ') {* salida por dos *} else if A = 3 then {* pregunta por tres *} writeln ( 'T r e s ') {* salida por tres *} else if A = 4 then {* pregunta por cuatro *} writeln ( 'C u a t r o ') {* salida por cuatro *} else writeln ( 'C i n c o '); {* salida por cinco *} end; {* fin de alternativa *} Quedándonos el programa de la siguiente manera. Program Seleccion_3; {* If anidados *} uses crt, dos; {declaraciones} {const} {* no hay constantes *} var A : integer; {* valor que ingresa *} procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} Página 8 de 26

9 procedure ingreso; {* comienzo del ingreso de datos *} write ('Ingrese un numero de 1 a 5 : '); {* ingreso de variable A *} readln (A); end; {* fin del ingreso de datos *} procedure alternativa; {* determina el valor de A y lo expresa en letras *} {* comienzo de alternativa *} if A = 1 then {* pregunta por uno *} writeln ( 'U n o ') {* salida por uno *} else if A = 2 then {* pregunta por dos *} writeln ( 'D o s ') {* salida por dos *} else if A = 3 then {* pregunta por tres *} writeln ( 'T r e s ') {* salida por tres *} else if A = 4 then {* pregunta por cuatro *} writeln ( 'C u a t r o ') {* salida por cuatro *} else writeln ( 'C i n c o '); {* salida por cinco *} end; {* fin de alternativa *} procedure resultado; {* se utiliza para dejar en pantallas los resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucci n y la anterior son para dar tiempo para *} {* ver resultados *} end; {* fin de resultado *} limpieza; ingreso; alternativa; resultado; end. Select : esta solución se utiliza en reemplazo del if anidado. Es más práctica y eficiente. su pseudocódigo genérico es: según...sea E hacer E1: sentencia 1 E2: sentencia 2 E3: sentencia E n : sentencia n [sino sentencia x ] fin...según Página 9 de 26

10 Case <variable> of Opción1 < acción S1> Opción2 < acción S2> Opción n... else < acción n> < acción...> < acción S m> Para el problema anterior su pseudocódigo será: según...sea A hacer 1: Imprimir U n o 2: Imprimir D o s 3: Imprimir T r e s 4: Imprimir C u a t r o sino Imprimir C i n c o fin...según y su diagrama N - S es: Case A of else Imprimir UNO Imprimir DOS Imprimir TRES Imprimir CUATRO Imprimir CINCO Página 10 de 26

11 El código del procedimiento es: procedure seleccion; {* determina el valor de A y hace su valor a letras *} {* comienzo de alternativa *} case A of {* comienza seleccion *} 1 : writeln ( 'U n o '); {* salida por uno *} 2 : writeln ( 'D o s '); {* salida por dos *} 3 : writeln ( 'T r e s '); {* salida por tres *} 4 : writeln ( 'C u a t r o '); {* salida por cuatro *} else writeln ( 'C i n c o '); {* salida por cinco *} end; {* fin del case *} end; {* fin de alternativa *} Quedándonos el programa de la siguiente manera. Program Seleccion_4; {* Uso de selectores *} uses crt, dos; {declaraciones} {const} {* no hay constantesr *} var A : integer; {* valor que ingresa *} procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} procedure ingreso; {* comienzo del ingreso de datos *} write ('Ingrese un numero de 1 a 5 : '); {* ingreso de variable A *} readln (A); end; {* fin del ingreso de datos *} procedure seleccion; {* determina el valor de A y hace su valor a letras *} {* comienzo de alternativa *} case A of {* comienza seleccion *} 1 : writeln ( 'U n o '); {* salida por uno *} 2 : writeln ( 'D o s '); {* salida por dos *} 3 : writeln ( 'T r e s '); {* salida por tres *} 4 : writeln ( 'C u a t r o '); {* salida por cuatro *} else writeln ( 'C i n c o '); {* salida por cinco *} Página 11 de 26

12 end; {* fin del case *} end; {* fin de alternativa *} procedure resultado; {* se utiliza para dejar en pantallas los resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucci n y la anterior son para dar tiempo para *} {* ver resultados *} end; {* fin de resultado *} limpieza; ingreso; seleccion; resultado; end. Resumen: Existen tres tipos de estructuras selectivas a) If b) If anidado c) case Cada uno tiene su aplicación específica y se debe tener cuidado si se tiene por salida una o más sentencias. (Si hay más de una sentencia por salida colocar Begin End ). Página 12 de 26

13 Condicionales 1. Ingresar valores numéricos enteros A, B, C, D, E y decir si su promedio es mayor que o igual a Ingresar valores numéricos reales A, B, C, y decir si su promedio es mayor que o igual a Ingresar valores numéricos reales a, b, c, que son coeficientes de una ecuación cuadrática y obtener los valores X1 y X2 reales. Si la operación dentro de la raíz diera como resultado un valor negativo, imprimir un cartel que diga La solución son dos números complejos conjugados. 4. Ingresar valores numéricos reales a, b, c, que son coeficientes de una ecuación cuadrática y obtener los valores X1 y X2 reales. Si la operación dentro de la raíz diera como resultado un valor negativo, imprimir el resultado como m + n i; m - n i. 5. Hacer un programa que permita ingresa un número de 1 a 7 y salga el correspondiente día de la semana ( Ej: 1 Lunes; 2 Martes;...). Si ingresa un valor que no este comprendido entre 1 y 7 deberá imprimir un cartel que diga ERROR... valor fuera de rango 6. Hacer un programa que permita ingresa dos números reales y el símbolo de la operación. Obteníendose el correspondiente resultado. Si el símbolo no es correcto, deberá imprimir un mensaje que indique Error en símbolo Página 13 de 26

14 Hasta ahora hemos visto dos tipos de estructuras de control secuenciales selectivas En esta practica veremos el tipo de estructura que nos queda. Repetitivas: Las estructuras repetitivas (llamadas también bucles, lazo o ciclo) se utilizan para realizar varias veces el mismo conjunto de operaciones. Dentro de ellas encontramos aquellas donde la cantidad repeticiones se manejan por un número, las que se realizan hasta que se cumple cierta condición. Son tres la sentencia for y la sentencia while y la sentencia repeat For esta sentencia, es un bucle controlado por un contador, denominado variable de control o índice. Pseudocódigo en español desde variable (v) = vi hasta vf hacer < acción S1> <acción S2 >... fin desde Código se programa for variable (v) = vi to vf do < acción S1> < acción S2>... end Su estructugrama tiene la siguiente forma desde v = vi hasta vf < acción S1> <acción S2 >... Ejemplos: a) Hacer un programa que imprima los números de 5 hasta 28. Página 14 de 26

15 Pseudocódigo del programa nombre repetición1(program); declaraciones (uses) Crt, Dos; constantes(const) A = 5; B = 28; variables (var) R (resultado de la oper.): entero funciones(function)(no hay); procedimientos (procedure); inicio (); limpieza(limpia la pantalla); ciclo (hace ciclo e imprime); salida fin(end.) Diagrama N-S nombre selección1 declaraciones Crt, Dos Constantes A, B Variables R :entero funciones y procedimientos comienzo (programa) limpieza ciclo fin (programa) Como se puede ver tenemos varios procedimientos ya vistos. Por lo tanto solo se desarrollara el pseudocódigo y el estructurado de ciclo, y todo lo que de el dependa. algoritmo ciclo Pseudocódigo del ciclo procedimiento ciclo inicio (); desde R= A hasta B hacer imprimo R fin(end;) El código del procedimiento es: Diagrama N-S desde R = A hasta B imprimir R procedure ciclo; {* comienzo el ciclo *} for R := A to B do {* se define el ciclo A *} writeln ('Numero ',R ); {* imprime salida *} end; {* fin del ciclo *} Quedándonos el programa de la siguiente manera. Program Repeticion_1; {* Este es el primer programa con estructuras de repeticion *} uses crt, dos; {declaraciones} Página 15 de 26

16 const {* constantesr *} A = 5; B = 28; var R: integer; {* controla el ciclo *} procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} procedure ciclo; {* comienzo el ciclo *} for R := A to B do {* se define el ciclo A *} writeln ('Numero ',R ); {* imprime salida *} end; {* fin del ciclo *} procedure salida; {* comienzo del procedimiento salida *} {*solo sirve para ver los resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucci n y la anterior son para dar tiempo para *} {* ver resultados *} end; {* fin del procedimiento salida *} limpieza; ciclo; salida; end. b) Hacer un programa que calcule e imprima el factorial de los números 1 a 7 Página 16 de 26

17 Pseudocódigo del programa nombre repetición2(program); declaraciones (uses) Crt, Dos; constantes(const) A = 1; B = 7; variables (var) R, Fac (resultado de la oper.): entero procedimientos (procedure); inicio (); limpieza(limpia la pantalla); ciclo2 (hace ciclo e imprime); salida fin(end.) Diagrama N-S nombre selección1 declaraciones Crt, Dos Constantes A, B Variables R, Fac :entero funciones y procedimientos comienzo (programa) limpieza ciclo2 salida fin (programa) pseudocódigo y el estructurado de ciclo, y todo lo que de el dependa. algoritmo ciclo Pseudocódigo del ciclo Diagrama N-S procedimiento ciclo inicio (); desde R= A hasta B hacer Fac Fac * R imprimo Fac fin_desde fin(end;) desde R = A hasta B Fac Fac * R imprimir Fac. Como se puede ver dentro del ciclo se hace dos procesos, el cálculo del factorial y la impresión del resultados quedándonos este algoritmo estructurado. El código del procedimiento es: procedure ciclo; {* comienzo el ciclo *} Fac := 1; for R := A to B do {* se define el ciclo A *} Fac := Fac * R; {* Calcula factorial *} writeln ('Numero : ',R, ' Factorial : ',Fac ); {* imprime salida numero y factorial *} end end; {* fin del ciclo *} Como se puede observar el se necesitó colocar un y un end para definir comienzo y fin del ciclo, ya que el mismo tiene más de una instrucción. Fac se define igual a uno, porque sino el producto nos daria siempre 0 (cero). Quedándonos el programa de la siguiente manera. Página 17 de 26

18 Program Repeticion_2; {* Este es el segundo ejemplo de For *} uses crt, dos; {declaraciones} const {* constantesr *} A = 1; B = 7; var R, Fac : integer; {* controla el ciclo *} procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} Procedure ciclo; {* comienzo el ciclo *} Fac := 1; for R := A to B do {* se define el ciclo A *} Fac := Fac * R; {* Calcula factorial *} writeln ('Numero : ',R, ' Factorial : ',Fac ); {* imprime salida numero y factorial *} end end; {* fin del ciclo *} procedure salida; {* comienzo del procedimiento salida *} {* solo sirve para ver resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucci n y la anterior son para dar tiempo para *} {* ver resultados *} end; {* fin del procedimiento salida *} limpieza; ciclo; salida; end. Hay que tomar en cuenta que los ciclos cumplen con las mismas reglas que las opciones tiene más de una instrucción el ciclo deberá llevar un con su correspondiente end cuando se tenga más de una instrucción.. Si fuera B > A el for seria for K = A donwto B do Página 18 de 26

19 Bucles controlados por una bandera (While - Repeat) Estos bucles no se repiten una cantidad definida de veces, sino se realizan hasta que se cumple una cierta condición. La diferencia entre ambos bucles (While y Repeat) es cuando se realiza la pregunta de la condición. While : en este ciclo la pregunta de condición se hace cada vez antes de comenzar el ciclo. Ejemplo : Se pide un programa donde ingresan una serie de números, el último es un valor negativo. Se pide calcular el promedio de los valores positivos (no incluir el último valor), e imprimir los valores y su promedio. En este caso tenemos que pautar si el último valor lo imprimimos o no. (si optamos por imprimirlo), esto implicará el siguiente pseudocódigo. Página 19 de 26

20 Pseudocódigo del ciclo Diagrama N-S procedimiento ciclo inicio (); N 0 N 0 S 0 leo A S 0 imprimo A Leo A mientras A >= 0 hacer Imprimo A comenzar mientras A >= 0 hacer S S + A S S + A N N + 1 N N + 1 leo A Leo A imprimo A Imprimo A. terminar fin(end;) Como se puede ver dentro del ciclo se hace dos procesos, el cálculo del factorial y la impresión del resultados quedándonos este algoritmo estructurado. El código del procedimiento es: procedure ciclo; {* comienzo de ciclo *} S := 0; N := 0; write ( 'Ingrese un valor '); read (A); {* esta instrucci n y la anterior son el ingreso de datos *} writeln ( 'El valor es : ',A ); {* esta instrucci n imprime el valor *} WHILE A >= 0 DO {* se define el ciclo *} {* comienzo de While *} S := S + A; {* Calcula la suma de valores *} N := N + 1; {* Calcula la cantidad de valores *} writeln ; {* Salta una linea *} write ( 'Ingrese un valor '); read (A); {* esta instruccion y la anterior son el ingreso de datos *} writeln ( 'El valor es : ',A ); {* esta instrucci n imprime el valor *} end {* fin de While *} end; {* fin de ciclo *} Quedándonos el programa de la siguiente manera. Program Repeticion_3; {* Este es el ejemplo de While *} uses crt, dos; {declaraciones} {const} {* constantes no hay*} var A, N, S : integer; {* controla el ciclo *} Prom :real; procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} Página 20 de 26

21 procedure ciclo; {* comienzo de ciclo *} S := 0; N := 0; write ( 'Ingrese un valor '); read (A); {* esta instrucción y la anterior son el ingreso de datos *} writeln ( 'El valor es : ',A ); {* esta instrucción imprime el valor *} WHILE A >= 0 DO {* se define el ciclo *} {* comienzo de While *} S := S + A; {* Calcula la suma de valores *} N := N + 1; {* Calcula la cantidad de valores *} writeln ; {* Salta una linea *} write ( 'Ingrese un valor '); read (A); {* esta instrucci n y la anterior son el ingreso de datos *} writeln ( 'El valor es : ',A ); {* esta instrucci n imprime el valor *} end {* fin de While *} end; {* fin de ciclo *} procedure promedia; {* comienzo de promedia *} Prom := S / N; {* Calcula el promedio *} writeln ; {* Salta una linea *} writeln ; {* Salta una linea *} writeln ( 'Promedio es = ', Prom:5:2 ); {* Imprime el promedio *} end; {* fin de promedia *} procedure salida; {* comienzo del procedimiento salida *} {* solo sirve para ver resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucci n y la anterior son para dar tiempo para *} {* ver resultados *} end; {* fin del procedimiento salida *} limpieza; ciclo; promedia; salida; end. En el procedimiento promedia en la escritura del promedio, aparece writeln ( 'Promedio es = ', Prom:5:2 ); {* Imprime el promedio *} donde Prom:5:2 significa que la variable Prom será escrita en un formato de 5 caracteres, de los cuales 2 corresponden a los decimales, se necesita un carácter para el punto decimal. Repeat : esta solución se utiliza cuando el ciclo debe incluir el último valor ingresado. Ya que la pregunta se hace al final del ciclo. Ejemplo : Se ingresan una serie de números distintos, el último es el valor 12. Se pide un programa que calcule el promedio de los valores (incluir el último valor), e imprimir los valores y su promedio. Pseudocódigo del ciclo procedimiento ciclo inicio (); Página 21 de 26

22 N 0 S 0 repetir leo A imprimo A S S + A N N + 1 hasta_que A = 12 fin(end;) Diagrama N-S N 0 S 0 Leo A Imprimo A S S + A N N + 1. hasta_que A = 12 El código del procedimiento es: procedure ciclo; {* comienzo el ciclo *} S := 0; N := 0; repeat {* comienza ciclo *} write ( 'Ingrese un valor '); read (A); {* esta instrucci n y la anterior son el ingreso de datos *} writeln ( 'El valor es : ',A ); {* esta instrucci n imprime el valor *} writeln ; {* Salta una linea *} S := S + A; {* Calcula la suma de valores *} N := N + 1; {* Calcula la cantidad de valores *} until A = 12; {* definicion al final del ciclo *} end; {* fin del ciclo *} Quedándonos el programa de la siguiente manera. Program Repeticion_4; {* Este es el ejemplo de Repeat - Until *} uses crt, dos; {declaraciones} {const} {* constantesr no hay*} var A, N, S : integer; {* controla el ciclo *} Prom :real; procedure limpieza; {* comienzo de limpieza de la pantalla *} ClrScr; end; {* fin de limpieza de la pantalla *} procedure ciclo; {* comienzo el ciclo *} S := 0; N := 0; repeat {* comienza ciclo *} write ( 'Ingrese un valor '); read (A); {* esta instrucci n y la anterior son el ingreso de datos *} Página 22 de 26

23 writeln ( 'El valor es : ',A ); {* esta instrucci n imprime el valor *} writeln ; {* Salta una linea *} S := S + A; {* Calcula la suma de valores *} N := N + 1; {* Calcula la cantidad de valores *} until A = 12; {* definicion al final del ciclo *} end; {* fin del ciclo *} procedure promedia; {* comienzo de promedia *} Prom := S / N; {* Calcula el promedio *} writeln ; {* Salta una linea *} writeln ; {* Salta una linea *} writeln ( 'Promedio es = ', Prom:5:2 ); {* Imprime el promedio *} end; {* fin de promedia *} procedure salida; {* comienzo del procedimiento salida *} {* solo sirve para ver resultados *} Var H :char; writeln ( 'Preione cualquir tecla '); readln (H); {* esta instrucci n y la anterior son para dar tiempo para *} {* ver resultados *} end; {* fin del procedimiento salida *} limpieza; ciclo; promedia; salida; end. Como se puede observar esta estructura (repeat-until) carece de y end, ya que los dos extremos están definidos por el propio ciclo. Anidación Se pueden colocar un ciclo dentro de otro (anidar), esto quiere decir que una estructura contiene en su interior a otra. Las estructuras pueden ser de igual o de distinto tipo. Siempre que se cumpla con las condiciones que aparecen en la siguientes figuras. Resumen: anidado anidado incorrecto Existen tres tipos de estructuras repetitivas a) For Página 23 de 26

24 b) While c) Repeat - until Cada uno tiene su aplicación específica y se debe tener cuidado cuando se anidan. Página 24 de 26

25 Repetitivas 1. Leer una lista de 10 valores enteros. Calcular e informar: a) La suma de los valores positivos. b) El producto de los valores negativos. (Ignorar los valores nulos) 2. a) Ingresar 5 juegos de cuatro valores cada uno. Calcular y emitir. El promedio de cada juego. b) Ingresar N juegos de cuatro valores cada uno. Calcular y emitir. El promedio de cada juego. El proceso finaliza al encontrarse un juego cuyo primer valor es Ingresar dos números enteros positivos y calcular el producto de los mismos por sumas sucesivas. 4. Leer una lista de números positivos que finaliza en 0 y emitir el valor mínimo de la lista. 5. Leer una lista de números enteros que finaliza en 0 y emitir el valor máximo de la lista. 6. Ídem 5, emitiendo además la ubicación del máximo dentro de la lista. (Suponer un único máximo). 7. Leer 4 juegos de N valores enteros cada uno, donde N se informa al comienzo de cada juego, y emitir el valor máximo de cada grupo. (Suponer un único máximo ). 8. Dada una lista de valores numéricos positivos, finalizada en 0, indicar si esta ordenada en forma ascendente. 9. Una empresa nos informa para cada uno de sus 20 vendedores: código de vendedor : 3 dígitos importe de ventas del mes : real Se desea emitir el importe máximo de ventas del mes y cuántos vendedores alcanzaron dicho importe. 10.En una Central Telefónica se procesan los llamados realizados en la siguiente forma: Por cada llamada se ingresa: código de llamada : 3 dígitos (0 al finalizar el proceso) tipo de día : 1 hábil, 2 feriado duración de la llamada : entero > 0. Siendo los importes Primeros 3 Minuto Adicional Página 25 de 26

26 Días hábiles a 10 a 2 Feriados a 15 a 3 Se deberá emitir: a) El importe a abonar por cada llamada (código - importe). b) La cantidad de llamadas que superen los 3 c) El % de llamados que superan los 3 (sobre el total de llamadas informadas). 11.Se leen 30 valores enteros (comprendidos entre 5 y 40), que representan la temperatura máxima de cada uno de los días de un mes. Se pide hallar e informar : - La temperatura máxima del mes y el día que se produjo. (Se supone única) - Cuántos días la temperatura supero los 25º C. - El promedio de las temperaturas máxima del mes. 12.Se ingresan los resultados de la evaluación de un curso de Programación ; por cada alumno se informa: número de matricula : 4 dígitos (1-9999) asistencia : 1, presente; o, ausente calificación : 2 dígitos (0-10). A partir de esta información se debe calcular e informar: a) Cantidad y % de alumnos presentes. b) Promedio de calificaciones de alumnos presentes. c) % de alumnos aprobados (sobre el total de alumnos presentes). d) Numero de matricula del alumno de mayor calificación. (Si hay varios alumnos con esa calificación: numero de matricula y cantidad de alumnos en esa situación). Página 26 de 26

Estructura If Esta sentencia, es considerada de alternativa doble (si se cumple condición entonces..., sino... / If... then... else... ).

Estructura If Esta sentencia, es considerada de alternativa doble (si se cumple condición entonces..., sino... / If... then... else... ). ESTRUCTURAS SELECTIVAS En el capítulo 3 se vio que cada instrucción se ejecutaba en el orden en que se había escrito, pero esto no siempre ocurre así, ya que muchas veces es necesario usar estructuras

Más detalles

Estructura de datos (arreglos) Vectores y Matrices

Estructura de datos (arreglos) Vectores y Matrices Apunte del curso PROGRAMACIÓN (FI-UBA,, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez Estructura de datos (arreglos) Hasta aquí se han visto distintos tipos de estructuras

Más detalles

SUBRANGO ENUMERADOS CONJUNTOS

SUBRANGO ENUMERADOS CONJUNTOS Apunte del curso ALGORITMOS y PROGRAMACIÓN (FI-UBA, Prof. Ing. F. J. LAGE, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez SUBRANGO ENUMERADOS CONJUNTOS SUBRANGO: Un tipo

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA ESTRUCTURA SECUENCIAL Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta

Más detalles

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al

Más detalles

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables 1. Lenguaje Pascal Se procederá a la comparación de las estructuras de programación utilizadas en pseudocódigo con las respectivas en lenguaje Pascal. Para ello, se seguirá de manera análoga a la descripción

Más detalles

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas En esencia,

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2 FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2 EJERCICIO 1 VALIDACIÓN DE DATOS DE ENTRADA Modificar el programa del cálculo del MCD de dos números enteros positivos para validar los datos de entrada

Más detalles

Módulo 7: Sentencias de control en Pascal

Módulo 7: Sentencias de control en Pascal Módulo 7: Sentencias de control en Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2010,

Más detalles

Sentencia1 Sentencia2 Cuerpo del bucle

Sentencia1 Sentencia2 Cuerpo del bucle PROGRAMACIÓN 10 Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 6 ESTRUCTURAS DE CONTROL REPETITIVAS: son aquellas

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CLASE 3 Definición y compatibilidad de tipos de datos. Sentencia condicional CASE. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la

Más detalles

6. Estructuras básicas de control 1. Pseudocódigo

6. Estructuras básicas de control 1. Pseudocódigo 6. Estructuras básicas de control 1 Acciones Pseudocódigo Slide 1 Estructuras de control Secuencia Selección simple (si... entonces... ) doble (si... entonces... si no... ) múltiple (según el caso... )

Más detalles

Tema 3. Estructuras de Datos

Tema 3. Estructuras de Datos Tema 3! Estructuras de Datos Estructuras Simples, Doble, Anidada y Múltiple En este tema veremos las sentencias selectivas: IF (Si) IF - Then (Si - Entonces) IF - Then - Else ( Si - Entonces - Sino) Switch

Más detalles

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal. LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado

Más detalles

Unidad 4. Lógica de Programación. Prof. Eliana Guzmán U.

Unidad 4. Lógica de Programación. Prof. Eliana Guzmán U. Unidad 4. Lógica de Programación Prof. Eliana Guzmán U. 4.1 Programación Modular Raíz Módulo 1 Módulo 2 Módulo 3 Módulo 4 Módulo 11 Módulo 12 Módulo 31 Módulo 121 Módulo 122 4.2 Programación Estructurada

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

24/8/2018. cuota monto/cantcuotas

24/8/2018. cuota monto/cantcuotas PROBLEMA: A partir del monto de un crédito y la cantidad de cuotas se desea calcular el monto de cada cuota. Datos de entrada y de salida? Algoritmo ValorDeCuota DE: monto, cantcuotas (enteros) DS: cuota

Más detalles

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación. ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente

Más detalles

Control de Flujo II. Estructuras Repetitivas

Control de Flujo II. Estructuras Repetitivas Control de Flujo II. Estructuras Repetitivas Fundamentos de programación Plan general... Introducción... Control de flujo toma de decisiones... Estructuras condicionales. Resumen. OBJETIVOS Presentar unos

Más detalles

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Dr. http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,

Más detalles

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7 Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos

Más detalles

ESTRATEGIA DIDÁCTICA Estructura de control de secuencia: IF THEN ELSE

ESTRATEGIA DIDÁCTICA Estructura de control de secuencia: IF THEN ELSE I.DATOS GENERALES PROFESOR(A) ASIGNATURA SEMESTRE ESCOLAR PLANTEL Margarita Lugo Rocha Cibernética y Computación II Sexto Semestre Vallejo FECHA DE ELABORACIÓN 10 de diciembre 2010 II.PROGRAMA UNIDAD TEMÁTICA

Más detalles

28/08/2018. Dra. Jessica Andrea Carballido. cuota monto/cantcuotas

28/08/2018. Dra. Jessica Andrea Carballido. cuota monto/cantcuotas PROBLEMA: A partir del monto de un crédito y la cantidad de cuotas se desea calcular el monto de cada cuota. Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Datos de entrada y de salida? Algoritmo ValorDeCuota

Más detalles

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CLASE Estructura de control condicional. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur,

Más detalles

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas Fundamentos de Programación Flujo de Control I: Estructuras selectivas El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo

Más detalles

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág. CAP. 3. PROGRAMACION ESTRUCTURADA 3.1. Técnicas de programación Las herramientas de programación fundamentalmente los diagramas de flujo, son las representaciones gráficas utilizada para el diseño de algoritmos

Más detalles

Iteración Diagrama de SINTAXIS: IF

Iteración Diagrama de SINTAXIS: IF VISION ESTATICA VISION DINAMICA Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Diagrama de SINTAXIS: IF estática Diagrama de

Más detalles

Tema 3. Estructuras de control

Tema 3. Estructuras de control Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Código de materia 01 Prof Titular Ing Rafael Brizuela Facultad de tecnología informática UNIVERSIDAD ABIERTA INTERAMERICANA GUÍA DE REPASO CONCEPTUAL PREGUNTAS Unidad 1: Conceptos

Más detalles

Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones)

Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones) Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la

Más detalles

ALGORITMOS Y ESTRUCTURAS DE DATOS PRIMERA PARTE

ALGORITMOS Y ESTRUCTURAS DE DATOS PRIMERA PARTE ALGORITMOS Y ESTRUCTURAS DE DATOS Ejercicios Resueltos: CUADERNILLO DE PRACTICA PRIMERA PARTE I - Entrada, salida, asignación de datos Algoritmos y Estructuras de Datos Ejercicio Resuelto: Dados dos números

Más detalles

Tipos y Estructuras de Control. Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR

Tipos y Estructuras de Control. Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Tipos y Estructuras de Control Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Datos: variables y constantes Tipos básicos: entero, real, char, lógico Estructuras de control

Más detalles

Trabajo Práctico Nº 4 Iteración

Trabajo Práctico Nº 4 Iteración Trabajo Práctico Nº 4 Iteración Ejercicio 1: Realice una traza y muestre la salida de cada secuencia de instrucciones. for i:= 0 to 0 do for i:= 1 to -1 do for i:= 1 downto 0 do Ejercicio 2: Escriba un

Más detalles

1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:

1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura: 1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura: PROGRAM Nombre_del_programa; ZONA de DECLARACIONES ZONA de INSTRUCCIONES

Más detalles

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica. EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C A continuación se presentan algunas equivalencias básicas entre estos lenguajes de programación : Operadores en lenguaje C: Operador Descripción % Módulo = Asignación

Más detalles

Estructuras Repetitivas

Estructuras Repetitivas Estructuras Repetitivas Se solicita al operador que ingrese tres números enteros cualesquiera. En base a estos números, mostrar por pantalla cual es el mayor de todos. Diag. De Flujos Pseudocódigo Matlab

Más detalles

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS  GONZALO VAZQUEZ VELA INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA " GUIA DE ESTUDIOS DE ANALISIS Y DISEÑO DE ALGORITMOS. 1. Qué es un algoritmo? 2. Qué es un Pseudocódigo?

Más detalles

CONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE

CONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE CONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE Contenido 1: Números Naturales Formulas en N: Producción de fórmulas que permitan calcular el paso n de un proceso que cumple una cierta regularidad. Transformaciones

Más detalles

Fundamentos de Informática

Fundamentos de Informática Fundamentos de Informática Tema 5 Estructuras de Control 1 Contenidos La estructura secuencial La estructura condicional Condicional simple Multicondicional Sentencia SELECT CASE Estructuras de control

Más detalles

Repaso Visual Basic Interfaz Gráfica

Repaso Visual Basic Interfaz Gráfica Interfaz Gráfica Ventana del Proyecto Barras De Menús Barras Herramientas Formulario (Form) Ventana del Propiedades Form Layout Posición del Formulario Códigos de Colores en Vbasic 1 Códigos de Colores

Más detalles

TIPOS DE DATOS. Tipos de Datos

TIPOS DE DATOS. Tipos de Datos Apunte del curso ALGORITMOS y PROGRAMACIÓN (FI-UBA, Prof. Ing. F. J. LAGE, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez TIPOS DE DATOS Los diferentes objetos de información

Más detalles

Estructura Selectiva Múltiple

Estructura Selectiva Múltiple Estructura Selectiva Múltiple Con frecuencia en la práctica se presentan más de dos elecciones posibles de una cierta condición. La estructura selectiva múltiple se utiliza para este tipo de problemas,

Más detalles

Introducción a la Informática Estructuras de control repetitivas

Introducción a la Informática Estructuras de control repetitivas Estructuras de control repetitivas Introducción Hasta el momento se estudió la manera de expresar la solución de un problema mediante un algoritmo, que puede representarse de diversas maneras: diagrama

Más detalles

1. Detalle de los Comandos:

1. Detalle de los Comandos: 1. Detalle de los Comandos: Este es un resumen puede servir como guía rápida para consultas, para mas detalles remitirse a la Ayuda de PSeInt. Observar que cada línea que termina una sentencia debe tener

Más detalles

Arreglos y Subrangos

Arreglos y Subrangos Arreglos y Subrangos Programación 1 InCo - FING Contents 1 Tipo subrango 2 1.1 Subrangos de enteros......................... 2 1.2 Subrangos de caracteres....................... 2 1.3 Operaciones con subrangos.....................

Más detalles

Estructuras de control

Estructuras de control Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando

Más detalles

APUNTES DE CÁTEDRA: ARREGLOS MULTIDIMENSIONALES

APUNTES DE CÁTEDRA: ARREGLOS MULTIDIMENSIONALES Facultad de Ciencias Exactas, Ingeniería y Agrimensura (U.N.R.) Escuela de Ciencias Exactas y Naturales Departamento de Matemática Cátedra: Computación (L.M. - P.M.) Prof. responsable: Mgr. María del Carmen

Más detalles

DISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos

DISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos DISEÑO ESTRUCTURADO Herramientas de representación de algoritmos DISEÑO ESTRUCTURADO Técnica para desarrollar algoritmos Fáciles de escribir Leer Verificar Modificar ALGORITMO ESTRUCTURADO Tiene un solo

Más detalles

Introducción al Lenguaje de Programación Ada

Introducción al Lenguaje de Programación Ada Instrumentación de Tiempo Real Introducción al Lenguaje de Programación Ada Mario Aldea Rivas Departamento de Electrónica y Computadores Universidad de Cantabria GRUPO DE COMPUTADORES Y TIEMPO REAL Mario

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Procedimientos, Funciones y Recursividad

Procedimientos, Funciones y Recursividad Procedimientos, Funciones y Recursividad Gonzalo Soriano gsorianob@gmail.com 7 de abril de 2009 Divide y vencerás 1. Introducción a procedimientos y funciones. Un procedimiento o función es un bloque de

Más detalles

Estructuras de Control

Estructuras de Control Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas

Más detalles

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales ARREGLOS Introducción Primero que todo, es importante conocer el concepto de estructura de datos. Una estructura de datos es "una colección de datos organizados de un modo particular." Las estructuras

Más detalles

28/10/2016. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias

28/10/2016. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias Un tipo particular de problemas para el cual resulta adecuada la iteración es el procesamiento de secuencias de valores. Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de

Más detalles

Recursión. Recursión continuación

Recursión. Recursión continuación Recursión Recursión continuación Recursión Temas que veremos hoy Estructuras de control iterativas, repetitivas y la recursión. Ejemplos recursivos Búsqueda lineal Eficiencia y recursión Conclusiones Recursión

Más detalles

Estructuras de Control Selección o Decisión

Estructuras de Control Selección o Decisión Estructuras de Control Selección o Decisión Corina Flores Villarroel UMSS 1 Introducción Al ser un algoritmo una secuencia de pasos ordenados, estos deben seguir una trayectoria para su ejecución desde

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos CONSULTA RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CAMBIA DE HORARIO LA CONSULTA DEL PROFESOR! DESDE LA SEMANA DEL 0/0 SERÁ LOS VIERNES A LAS 7HS EN EL NUEVO EDIFICIO DEL DCIC. CLASE Funciones definidas por

Más detalles

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas Dpto. de ATC - Página 1 de 16 CONCEPTO DE ALGORITMO (1) Fundamentos de Informática E.U.P. Universidad de Sevilla Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por

Más detalles

Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat

Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia

Más detalles

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 2 ÍNDICE Fundamentos de Informática E.U.P. Universidad de Sevilla 1 Concepto de Algoritmo Datos: Variables y Constantes Tipo de datos: Vectores Representación

Más detalles

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que

Más detalles

ALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS SEGUNDA PARTE

ALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS SEGUNDA PARTE ALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS CUADERNILLO DE PRACTICA SEGUNDA PARTE Página - 1 ARREGLOS a) Unidimensionales: Ejercicio Resuelto: Ingresar 20 números reales en un arreglo y luego

Más detalles

ESTRUCTURAS REPETITIVAS

ESTRUCTURAS REPETITIVAS DOCENTE: Ing. Ronald Rentería Ayquipa MARCO TEÓRICO: ESTRUCTURAS REPETITIVAS La programación estructurada es un paradigma que consiste en la organización de un código en bloques conformados por estructuras

Más detalles

Unidades en PASCAL (Units)

Unidades en PASCAL (Units) Programación II - Prof. Alejandro H. Gonzalez - 1 Unidades en PASCAL (Units) Aquellos que quieran probar los ejercicios de TAD en Pc pueden utilizar las UNITS de Pascal. En este documento se explican los

Más detalles

Conceptos. Generales ALGORITMOS

Conceptos. Generales ALGORITMOS Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos

Más detalles

21/03/2018. Variables y Constantes. Los datos de un programa están representados por variables o constantes y tienen asociado un tipo.

21/03/2018. Variables y Constantes. Los datos de un programa están representados por variables o constantes y tienen asociado un tipo. Variables y Constantes Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Los datos de un programa están representados por variables

Más detalles

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Problema Diseño de la solución Dividir y conquistar Implementación de los

Más detalles

1. Estructuras de decisión: simples (SI..ENTONCES..SINO) y múltiples (CASO)

1. Estructuras de decisión: simples (SI..ENTONCES..SINO) y múltiples (CASO) 1. Estructuras de decisión: simples (SI..ENTONCES..SINO) y múltiples (CASO) Bueno, aquí estamos de nuevo con un nuevo fascículo. Trataremos de ver las estructuras de decisión, que en el caso de Turbo Pascal

Más detalles

TEMA 4. ESTRUCTURAS DE CONTROL

TEMA 4. ESTRUCTURAS DE CONTROL M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.

Más detalles

Primer Parcial. Programación 1 Instituto de Computación Año 2017

Primer Parcial. Programación 1 Instituto de Computación Año 2017 Nº Parcial: Nombre: CI: Primer Parcial. Programación 1 Instituto de Computación Año 2017 a) -1919293949 b) -1-1-1-1-1-1 c) 01020304050 d) No imprime nada e) 012345 Respuesta: 3 Observaciones: Cada ejercicio

Más detalles

Estructuras de Decisión Múltiple

Estructuras de Decisión Múltiple Estructuras de Decisión Múltiple Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 Estructura de

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación COMENTARIOS Microsoft Visual Basic interpreta que todo lo que está a la derecha del carácter ( ) en una línea cualquiera de programa es un comentario y no ejecuta acción alguna.

Más detalles

ESTRUCTURAS DE CONTROL

ESTRUCTURAS DE CONTROL ESTRUCTURAS DE CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De

Más detalles

Trabajo Práctico Nro. 1

Trabajo Práctico Nro. 1 Trabajo Práctico Nro. 1 INSTITUTO de TECNOLOGÍA O. R. T. Diagramar algoritmos para resolver los problemas planteados. Objetivos de esta práctica: Pretendemos que al finalizar esta ejercitación el alumno

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN EXTRUCTURADA

INTRODUCCIÓN A LA PROGRAMACIÓN EXTRUCTURADA INTRODUCCIÓN A LA PROGRAMACIÓN EXTRUCTURADA ETIMOLOGIA Desde la antigüedad la Programación se ha venido dando un interés mutuo y esto se puede ver en la actualidad teniendo como base la ampliación de las

Más detalles

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados. Pseudocódigo Introducción La importancia de sistematizar procesos y crear programas de cómputo radica esencialmente en que estos se puedan utilizar como resolución de problemas similares en muchos casos,

Más detalles

EJERCICIOS ALGORITMOS

EJERCICIOS ALGORITMOS 01 Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos valores es el mayor y escribirlo. 2. DECLARA VARIABLES n1,n2 3. ASIGNA 0 a n1,n2 4. INGRESA POR TECLADO n1

Más detalles

FUNDAMENTOS DE OBJECT PASCAL

FUNDAMENTOS DE OBJECT PASCAL FUNDAMENTOS DE OBJECT PASCAL 1. ASPECTOS GENERALES DE LA SINTAXIS Los bloques de código quedan delimitados por y end. Se usa punto y coma como separador de sentencias de código. Comentarios: - ias líneas:

Más detalles

TEMA 4: Programación estructurada

TEMA 4: Programación estructurada TEMA 4: Programación estructurada 4.1.-Introducción. Teorema de la programación estructurada El principio fundamental de la programación estructurada es que en todo momento el programador pueda mantener

Más detalles

Conocer los tipos de esquemas condicionales. Entender su funcionamiento y sus diferencias. 1. Introducción. 3. Esquemas condicionales en C

Conocer los tipos de esquemas condicionales. Entender su funcionamiento y sus diferencias. 1. Introducción. 3. Esquemas condicionales en C Tema 4. Esquemas Condicionales Objetivos Conocer los tipos de esquemas condicionales Entender su funcionamiento y sus diferencias Ser capaz de aplicarlos en ejemplos sencillos 1. Introducción 4. Esquemas

Más detalles

UTN FRLP Ing. en Sistemas de Información Algoritmos y Estructura de Datos Trabajos Prácticos Curso 2010

UTN FRLP Ing. en Sistemas de Información Algoritmos y Estructura de Datos Trabajos Prácticos Curso 2010 Práctico de Pascal Nº 2 Ejercicios para la ejercitación del Lenguaje Pascal Objetivo: Es que los alumnos conozcan un lenguaje de programación, donde puedan ejercitar los conocimiento adquiridos hasta ahora

Más detalles

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González. Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad

Más detalles

RECORDAR TIPOS DE DATOS

RECORDAR TIPOS DE DATOS RECORDAR TIPOS DE DATOS VARIABLES: OBJETO CUYO valor cambia: A510 nombres NOTAS Int A=0; float B=1; CONSTANTES: OBJETO cuyo valor no cambia PI= 3.14159 LAS COMAS NO SE PERMITEN Int PI=3.1415 EXPRESIONES:

Más detalles

GUIA EXAMEN FINAL/EXTRAORDINARIO

GUIA EXAMEN FINAL/EXTRAORDINARIO INSTITUTO SAN ANGEL DEL SUR ESCUELA NACIONAL PREPARATORIA INCORPORADA A LA UNAM CLAVE 1261 CICLO 2012-2013 Nombre del profesor: Ing. Jorge Padilla Gutiérrez Asignatura: INFORMATICA V GUIA EXAMEN FINAL/EXTRAORDINARIO

Más detalles

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es: 25. Algoritmos heurísticos 25.1 Concepto de heurística. Se denomina heurística al arte de inventar. En programación se dice que un algoritmo es heurístico cuando la solución no se determina en forma directa,

Más detalles

Slide 1. ordenación de tres números en forma. creciente.

Slide 1. ordenación de tres números en forma. creciente. Slide 1 Slide 2 EsTriangulo := (a < b+c) and (b < a+c) and (c < a+b) ; EsEquilatero := (a = b) and (b = c); EsIsosceles := (a = b) and (a c) or (a = c) and (a b) or (b = c) and (a b); EsEscaleno

Más detalles

Estructuras de Repetición: Repita Mientras.

Estructuras de Repetición: Repita Mientras. Estructuras de Repetición: Repita Mientras. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 Programación

Más detalles

Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte)

Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte) Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte) 1. Escribir las siguientes expresiones aritméticas usando sintaxis del lenguaje de diseño: a. (X+Y) 3 b. X+Y 3 c. (A + B 2 ) / X - R donde R es el resto

Más detalles

Sintaxis de PSeInt Tutorial

Sintaxis de PSeInt Tutorial Sintaxis de Tutorial Introducción a la Programación (T.U.M - T.U.G. - T.U.E. - T.U.T. - Prof) Introducción a la Computación (T.U.R. - T.U.W.) Fundamentos de la Informática (Ing. en Minas - Ing. Electr.)

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles