Está en la página 1de 25

COMPENDIO DE CONTENIDOS

ALGORITMOS Y DIAGRAMA DE FLUJOS


4 créditos

Profesor Autor:
Ing. Freddy Fabricio Malla García Mg.

UNIDAD 2

PERÍODO ACADÉMICO
Junio-Agosto/2021

Importante: El presente compendio incorpora contenidos sintetizados sobre los ejes


temáticos correspondientes a la Unidad No. 2. Este documento servirá como referente
conceptual y teórico para las evaluaciones parciales y final de esta materia.
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Índice+
TABLA DE CONTENIDO

Unidad 2: Pseudocódigos ......................................................................................................................... 2


Resultado de aprendizaje de la asignatura ............................................................................................ 2
2.1. Preámbulo del pseudocódigo aplicado a los algoritmos naturales. ............................................. 2
2.2. Variables .............................................................................................................................................. 4
2.3. Reglas para crear nombres de variables ........................................................................................ 5
2.4. Operadores de comparación y lógicos ............................................................................................ 7
2.4.1. Operadores de comparación ......................................................................................................... 7
2.4.2. Operadores lógicos ......................................................................................................................... 9
2.5. Aplicación de condiciones simples utilizando pseudocódigo ..................................................... 11
2.6. Uso de condiciones múltiples utilizando pseudocódigo .............................................................. 14
2.7. Aplicación de condiciones de caso utilizando pseudocódigo .................................................... 17
2.8. Definiciones generales de control y evaluación de resultados .................................................. 21
2.8.1. Aplicación de contadores y acumuladores como técnicas de control .................................... 22
2.8.2. Pruebas de funcionamiento o pruebas de escritorio ................................................................ 23
Bibliografía ................................................................................................................................................ 24

1
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Unidad 2: Pseudocódigos

Resultado de aprendizaje de la unidad: Desarrollar habilidades de redacción


simplificada; conocer y aplicar reglas de formato; entender la estandarización de las
instrucciones como elementos universales de comprensión, así como aplicar en los
algoritmos, las variables como elementos representativos de valores y datos.

Resultado de aprendizaje de la asignatura

Conocer, entender y aplicar las destrezas necesarias para crear y actualizar los
programas de diferentes aplicabilidades utilizados por la computadora, los conocimientos
técnicos básicos que un programador necesita para aplicar soluciones a cualquier tipo de
programa.

Pseudocódigos
El uso de pseudocódigos consiste en una técnica que exige de los algoritmos, reglas muy
similares a los utilizados por los lenguajes de programación, por ejemplo identifica de
forma clara las instrucciones únicas y con acciones precisas, aplica límites a las
instrucciones y a los controles de proceso en general, utiliza variables que representan
datos de forma específica y pueden ser utilizados para reemplazar resultados en los
diferentes procesos, aplica simbología especial para desarrollar cálculos, comparaciones
y operaciones lógicas para grupos de comparaciones; en sí un algoritmo a partir de este
capítulo solo tendrá instrucciones definidas en palabras únicas que denotan una acción
precisa, variables que representan valores y datos, simbología especial para realizar
cálculos, comparaciones y operaciones lógicas, en sí cualquier otro texto escrito en el
algoritmo debe encerrarse entre comillas como mensajes, ya que estos textos pueden ser
confundidos como nombres de variables o instrucciones pseudocodificadas.

2.1. Preámbulo del pseudocódigo aplicado a los algoritmos naturales.

Cuando se presentan problemas que tienen mayor dificultad, notará que los algoritmos
escritos de forma natural, se vuelven más extensos y difíciles de entender, esto es un
problema que se necesita superar, ya que existe la necesidad de proponer soluciones,
que representen una secuencia de instrucciones fáciles de seguir y de entender;

2
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

considere que al momento de redactar soluciones con instrucciones más extensas, se


puede presentar la posibilidad de no ser fácil de entender, esto se hace evidente al
momento de expresar una idea que proponga una solución, además al utilizar una
determinada terminología propia de su entorno, no sea la misma que domine el lector que
desea aplicar dicha solución; así la exposición de ideas que denoten una solución
comprensible para todos, sería muy complicado entenderla y aplicarla descrita de forma
natural, recuerde que este tipo de redacción no se puede dar por la diversidad de
pensamientos que existe entre las diferentes personas, es decir lo que está claro para una
persona que propone una solución, para otra persona que desea aplicarla no lo estará.

Ante esta dificultad, los promotores del pensamiento ordenado y aplicado al desarrollo de
la programación, proponen pautas y acuerdos que permitan estandarizar la redacción de
instrucciones mediante el uso de reglas y palabras únicas denominadas, instrucciones
pseudocodificadas; estas reglas permiten expresar una acción sin la necesidad de
redactar la idea o la acción de forma natural, pseudocódigo es una palabra compuesta,
que está dividida en pseudo que significa supuesto o común para todos, y la palabra
código cuyo significado expresa normativas o aplicación de reglas; en sí las palabras
pseudocodificadas son palabras que suponen una acción entendida por todos y están
sometidas a reglas de redacción.

