C 2 algoritmos representación pseudocódigo

Page 1


Algoritmos y Programación Computación I

Contenido 1. Pseudocódigo...................................................................................................................... 3 1.1. Estructura de los Pseudocódigos ................................................................................. 3 2.1. Instrucciones De Entrada ................................................................................................ 3 2.2. Instrucciones De Salida .................................................................................................... 4 2.3. Sentencias Bucle o Ciclo ................................................................................................. 4 3. Contador ............................................................................................................................. 6 3.1. Sumadores o Acumuladores ........................................................................................ 6 4. Toma De Decisión ............................................................................................................... 6 4.1. Sentencia if (si)............................................................................................................ 7 4.2. Sentencia if – else (si – de lo contrario)....................................................................... 7 4.3. Sentencia if-else anidados ........................................................................................... 9 4.4. Sentencia interruptor - switch (if anidados).............................................................. 10 5. Sentencia while (mientras - hace) .................................................................................... 12 5.1. Reglas De Funcionamiento ........................................................................................ 12 5.1.1. Precauciones....................................................................................................... 12 5.2. Terminación de los Bucles ó Ciclos ................................................................................ 12 5.2.1. Bucles controlados por un contador ...................................................................... 13 5.2.2. Bucles controlados por una condición .................................................................. 13 1er Método “Solicitar al usuario la continuación del bucle”......................................... 13 2º Método “Valor centinela” ........................................................................................ 14 6. Sentencia do - hace (Similar a la instrucción Repeat de Pascal) ..................................... 14 6.1. Reglas de funcionamiento ......................................................................................... 15 7. Sentencia for ..................................................................................................................... 15 8. Bucles Anidados ................................................................................................................ 16 8.1. Bucles while y do Anidados ....................................................................................... 16 8.2. Bucles for Anidados ................................................................................................... 18 8.3. Elección De La Estructura Repetitiva Adecuada ........................................................ 19

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

2


Algoritmos y Programación Computación I

1. Pseudocódigo No existe una versión universal de pseudocódigo, lo único que se necesita es que su versión sea capaz de representar las tres estructuras de control lógicas fundamentales, que son: Secuencial Selección Iterativa La entrada y salida (E/S) de procesamiento de datos se escribe en frases condensadas, escritas en castellano. Pseudo significa imitación y código se refiere a las sentencias escritas en un lenguaje de programación. Pseudocódigo no es realmente sino una imitación de una versión abreviada de instrucciones reales para las computadoras. 1.1. Estructura de los Pseudocódigos Para su realización los vamos a considerar divididos en tres partes: 1º Parte Inicial Donde inicializaremos las variables que posteriormente vamos a utilizar, abriremos los archivos o ficheros, introduciremos por teclado el valor de aquellas variables que deben ir fuera del ciclo, en general todo aquello que el computador debe realizar sólo una vez. 2º Parte Repetitiva o Ciclo Es el cuerpo del programa. Aquí se debe estar repitiendo un número determinado de veces o hasta que se cumpla o deje de cumplirse una determinada condición. 3º Parte Final En ella incluiremos la impresión de los resultados finales del ciclo, cerraremos archivos, etc... Nota: No todos los pseudocódigos deben poseer las tres partes perfectamente diferenciadas, habrá casos en que la parte final o inicial no estén diferenciadas del ciclo, incluso alguna parte puede contener las tres. Todo depende del problema a resolver. 2. Instrucciones 2.1. Instrucciones De Entrada Se utilizan para tomar datos del exterior guardándolos en variables. Sintaxis: introduce nombrevariable lee nombrevariable

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

3


Algoritmos y Programación Computación I

Ejemplo: Supongamos que deseamos introducir desde el teclado, un número. Para ello es necesario, en primer lugar, definir una variable que recoja o reciba dicho valor, numero. La forma de realizarlo es la siguiente: numero = 0 introducir numero

2.2. Instrucciones De Salida Sirven para presentar en pantalla o impresora comentarios, constantes, contenido de variables y resultado de expresiones. Sintaxis: Visualización de comentarios. imprime “Comentarios” escribe “Comentarios” Visualización de variables, constantes y expresiones. imprime nombrevariable escribe nombrevariable

2.3. Sentencias Bucle o Ciclo Llamamos bucle o ciclo, a todo proceso que se repite un número determinado de veces dentro de un programa. Sintaxis:

