Fundamentos de programación
2. Introducción a los algoritmos
2.1. Diseño de Algoritmos
Elaborar un programa para resolver un problema no es una tarea sencilla, se requiere
seguir un orden lógico de pasos para llegar a la mejor solución. En la siguiente figura se
presenta de forma esquemática estas fases o pasos:
Figura 3. Proceso de diseño de programas
Como se puede observar en el esquema anterior, todo el proceso de diseño de programas
se divide en dos fases: la fase de resolución del problema y la fase de implementación.
Fase de resolución del problema: Esta fase da como resultado un algoritmo que
representa la solución al problema, mismo que será usado por la fase de implementación.
Se compone de 3 fases o etapas:
1. Definición y comprensión del problema (análisis): Esta fase requiere una
definición clara del problema, donde se contemple exactamente lo que debe
hacer el algoritmo o programa y el resultado deseado. Este tema se cubre con
más detalle en el apartado 2.1.1.
2. Diseño del algoritmo: Luego del análisis del problema, se diseña un algoritmo
que resuelva el problema. Todo este proceso de diseño será estudiado más
adelante en el apartado 2.1.4.
3. Prueba de escritorio: Una vez elaborado el algoritmo, se debe comprobar que
éste resuelva el problema de manera correcta, para lo cual se usa lo que se
Universidad Politécnica Salesiana
Página No. 19
Fundamentos de programación
denomina “prueba de escritorio”. En caso de existir errores, se debe regresar al
paso 2 para corregir los mismos y realizar nuevamente la prueba de escritorio
hasta que se compruebe que la solución esté correcta.
La prueba de escritorio es como un proceso de simulación de ejecución del
algoritmo ya que realiza la comprobación lógica del mismo y constituye una
herramienta útil para entender qué hace un determinado algoritmo o verificar que
este cumpla con la especificación dada.
Para desarrollarla, se requiere el siguiente procedimiento: con datos de prueba, se seguirá
cada uno de los pasos propuestos en el algoritmo de resolución; si la prueba genera los
resultados esperados, el algoritmo es correcto; en caso contrario, tendrá que ser corregido.
Fase de implementación: Está compuesta por 2 fases o etapas:
1. Codificación: Esta fase hace uso del algoritmo resultante de la fase de
resolución del problema y lo traduce al lenguaje de programación preferido para
dar solución al problema mediante el computador. En nuestro caso
comenzaremos esta fase en la unidad 2 en donde comenzaremos a escribir
programas.
2. Prueba o depuración: Luego de la codificación (escritura del programa) éste
debe ser ejecutado y probado con algunos datos de muestra para verificar que los
resultados devueltos por el programa sean correctos. Si se encontrasen errores,
éstos deben ser corregidos y probados hasta que el programa quede funcional de
acuerdo con las especificaciones dadas en la definición del problema.
2.1.1. Definición y comprensión del problema
El primer paso para resolver un problema mediante el computador es asegurarse que el
mismo esté especificado de manera completa y precisa, es decir, debe entenderse
perfectamente lo que pretendemos que haga el computador para poder continuar con el
análisis del problema.
Análisis del problema: La etapa de análisis es muy importante ya que en ésta se identifican
tres factores indispensables:
1. Qué datos se necesitan para obtener el resultado deseado (datos de entrada).
2. Qué información se desea producir (datos de salida).
Universidad Politécnica Salesiana
Página No. 20
Fundamentos de programación
3. Los métodos (funciones) y fórmulas que se necesitan para procesar los datos y
producir los resultados deseados.
Importante
Sin una definición y comprensión clara y precisa del problema nunca podrá obtener un programa
que devuelva los resultados deseados.
2.1.2. Concepto de algoritmo
Un algoritmo es un conjunto ordenado de pasos o instrucciones a seguir para resolver un
problema (Joyanes, 2008).
Si bien el término algoritmo es usado mayoritariamente en la informática, su uso no se
limita exclusivamente dentro de esa área, también lo utilizamos para resolver desde
problemas matemáticos y hasta actividades simples de la vida cotidiana.
Clasificación de algoritmos. Existen diferentes criterios para clasificar a los algoritmos,
sin embargo, para nuestro estudio clasificaremos a los algoritmos en computacionales e
informales (no computacionales).
• Algoritmos informales (No computacionales): Son aquellos que no se diseñan
para ser usados por una computadora, sino para ser ejecutados por seres
humanos. Todos los días ejecutamos algoritmos informales en las actividades
cotidianas que realizamos: al prepararnos para ir a clases, al vestirnos, al
preparar una receta de cocina, al regresar del trabajo a casa, entre otros.
Los manuales de usuario son ejemplos comunes de este tipo de algoritmos, ya que
muestran los pasos a seguir para usar un aparato o para instalar y poner en
funcionamiento un electrodoméstico.
• Algoritmos computacionales: Este tipo de algoritmos se desarrollan con el fin
de ser posteriormente convertidos (traducidos) a un lenguaje de programación y
ejecutados por una computadora; nuestro estudio se basa en este tipo de
algoritmos.
2.1.3. Características de los algoritmos
Todo algoritmo debe tener las siguientes cualidades o características:
1. Finito: Se refiere a que debe tener un número determinado de pasos y que en
algún momento debe terminar el proceso, es decir debe tener un punto de inicio
y uno de fin.
Universidad Politécnica Salesiana
Página No. 21
Fundamentos de programación
2. Definido: Esta característica significa que si se sigue más de una vez el
algoritmo, siempre se debe obtener el mismo resultado y,
3. Preciso: Es decir, debe especificar por completo y sin ambigüedades (varias
interpretaciones) los pasos a seguir.
2.1.4. Desarrollo de la solución (Diseño del algoritmo).
En la etapa de la definición y comprensión del problema se determina el que es lo que se
va a resolver, se identifican los datos de entrada, los procesos a realizar y cuáles son los
resultados a obtener.
En la etapa de desarrollo de la solución se determina el cómo realizar la tarea o problema
planteado. Generalmente la resolución de un problema complejo se lo realiza
dividiéndolo en subproblemas hasta que la solución pueda ser implementada por
computador. Este método de desarrollo se le conoce como diseño modular o
descendente (top-down en inglés).
El proceso que convierte los resultados del análisis del problema en un diseño que permita
una posterior traducción a un lenguaje se denomina diseño del algoritmo.
Recuerde
El diseño del algoritmo debe ser independiente del lenguaje de programación que se vaya a
usar para su posterior codificación.
Se recomienda revisar los siguientes 2 enlaces:
Desarrollo de la Lógica - Introducción a los Algoritmos
Técnicas de representación de algoritmos y Metodología para la solución de problemas.
Los siguientes enlaces presentan ejemplos de Definición (Análisis) del problema:
Análisis básico de Problemas en Programación
Identificar datos de entrada, salida y proceso.
2.1.5. Formas de representación de los algoritmos
La representación de un algoritmo debe ser totalmente independiente del lenguaje de
programación lo que permitirá que un algoritmo pueda ser codificado en cualquier
lenguaje de programación.
Universidad Politécnica Salesiana
Página No. 22
Fundamentos de programación
Los métodos más usados para la representación de algoritmos son:
• Diagramas de flujo
• Pseudocódigo
[Link]. DIAGRAMAS DE FLUJO.
Una de las técnicas más antiguas para la representación de algoritmos es el diagrama de
flujo. Esta forma de representación gráfica se basa en diversos símbolos que han sido
normalizados por el Instituto Nacional Estadounidense de Estándares (American National
Standards Institute cuyo acrónimo es ANSI).
La siguiente tabla presenta los símbolos más utilizados en la elaboración de diagramas de
flujo para representar algoritmos que resuelven problemas a través del computador
(Joyanes, 2008, p. 72).
Tabla 2. Símbolos de diagrama de flujo
Símbolo Función
Terminal: Sirve para representar el inicio y el final del algoritmo.
Entrada/Salida: Este símbolo es usado para representar tanto
entrada de datos como salida de resultados.
Proceso: Siempre que se requiera representar algún tipo de
operación se utiliza el rectángulo con la operación a realizar dentro
del mismo.
Decisión: Indica operaciones de comparación (lógicas) entre datos
NO y, dependiendo del resultado de la misma determina cuál de las
SI alternativas debe seguir; normalmente tiene dos salidas
(respuestas SÍ o NO).
Decisión múltiple: Dependiendo del resultado de la comparación
se sigue el camino que cumple la condición.
Conector: Sirve para enlazar 2 partes de un diagrama a través de
un conector a la salida y otro conector a la entrada. Se usa para
realizar la conexión en la misma página del diagrama.
Conector: Sirve para enlazar 2 partes de un diagrama que se
encuentran en diferentes páginas.
Línea de flujo o indicador de dirección: Con este símbolo se
indica el sentido de ejecución de las instrucciones.
Universidad Politécnica Salesiana
Página No. 23
Fundamentos de programación
Llamada a subrutina (subprograma): Dentro del rectángulo se
debe colocar el nombre de la subrutina a ser llamada.
Teclado: Representa entrada de datos por teclado. Es una
alternativa al símbolo de Entrada/Salida.
Pantalla: Representa salida de información por pantalla. Es una
alternativa al símbolo de Entrada/Salida.
Impresora: Representa salida de información por impresora. Es
una alternativa al símbolo de Entrada/Salida.
Reglas para construir diagramas de flujo:
• Como todo algoritmo debe tener un inicio y un fin.
• Se escriben de arriba hacia abajo, y/o de izquierda a derecha.
• Los símbolos se unen con líneas, las cuales tienen una flecha en la punta que
indican la secuencia a seguir; se deben utilizar únicamente líneas de flujo
horizontales o verticales (nunca diagonales).
• Nunca deben quedar líneas de flujo sin conectar.
• No puede llegar más de una línea a un símbolo.
• Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de
salida.
Para crear diagramas de flujo existen herramientas como ClickCharts que puede
descargarse de manera gratuita o, si prefiere puede usar una herramienta en línea como
drawio.
[Link]. PSEUDOCÓDIGO.
Otra de las formas comunes de representar algoritmos es mediante el pseudocódigo.
El pseudocódigo es un lenguaje para la especificación de algoritmos con una sintaxis para
las estructuras de control similar a la expresada en un lenguaje de programación. Traducir
un algoritmo escrito en pseudocódigo a un lenguaje de programación resulta más sencillo
que hacer la traducción desde un algoritmo expresado en lenguaje natural o flujograma.
Cuando se usa el pseudocódigo como lenguaje de especificación de un algoritmo, el
programador puede concentrarse en la lógica y en las estructuras de control, sin
preocuparse por la sintaxis y reglas del lenguaje de programación.
Universidad Politécnica Salesiana
Página No. 24
Fundamentos de programación
El objetivo principal del pseudocódigo es representar la solución a un problema de la
forma más detallada posible, y a su vez que sea fácil de implementar en un lenguaje de
programación.
Características del pseudocódigo
➢ Utiliza las convenciones estructurales de un lenguaje de programación normal,
pero está diseñado para que pueda ser leído por un ser humano y no por
máquinas.
➢ Es independiente del lenguaje de programación que se vaya a utilizar.
➢ Se centra en el algoritmo y no en características específicas del lenguaje.
➢ Es una forma de representación sencilla de utilizar y de manipular.
Se recomienda revisar el video ¿Qué son los algoritmos?
Universidad Politécnica Salesiana
Página No. 25
Fundamentos de programación
3. Diseño de algoritmos: Parte 1
3.1. Estructura de un algoritmo en Pseudocódigo
Todo algoritmo en pseudocódigo tiene la siguiente estructura general:
Cabecera del algoritmo
Sección declaración
Cuerpo del algoritmo (Sección acciones)
a) Cabecera del algoritmo: Siempre comienza con la palabra reservada Algoritmo (o
alternativamente Proceso) seguido del nombre del algoritmo.
b) Sección declaración: En esta sección se describen o declaran todas las constantes y
variables que se usarán dentro del algoritmo.
c) Cuerpo del algoritmo (Sección acciones): En esta sección se escriben todas las
instrucciones necesarias para la resolución del algoritmo. Siempre comienza con la
palabra reservada inicio y termina con la palabra reservada fin.
3.1.1. Instrucciones y tipos de instrucciones.
El proceso de diseño del algoritmo o posteriormente de codificación del programa
consiste en definir las acciones (denominadas también instrucciones) que resolverán el
problema.
Las acciones se deben escribir en el orden en que deben ejecutarse, es decir, en secuencia
de ejecución.
Un algoritmo o programa puede ser lineal o no lineal. Un algoritmo es lineal si las
acciones o instrucciones se ejecutan de forma secuencial, es decir, sin bifurcaciones,
decisiones ni comparaciones.
Un algoritmo es no lineal cuando se interrumpe la secuencia mediante instrucciones de
bifurcación como se muestra en la siguiente representación:
Universidad Politécnica Salesiana
Página No. 26
Fundamentos de programación
acción 1
acción 2
acción m
acción n
acción x
3.1.2. Elementos básicos de un algoritmo.
Los elementos básicos constitutivos de un programa o algoritmo en pseudocódigo son:
➢ Palabras reservadas: Son palabras que no pueden ser usadas como nombres de
identificadores dentro del algoritmo ya que tienen un significado especial dentro
del algoritmo. Ejemplo: inicio, fin, si-entonces..., etc.
➢ Identificadores: Son palabras que se utilizan para identificar variables,
procedimientos, funciones, programas, etc.
➢ caracteres especiales (coma, apóstrofo, etc.),
➢ constantes,
➢ variables,
➢ expresiones,
➢ instrucciones.
Todos los elementos enumerados serán desarrollados en el transcurso de esta sesión.
3.1.3. Tipos de datos.
Un dato es la expresión general que describe los objetos con los cuales opera una
computadora. Los algoritmos y los programas trabajan sobre esos tipos de datos.
En el proceso de resolución de problemas por computador el diseño de la estructura de
datos es tan importante como el diseño del algoritmo y del programa que se basa en el
mismo.
Universidad Politécnica Salesiana
Página No. 27
Fundamentos de programación
Si bien los lenguajes de programación tienen variantes de tipos de datos, dentro de los
algoritmos podemos tener los siguientes tipos de datos básicos:
i. Datos Numéricos: Es el conjunto de todos los valores numéricos y se subdivide
en:
Tabla 3. Tipos de datos numéricos
Subtipo Descripción Ejemplos
Números que no tienen fracciones o -15, -346, 1, 18, 2987
Entero
decimales y pueden ser positivos o
(integer)
negativos
Son aquellos números que siempre 0.08 3.7452 3.2
tienen decimales y pueden ser positivos -52.321 –8.12 -
Real (real)
o negativos. Un número real consta de 0.54
una parte entera y una parte decimal.
ii. Datos lógicos (booleanos): Sólo puede tomar 1 de 2 valores: verdadero (true) o
falso (false).
iii. Datos tipo carácter y tipo cadena: Un dato tipo caracter como su nombre lo
dice, contiene un solo símbolo. La mayoría de los computadores reconoce los
valores equivalentes del código ASCII (American Standard Code for
International Interchange), es decir, los siguientes caracteres alfabéticos y
numéricos:
✓ caracteres alfabéticos (A, B, C, ..., Z) (a, b, c, ..., z),
✓ caracteres numéricos (1, 2, ..., 9, 0),
✓ caracteres especiales (+, -, *, /, ^, ., ;, <, >, $).
Un dato tipo cadena (string) de caracteres es un grupo de caracteres que se
encuentran delimitados por comillas dobles, Ejemplo: “Hola”, “1 de enero de
2023”.
Para una explicación más detallada acceda al enlace Tipos de datos
3.1.4. Constantes y variables.
Para que una computadora pueda hacer cálculos debe tener almacenados en la memoria
principal los valores con los cuales a de trabajar; por lo tanto, se necesita un espacio de
Universidad Politécnica Salesiana
Página No. 28
Fundamentos de programación
memoria (denominado campo) para guardar esos valores en forma temporal. Los campos
pueden ser de dos clases:
Constantes: Una constante es un dato que permanece sin cambios durante todo el
desarrollo del algoritmo o durante la ejecución del programa.
Una constante puede ser de cualquiera de los tipos vistos anteriormente, es decir:
numérico: -8, -0.017, 3.141592, 154;
caracter: ‘V’, ‘4’, ‘+’
cadena de caracteres: “Juan Perez”.
lógico (boolean): Sólo existen 2 contantes lógicas: verdadero (true) o falso (false).
Variables: En programación, una variable es un espacio de memoria reservado para
almacenar información que puede cambiar durante el desarrollo del algoritmo o ejecución
del programa.
Las variables pueden ser de cualquiera de los tipos de datos estudiados en el punto
anterior. Una variable declarada con un determinado tipo puede tomar únicamente valores
de ese tipo. Por ejemplo una variable entera solo puede contener valores de tipo entero;
si se intenta asignar un valor de un tipo a una variable de otro tipo se producirá un error
de tipo.
Una variable está formada por los siguientes elementos: nombre que lo identifica y tipo
de dato.
Los nombres de las variables, también conocidos como identificadores, están formados
por 1 o más caracteres alfanuméricos, de los cuales el primero normalmente es una letra.
Existen varias consideraciones que debemos tener en cuenta al momento de trabajar con
variables:
➢ Los nombres de variables deben ser únicos dentro del algoritmo o
programa.
➢ Una variable sólo puede almacenar un único valor a la vez.
➢ Una variable no puede almacenar tipos de información distintos. Sólo un
tipo: numérico, carácter o lógica.
Universidad Politécnica Salesiana
Página No. 29
Fundamentos de programación
➢ Los números son diferentes como tales y como caracteres (1 diferente de
‘1’).
➢ Se recomienda que los nombres dados a las variables sean significativos
(mnemotécnicos), es decir, que sugieran lo que ellas representan, ya que
esto hace que el algoritmo, y por ende el programa, sea más legible y
fácil de comprender.
Declaración de constantes y variables. Normalmente las variables y las constantes con
nombre deben ser declaradas en los algoritmos antes de ser utilizadas. La sintaxis de la
declaración de una variable suele ser:
<tipo_de_dato> <nombre_variable> [=<expresión>]
Ejemplo:
Sintaxis de la Explicación
declaración
Declara las variables letra y abreviatura como variables de
car letra, abreviatura
tipo carácter (car)
Declara la variable numAlumnos como variable de tipo
ent numAlumnos = 25
entero (ent) y le asigna el valor inicial 25.
Declara la variable salario de tipo real (real) y le asigna el
real salario = 23.00
valor inicial 23.00
La sintaxis para declarar una constante es:
const <tipo_de_dato> <nombre_constante> = <expresión>
Donde const es la palabra reservada para indicar que se trata de una constante, a
continuación se especifica el tipo de dato, el nombre de la constante el signo = y el valor
que tomará la constante.
Ejemplo:
const real PI = 3.141592
const car letra = 'c'
Para más detalles acceda a los enlaces variables y constantes y cómo declarar variables y
constantes.
3.1.5. Expresiones.
Universidad Politécnica Salesiana
Página No. 30
Fundamentos de programación
Las expresiones son combinaciones de constantes, variables, símbolos de operación,
paréntesis y nombres de funciones especiales. Existen diferentes tipos de expresiones:
Expresiones aritméticas. Son similares a las fórmulas matemáticas. Las variables y
constantes son numéricas (real o entera) y las operaciones son las aritméticas.
+ suma
- resta
* multiplicación
/ división
↑, **, ^ exponenciación
div, \ división entera
mod, % módulo (residuo)
Expresiones lógicas. Una expresión lógica es aquella que sólo puede tomar dos valores:
verdadero y falso. Se denominan también expresiones booleanas en honor al matemático
británico George Boole, quien desarrolló el Álgebra lógica de Boole.
Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y
otras expresiones lógicas, utilizando los operadores lógicos not, and y or y los operadores
relacionales (de relación o comparación) =, <, >, <=, >=, <>.
El formato general para las comparaciones es:
expresión1 operador relacional expresión2
y, el resultado de la operación será verdadero o falso. Así, por ejemplo, si A = 6 y B = 4,
entonces la expresión A > B es verdadero
mientras que (A – 2) < (B – 4) es falso.
Una expresión es una combinación de operandos y operadores.
➢ Los operandos pueden ser constantes, variables u otras expresiones
➢ Los operadores pueden ser aritméticos, de cadena, relacionales o
lógicos
Universidad Politécnica Salesiana
Página No. 31
Fundamentos de programación
Se recomienda revisar el tema “3.7.3 Expresiones lógicas” del libro de Joyanes (2008,
pp. 99-102).
3.1.6. Funciones internas.
Además de las operaciones aritméticas ya tratadas, existen otras operaciones que se
pueden realizar denominadas funciones internas, incorporadas o estándar. A continuación
se presentan las funciones internas más usadas (Joyanes, 2008, p. 102):
Tabla 4. Funciones internas de pseudocódigo
Tipo de
Función Descripción Resultado
argumento
igual que
abs(x) valor absoluto de x entero o real
argumento
arctan(x) arco tangente de x entero o real real
cos(x) coseno de x entero o real real
exp(x) exponencial de x entero o real real
logaritmo neperiano
ln(x) entero o real real
de x
logaritmo decimal de
log10(x) entero o real real
x
redondeo(x)
En inglés redondeo de x real entero
(round(x))
seno(x)
seno de x entero o real real
En inglés (sin(x))
cuadrado(x) igual que
cuadrado de x entero o real
En inglés (sqr(x)) argumento
raiz2(x)
En inglés raíz cuadrada de x entero o real real
(sqrt(x))
trunc(x) truncamiento de x real entero
3.1.7. Operaciones de asignación.
Universidad Politécnica Salesiana
Página No. 32
Fundamentos de programación
La operación de asignación sirve para almacenar valores en una variable. Existen varias
formas de representar esta operación:
• con el símbolo ←
• con la combinación de los signos <-
• Con el signo =
La operación de asignación: Sueldo ← 500
Significa que a la variable Sueldo se le ha asignado el valor 500.
Importante: El operador de asignación es destructivo, es decir que cada vez que se
asigne un nuevo valor a una variable, se pierde el valor anterior.
Así, en la secuencia de operaciones
X ← 10
X ← 28
X ← 53
cuando éstas se ejecutan, el último valor que toma X será 53 (los valores 10 y 28 se
pierden).
3.1.8. Entrada y salida de información.
Entrada de Información: Las operaciones de entrada permiten leer valores y asignarlos
a variables. Esta entrada se conoce como operación de lectura (read). Los datos de entrada
se introducen al procesador mediante los dispositivos de entrada como teclado, lectores
de código de barras, etc.
Sintaxis (Formato):
leer (lista de variables de entrada)
Por ejemplo la siguiente instrucción representa la lectura de dos valores que se asignan a
las variables Base y Altura.
leer (Base, Altura)
Salida de Información: La salida es representada a través de un dispositivo de salida
como pantalla o impresora. La operación de salida se denomina escritura (write).
Universidad Politécnica Salesiana
Página No. 33
Fundamentos de programación
Sintaxis (Formato):
escribir (lista de variables de salida)
escribir (“Texto de salida”)
Por ejemplo la siguiente instrucción mostrará en el dispositivo de salida el texto Hola
mundo.
escribir (“Hola mundo”)
Universidad Politécnica Salesiana
Página No. 34
Fundamentos de programación
4. Diseño de algoritmos: parte 2
4.1. Flujo de control de un programa
El término flujo de control, denominado también control del flujo, se refiere al orden en
que se ejecutan las instrucciones del programa o algoritmo. El flujo de ejecución normal
de todos los algoritmos o programas es el secuencial, salvo que de manera expresa se
especifique un flujo diferente (Joyanes, 2008, p. 128).
En la programación estructurada existen tres tipos fundamentales de estructuras de
control: Secuencial, Selectiva y Repetitiva.
4.1.1. Estructura secuencial.
En este tipo de estructura las instrucciones se ejecutan siguiendo el orden en el que
aparecen a modo de secuencia lineal. No permite que se bifurque (transfiera) el control
de ejecución del algoritmo ni que se repitan la ejecución de una o más instrucciones.
Sirve para representar instrucciones de asignación, entrada y salida de datos. Su
representación en pseudocódigo y diagrama de flujo es la siguiente:
Pseudocódigo Diagrama de flujo
inicio
acción 1
<acción 1>
<acción 2> acción 2
. acción 3
<acción n>
fin
4.1.2. Ejemplos de estructura secuencial.
Recomiendo acceder al video Análisis, Construcción y prueba de escritorio en donde el
autor presenta un ejemplo con las 3 etapas que corresponden a la Fase de resolución de
problemas. Y, en el enlace Pruebas de escritorio explica cómo crear una prueba de
escritorio a partir de Pseudocódigo.
Universidad Politécnica Salesiana
Página No. 35
Fundamentos de programación
A continuación se presenta un ejemplo comentado con el análisis del problema, el diseño
del algoritmo y su correspondiente prueba de escritorio.
Enunciado (Definición del problema): Elaborar un algoritmo para calcular el área y
perímetro de un rectángulo.
1. Análisis del problema:
• Datos de Entrada: Para calcular el área y el perímetro de un rectángulo se
requiere como datos de entrada la base y la altura (variables base y altura).
• Proceso:
- La expresión para el cálculo del área es area = base * altura.
- La expresión para el cálculo del perímetro es perimetro = 2 * (base +
altura).
• Salida: Los resultados que debe producir el algoritmo son el área y el perímetro
del rectángulo.
2. Diseño del algoritmo.
Pseudocódigo:
1. Algoritmo AreaPerimetroRectángulo
2. Var
3. real base, altura, area, perimetro
4. Inicio
5. leer (base, altura)
6. area ← base * altura
7. perimetro ← 2* (base + altura)
8. escribir “El área del rectángulo es: “, area
9. escribir “El perímetro del rectángulo es: “, perimetro
10. Fin
Como se puede apreciar, este algoritmo contiene las siguientes secciones:
La línea 1 corresponde al encabezado del algoritmo: comienza con la palabra reservada
algoritmo seguido de un nombre descriptivo para el mismo.
Las líneas 2 y 3 representan la sección de declaraciones. Recuerde que todas las variables
que usemos dentro del algoritmo deben estar declaradas, para el ejemplo hemos declarado
4 variables, todas de tipo real ya que tanto la base como la altura pueden contener
decimales y, por lo tanto el área y el perímetro, al ser valores calculados en función de
esos datos deben ser también de tipo real.
Universidad Politécnica Salesiana
Página No. 36