Como propuesta pedagógica de aprendizaje, los autores del libro(Gabriel et al., 2018)
proponen aplicar de forma parcial las reglas de redacción pseudocodificadas ya que su
estudio y entendimiento cubre una amplia variedad de instrucciones similar a un lenguaje
de programación; para aplicarlas de forma general se considerarán las siguientes:

 Identificar y utilizar palabras claves, que su aplicación identificaría una determinada


acción, por ejemplo: la palabra “Recibir”, identificaría la acción de solicitar datos que
se necesitará para realizar los diferentes procesos; para mostrar resultados de los
cálculos, mensajes, cualquier dato o información, se puede utilizar las palabras
“Mostrar o Escribir” como instrucción descriptiva de la acción.
 Los cálculos propuestos deben realizarse directamente utilizando valores constantes
y/o variables, sin la necesidad de redactarlos o explicarlos mediante la redacción
natural.

3
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

 Todas y cada una de las instrucciones que se detallan en la redacción del algoritmo,
deben terminar en punto y coma (;).
 Para separar los elementos de una misma instrucción, se puede hacer uso de la
coma (,); por ejemplo, se desea solicitar tres notas, la instrucción quedaría así:
“Recibir Nota1, Nota2, Nota3;”.
 Se puede aplicar palabras o grupos de palabras que ayudan a describir y controlar
determinados procesos, estas son únicas y no pueden ser utilizadas como nombres
de variables, por ejemplo: el uso coordinado de las palabras “Si, entonces, caso
contrario”, permitiría incluir en los algoritmos, las instrucciones necesarias para
realizar comparaciones y detallar las acciones convenientes para dividir procesos
condicionales; para aplicar controles a las secuencias repetitivas, se puede aplicar
instrucciones como: “Ir a”, “Repetir … hasta que”, “Mientras … hacer”, “Para …
hacer”, “Hacer … mientras”, cada uno de estos controles se explicarán uno a uno en
este capítulo.

Es importante entender que los algoritmos propuestos en este capítulo, no definen la


redacción formal utilizada por los lenguajes de programación, es decir no aplica
definiciones de encabezados, secciones, declaraciones de variables y/o usos de
comentarios, ya que esta propuesta bibliográfica pretende desarrollar de forma inicial, el
pensamiento y el orden secuencial de instrucciones en la redacción de algoritmos básicos
que definan las pautas esenciales en la creación de instrucciones para la interpretación
universal de las soluciones propuestas.

2.2. Variables

En su forma más básica, una variable es un nombre que representa un dato o valor, este
nombre es utilizado en el algoritmo como sinónimo de dicho valor, y podrá utilizar este
nombre, como si se tratara del mismo dato o valor, un ejemplo de nombres aplicados a
las variables podrían ser: al representar una nota (N, nota, n1, etc.), un valor que
representa una edad podría llamarse (e, ed, edad, etc.), también se puede aplicar el
nombre de una variable, al resultado de una operación aritmética, en este caso se le
puede llamar (a, area, salario, suma, resta, etc.), así, existen muchas posibilidades de
utilizar nombres representativos como variables, observe que el término variable tiene su
significado en que, el nombre utilizado para representar un dato, puede cambiar de valor

4
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

a conveniencia de los procesos que se realizan en un programa, para ilustrar la definición


de una variable, considere el ejemplo del primer algoritmo, que consistía en sumar dos
números, se podría indicar que el primer número tiene como nombre “A” o “numero1” o
“N1” o “Num1” o cualquier otro nombre, considerando que para el programador el nombre
utilizado representa dicho valor; en fin, se puede utilizar cualquier nombre para
representar cualquier valor o dato que se necesite para desarrollar un determinado
proceso o cálculo cualquiera.

2.3. Reglas para crear nombres de variables

Para crear variables y utilizarlas en los algoritmos se deben cumplir varios tipos de reglas,
estas se analizarán y emplearan conforme se profundice en el aprendizaje en el lenguaje
de programación, por ahora solo se exponen las reglas que deben aplicarse al momento
de crear el nombre de la variable, entre las básicas se tienen:

 En un programa no puede existir dos variables con el mismo nombre.


 Los nombres de variables no pueden contener como parte del nombre el espacio, es
decir el siguiente nombre estaría incorrecto “horas trabajadas”, ya que no se puede
considerar como parte del nombre de la variable el uso del espacio, lo correcto sería
“horas_trabajadas”.
 No está permitido que los nombres de variables empiecen con un número o un
símbolo o que incluya en cualquier parte del nombre símbolos no permitidos como
letras tildadas, uso de símbolos diferentes del guión bajo ( _ ), por ejemplo los
siguientes nombres estarían incorrectos: “1A”, “mes&dia”, “a-b”, etc., utilizando los
mismos ejemplos, lo correcto sería “A1”, “mesydia” y “a_b”.
 Es recomendable no utilizar nombres de variables extensos, ya que podrían generar
confusión y contrariedad al utilizarlos.