mientras - hace

mientras condición instrucción 1 fin_del_mientras instrucción2 Primero se examina la condición. Esta da como resultado dos posibilidades: Se cumple: va a realizar todas las instrucciones que están dentro del ciclo, instrucción1, la que repetirá mientras se cumpla la condición No se cumple: para directamente o ejecuta la instrucción2

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

4


Algoritmos y Programación Computación I

Sintaxis: Hace Mientras Hace instrucción1 Mientras condición Fin del Hace Mientras instrucción2 Primero realiza todas las instrucciones que están dentro del ciclo, instrucción1, la que repetirá mientras se cumpla la condición. Esta da como resultado dos posibilidades: Se cumple: vuelve a realizar todas las instrucciones que están dentro del ciclo, instrucción1, la que repetirá mientras se cumpla la condición No se cumple: Ejecuta todas las instrucciones que están dentro del ciclo, instrucción1 y para directamente y ejecuta la instrucción2 La condición del condición del ciclo no tiene por qué ser una única expresión, puede haber más de una pero debe relacionarse mediante un operador lógico ( Or, And, Not).

Ejemplo: Mientras condición1 operador-lógico condición2 instrución1 Fin del Mientras instrucción2

Hace instrucción1 Mientras condición1 operador-lógico condición2 Fin del Hace Mientras instrucción2

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

5


Algoritmos y Programación Computación I

3. Contador Es una variable destinada a contener o registrar diferentes valores que se va incrementando o decrementando cada vez que el computador ejecuta la instrucción que lo contiene. Lleva una cuenta. Sintaxis: variable = variable +/- constante 3.1. Sumadores o Acumuladores Es una variable que nos va a permitir guardar un valor que se incrementa o decrementa de forma no constante durante el proceso. En un instante tendrá un valor determinado y al siguiente tendrá otro valor igual o distinto. Lleva una cuenta. sumador: Es la variable que almacena el resultado de la suma. variable: Almacena el número que estamos sumando o restando según sea el caso. Ejemplo: sumador = sumador + variable

4. Toma De Decisión Los programas para un mejor funcionamiento, y poder realizar un número mayor de tareas debe permitir: a) Ejecutar una serie de sentencias e instrucciones. b) Poder repetir una serie de sentencias hasta que se cumpla o deje de cumplirse una serie de condiciones. c) Emplear acciones alternativas para poder elegir una de ellas cuando la situación lo requiera. Las sentencias o instrucciones condicionales o tomas de decisión permiten realizar acciones alternativas, por tanto la ejecución de una línea o grupo de líneas del programa depende de si cumple o no una o varias condiciones. Para preguntar se utiliza la sentencia if (Si). La contestación o respuesta sólo puede ser Verdadera o Falsa (algebra de Boole) y la realización de la acción está sujeta a que se cumpla o no la condición.

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

6


Algoritmos y Programación Computación I

4.1. Sentencia if (si) Sintaxis:

if condición instrucción fin_ del_if instrucción2 si condición instrucción1 fin_del_Si instrucción2

Si la condición se cumple realiza la o las instrucciones que hay dentro del if y luego continúa ejecutando las que están fuera. Si la condición no se cumple no entra en el if y sólo ejecuta las instrucciones que siguen a ésta. Es decir, las instrucciones del if sólo las realiza cuando cumple la condición y las instrucciones que están fuera las realiza siempre que se cumple o no la condición. Se debe poner más de una condición si es necesario, siempre y cuando estén unidas con operadores lógicos. Ejemplo: si condición1 operador-lógico condición2 instrucción1 fin_del_si instrucción2 4.2. Sentencia if – else (si – de lo contrario) A menudo necesitamos realizar dos procesos completamente distintos, dependiendo de si se cumple o no la(s) instrucciones de entrada del if.

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

7


Algoritmos y Programación Computación I

Sintaxis:

if condición1 operador-lógico condición2 instrucción1 else instrucción2 fin_del_if instrucción3

si condición1 operador-lógico condición2 instrucción1 de lo contrario instrucción2 fin_del_si instrucción3 Es decir: 

Si cumple las condiciones: realiza las instrucciones que hay entre el if y else (instrucción1).

Si no las cumple: realiza la instrucción2.

Y a continuación realiza la instrucción3.

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

8


Algoritmos y Programación Computación I

