Pseudocódigo

Capítulo
2
Pseudocódigo
¦
Variables
¦
Palabras reservadas
¦
Constantes
¦
Operadores
¦
Funciones
¦
Estructura secuencial
¦
Estructura selectiva simple
¦
Variables especiales
¦
Estructura repetitiva
14
Capítulo 2 · Pseudocódigo
E
l pseudocódigo es una herramienta para estructurar o
diseñar aplicaciones para computadora, sin importar el SO o
lenguaje de programación a utilizar. Es decir que una
aplicación escrita en pseudocódigo puede servir de guía para
escribir una aplicación en Visual Basic, C++, Fortran, Turbo Pascal,
Delphi o cualquier otro lenguaje para Windows, o lo puedo
utilizar para Kilyx, Lazarus, u otro lenguaje en Ubuntu -SO de
software libre-.
A través de los pseudocódigos se escriben -en papel y lápiz- todas
las líneas que una aplicación debe realizar para cumplir con el
propósito del programa. Como estas instrucciones se escriben en
papel, su revisión, ejecución y modificación los realiza no una
computadora sino una persona. Para poder escribirlos y para que
sean entendidos por cualquier usuario, existen unas pocas reglas de
sintaxis.
El pseudocódigo es la gran “chuleta” que utilizaremos a la hora de
estar transcribiendo las instrucciones al lenguaje de programación
seleccionado, para que por fin pueda ser entendido y ejecutado
por una computadora.
Al momento de estar escribiendo las líneas del pseudocódigo, éstas
deben ser escritas siguiendo la secuencia que sigue la información
en un sistema de computación: ENTRADA, PROCESO y SALIDA. Es
decir que las primeras líneas corresponderán a la lectura de todas
las variables que sean dato, a continuación se escribirán las
instrucciones para realizar todos los cálculos que la aplicación debe
realizar y finalmente las últimas líneas deben ser las que muestren
los resultados.
Para ello se necesita conocer de variables, palabra reservadas,
distintos operadores, funciones y estructuras de proceso.
Guillermo Imery
Palabras reservadas
15
Variables
Son letras, palabras, o secuencia de palabras con números que se
utilizan para identificar los datos, respuestas o cualquier operación.
Estas no son sensibles a las mayúsculas, es decir que una variable se
puede escribir en mayúscula o minúscula y siempre será la misma,
así la variable SUMA será la misma que la variable Suma o suma.
Generalmente el nombre de las variables tiene relación con lo que
éstas almacenan. Si se va almacenar el resultado de un producto
puedo llamar a la variable Prod, si almacenará el volumen de una
esfera, la puedo llamar Vesf, etc.
Palabras reservadas
Las palabras reservadas son palabras en español que tienen una
función específica a la hora de estar escribiendo una aplicación en
pseudocódigo. A continuación se muestran las primeras palabras
reservadas:
Palabra
inicio
leer
escribir
Descripción
Ejemplo
inicio del programa. Inicio de un bloque de
instrucciones
lectura de una variable dato
escritura de una variable respuesta
fin
fin de un bloque de instrucciones
fin.
fin del programa
leer A
escribir Suma
Guillermo Imery
16
Capítulo 2 · Pseudocódigo
Constantes
Valores aritméticos de uso cotidiano en expresiones de ingeniería.
Constante
pi
Descripción
constante matemática
Valor
3.14159
Operadores
Los operadores son generalmente símbolos o caracteres que tienen
una función específica en el peseudocódigo. Hay diferentes tipos
de operadores: de asignación, agrupación, aritméticos, etc.
Operadores de asignación
Existe un sólo operador de este tipo, y es el que asigna el resultado
de una expresión algebraica -ubicada a la derecha del operador- a
una variable -que está a la izquierda del operador-.
Operador

