Программа "Booty Challenge" от Ashy Bines. Introduction.
PSeInt Pseudocódigo
Conceptos Generales ¿Qué es pseudocódigo? – Falso lenguaje.
–
Es una descripción similar a la que se realiar!a en alto ni"el de un algoritmo# pero est$ dise%ado para la lectura &umana# con independencia de cualquier otro lenguaje de programación.
Conceptos Generales ¿Qué es pseudocódigo? – Falso lenguaje.
–
Es una descripción similar a la que se realiar!a en alto ni"el de un algoritmo# pero est$ dise%ado para la lectura &umana# con independencia de cualquier otro lenguaje de programación.
Conceptos generales ●
●
●
'aria(le) es una posición en memoria# asociada a un nom(re con el cual la "amos a conocer# que podr!a cam(iar su "alor a lo largo de la ejecución de un programa. Generalmente el nom(re que se le asigna a una "aria(le es independiente de su "alor * es m$s que todo representati"o del uso que se le desea dar. Ejemplos) nom(re# edad# estado.
Conceptos generales ●
●
●
+ipo de dato) Es un atri(uto de los datos que indica a la m$quina el tratamiento que de(e (rindar a los mismos. Esto inclu*e restricciones en los datos# como los "alores que puede reci(ir# su tama%o en memoria# operaciones que se pueden realiar#entre otros. Ejemplo) entero# te,to# arreglo# real
Forma General de un algoritmo +odo algoritmo en Pseudocódigo tiene la siguiente estructura general)
Proceso Sin+itulo accion - accion - accion n FinProceso
Forma General de un algoritmo /as acciones inclu*en)
0peraciones de entrada * salida. 1signaciones de "aria(les. Condicionales si2entonces o de selección m3ltiple *4o ciclos 5mientras6# 5repetir6 o 5para6.
Ejemplo) Proceso 7ola8undo Escri(ir 97ola# mundo9 FinProceso
+ipos de datos +ipos simples)
:umérico. /ógico. Car$cter.
Estructuras de datos)
1rreglos.
+ipos de datos /os tipos de datos simples se determinan autom$ticamente cuando se crean las "aria(les. /as dos acciones para crear "aria(le son la de lectura * la de asignación. ;na "e que se determina el tipo de datos de una "aria(le se mantiene constante a lo largo de todo el programa# de lo contrario se indica un error.
+ipos de datos Por ejemplo) cree un programa que solicite al usuario su nom(re * le de un saludo de (ien"enida.
Proceso 7ola8undo mensaje <2 9=ien"enido# 9 Escri(ir 9Por >a"or digite su nom(re)9 /eer nom(re Escri(ir mensaje# 9 9# nom(re FinProceso
+ipos de datos 2 :umérico Son los n3meros tanto enteros como decimales. Para separar decimales se usa el punto.
Proceso 7ola8undo numentero <2 @ numdecimal <2 A.@ Escri(ir numentero B numdecimal FinProceso
+ipos de datos 2 /ógico Solo puede tomar dos "alores)
+ipos de datos 2 Caracter Caracteres o cadenas de caracteres encerrados entre comillas pueden ser do(les o simples. Proceso 7ola8undo mensaje <2 HEsto es un tipo caracterH mensaje <2 9J esto tam(ién9 Escri(ir mensaje# 9 9# mensaje FinProceso
+ipos de datos 2 1rreglos /os arreglos son estructuras de datos &omogéneas todos los elementos son del mismo tipo que permiten almacenar un determinado n3mero de datos (ajo un mismo identi>icador# para luego re>erirse a los mismos utiliando su(!ndices. Ser$ un tema posterior en el curso.
0peradores En este pseudolenguaje se dispone de un conjunto ($sico de operadores que pueden ser utiliados para la construcción de e,presiones m$s o menos complejas. /a jerarqu!a de operadores de operadores matem$ticos es igual a la del $lge(ra# aunque puede alterarse con paréntesis. 7a* operadores de los siguientes tipos)
elacionales. /ógicos. 1lge(raicos.
0peradores relacionales K < L KL
0peradores lógicos J 2 0 2 M :0 2 N
Funciones 7a* disponi(les una serie de >unciones matem$ticas de"uel"en un resultado numérico * reci(en un par$metro de tipo numérico.
1signación /a instrucción de asignación permite almacenar una "alor en una "aria(le. <"aria(leK <2
/ectura /a instrucción /eer permite ingresar in>ormación desde el am(iente. /eer <"aria(lelK # <"aria(leK # ... #<"aria(le:K Esta instrucción lee : "alores desde el am(iente en este caso el teclado * los asigna a las : "aria(les mencionadas. Pueden incluirse una o m$s "aria(les# por lo tanto el comando leer$ uno o m$s "alores.
Escritura /a instrucción Escri(ir permite mostrar "alores al am(iente. Escri(ir
Estructuras de control /as estructuras de control permiten modi>icar el >lujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede)
De acuerdo a una condición ejecutar un grupo u otro de sentencias. Ejecutar un grupo de sentencias mientras se cumpla una condición. Ejecutar un grupo de sentencias &asta que e,ista una condición. Ejecutar un grupo de sentencias un n3mero determinado de "eces.
Estructuras de control En PSeInt e,isten dos tipos de estructuras de control)
Condicionales.
Si2Entonces. Selección m3ltiple.
epetiti"as.
8ientras. epetir. Para.
Si R Entonces /a secuencia de instrucciones ejecutadas por la instrucción Si2Entonces2Sino depende del "alor de una condición lógica.
Si alsa. /a condición de(e ser una e,presión lógica# que al ser e"aluada retorna 'erdadero o Falso. /a cl$usula Entonces de(e aparecer siempre# pero la cl$usla Sino puede no estar. En ese caso# si la condición es >alsa no se ejecuta ninguna instrucción * la ejecución del programa contin3a con la instrucción siguiente.
Si 2 Entonces Proceso 7ola8undo Escri(ir 9Digite un n3mero# resultante de lanar un dado) 9 /eer "alor si "alor < - M "alor K Entonces Escri(ir 9Ese n3mero no se o(tiene de lanar un dadoT9 Sino Escri(ir 9El n3mero en la cara opuesta es 9# U 2 "alor FinSi FinProceso
Seg3n /a secuencia de instrucciones ejecutada por una instrucción Segun depende del "alor de una "aria(le numérica.
Segun <"aria(leK 7acer ormada por uno o m$s n3meros separados por comas# dos puntos * una secuencia de instrucciones. Si una opción inclu*e "arios n3meros# la secuencia de instrucciones asociada se de(e ejecutar cuando el "alor de la "aria(le es uno de esos n3meros. 0pcionalmente# se puede agregar una opción >inal# denominada De 0tro 8odo# cu*a secuencia de instrucciones asociada se ejecutar$ sólo si el "alor almacenado en la "aria(le no coincide con
Seg3n Proceso sintitulo Escri(ir 9Seleccione una opción entre las siguientes)9 Escri(ir 9-. Piedra.9 Escri(ir 9. Papel.9 Escri(ir 9A. +ijera9 /eer seleccion Segun seleccion 7acer -) Escri(ir 9Escogió Piedra9 ) Escri(ir 9Escogió Papel9 A) Escri(ir 9Escogió tijera9 De 0tro 8odo) Escri(ir 9Su selección no corresponde a las opciones9 FinSegun FinProceso
8ientras /a instrucción 8ientras ejecuta una secuencia de instrucciones mientras una condición sea "erdadera.
8ientras
1l ejecutarse esta instrucción# la condición es e"aluada. Si la condición resulta "erdadera# se ejecuta una "e la secuencia de instrucciones que >orman el cuerpo del ciclo. 1l >inaliar la ejecución del cuerpo del ciclo se "uel"e a e"aluar la condición *# si es "erdadera# la ejecución se repite. Estos pasos se repiten mientras la condición sea "erdadera. :ote que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca# si al e"aluar por primera "e la condición resulta ser >alsa. Si la condición siempre es "erdadera# al ejecutar esta instrucción se produce un ciclo in>inito. 1 >in de e"itarlo# las instrucciones del cuerpo del ciclo de(en contener alguna instrucción que modi>ique la o las "aria(les in"olucradas en la condición# de modo que ésta sea >alsi>icada en alg3n momento * as! >inalice la ejecución del ciclo.
8ientras Proceso 7ola8undo Escri(ir 9Digite un n3mero# resultante de lanar un dado) 9 /eer "alor 8ientras "alor < - M "alor K 7acer Escri(ir 9Ese n3mero no se o(tiene de lanar un dadoT9 /eer "alor Fin8ientras Escri(ir 9El n3mero en la cara opuesta es 9# U 2 "alor FinProceso
8ientras Proceso 7ola8undo "alor <2 V 8ientras "alor
epetir /a instrucción epetir27asta Que ejecuta una secuencia de instrucciones &asta que la condición sea "erdadera.
epetir secuenciadeacciones 7asta Que e,presionlogica
1l ejecutarse esta instrucción# la secuencia de instrucciones que >orma el cuerpo del ciclo se ejecuta una "e * luego se e"al3a la condición. Si la condición es >alsa# el cuerpo del ciclo se ejecuta nue"amente * se "uel"e a e"aluar la condición. Esto se repite &asta que la condición sea "erdadera. :ote que# dado que la condición se e"al3a al >inal# las instrucciones del cuerpo del ciclo ser$n ejecutadas al menos una "e. 1dem$s# a >in de e"itar ciclos in>initos# el cuerpo del ciclo de(e contener alguna instrucción que modi>ique la o las "aria(les in"olucradas en la condición de modo que en alg3n momento la condición sea "erdadera * se >inalice la ejecución del ciclo.