Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD 1:
ALGORITMOS Y PROGRAMAS
1.2.3.-Pseudocódigo
Estudiar y practicar la resolución de problemas a través de
algoritmos empleando pseudocódigos
Pseudocódigo
Notación pseudocodificada
Características de los pseudocódigos
Ventajas de los pseudocódigo sobre los diagramas de flujo
Escritura de pseudocódigos
Estructura General de un pseudocódigo
Pseudocódigos con PSeInt
Estructura de un pseudocódigos en PSeInt
Introducción a los tipo de datos, operadores y operaciones
Estructuras de control: selectivas, iterativas, anidamiento y
ejemplos
Actividades
Referencias
El pseudocódigo (o falso lenguaje)
Instrucciones de control.
Instrucciones compuestas.
Variables.
Cuerpo.
Se denomina así al resto del diseño, el cual queda
Inicio.
dividido en otros dos bloques denominados Bloque
Instrucciones. de datos y Bloque de acciones o instrucciones.
Fin.
Pseudocódigo con PSeInt
Algoritmo sin_titulo
Comienza con la palabra
Instrucción1; clave Algoritmo seguida del
Instrucción2; nombre del algoritmo.
Instrucción3;
Instrucción…; Seguido de la secuencia de instrucciones (lista
de una o más instrucciones, cada una terminada
Instrucciónn; en punto y coma.
FinAlgoritmo
Finaliza con la palabra reservada FinAlgoritmo.
Asignación Relacionales
Operador Operación
Cada autor usa sus respectivas convenciones.
= igual
Por ejemplo, la instrucción "reemplace el
<> diferente
valor de la variable x por el valor de la
< menor que
variable y" puede ser Asigne a x el valor de y
> mayor que
representado como: x=y
<= menor o igual que
xy
>= mayor o igual que
Aritméticos Lógicos
Operador Operación Operador Operación
+ suma Será verdadera si y sólo
y
- resta si ambas son verdaderas
* multiplicación Será verdadera si al
o
/ división menos una es verdadera
mod módulo no Es la negación
sumaa+b;
volumenpi*r^2*h;
hipotenusa rc(a^2+b^2);
resultadosin(a);
Introducción a las Operaciones
Simples:
Representan instrucciones que pueden o no ejecutarse, según el
cumplimiento de una condición.
La condición es una expresión booleana. Las
Instrucciones son ejecutada sólo si la condición es
si condición entonces verdadera.
Instrucciones;
fin si
Ejemplo:
si ab entonces
escribir “El primero es mayor que el segundo”;
fin si
Estructuras de Control Selectivas
Dobles (alternativa):
Se realiza una instrucción de dos posibles alternativas, según el
cumplimiento de una condición.
La condición es una variable booleana o una función
reducible a booleana (lógica, Verdadero/Falso).
Si esta condición es cierta (verdadero) se
si condición entonces ejecuta Instrucciones1, si no es así (si es falso),
Instrucciones1 entonces se ejecuta Instrucciones2.
sino
Instrucciones2 Ejemplo:
fin si
si ab entonces
escribir “El primero es mayor que el segundo”;
sino
escribir “El primero es menor que el segundo”;
fin si
Estructuras de Control Selectivas
Múltiples:
Equivale a anidar varias funciones de selección.
En este caso hay una serie de condiciones que
tienen que ser mutuamente excluyentes. Si una
si condición1 entonces de ellas se cumple, las demás tienen que ser
Instrucciones1 falsas necesariamente.
sino si condición2 entonces En general, si condicióni es verdadera, entonces
Instrucciones2 sólo se ejecuta Instruccionesi.
sino si condición… entonces
Instrucciones… Ejemplo:
sino si n<m entonces
Instruccionesn escribir "el primero es menor que el segundo";
fin si sino si n==m entonces
fin si escribir "son iguales";
fin si sino
escribir "el primero es mayor que el segundo";
fin si
fin si
Estructuras de Control Selectivas
Múltiples (Caso):
Permite escoger entre varias opciones con la misma estructura, pero de
forma más sencilla que con la estructura si-sino anidada. Cada opción tiene
su bloque de instrucciones a ejecutar.
segun variable hacer Hay una variable cuyo valor es comparado en cada caso (opción)
con los valores "valori", cuando coinciden ambos valores,
opción_valor1:
entonces se ejecutan las Instruccionesi correspondientes. La
Instrucciones1 opción de otro modo es análoga a la sección sino del ejemplo
opción_valor2: anterior, es decir cuando el valor no sea ninguna de las opciones
Instrucciones2 preestablecidas.
opción_valor…:
Instrucciones… Ejemplo:
opción_valorn: segun x hacer
Instruccionesn 1: escribir "la suma de a+b: " a+b;
de otro modo: 2: escribir "la resta de a-b: " a-b;
Instruccionesx 3: escribir "el producto de a*b: " a*b;
fin segun 4: escribir "el cociente de a/b: " a/b;
de otro modo: escribir "operación no válida";
fin segun
Estructuras de Control Iterativas
Mientras:
El bucle se repite mientras la condición sea cierta, si al llegar por primera vez
al bucle mientras, la condición resulta falsa, el cuerpo del bucle no se ejecuta
ninguna vez.
mientras expresion_logica hacer
Instrucción (o bloque de instrucciones);
fin mientras
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo Mientras01
suma <- 0;
escribir "Dime un numero ";
leer x;
mientras x <> 0 hacer
suma <- suma + x;
escribir "Hasta ahora, la suma es ", suma;
escribir "Dime otro numero";
leer x;
fin mientras
escribir "Terminado";
FinAlgoritmo
Ejemplo: Estructuras de
Control Mientras
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo Mientras01
suma <- 0;
escribir "Dime un numero "; Nótese que esta línea de la estructura mientras no culmina en punto y coma,
pues no es el final de la instrucción.
leer x;
mientras x <> 0 hacer El ciclo mientras se
suma <- suma + x; repetirá hasta que la
variable x sea 0.
escribir "Hasta ahora, la suma es ", suma;
Si la primera vez que se lee
escribir "Dime otro numero"; la variable x su valor es
leer x; igual a 0, no se ejecuta el
ciclo.
fin mientras
escribir "Terminado"; La palabra reservada fin mientras indica el final de la estructura mientras,
FinAlgoritmo por tanto no es necesario colocar el punto y coma de final de instrucción.
Ejemplo: Estructuras de
Control Mientras
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo Mientras01 Inicio del algoritmo y nombre
leer x;
fin mientras Final de la estructura mientras
escribir "Terminado";
FinAlgoritmo
Final del algoritmo
Estructuras de Control Iterativas
Repetir:
Esta estructura se utiliza cuando es necesario que el cuerpo del bucle se
ejecute al menos una vez y hasta que se cumpla la expresion_logica, es decir
que siga siendo verdadera.
repetir
Instrucción (o bloque de instrucciones);
hasta que expresion_logica
Ejemplo: algoritmo que comprueba una contraseña (3 intentos máx.) hasta que sea 352.
Algoritmo contraseña
Definir clave como entero;
intentos <- 0;
repetir
intentos <- intentos + 1;
escribir "Digite la clave: ";
leer clave;
hasta que (clave = 352) o (intentos = 3);
si (intentos = 3) y (clave <> 352) entonces
escribir "Demasiados intentos";
sino
escribir "Clave correcta";
fin si
Fin Algoritmo
Ejemplo: Estructuras de
Control Repetir
Ejemplo: algoritmo que comprueba una contraseña (3 intentos máx.) hasta que sea 352.
Se declara una variable entera, sin asignarle valor
Algoritmo contraseña Expresión booleana que compara las dos condiciones usando el operador
lógico o. Basta que una de las dos condiciones sea verdadera para que la
Definir clave como entero;
expresión completa sea verdadera.
intentos <- 0;
repetir
El ciclo repetir se ejecuta
intentos <- intentos + 1; al menos una vez. Se
escribir "Digite la clave: "; detiene el ciclo cuando la
expresión booleana sea
leer clave;
verdadera.
hasta que (clave = 352) o (intentos = 3);
si (intentos = 3) y (clave <> 352) entonces
escribir "Demasiados intentos";
sino
Expresión booleana que compara las dos condiciones usando el operador
escribir "Clave correcta"; lógico y. Necesariamente ambas condiciones deben ser verdaderas para que la
expresión completa sea verdadera.
fin si
Fin Algoritmo
Estructuras de Control Iterativas
Para:
Se usa cuando se desea iterar un número conocido de veces, empleando como
índice una variable que se incrementa (o decrementa):
Los procesos iterativos que se han visto hasta ahora terminan por una condición.
En muchas situaciones las iteraciones se realizan un número determinado de
veces, pues se conoce de antemano el número de iteraciones. En este caso se
necesita una variable que lleve el control de las veces que se va a repetir bloque
de instrucciones. La propia estructura inicializa dicha variable (la cual se usa
como contador) asignándole un valor_inicial, además se incluye el valor_final
que debe tomar la variable para salir del bucle y va sumándosele la cantidad
paso cada vez que se ejecute la instrucción (o el bloque de instrucciones).
Ejemplo: Estructuras de
Control Para
Algoritmo pares
definir contador como entero;
para contador<-2 hasta 10 con paso 2 hacer
escribir contador;
fin para
FinAlgoritmo
Ejemplo: Estructuras de
Control Para
Algoritmo pares
definir contador como entero;
para contador<-2 hasta 10 con paso 2 hacer Se conoce de ante mano que el ciclo para se
repetirá 5 veces, pues la variable contador se
escribir contador; incrementa de 2 en 2, y al superar el valor de
fin para 10 se detiene el ciclo
FinAlgoritmo
Los ciclos anidados o compuestos no son más que ciclos que tienen otros ciclos
dentro del bloque de instrucciones que deben ejecutar. Esta facilidad de
componer uno o más ciclos en combinación con algunas estructuras de
almacenamiento resulta muy útil para la solución de algunos algoritmos de
búsqueda y ordenación que se verán más adelante.
Usualmente los ciclos que se componen para resolver un algoritmo en particular
son los ciclos por variable de control; esto no quiere decir, que no se pueda hacer
con ciclos de condición o con una combinación de ellos dos, pero son menos
frecuentes estos casos.
En general, las estructuras anidadas se muestran indentadas, para hacer más
sencilla su identificación a simple vista.
Se pueden anidar, permitiendo las siguientes combinaciones de anidamiento:
mientras en mientras, mientras en repetir, mientras en para, repetir en repetir,
repetir en para, repetir en mientras, para en para, para en mientras, para en
repetir.
Ejemplo: Anidamiento de
Estructuras de Control Iterativas
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo tabla_multiplicar_un_número
definir num, i, seguir como entero;
repetir
escribir "Introduzca un número entero: ";
leer num;
escribir "La tabla de multiplicar del ", num, " es: ";
para i<-1 hasta 10 con paso 1 hacer // Inicio del anidamiento
escribir "número " num " * " i, " = ", num*i;
fin para // Fin del anidamiento
escribir "¿Desea ver otra tabla? (marque 1 para si / 2 para no): ";
leer seguir;
hasta que seguir=1;
FinAlgoritmo
Ejemplo: Anidamiento de
Estructuras de Control
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo tabla_multiplicar_un_número
definir num, i, seguir como entero;
repetir
escribir "Introduzca un número entero: ";
leer num;
El ciclo repetir se
escribir "La tabla de multiplicar del ", num, " es: "; repetirá mientras
para i<-1 hasta 10 con paso 1 hacer // Inicio del anidamiento que la variable
seguir sea 1, por
escribir "número " num " * " i, " = ", num*i; tanto se repetirá la
fin para // Fin del anidamiento misma cantidad de
veces el ciclo para
escribir "¿Desea ver otra tabla? (marque 1 para si / 2 para no): ";
leer seguir; Ciclo para dentro del
hasta que seguir=1; ciclo repetir
FinAlgoritmo
Ejemplo: Anidamiento de
Estructuras de Control
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo tabla_multiplicar_un_número
Definición de variables (nombre y tipo de dato)
definir num, i, seguir como entero;
repetir Instrucción de salida, imprime en la salida estándar el texto
entre las comillas.
escribir "Introduzca un número entero: ";
Instrucción de entrada, guarda en la variable lo leído
leer num; de la entrada estándar .
escribir "La tabla de multiplicar del ", num, " es: ";
Aquí muestra el valor que tenga
para i<-1 hasta 10 con paso 1 hacer // Inicio del anidamiento guardado la variable
escribir "número " num " * " i, " = ", num*i;
Aquí se ejecuta la operación aritmética y se muestra el
fin para // Fin del anidamiento resultado
escribir "¿Desea ver otra tabla? (marque 1 para si / 2 para no): ";
leer seguir;
hasta que seguir=1;
FinAlgoritmo Condición que permite detener el ciclo
Ejemplo de un Pseudocódigo en PSeInt
Ejemplo: algoritmo que muestra la tabla de multiplicar de un número entero introducido por
teclado. Repetir hasta que se indique lo contrario.
Algoritmo Ejecución
Actividades
Investigar:
precedencia de los operadores.
Otros operadores aritméticos (diferentes a los vistos en este material)
Funciones matemáticas de PSeInt.
Escribir el algoritmo en pseudocódigo de los siguientes enunciados:
Leer y mostrar nombre, género, edad y estado civil, indicando si es mayor o menor de
edad.
Del anterior, mostrar el nombre (solo si es un hombre o mujer menor de edad o es un
hombre casado de cualquier edad) y un mensaje que diga “usted no se manda”.
Mostrar los número del 1 al 100.
Mostrar el promedio de un número desconocido de calificaciones de exámenes. Notas
válidas del 0 al 10,00.
Dados el dividendo y el divisor, mostrar el resto y el cociente calculados por medio de
restas sucesivas.
Un vendedor desea calcular su comisión total sobre la venta de varios artículos. Le
corresponde el 5% de comisión sobre artículos cuyo precio es menor de $25 y el 7.5%
de comisión sobre aquellos artículos cuyo precio es de $25 o más. Suponga que el
vendedor hizo n ventas.
Descargar la aplicación PSeInt y probar sus algoritmos.
Referencias