4.3. Sentencia if-else anidados En el formato general para la sentencia if-else, las instrucciones 1 y 2, no están limitadas a ser instrucciones imperativas, pueden ser instrucciones condicionales y surge la posibilidad de usar instrucciones if anidadas.

Ejemplo: si condición1 instrucción1 si condición2 instrucción2 entonces instrucción3 fin_del_si entonces instrucción4 si condición3 instrucción5 entonces instrucción7 fin_del_si fin_del_si instrucción8

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

9


Algoritmos y Programación Computación I

Ejemplo: si condición1 operador-lógico condición2 instrucción1 si condición3 operador-lógico condición4 instrucción2 entonces instrucción3 fin_del_si entonces instrucción4 si condición5 operador-lógico condición6 instrucción5 entonces instrucción7 fin_del_si instrucción8 fin_de_si instrucción9

4.4. Sentencia interruptor - switch (if anidados) Es una estructura lógica que permite controlar la ejecución de instrucciones cuando se tiene más de dos opciones alternativas de acción; y que los posibles valores que tomará la variable de control (Selector), estén comprendidos en un conjunto ordenado y finito de valores como lo es el tipo entero y carácter.

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

10


Algoritmos y Programación Computación I

Sintáxis: Switch (Selector) { case 1: instrucción; instrucción; break; case 2: instrucción; instrucción; break; case 3: instrucción; instrucción; break; case 4: instrucción; instrucción; break; default: instrucción; instrucción; } Ejemplo: interruptor selector hacer si selector es 1: ejecuta la(s) instrucciones del caso 1 si selector es 2: ejecuta la(s) instrucciones del caso 1 si selector es 3: ejecuta la(s) instrucciones del caso 1 si selector es 4: ejecuta la(s) instrucciones del caso 1 si no se cumple (default) ninguno de los casos anteriores: ejecuta la(s) instrucciones del caso 1 fin_del_interruptor

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

11


Algoritmos y Programación Computación I

5. Sentencia while (mientras - hace) mientras condición sentencia(s) fin_del_mientras mientras condición1 operador-lógico condición2 sentencia(s) fin_del_mientras 5.1. Reglas De Funcionamiento La condición se evalúa antes y después de cada ejecución. Si la condición es verdadera, se ejecuta el ciclo y si es falsa el control pasa a la sentencia siguiente al bucle. 5.1.1. Precauciones 1º La condición lógica en un ciclo while debe tener un valor la primera vez que se evalúa, de caso contrario el programa se detendrá al ejecutarse el while. 2º La condición lógica en un ciclo while debe ser modificada por una sentencia en el cuerpo del ciclo en caso contrario el bucle es infinito 3º Es posible que el cuerpo del ciclo no se ejecute nunca. Esto sucederá si la condición lógica es falsa la primera vez que se evalúa.

5.2. Terminación de los Bucles ó Ciclos En general existen dos métodos para controlarlos o terminar un ciclo, por: 1º Contador 2º Condición

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

12


Algoritmos y Programación Computación I

5.2.1. Bucles controlados por un contador Formato Establecer variable_contador a un valor inicial while variable_contador < valor_final instrucción(es) variabl_contador = variable_contador + / - constante

5.2.2. Bucles controlados por una condición Se utilizan cuando no se sabe a priori, el número exacto de iteraciones a realizar.

1er Método “Solicitar al usuario la continuación del bucle” Ejemplo: suma = 0; printf (“Existen más números s / n \n”); scanf (“%c”, &resp); while (resp==’S’) or (`resp == `’s’) { . . . printf (“Existen más números s / n \n”); scanf (“%c”,&resp); }

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

13


Algoritmos y Programación Computación I

2º Método “Valor centinela” Un centinela es un valor especial, utilizado para señalar al final de una lista de datos. El valor elegido debe ser distinto de los de los datos de la lista. Ejemplo: suma = 0; printf (“Ingrese el número: \n”); scanf (“%c”, &numero); while (numero > = 0) { . . . suma = suma + numero; printf (“Ingrese el número: \n”); scanf (“%c”, &numero); } 6. Sentencia do - hace (Similar a la instrucción Repeat de Pascal) Especifica un bucle condicional que se repite hasta que la condición se cumpla. Formato hace sentencia(s) mientras condición fin_del_hace_mientras