Descripción
Ejemplo
asignar el resultado de una expresión a una
variable
A B + 3
Guillermo Imery
Operadores aritméticos
17
Operadores de agrupación
En álgebra hemos aprendido a utilizar tres signos de agrupación:
paréntesis, corchete y llave. Si necesitamos agrupar términos o
expresiones en pseudocódigo, el único operador de agrupación
permitido son los paréntesis.
Operador
()
Descripción
Agrupación de términos
Ejemplo
(a +b)
Operadores aritméticos
Para indicar la realización de operaciones aritméticas se tienen los
siguientes operadores.
Operador
Descripción
Ejemplo
+
suma
A +B
-
diferencia
A -B
*
producto
A *B
/
división real
A/B
div
cociente de división entera
A div B
mod
residuo de división entera
A mod B
Ejemplo,
Si A=7, B=3 y C=37, calcular:
a) A + B
b) b - c
c) A * b
d) A/B
e) raiz (a)
f) A div B g) a div c h) A mod B
i) C mod B
Guillermo Imery
18
Capítulo 2 · Pseudocódigo
a) A + B = 7 + 3 = 10
b) b - c = 3 - 37 = -34
c) A * b = 7 * 3 = 21
d) A/B = 7/3 = 2.3333
e) raiz (a) = raiz (7) = 2.64575
f) A div B = 7 div 3 = 2
g) a div c = 7 div 37 = 0
h) A mod B = 7 mod 3 = 1
i) C mod B = 37 mod 3 = 1
Operadores de relación
Son los símbolos que se utilizan en las expresiones matemáticas
para establecer la igualdad o desigualdad (inecuaciones) entre sus
variables. El resultado de expresiones con estos operadores es
booleano: verdadero o falso.
Operador
Descripción
Ejemplo
>
mayor que
A >B
<
menor que
A <B
=
igual que
A =B
>=
mayor o igual que
A >= B
<=
menor o igual que
A <= B
<>
diferente que
A <> B
Ejemplo
Si A tiene valor de 3.4 y B valor de -5, determinar el valor de las
siguientes expresiones:
a) A > B
b) B >= a
c) -2A < B
a) A > B
3.4 > -5
Guillermo Imery
el resultado es verdadero
Operadores lógicos
b) B >= a
c) -2A < B
-5 >= 3.4
-2 (3.4) < -5
19
el resultado es falso
el resultado es verdadero
Operadores lógicos
Los operadores lógicos producen resultados booleanos y sus
operandos también son valores lógicos: verdadero o falso.
Las expresiones conectadas con operadores lógicos se evalúan de
izquierda a derecha, hasta obtener un resultado booleano. Hay tres
operadores de este tipo, estos son:
Operador
Descripción
y
y lógico. conjunción
o
o lógico. disyunción
no
negación lógica
Para evaluar las expresiones lógicas, se tienen que utilizar las tablas
de la verdad a través de las cuales se obtiene el valor de una
proposición formada por dos componentes lógicos A y B.
La conjunción es un operador que
opera sobre dos valores de verdad (A
y B), típicamente los valores de verdad
de dos proposiciones, devolviendo el
valor de verdad verdadero cuando
ambas proposiciones son verdaderas,
y falso en cualquier otro caso
Guillermo Imery
Capítulo 2 · Pseudocódigo
20
La disyunción es un operador que
opera sobre dos valores de verdad (A y
B), típicamente los valores de verdad
de dos proposiciones, devolviendo el
valor de verdad verdadero cuando una
de las proposiciones es verdadera, o
cuando ambas lo son, y falso cuando
ambas son falsas.
La negación es un operador que opera sobre
un único valor de verdad (A), devolviendo el
valor contradictorio de la proposición
considerada.
Otros operadores
Hay operadores que se utilizan para mejorar la comprensión de las
líneas escritas, escribiendo para ello comentarios antes o después
de las instrucciones. Este operador no se procesa y no tienen efecto
alguno en los cálculos o respuestas de las aplicaciones. Se escriben
sólo para informar lo que se va a leer, calcular o responder en las las
líneas siguientes a ellos.
Para escribir un mensaje de texto, éste debe inscribirse entre
comillas simples.
Operador
Descripción
//
comentario. Línea no procesable
' '
inscribe mensaje de texto a escribir
Guillermo Imery
Ejemplo
// lectura de datos
' este es un mensaje de texto''
Funciones
21
Funciones
Estas son palabras que están relacionadas con una operación o
función matemática, trigonométrica, etc. Las más utilizadas se
muestran a continuación.
Función
Descripción
raiz (x)
raíz cuadrada de x
abs (x)
valor absoluto de x
ln (x)
exp (x)
logaritmo natural de x
constante de Euler (e=2.71828) elevada a la x
trunc (x)
parte entera de x
redon (x)
redondeo de x al entero más cercano
sen (x)
seno de x
cos (x)
coseno de x
tan (x)
tangente de x
asen (x)
arco seno de x
acos (x)
arco coseno de x
atan (x)
arco tancente de x
Estructura Secuencial
Una pregunta que puede surgir al escribir un pseudocódigo es cómo
saber el orden de ejecución de las líneas, ya que en un algoritmo el
orden viene dado por la numeración de las líneas, en los diagramas
de flujo el orden de ejecución viene dado por las líneas de conexión
entre las diferentes figuras del diagrama. En el pseudocódigo ni se
enumeran las líneas ni se utilizan flechas para indicar el siguiente
Guillermo Imery
22
Capítulo 2 · Pseudocódigo
paso, la ejecución de las instrucciones es SECUENCIAL.
La ejecución secuencial significa que las instrucciones se deben de
ejecutar una después de la otra, empezando en el inicio de la
aplicación y terminado en la última línea de ésta.
Como generalmente se escribe una instrucción en una línea física, la
siguiente línea a ejecutar será la de abajo, así hasta llegar a la última,
desde la cabecera hasta el fondo (top-down).
Todas las primeras aplicaciones seguirán esta estructura. Eso quiere
decir que la primera línea que se escribe en pseudocódigo es inicio
y la última fin. .
Ejemplo 1
Codifique una aplicación en pseudocódigo que lea tres números:
A, B y C. Y que calcule lo siguiente:
1) Suma de los números
2) Cuadrado del primero menos cubo del tercero
Solución
inicio
leer A
leer B
leer C
suma ← a + b + c
d ← a*a - c*c*c
escribir suma
escribir d
fin.
Guillermo Imery
Estructura secuencial
23
Ejemplo 2
Codifique una aplicación en pseudocódigo que lea tres números: A,
B y C. Y que calcule lo siguiente:
1) Suma de los números
2) Cuadrado del primero menos cubo del tercero
Nota: Utilice comentarios
Solución
// inicio de la aplicación
inicio
// lectura de los datos
leer A
leer B
leer C
// inicio de todos los cálculos
suma ← a + b + c
d ← a*a - c*c*c
// Las respuestas
escribir suma
escribir d
fin. //el fin del programa
Los comentarios no afectan la lectura, el cálculo o las respuestas sólo
sirve para documentar internamente su programa.
Guillermo Imery
24
Capítulo 2 · Pseudocódigo
Ejemplo 3
Codifique una aplicación en pseudocódigo que lea tres números:
A, B y C. Y que calcule lo siguiente:
1) Suma de los números
2) Cuadrado del primero menos cubo del tercero
Nota: Utilice comentarios y documente la salida
Solución
// inicio de la aplicación
inicio
// lectura de los datos
leer A
leer B
leer C
// inicio de todos los cálculos
suma ← a + b + c
d ← a*a - c*c*c
// Las respuestas
escribir ‘La suma de los números es = ’ , suma
escribir ‘Cuadrado de A menos cubo de C = ’ , d
fin. //el fin del programa
Ejemplo 4
Codifique una aplicación en pseudocódigo que lea el radio de una
esfera y el radio y altura de un cilindro. Y que calcule lo siguiente:
Guillermo Imery
Estructura secuencial
25
1) Volúmenes de todas las figuras
2) Sumar las superficies totales
3) Volumen promedio
Solución
// Leer variables dato
leer Resf
leer Rcil
leer Hcil
// 1) volumenes
Vesf ← 4/3*pi*resf*resf*resf
Vcil ← pi*rcil*rcil*hcil
// 2) Suma superficies totales
STesf ← 4*pi*resf*resf
STcil ← 2*pi*rcil*rcil + 2*pi*rcil*hcil
SST ← stesf + stcil
// 3) Volumen promedio
SVol ← Vcil + Vesf
Vprom ← svol/2
// Respuestas
escribir ‘Volumen esfera = ‘, Vesf
escribir ‘Volumen cilindro = ‘, Vcil
escribir ‘Suma superficies totales = ‘, SST
escribir ‘Volumen promedio = ‘, VPROM
fin.
Guillermo Imery
26
Capítulo 2 · Pseudocódigo
Estructura selectiva simple
Algunas veces los programas tienen que realizar unas instrucciones
dependiendo de las situaciones planteadas. Por ejemplo, si se va a
calcular la raíz cuadrada de un valor se tiene que tomar en cuenta
que el valor debe ser mayor o igual que cero, en caso contrario se
genera un error de cálculo. Para que no se genere ese error, las
aplicaciones deben tener la capacidad de no hacer ciertas
instrucciones en ciertas circunstancias y hacer otras. Para que se
pueda decidir qué hacer en ciertas situaciones se cuenta con la
estructura selectiva simple.
A través de esta estructura la computadora puede decidir qué hacer
en situaciones específicas, para ello tienen que preguntar acerca de
la situación analizada y en base a la respuesta -verdadera o falsa- el
realizará un grupo de instrucciones o ninguna instrucción.
Sintaxis
Para escribir en pseudocódigo una estructura simple, se tienen las
siguientes instrucciones generales
si condición lógica
entonces
inicio
instrucciones
fin
finsi
Guillermo Imery
Estructura selectiva simple
27
El inicio de una estructura selectiva simple es la palabra SI, seguida
de la condición lógica a través de la cual se evalúa el evento
analizado.
La condición lógica es la pregunta que se formula y puede ser una
función lógica, variable lógica o una inecuación. Lo más frecuente
es utilizar una inecuación para formular la pregunta.
La palabra ENTONCES indica el inicio de las instrucciones que se
deben de realizar si la condición lógica resultara verdadera. Las
instrucciones a realizar se debe de colocar en un bloque de
instrucciones, las cuales comienzan con un INICIO y terminan con
un FIN. A esta parte de la estructura se le conoce como rama
verdadera.
La palabra FINSI indica la finalización de la estructura selectiva
simple.
Estructura selectiva doble
En la estructura simple, el programa hace un grupo de instrucciones,
si la condición analizada resulta verdadera, en caso contrario no
hace instrucción alguna. Pero algunas veces los programas tienen
que realizar unas instrucciones si la condición es verdadera y si la
condición resulta falsa realiza otras instrucciones. Por ejemplo, si
quiero calcular la suma de A mas B cuando A sea mayor que B y
quiero calcular el producto de ambos, en caso contrario, entonces
tengo que utilizar una selectiva doble para indicar qué debe hacer
cuando la condición es verdad y qué hacer cuando sea falsa.
A través de esta estructura la computadora puede decidir qué hacer
en situaciones específicas, para ello tienen que preguntar acerca de
la situación analizada y en base a la respuesta -verdadera o falsa- el
Guillermo Imery
28
Capítulo 2 · Pseudocódigo
realizará un grupo de instrucciones u otro grupo de instrucciones.
Sintaxis
Para escribir en pseudocódigo una estructura simple, se tienen las
siguientes instrucciones
si condición lógica
entonces
inicio
instrucciones
fin
sino
inicio
instrucciones
fin
finsi
La palabra SINO indica el inicio de las instrucciones a realizar si la
condición resultase falsa. Igualmente, las instrucciones se inscriben
en un bloque. A esta parte se le conoce como rama falsa.
La palabra FINSI indica la finalización de la estructura selectiva
doble.
En una aplicación pueden haber más de una estructura selectiva y
en casos más complejos hasta una dentro de alguna de las ramas de
otra.
Guillermo Imery