Está en la página 1de 13

ALGORITMOS GUA No.

PSEUDOCDIGO CON PSEINT

1. FORMA GENERAL DE UN ALGORITMO EN PSEINT


Todo algoritmo en pseudocgido tiene la siguiente estructura general:

Proceso SinTitulo accion 1; accion 1; . . . accion n; FinProceso

Comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue una secuencia de instrucciones y finaliza con la palabra FinProceso. Una secuencia de instrucciones es una lista de una o ms instrucciones, cada una terminada en punto y coma. Las acciones incluyen operaciones de entrada y salida, asignaciones de variables, condicionales si-entonces o de seleccin mltiple y/o lazos mientras, repetir o para.

2. TIPOS DE DATOS
DATOS SIMPLES: Numrico: Son nmeros tanto enteros como decimales. Para separar decimales se utiliza el punto. Ejemplos: 12 23 0 -2.3 3.14 Lgico: Solo puede tomar dos valores: VERDADERO o FALSO. Caracter: Caracteres o cadenas de caracteres encerrados entre comillas (pueden ser dobles o simples). Ejemplos 'hola' "hola mundo" '123' 'FALSO' 'etc' ARREGLOS: Los arreglos son estructuras de datos homogneas (todos sus datos son del mismo tipo) que permiten almacenar un determinado nmero de datos bajo un mismo identificador, para luego referirse a los mismo utilizando uno o ms subndices. Los arreglos pueden pensarse como vectores, matrices, etc.

-1-

3. OPERACIONES
OPERADORES RELACIONALES > < = <= >= <> OPERADORES LGICOS &Y lO SIGNIFICADO Mayor que Menor que Igual Menor o igual que Mayor o igual que Distinto que SIGNIFICADO Conjuncin (y) Disyuncin (o) Negacin (no) 5>2 AREA < 100 A = B DISC <= 0 DISC >= 0 DET <> 0 EJEMPLO (A>5) & (B<10) (A=5) l (B<0) -(A<5) EJEMPLO

- NO
OPERADORES ALGEBRAICOS + * / ^ % MOD

SIGNIFICADO

EJEMPLO

Suma Resta Multiplicacin Divisin Potenciacin Mdulo o Residuo

Sup Lat + Base Sneto Sbruto - Prest Area Base*Altura Incr Actual / Pasado Area = lado^2 Resto a MOD b

4. FUNCIONES
FUNCIN RC(X) ABS(X) LN(X) EXP(X) SEN(X) COS(X) TAN(X) ASEN(X) ACOS(X) ATAN(X) TRUNC(X) REDON(X) AZAR(X) SIGNIFICADO Raz cuadrada de X Valor absoluto de X Logaritmo natural de X Funcin exponencial de X Seno de X Coseno de X Tangente de X Arcoseno de X Arcocoseno de X Arcotangente de X Parte entera de X Entero ms cercano a X Entero aleatorio entre 0 y (X-1) EJEMPLO

-2-

5. DATOS IMPORTANTES
= log
Logaritmo en base a:

( x)

ln ( x ) ln ( a)

Coseno de ngulo a: cos(a*pi/180)

Constante

: pi = 4*atan(1)

Arctangente de a: (180/pi)*atan(a)

-3-

ESTRUCTURAS SECUENCIALES CON PSEINT

1. ASIGNACIN

La instruccin de asignacin permite almacenar una valor en una variable. <variable> < <expresin> ; Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna el resultado a la variable de la izquierda. El tipo de la variable y el de la expresin deben coincidir.

2. LECTURA

La instruccin Leer permite ingresar informacin desde el ambiente. Leer <variablel> , <variable2> , ... , <variableN> ; Esta instruccin lee N valores desde el ambiente (en este caso el teclado) y los asigna a las N variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el comando leer uno o ms valores.

3. ESCRITURA

-4-

La instruccin Escribir permite mostrar valores al ambiente. Escribir <exprl> , <expr2> , ... , <exprN> ; Esta instruccin imprime al ambiente (en este caso en la pantalla) los valores obtenidos de evaluar N expresiones. Dado que puede incluir una o ms expresiones, mostrar uno o ms valores.