Antes de ejemplificar el uso de las variables, es necesario explicar qué es una asignación
de datos o asignación de valores; básicamente consiste en conocer que las variables
pueden intercambiar valores y/o datos, es decir pueden recibir valores tales como el
resultado de un cálculo, o el valor que desee asignar el programador como parte de la
solución al problema planteado, para lograrlo es necesario utilizar el signo igual (=) y
cumplir con la única regla de asignación:

5
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Destino = Origen;

Este formato explica, que la variable destino siempre se ubicará a la izquierda del igual
(=), y el contenido a pasar siempre se ubicará a la derecha del signo igual (=); así al tener
una variable llamada “Sueldo” y desear pasarle el valor de 340, lo correcto sería:
“Sueldo=340;”, observe que la instrucción de asignación termina con el punto y coma.

De igual forma el origen puede ser el resultado de un cálculo cualquiera, para ilustrar esta
definición asuma que la variable “Sueldo” tomará un valor que consiste en el resultado de
calcular 40 horas de trabajo con un pago de 8 dólares la hora, así tendríamos:
“Sueldo=40*8;”

Las asignaciones y las variables están íntimamente ligadas entre sí, esto se debe a que
los valores como los resultados de cálculos, entre otros, deben estar contenidas o
almacenadas en variables para su representación y la forma de transferir datos o valores
de un lugar a otro es mediante el uso de la asignación, para ejemplificar el uso de variables
y de las asignaciones, considere los tres siguientes algoritmos en donde, el primer ejemplo
muestra las instrucciones necesarias para sumar dos números cualquiera, el segundo
ejemplo calcula el promedio de tres notas y el tercer ejemplo calcula el área de un
rectángulo; como un detalle adicional considere que estos algoritmos ya se analizaron y
desarrollaron anteriormente como algoritmos naturales:

Algoritmo 14:
Secuencia lógica que calcula la suma de 2 números:
Iniciamos
1. Recibir N1 , N2;
2. Suma=N1 + N2;
3. Escribir Suma;
Finalizamos

Explicación: “N1” representa uno de los dos números, “N2” representa el segundo
número, “Suma” representa el valor que como resultado de la operación de la suma
contiene el resultado de sumar N1 y N2, considere que en el tercer paso se especifica el
resultado a entregar mediante la variable “Suma”.

6
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Algoritmo 15:
Secuencia lógica que calcula el promedio de 3 notas:
Iniciamos
1. Recibir Nota1, Nota2, Nota3;
2. Promedio=(Nota1+Nota2+Nota3) /3;
3. Escribir Promedio;
Finalizamos

Explicación: Las variables “Nota1, Nota2 y Nota3” representan las 3 notas involucradas
en el cálculo del promedio, la variable “Promedio” contendrá el resultado de esta operación
aritmética, y será utilizada para mostrar el resultado en el tercer paso.

Algoritmo 16:
Este algoritmo muestra como calcular el Área de un rectángulo.
Iniciamos
1. Recibir Base, Altura;
2. Area= Base * Altura;
3. Escribir Area;
Finalizamos

Explicación: Las variables “Base” y “Altura” representan los valores utilizados en la formula
(a=bxh) para calcular el área de un rectángulo, la variable “Area” contendrá el resultado
de esta operación aritmética, y será utilizada para mostrar el resultado en el tercer paso.

2.4. Operadores de comparación y lógicos

Estos operadores son utilizados para el control de condiciones, son símbolos que permiten
al programador realizar operaciones lógicas, es decir se utilizan para crear condiciones
cuyo resultado se manifiesta en cumplir una de dos posibles acciones (verdadero o falso),
por su naturaleza aplicativa se clasifican en operadores de comparación y operadores
lógicos; es importante destacar que en este grupo se incluyen los operadores aritméticos,
estos operadores descritos de forma natural ya se analizaron en los apartados anteriores.

2.4.1. Operadores de comparación

Estos símbolos son utilizados para expresar condiciones mediante la aplicación de


comparaciones definidas como preguntas, las preguntas o comparaciones se pueden

7
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

aplicar a diferentes tipos de datos como valores constantes o contenidos de variables, así
como también a resultados de un determinado cálculo, estos símbolos son los únicos
utilizados por el computador para plantear preguntas o condiciones en el desarrollo de
algoritmos y programas, considere la siguiente tabla que muestra los símbolos que se
utilizarán de aquí en adelante.

En apartados anteriores se ha tratado el uso de las comparaciones expresadas en forma


narrada, a partir de ahora las comparaciones aplicadas en el libro, utilizarán estos
símbolos para detallar las comparaciones en preguntas o condiciones con la finalidad de
afianzar el aprendizaje y el uso de los mismos; a continuación se detallan algunos
ejemplos de comparaciones con valores constantes y contenidos de variables, así como
el resultado que producirían los mismos al utilizarlos en un algoritmo; es importante
observar cómo se utilizan estos operadores de comparación y el resultado que arrojan:

8
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Como conocimiento general es importante reconocer que el uso de los operadores de