hace sentencia(s) mientras condición1 operador-lógico condición2 fin_del_hace_mientras

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

14


Algoritmos y Programación Computación I

6.1. Reglas de funcionamiento 1º La condición se evalúa al final del ciclo después de ejecutar todas las instrucciones (sentencias). 2º Si la expresión lógica se cumple, se vuelve a repetir el ciclo y se ejecutan todas las sentencias nuevamente. Si la expresión no se cumple se ejecuta el cuerpo del bucle al menos una vez, luego sale del bucle y se ejecuta la sentencia siguiente. Ejemplo: printf (“Indique cuantos números desea sumar: ”); scanf (“%d”, &cantidad); contador = 0; sumador = 0; do { printf (“ingrese el número: \n”); scanf (“%d”, &numero); suma = suma +numero; contador = contador +1; } while (contador == cantidad)

7. Sentencia for En numerosas ocasiones se puede desear un bucle que se ejecute un número determinado de veces. Formato para variable-inicial a valor-final instrucción(es) incremento o decremento fin_del_para

Ejemplo: for ( i = 0 ; i < 7 ; i = i +2 ) print( “ El valor de i es %d \n”, i) ;

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

15


Algoritmos y Programación Computación I

8. Bucles Anidados El cuerpo de un bucle puede contener cualquier tipo de sentencias (simples o compuestas), selectivas ( if, if – else, switch) o repetitivas ( for, while, do). Cuando un bucle está contenido en otro se dice que esta anidado.

8.1. Bucles while y do Anidados Los bucles, los ciclos mientras y hacer pueden estar anidados entre sí o bien bucles while con do o viceversa. mientras condición 1 sentencia(s) mientras condición2 sentencia(s) fin_del_mientras fin _del_mientras sentencia(s)

mientras condición1 operador-lógico condición2 sentencia(s) mientras condición1 operador-lógico condición2 sentencia(s) fin_del_mientras fin_del_mientras sentencia(s)

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

16


Algoritmos y Programación Computación I

hacer sentencia(s) hacer sentencia(s) mientras condición 2 fin_del_hacer_mientras sentencia(s) mientras condición 1 fin_del_hacer_mientras

hacer sentencia(s) hacer sentencia(s) mientras condición3 operador-lógico condición4 fin_del_hacer_mientras mientras condición1 operador-lógico condición2 fin_del_hacer_mientras

hacer sentencia(s) mientras condición2 sentencia(s) fin_del_mientras sentencia(s) mientras condición 1 fin_del_hacer_mientras

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

17


Algoritmos y Programación Computación I

8.2. Bucles for Anidados Al igual que sucede con los bucles while y do, es posible poner un bucle for dentro de otro; anidar ciclos. Cuando se anidan bucles, se debe tener cuidado que el lazo interior este completamente dentro del bucle exterior. Formato para variable-inicial a valor-final instrucción(es) para variable-inicial a valor-final instrucción(es) incremento o decremento fin_del_para instrucción(es) incremento o decremento fin_del_para Ejemplo: 1) for (m = 0; m < 7; m = m + 1) { for (z = 0; z < 7; z = z + 1) { . . . } } 2) for (m = 0; m < 7; m = m + 1) { for (z = 0; z < 7; z = z + 1) { for (y = 0; y < 7; y = y + 1) { . . . } } }

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

18


Algoritmos y Programación Computación I

8.3. Elección De La Estructura Repetitiva Adecuada La elección adecuada de estructuras repetitivas es una de las partes más importantes en el diseño de algoritmos. La repetición de sentencias en el interior del bucle, requiere definir las condiciones de término del ciclo con sumo cuidado para evitar un bucle incorrecto o infinito. En un bucle do, la secuencia de sentencias se ejecutará al menos una vez, mientras que en un bucle while, no siempre se ejecutará el proceso del ciclo y en ocasiones (cuando no se cumple la condición) no se ejecutará. En la práctica, el bucle while se utiliza con más frecuencia que el ciclo do y por ello en caso de duda, seleccione un bucle while. El bucle for se reservará para situaciones en que el número de iteraciones se puede predecir y enumerar fácilmente antes que comience el bucle. Cuando no se conozca con anticipación cuantas veces se tiene que ejecutar el proceso, el uso de la estructuras while, es el más indicado.

T.N.S. en Gestión de Sistemas Informáticos y Conectividad

19


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.