4. ALGUNAS OBSERVACIONES
Se pueden introducir comentarios luego de una instruccin, o en lneas separadas, mediante el uso de la doble barra ( // ). Todo lo que precede a //, hasta el fin de la lnea, no ser tomado en cuenta al interpretar el algoritmo. No es vlido introducir comentario con /* y */. No puede haber instrucciones fuera del proceso (antes de PROCESO, o despues de FINPROCESO), aunque si comentarios. Las estructuras no secuenciales pueden anidarse. Es decir, pueden contener otras adentro, pero la estructura contenida debe comenzar y finalizar dentro de la contenedora. Los identificadores, o nombres de variables, deben constar slo de letras, nmeros y/o guin_bajo (_), comenzando siempre con una letra. Los tipos de datos de las variables no se declaran explicitamente, sino que se infieren a partir de su utilizacin. Las constantes de tipo carcter se escriben entre comillas ( " ). En las constantes numricas, el punto ( . ) es el separador decimal. Las constantes lgicas son Verdadero y Falso. Actualmente este pseudolenguaje no contempla la creacin de nuevas funciones o subprocesos.

-5-

5. EJEMPLOS USO DE FUNCIONES

Ejemplo 1:

Proceso FUNCIONES Escribir "PROGRAMA DE FUNCIONES"; Escribir "Leer valor de a"; Leer a; Escribir "Leer valor de b"; Leer b; pi<-4*atan(1); c<-(180/pi)*asen(a); Escribir "El ArcSeno de a es ", c; p<-(180/pi)*atan(b); Escribir "El ArcoTangente de b es ", p; FinProceso

Ejemplo 2:

Proceso FUNCIONES Escribir "PROGRAMA DE FUNCIONES"; Escribir "Leer valor de a"; Leer a; Escribir "Leer valor de b"; Leer b; pi<-4*atan(1); c<-trunc(a); Escribir "La parte entera de a es ", c; p<-redon(b); Escribir "El Redondeo de b es ", p; FinProceso

-6-

Ejemplo 3:

Proceso FUNCIONES Escribir "PROGRAMA DE FUNCIONES"; Escribir "Leer valor de a"; Leer a; Escribir "Leer valor de b"; Leer b; pi<-4*atan(1); s<-sen(a*pi/180); Escribir "Seno de a es ", s; c<-cos(b*pi/180); Escribir "Coseno de b es ", c; FinProceso

Ejemplo 4:

Proceso FUNCIONES Escribir "PROGRAMA DE FUNCIONES"; Escribir "Leer valor de argumento a"; Leer a; Escribir "Leer valor de base b"; Leer b; lg<- ln(a)/ln(b); Escribir "Logaritmo de a en base b es ", lg; FinProceso

Ejemplo 5:

Proceso MODULO Escribir "PROGRAMA MODULO O RESIDUO"; Escribir "Leer valor de a"; Leer a; Escribir "Leer valor de b"; Leer b; m<- a mod b; Escribir "Residuo de a sobre b es ", m; FinProceso

-7-

Ejemplo 6:

Proceso ALEATORIO Escribir "PROGRAMA ALEATORIO"; Escribir "Leer valor de limite superior a"; Leer a; na<- azar(a); Escribir "El nmero aleatorio entre 0 y (a-1) es ", na; FinProceso

-8-

ESTRUCTURAS DE CONTROL - CONDICIONALES

1. ESTRUCTURA: SI ENTONCES

La secuencia de instrucciones ejecutadas por la instruccin Si-Entonces-Sino depende del valor de una condicin lgica. Si <condicin> Entonces <instrucciones> Sino <instrucciones> FinSi Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que correspondan: las instrucciones que le siguen al Entonces si la condicin es verdadera, o las instrucciones que le siguen al Sino si la condicin es falsa. La condicin debe ser una expresin lgica, que al ser evaluada retorna Verdadero o Falso. La clusula Entonces debe aparecer siempre, pero la clusla Sino puede no estar. En ese caso, si la condicin es falsa no se ejecuta ninguna instruccin y la ejecucin del programa contina con la instruccin siguiente.

2. ESTRUCTURA: SELECCIN MULTIPLE - SEGN

-9-

La secuencia de instrucciones ejecutada por una instruccin Segun depende del valor de una variable numrica. Segun <variable> Hacer <nmero1>: <instrucciones> <nmero 2>,<nmero3>: <instrucciones> <...> De Otro Modo: <instrucciones> FinSegun Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor. Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y una secuencia de instrucciones. Si una opcin incluye varios nmeros, la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos nmeros. Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de instrucciones asociada se ejecutar slo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores.

- 10 -

ESTRUCTURAS DE CONTROL - REPETITIVAS

1. PARA

La instruccin Para ejecuta una secuencia de instrucciones un nmero determinado de veces. Para <variable> <- <inicial> Hasta <final> ( Con Paso <paso> ) Hacer <instrucciones> FinPara Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable <variable> en <paso> unidades y se evala si el valor almacenado en <variable> super al valor <final>. Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la clusula Con Paso <paso>, la variable <variable> se incrementar en 1.

2. ESTRUCTURA: REPETIR

La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condicin sea verdadera. Repetir <instrucciones> Hasta Que <condicin> Al ejecutarse esta instruccin, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evala la condicin. Si la condicin es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condicin. Esto se repite hasta que la condicin sea verdadera.

- 11 -

Note que, dado que la condicin se evala al final, las instrucciones del cuerpo del ciclo sern ejecutadas al menos una vez. Adems, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instruccin que modifique la o las variables involucradas en la condicin de modo que en algn momento la condicin sea verdadera y se finalice la ejecucin del ciclo.

3. MIENTRAS

La instruccin Mientras ejecuta una secuencia de instrucciones mientras una condicin sea verdadera. Mientras <condicin> Hacer <instrucciones> FinMientras Al ejecutarse esta instruccin, la condicin es evaluada. Si la condicin resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecucin del cuerpo del ciclo se vuelve a evaluar la condicin y, si es verdadera, la ejecucin se repite. Estos pasos se repiten mientras la condicin sea verdadera. Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por primera vez la condicin resulta ser falsa. Si la condicin siempre es verdadera, al ejecutar esta instruccin se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna instruccin que modifique la o las variables involucradas en la condicin, de modo que sta sea falsificada en algn momento y as finalice la ejecucin del ciclo.

- 12 -

EJERCICIOS

Ejercicio 1: Se introduce un nmero natural m. El programa debe generar y mostrar: a) Los m primeros nmeros primos. b) Todos los nmeros primeros que estn entre m y 2m. Ejercicio 2: Se introduce un nmero natural m. El programa debe generar e imprimir la lista de nmeros de fibonacci f1 ,f2 ,f3 , , fn tales que f1 + f2 + f3 + f4 + + fn < m. Ejercicio 3: El programa debe leer m nmeros que se introducen uno a uno y luego debe escribirlos ordenados de menor a mayor o de mayor a menor Ejercicio 4: Se introduce un nmero natural entero m de varias cifras. El programa debe: a) Contar y escribir la cantidad de cifras que tiene el nmero m. b) Calcular y escribir la suma de las cifras del nmero m. Ejercicio 5: Se introduce un nmero natural m. El programa debe generar e imprimir los coeficientes del desarrollo del binomio (a+b)m. Ejercicio 6: Se introduce un nmero natural m. 2 El programa debe generar e imprimir la lista de nmeros cuadrados 1 , 22 , 32, 42 , 2 2 2 2 2 2 . n , tales que 1 +`2 + 3 + 4 + . . . + n < m. Ejercicio 7: Se introducen un nmero natural m. El programa debe contar e imprimir la cantidad de nmeros menores o iguales a m que son: a) divisibles por 2 b) divisibles por 3 c) divisibles por 5 d) divisibles por 7 Ejercicio 8: Se introduce un nmero natural m. El programa debe generar e imprimir una lista con los factoriales de todos los nmeros menores o iguales a m. Ejercicio 9: Se introducen dos nmeros naturales n y k. (n=k) El programa debe calcular escribir el coeficiente del trmino k-simo del desarrollo del binomio (a+b)n. Ejercicio 10: Elabore un algoritmo que permita: a) Determinar si un ao dado es bisiesto. b) Determinar el da Domingo de Pascua en un ao dado.

- 13 -

También podría gustarte