comparación provoca matemáticamente un cálculo binario (ceros y unos), que dará como
resultado el valor de 1 (uno) cuyo significado es verdadero o el valor de 0 (cero) que
significa falso.

2.4.2. Operadores lógicos

Estos operadores permiten unir varias comparaciones en una sola condición, en sí


devuelve una sola respuesta entre “falso o verdadero”, el uso de este operador se basa
en la aplicación lógica de cómo unir varias comparaciones en una sola condición, para
entender el propósito de cómo funciona la unión de comparaciones considere las
siguientes tablas de la verdad que orientan sobre el resultado que producen al utilizar los
operadores AND, OR y un inversor de respuesta NOT como operador lógico para obtener
solo un resultado entre varias comparaciones.

 Operador lógico AND


Este operador exige que todas las preguntas o comparaciones sean verdaderas para que
su respuesta sea verdadera, aplicando esta premisa a la vida real suponga que desea
cobrar un cheque, las dos condiciones básicas que le permitiría cobrar el cheque sería:
tener el cheque (y) tener la identificación del cobrador, si usted tiene el cheque y no su
identificación no podrá cobrarlo (en término lógico el resultado sería falso) ya que no
cumple con las dos condiciones básicas, bajo esta premisa se plantea la siguiente tabla
asumiendo que se tienen dos comparaciones:

Aritméticamente se podría decir que, el uso de un operador lógico AND es definido como
una multiplicación, para explicarlo con mayor detalle, considere que el resultado de la

9
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

comparación 1 es verdadero (es decir devolverá como respuesta el binario 1) y de la


comparación 2 es falso (es decir devolverá como respuesta el binario 0), al aplicar el
cálculo aritmético se tendría “1 x 0”, así el resultado será “0”, resultado lógico que significa
falso.

 Operador lógico OR
El uso y aplicación de este operador, exige que al menos una de las comparaciones sea
verdadera para que su respuesta sea verdadero, por ejemplo, suponga que una persona
presenta temperatura alta de fiebre, para estabilizar la temperatura corporal tendría dos
alternativas a la mano, bañarse (o) tratarla con medicamento, considere que cualquiera
de las dos opciones o aplicarlas ambas, le permitirá estabilizar la temperatura corporal,
bajo esta premisa lógica se plantea la siguiente tabla de la verdad asumiendo que se
tienen dos comparaciones:

Al observar el resultado de la tabla, notará que al menos una de las comparaciones debe
tener como resultado verdadero para que la respuesta lógica de las dos comparaciones
sea verdadera. Aritméticamente el uso de un operador lógico OR es definido como la
aplicación de una suma, por ejemplo, considere que el resultado de la comparación 1 es
verdadero (1) y de la comparación 2 es falso (0), matemáticamente se tendría el cálculo
“1+0” y por ende el resultado sería “1” que técnicamente significa verdadero.

 Operador lógico inversor NOT


Este operador lógico solo invierte el resultado de una condición, es decir, si como
respuesta a una comparación el resultado es verdadero, este operador lo convierte en
falso y viceversa, bajo esta premisa se plantea la siguiente tabla de la verdad:

10
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Para aplicar y entender cómo utilizar estos operadores se propone el desarrollo de los
siguientes ejercicios que incluyen expresiones lógicas, estos permitirán identificar los
resultados al usar los operadores descritos en este apartado, considere las siguientes
variables y sus respectivos valores asignados: W = 20 X = 17 Y = 25 Z = 10

Falso

2.5. Aplicación de condiciones simples utilizando pseudocódigo

Se considera una condición simple, cuando se incluye en un algoritmo una condición o


pregunta, al aplicar esta condición, se entiende que existirá solo una acción o acciones a
desarrollar entre dos alternativas posibles (verdadero o falso); estas alternativas se
producen como respuesta a una comparación y estará desarrollada como las acciones a
tomar en caso de ser verdadero o las acciones a tomar en caso de ser falso, recuerde que

11
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

para realizar una pregunta solo se puede utilizar los operadores de comparación como:
mayor que (>),menor que (<), mayor o igual que (>=), menor o igual que (<=), igual que
(=) y diferente que (<>). En caso de aplicar varias comparaciones en la misma condición
se debe utilizar los operadores lógicos como método de combinación y generar una
respuesta que satisfaga la necesidad de aplicar la condición al problema.

El formato de cómo aplicar condiciones simples es la siguiente:

Si Condición entonces Instrucciones_por_verdadero;


Caso contrario Instrucciones_por_falso;
Fin si

La palabra formato describe o ejemplifica la forma de cómo crear y aplicar la condición


simple en cualquier propuesta de solución que usted desee, observe que el formato de la
instrucción compuesta por “Si”, “Entonces” y “Caso contrario” utilizada para realizar una o
varias comparaciones, se cierra o finaliza con las palabras “Fin si”, el uso combinado de
estas instrucciones sirven para orientar que acciones se realizarán por verdadero o por
falso, recuerde que cada instrucción sin importar donde se ubica debe finalizar con el uso
del punto y coma, pero la condición finaliza con la instrucción “Fin si”, así la palabra
“Entonces” describe el inicio de las acciones que se realizarán en caso de que la respuesta
a la condición sea verdadera, y el uso de las palabras “Caso contrario” describe el inicio
de las acciones que se realizarán en caso de ser falsa la respuesta de la comparación.

Para ejemplificar el uso de condiciones simples, en este apartado se incluye ejemplos con
propuestas de solución algorítmica que aplican comparaciones como parte de las
instrucciones que solucionan un problema, por ejemplo, el siguiente algoritmo compara
dos números cualquiera y muestra como resultado, solo el número mayor:

Algoritmo 17:

Iniciamos
1. Recibir Num1, Num2;
2. Si Num1 > Num2 Entonces Escribir Num1; Caso contrario Escribir Num2;
Fin si
Finalizamos

Observe que en el segundo paso se considera a la condición como una sola instrucción
completa, ya que las instrucciones que se incluyen tanto por verdadero como por falso

12
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

pertenecen a la misma condición y por lo tanto dependiendo de la respuesta a la condición


solo aplicará una de ellas, tome en cuenta el siguiente análisis:

¿Qué datos entran a ser procesados?


El algoritmo solicita dos números cualquiera, uno es representado por la variable Num1 y
el otro es representado por la variable Num2.

¿Qué resultados muestra?


El algoritmo mostrará el mayor de los dos números.

¿Qué condiciones se presentan en el proceso?


Verifica si el valor de la primera variable Num1 es mayor que el valor de la segunda
variable Num2.

Es importante destacar que la aplicación de las instrucciones pseudocodificadas


disminuye la redacción y simplifica su comprensión, por la importancia que tiene el uso de
condiciones se vuelve a rescatar que la palabra “Entonces” para indicar las acciones que
se realizan en caso de que la condición sea verdadera y las palabras “Caso contrario”
describirá las acciones a tomar en caso de que el resultado de la pregunta sea falsa.

El siguiente ejemplo aplica un algoritmo que, teniendo un valor cualquiera, verifica si es


un número positivo o un número negativo, considere que un número es positivo, si su
valor es mayor que cero, a su vez es negativo, cuando su valor es menor que cero.

Algoritmo 18:
Iniciamos
1. Recibir N;
2. Si N >= 0 Entonces Escribir “Número Positivo”; Caso contrario Escribir “Número
Negativo”;
Fin si
Finalizamos

La aplicación de este ejemplo es muy parecido al ejercicio anterior, pero se diferencia en


que la manifestación del resultado es un mensaje y no el contenido de una variable, los
mensajes deben ser encerrados entre comillas, esto para evitar confusión con los
nombres de variables u otras instrucciones pseudocodificadas, considere las siguientes

13
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

interrogantes como un elemento complementario para identificar los elementos utilizados


para resolver el problema:

¿Qué datos entran a ser procesados?


El algoritmo solicita un número cualquiera y es contenido o representado por la variable
N.

¿Qué resultados muestra?


Mostrará un mensaje entre “Número Positivo” o “Número Negativo”.

¿Qué condiciones se presentan en el proceso?


Verifica si el valor de la variable N es mayor que 0, para mostrar el mensaje respectivo.

2.6. Uso de condiciones múltiples utilizando pseudocódigo

En algunos problemas se encontrará con la necesidad de utilizar múltiples condiciones


(más de una condición para resolver un problema), para formar cada condición usted
puede hacer uso de las comparaciones simples o agrupadas mediante operadores lógicos
separadas y de forma consecutiva (como respuesta a una condición), por ejemplo, se
plantea la necesidad de un algoritmo que suponga obtener una cantidad positiva menor a
10000, el algoritmo antes de finalizar debe mostrar el número de dígitos que posee dicha
cantidad.

Ejercicios como el planteado se lo puede resolver aplicando conocimientos matemáticos,


pero por ahora se plantea un análisis básico mediante condiciones múltiples. Considere
que:

 Los números de un dígito son los que comprende de 0 a 9.


 Las cantidades de dos dígitos son los que comprende desde 10 a 99.
 Las cantidades de tres dígitos son los que comprende desde 100 a 999.
 Las cantidades de cuatro dígitos son los que comprende desde 1000 a 9999.

Si aplicamos condiciones múltiples para resolver este problema, se tendría la siguiente


propuesta de solución:

14
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Cuando se realizan estos tipos de ejercicios, es recomendable pero no obligatorio utilizar


los espacios llamados sangrías, recuerde que las sangrías básicamente son espacios que
parten desde el borde izquierdo de la línea de escritura, hasta el inicio de la escritura de
la instrucción, esto visualmente ayuda a entender que dichas instrucciones pertenecen o
son parte de la instrucción superior de control.

Observe que la propuesta de solución utiliza como estrategia lógica, comparar la cantidad
obtenida desde las posibilidades de coincidencia mayores hasta las posibilidades de
coincidencia menores, este modelo de solución se puede aplicar a ejercicios de
características similares que se presentan posteriormente. Considere las siguientes
interrogantes:

¿Qué datos entran a ser procesados?

El algoritmo solicita una cantidad cualquiera contenida en la variable Cant.

¿Qué resultados muestra?

Mostrará el número de dígitos que tiene la cantidad.

¿Qué condiciones se presentan en el proceso?

Se presentan cuatro condiciones o preguntas, la primera condición verifica si la cantidad


es mayor que 9999, según el límite establecido en el problema, esto significa que la
cantidad tendría cinco dígitos, en caso contrario se aplica la segunda condición, que
verifica si la cantidad es mayor que 999, en cuyo caso la cantidad tendría cuatro dígitos,
caso contrario verifica si la cantidad es mayor que 99, en cuyo caso la cantidad tendría

15
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

tres dígitos, es importante entender que para que se verifique la segunda condición la
primera debe ser falsa; la cuarta condición se aplica si la tercera es falsa, esta verifica si
la cantidad es mayor que 9, si es verdadero mostrará que la cantidad tiene dos dígitos,
caso contrario por omisión mostrará que la cantidad tiene un dígito.

En el ejercicio anterior se muestra la forma básica de cómo aplicar pasos mediante


condiciones múltiples para encontrar el número de dígitos que posee una cantidad, note
que existen varias las condiciones planteadas, pero solo una de las condiciones dará
como respuesta verdadero y las otras posibilidades no se tomaran en cuenta; es decir al
evaluar la primera condición, si la respuesta es verdadera no se evaluará las otras
condiciones ya que pertenecen al caso contrario (falso) de la primera condición, esta
lógica es mecánica y se aplica así sucesivamente para las otras condiciones anidadas.

Para continuar analizando la aplicación de condiciones múltiples observe y analice el


siguiente ejemplo que aplica un menú para dar la opción de escoger el tipo de cálculo que
desea aplicar a dos números, el algoritmo debe pedir dos números cualquiera, con ellos
ofrece la posibilidad de realizar una de las siguientes operaciones: opción 1 suma, opción
2 resta, opción 3 multiplicación y opción 4 división; tome en cuenta que, aparte de los dos
números se necesitará recibir la opción de cálculo propuesto en el menú:

Observe que el nombre de la variable utilizado para contener el resultado de cada cálculo
es el mismo para todas las opciones, es importante que lo considere como una estrategia
de desarrollo algorítmica, ya que al final se utilizará dicho nombre para mostrar el

16
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

resultado sin importar la opción escogida, tome en cuenta las siguientes interrogantes
complementarias para analizar el ejercicio:

¿Qué datos entran a ser procesados?

El algoritmo inicialmente solicita dos cantidades cualquiera, después solicita escribir el


número que corresponde a la opción deseada para realizar el cálculo.

¿Qué resultados muestra?

Mostrará el resultado de uno de los cuatro posibles cálculos.

¿Qué condiciones se presentan en el proceso?

Presenta cuatro condiciones o preguntas, la primera condición verifica si el cálculo


deseado es la suma (Opción=1), por el caso contrario se aplica la segunda condición o
pregunta, verifica si el cálculo deseado es la resta (Opción=2), si no es así, el caso
contrario de esta pregunta es para aplicar la tercera condición, verifica si el cálculo
deseado es la multiplicación (Opción=3), al no ser verdadero, el caso contrario de esta
aplica la cuarta y última condición, verifica si el cálculo deseado es la división (Opción=4),
al no ser verdadero ninguna de las alternativas, aplica el último caso contrario y define el
resultado como cero.

2.7. Aplicación de condiciones de caso utilizando pseudocódigo

La aplicación de condiciones de caso, es una técnica empleada para realizar solo


comparaciones de igualdad con varios posibles casos, su estructura condicional está
desarrollada para realizar varias acciones por cada caso de coincidencia, esta técnica
emplea condiciones de igualdad al comparar el contenido de una variable con una lista de
opciones que se incluyen en cada caso, su aplicación entre otras posibilidades reduce y
facilita la escritura al reemplazar posibles estructuras de condición múltiple, la herramienta
empieza con la instrucción “Según” y finaliza con las palabras “Fin Según”, cada “Caso”
puede incorporar una opción de igualdad o una lista de opciones separados por comas (,)
para finalizar la lista de comparaciones seguido se escribe los dos puntos (:) y por último

17
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

se escriben las instrucciones que desee incluir en caso de existir coincidencia; es


importante recalcar que al coincidir con un caso, se realizarán las instrucciones escritas
después de los dos puntos no realizará las instrucciones de los otros casos, su formato
es el siguiente:

Según Dato_a_comparar hacer


Caso Lista_de_valores: Instrucciones;
Caso Lista_de_valores: Instrucciones;
………..
Caso Lista_de_valores :
[caso contrario] Instrucciones;
Fin según;

Observe que el formato de la herramienta de control posee un [Caso Contrario] encerrado


entre corchetes, el uso de los corchetes quiere decir que es opcional, en caso de utilizar
el caso contrario este se aplicará cuando ninguno de los elemento de la lista coincida con
el Dato_a_comparar, es decir se realizarán las acciones que incluye esta opción solo
cuando no hay coincidencia con los valores de todos los casos, nuevamente se recalca
que el uso de los corchetes es con la finalidad de recalcar que no es obligatoria su
utilización, por lo tanto si el programador lo desea lo puede incluir o no; el uso del caso
contrario dependerá de la necesidad de solución que el programador proponga.

Para ilustrar el uso de esta definición analice el siguiente ejemplo; se trata de aplicar una
propuesta de solución al problema del menú analizado con condiciones múltiples, el
algoritmo ofrece la posibilidad de realizar solo una de las siguientes operaciones utilizando
dos números cualquiera: opción 1 suma, opción 2 resta, opción 3 multiplicación y opción
4 división. El algoritmo utiliza condiciones de caso en vez de condiciones múltiples para
resolver el problema:

18
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

Observe que la instrucción de control “Según” es más simple de utilizar y a la vez de


visualizar y comprender, ya que ofrece varias comparaciones implícitas de igualdad al
buscar una coincidencia en cada caso, analice este algoritmo aplicando las siguientes
interrogantes:

¿Qué datos entran a ser procesados?

El algoritmo inicialmente solicita dos cantidades cualquiera, después solicita recibir el


número de la opción para resolver el cálculo deseado.

¿Qué resultados muestra?

Mostrará el resultado de una de las cuatro posibles operaciones aritméticas.

¿Qué condiciones se presentan en el proceso?

Presenta una sola condición implícita de igualdad y cuatro comparaciones que


dependerán del valor que contiene la variable Opción para realizar un determinado
proceso de entre cuatro posibilidades, el proceso consiste en comparar el valor de
“opción” con cada elemento de cada caso (chequeando si es igual), si el caso coincide
con uno realiza la operación aritmética y la variable Result tomará la suma de los dos
números; al no ser el primer caso, compara con el segundo caso, verifica si el valor es

19
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

dos, realizará la operación y la variable Result tomará la resta de los dos números, al no
ser el segundo caso, compara con el tercer caso, verifica si el valor es tres, después
realizará la operación y la variable Result tomará la multiplicación de los dos números, al
no ser el tercer caso, comparará el cuarto caso, verifica si el valor es cuatro, acción
seguida realizará la operación y la variable Result tomará la división de los dos números,
por último si ningún caso se cumple tomará el caso contrario y el valor de la variable Result
será cero.

El siguiente ejercicio utilizado para ejemplificar el uso de las condiciones de caso modifica
el algoritmo 22 que calcula el salario de un empleado que trabaja en una textilera,
recuerde que el sueldo del mismo dependerá de la categoría de responsabilidad asignada,
la idea de utilizar este ejercicio está basada en efectuar comparaciones entre las
condiciones de caso y su alternativa similar (condiciones múltiples utilizando
comparaciones de igualdad), la propuesta desarrollada tendría el siguiente resultado:

Observe que el uso de esta técnica permite simplificar las comparaciones de igualdad
entre un dato y múltiples alternativas coincidentes, analice las siguientes interrogantes
complementarias.

¿Qué datos entran a ser procesados?

El algoritmo solicita dos datos, uno representa la categoría y el otro representa las horas
trabajadas Horas_Trab.

20
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

¿Qué resultados muestra?

Mostrará el sueldo del empleado.

¿Qué condiciones se presentan en el proceso?

Presenta una condición general y cuatro comparaciones, la condición verifica el valor de


la categoría con cada caso; funciona verificando de la siguiente forma: si coincide la
comparación con el primer caso (Categoría=1), significa que el valor de la hora es de
$12.78 y lo multiplica por el valor de la variable Horas_Trab; si no se cumple, verifica el
segundo caso o comparación, chequea si la categoría es la segunda (Categoría=2), si
coincide, el valor de la hora es de $10.25 y lo multiplica por el valor de la variable
Horas_Trab, si no se cumple esta comparación, verifica si coincide con el tercer caso
(Categoría=3) lo que significa que el valor de la hora es de $8.78 y lo multiplica por el valor
de la variable Horas_Trab, si no es este el caso, verifica la siguiente comparación, si la
categoría es la cuarta (Categoría=4), significa que el valor de la hora es de $6.00 y lo
multiplica por el valor de la variable Horas_Trab, por el caso contrario asumirá que la
categoría es la quinta sin necesidad de verificar el caso, esto significa que el valor de la
hora es de $4.80 y lo multiplica por el valor de la variable Horas_Trab.

2.8. Definiciones generales de control y evaluación de resultados

La aplicación de instrucciones que necesitan ser repetidas y a la vez controladas en las


diferentes secuencias lógicas que se aplica en los algoritmos y programas en
general, requiere definitivamente de técnicas que ayuden de forma específica a
redactarlas e incluirlas de tal forma que se puedan utilizar en cualquier propuesta de
algoritmo que se lo requiera, las siguientes definiciones explican el uso del conteo que ya
se aplicó de forma general en ejercicios desarrollados anteriormente en la sección de los
algoritmos naturales; además se explica el uso de las pruebas de escritorio para entender
la lógica aplicada en los diferentes algoritmos para resolver un problema.

21
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

2.8.1. Aplicación de contadores y acumuladores como técnicas de


control

El uso de contadores es una técnica que permite incrementar/decrementar de forma


consecutiva el contenido de una variable, de tal forma que se puedan generar secuencias
constates; por ejemplo, suponga que se tiene las variables “turno, paso y tique”, imagine
que a estas variables se les asigna un valor inicial que servirá de base para el
incremento/decremento, al aplicar técnicas de conteo sus valores iniciales cambiarían de
tal forma que su valor base se incrementa/ decrementa, observe los siguiente incrementos
aplicados a las tres variables:

El paso número uno asigna un valor base a cada variable, al momento de aplicar el paso
número dos de cada ejemplo, sus contenidos variarán de la siguiente forma: el valor base
de la variable “turno” será de 2; el valor base de la variable “paso” será de 3 y el valor
base de la variable “tique” será de 5, ahora suponga que se vuelve a repetir las mismas
instrucciones del paso número 2, el contenido variará de la siguiente forma:

 “turno” que actualmente vale 2 al incrementarse en 1, el resultado se almacenará


en la misma variable quedando en 3.
 “paso” que actualmente vale 3 al incrementarse en 2, el resultado se almacenará
en la misma variable quedando en 5.
 “tique” que actualmente vale 5 al incrementarse en 5, el resultado se almacenará
en la misma variable quedando en 10.

Estas instrucciones al utilizarlas en procesos repetitivos, el contenido base de cada


variable se incrementará de forma sucesiva conforme se repitan permitiendo al
programador disponer de un dato para controlar el límite de repeticiones en cualquier
algoritmo; es importante recalcar que la secuencia de incremento/decremento también se
la aplica con la misma utilidad a las operaciones aritméticas como la sustracción,
multiplicación o división entendidos como cálculos técnicos para el incremento o
decremento del valor base de la variable, observe los siguientes ejemplos que sirven de
modelo para aplicar incrementos/decrementos:

22
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

En el ejemplo 1 se produce un decremento en uno, es decir al ser repetitivo este proceso


el valor base de la variable “turno” disminuirá de uno en uno, en el caso de la variable
“paso” el proceso consistiría duplicarse el valor base de la variable cada vez que se
repitiera, y por último el valor base de la variable “tique” decrementará o se reducirá a la
mitad cada vez que se repite la instrucción.

Como complemento estratégico de estas técnicas de control, se considera el término


acumulador, que técnicamente se aplica igual que un contador, la diferencia radica en la
cantidad utilizada en la operación de incremento, es decir un contador realiza los cálculos
con un valor fijo, que puede ser de uno en uno o de dos en dos o utilizando cualquier otro
número para el incremento/ decremeto pero de forma fija; el acumulador se incrementa
utilizando diferentes valores en cada repetición, el uso de acumuladores se lo evidenciará
con mayor detalle en los siguientes algoritmos que se utilizarán como ejemplos.

2.8.2. Pruebas de funcionamiento o pruebas de escritorio

Está claro que el uso de instrucciones pseudocodificadas al desarrollar algoritmos, ayuda


mucho en la comprensión y análisis de las diferentes secuencias lógicas utilizadas para
resolver un problema, pero a pesar de esto, existen soluciones con propuestas complejas
que necesitan de la experimentación o la prueba escrita (poner en práctica instrucción por
instrucción), esto con la finalidad de dar seguimiento a las instrucciones presentadas en
los diferentes algoritmos, es decir se necesita obedecer o aplicar las instrucciones
expuestas una por una, de forma que se pueda concluir si los resultados obtenidos son o
no los que resuelven el problema; para lograr esta práctica se utilizan datos reales o
ficticios en todas las variables que utiliza el algoritmo e ir cambiando los valores bases
conforme las instrucciones así lo disponga, la técnica recomienda crear una tabla, en la
cual las columnas serán los nombres de todas las variables utilizadas en el algoritmo, y
en las filas se escriben los valores base o contenidos que ellas toman conforme a la
secuencia aplicada paso a paso.

23
NIVELACIÓN DE CARRERA
PERÍODO 2021-S1
JUNIO - AGOSTO 2021

En los siguientes ejercicios el libro propone aplicar estos cuadros para verificar y describir
el funcionamiento o la prueba de escritorio de los algoritmos que presentan mayor
dificultad, así mismo en las actividades extras y de refuerzo se recomienda la utilización
de los mismos para facilitar su comprensión y análisis.

Bibliografía

Gabriel, D., Maricela, P., Rodolfo, G., Miguel, R., & Darwin, L. (2018). Desarrollo práctico
de la Programación (N. Pelegrín & F. Henry (eds.); Diana Zava). Ediciones UTM-
Universidad Técnica de Manabí.
https://www.utm.edu.ec/ediciones_utm/component/content/article/24-libros/709-
desarrollo-practico-de-la-programacion?Itemid=101
Rodríguez, J. S. (2003). Introducción a la programación. España: Club Universitario.

24

También podría gustarte