Este documento presenta información sobre diagramas de flujo y pseudocódigo. Explica que los diagramas de flujo son representaciones gráficas de los pasos para resolver un problema algorítmico usando símbolos especiales. También describe estructuras condicionales, repetitivas y otros conceptos clave relacionados con diagramas de flujo y pseudocódigo.
1. Algorítmica y Programación I
Diagrama de Flujo
Y
Pseudocódigo
Profa. Naidaly Rincón
Mayo 2022
Universidad Politécnica
Territorial de Maracaibo
2. Contenido
1.- Diagrama de Flujo
2.- Pseudocódigo
3.- Ejercicios
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
3. Diagramas de Flujo
Son representaciones gráficas de los pasos necesarios que conllevan a
la solución algorítmica de un problema. Para diseñarlos se utilizan
símbolos que representan una acción dentro del procedimiento, que se
van uniendo con flechas, denominadas líneas de flujo, que indican la
secuencia en que se deben ejecutar.
Simbología a utilizar en los DF
Inicio / Fin Decisión
Entrada y Salida
general de datos
Dirección del flujo
de datos
Proceso
Conector en la
misma página
Salida a pantalla
Conector fuera de
página
Salida por impresora
(documento)
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
4. Diagramas de Flujo (DF)
Secuencia de Flujo Normal: Todo DF debe cumplir con lo siguiente
1. Un inicio
2. Una lectura o entrada de datos
3. Procesamiento de datos
4. Una salida de información
5. Un final
inicio
Proceso
Entrada de datos
fin
Salida de información
Como puede observarse todo
algoritmo debe cumplir con la
estructura básica de un sistema:
Entrada, Proceso y Salida
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
5. Estructura Condicional
La estructura si entonces permite que el flujo del diagrama siga un camino
específico si se cumple una condición o un conjunto de condiciones. Al
evaluar la condición la respuesta siempre será Verdadero o Falso,
pudiendo así tomar, en un principio, dos caminos diferentes.
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
Ejercicio. Realizar un diagrama de
flujo de un algoritmo que solicite un
número al usuario y determine si este
número es positivo, negativo o cero.
6. Estructura Condicional
Ejercicio:
inicio
N
fin
Realizar un diagrama de flujo de un
algoritmo que solicite un número al
usuario y determine si este número es
positivo, negativo o cero.
Análisis del Problema:
Entrada: 1 número
Para lo cual se requiere
1 variable N
Proceso: N == 0 es cero
N > 0 número es positivo
N < 0 número es
negativo
Salida: mostrar,
según sea el caso:
«Es cero»
«Número positivo»
«Número negativo»
Diseño del
Algoritmo
V
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
ʺIngrese un
númeroʺ
N==0
ʺNúmero
es ceroʺ
N>0
ʺNúmero
positivoʺ
ʺNúmero
negativoʺ
F
V
F
7. Estructura Condicional Múltiple
La estructura selectiva permite que el flujo del diagrama se bifurque por
varias ramas en el punto de la toma de decisión(es), esto en función del
valor que tome el selector, este tipo de estructura tiene 3 o más ramas
para la decisión.
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
condición
Acción 1 Acción 2 Acción 3
Otra acción
Caso A Caso B Caso C
Ejercicio. Realice un diagrama de flujo
que solicite dos números cualesquiera,
luego debe pedirse un número que
seleccionará alguna operación aritmética.
Si introduce 1 los números se deben
sumar, si introduce 2 los números se
deben restar, si es 3 los números se
multiplican y si introduce 4 los números se
dividen. Independientemente de la
selección, imprima el resultado.
8. Estructura Condicional Múltiple
Ejercicio:
Realice un diagrama de flujo que solicite dos números cualesquiera, luego debe
pedirse un número que seleccionará alguna operación aritmética. Si introduce 1 los
números se deben sumar, si introduce 2 los números se deben restar, si es 3 los
números se multiplican y si introduce 4 los números se dividen. Independientemente
de la selección, imprima el resultado
Análisis del Problema:
Entrada:
-2 números con los que se realizarán las operaciones, serán las variables X, Y
-1 número que permitirá seleccionar la operación a realizar según el enunciado,
será la variable op
Proceso: Si op == 1 entonces R=X + Y
Si op == 2 entonces R=X - Y
Si op == 3 entonces R=X * Y
Si op == 4 entonces R=X / Y
Salida: mostrar el resultado, en este caso lo que almacena la variable R
Diagrama de Flujo
Elaborado por Ing. Naidaly Rincón
9. Estructura Condicional Múltiple
inicio
X, Y
Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
ʺIngrese dos númerosʺ
ʺ1. Sumarʺ
ʺ2. Restarʺ
ʺ3. Multiplicarʺ
ʺ4. Dividirʺ
ʺSeleccione una opciónʺ
op
1 fin
ʺResultado:ʺ, R
op
R=X + Y R=X - Y R=X * Y
Caso 1 Caso 2 Caso 3
R=X / Y
Caso 4
1
Conector en
la misma
página
10. Estructuras Repetitivas o Iterativas
En la construcción de algoritmos para resolver un problema específico es muy común
encontrarse con la necesidad de repetir alguna operación para la realización de esa
tarea.
Todo ciclo debe terminar de ejecutarse luego de un número finito de iteraciones, por lo
que es necesario verificar la(s) condición(es) en cada iteración para determinar si se
debe continuar la ejecución o detenerse.
De esta forma todos los ciclos tienen estos tres elementos:
Condición Inicial: Es el punto de partida del ciclo, debe ser una condición verdadera
para que el ciclo pueda iniciar.
Condición Final: Establece el punto final del ciclo, una vez que se cumpla la
condición el ciclo deberá terminar.
Incremento/Decremento/Cambio: Es el cambio de las variables que controlan el
ciclo. El cambio puede ser un incremento, decremento o alguna otra condición.
Trabajaremos con las siguientes estructuras:
Estructura repetitiva para
Estructura repetitiva mientras
Estructura repetitiva hacer - mientras Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
11. Contador
Es una variable cuyo valor se incrementa o decrementa en una
cantidad constante, cada vez que se produce un determinado suceso,
acción o iteración. Los contadores se utilizan con la finalidad de contar y
deben ser inicializados antes del ciclo o proceso, e incrementados o
decrementados dentro del ciclo.
Acumulador
Es una variable que suma sobre sí misma un conjunto de valores, al
finalizar con el ciclo contendrá la sumatoria de todos los valores, que
cumplen una determinada condición.
contador = 0; // inicialización
contador = contador + 1; // Incremento en 1
acumulador = 0;
acumulador = acumulador + b;
Elaborado por Ing. Naidaly Rincón
Recordar…
12. Traza o corrida en frío
Llamada también ʺcorridaʺ o simplemente probar un
algoritmo en papel, significa razonar cómo lo haría
un computador, ejecutando cada uno de los pasos o
instrucciones, asignándole valores a las variables,
registrar el comportamiento de los valores y
comprobar que cumple con el proceso al cual se
someten los datos según el objetivo del algoritmo.
Elaborado por Ing. Naidaly Rincón
Recordar…
13. Estructura Repetitiva para
La estructura para conocida comúnmente como for,
es la estructura algorítmica cuya característica
principal es que se sabe de antemano el número
de iteraciones que ocurrirán. Este tipo de
estructura está presente en todos los lenguajes de
programación.
El diagrama de flujo de la estructura para es el
siguiente:
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
Para comenzar el ciclo, la variable de control toma el
valor establecido en la condición inicial y se evalúa
contra la condición final, y si el resultado de dicha
evaluación es verdadero se realiza una iteración del
ciclo.
Dentro del ciclo hay una o muchas operaciones que se
pueden llevar a cabo, y al final de todas ellas debe
ocurrir un incremento, decremento o un cambio en la
variable que controla el ciclo.
14. Estructura Repetitiva para
Por ejemplo, considere que existe una operación
X que necesita ser realizada 10 veces. Debemos
definir la variable de control del ciclo, digamos i.
Dicha variable i deberá contar el número de
iteraciones, es decir, deberá comenzar con un valor
de 1 y terminará cuando valga 10. Por lo tanto, la
condición inicial es i=1, la condición final i<=10 y el
cambio de la variable es un incremento en 1.
El diagrama de flujo correspondiente es el siguiente:
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
Ejercicio. Realice un diagrama de flujo del
algoritmo que suma los primeros 100 números
enteros ingresados por el usuario.
15. Estructura Repetitiva para
Ejercicio:
Análisis del Problema:
Entrada:
--100 números que deben ser ingresados por el usuario, se requiere de una
variable N (utilizaremos un variable, ya que irá dentro de la estructura repetitiva
que solicitará los datos de entrada)
Proceso: Se requiere de un acumulador para que sume los 100 números, para ello
utilizaremos la variable S. Debe estar inicializada en 0 antes del proceso.
Se requiere de la variable de control para la estructura repetitiva, utilizaremos la
variable i. Debe inicializarse en 1, ya que se debe ingresar y sumar los 100
números, por lo que debe incrementarse en 1 dentro del ciclo. Finaliza cuando i sea
100
Salida: mostrar el resultado, en este caso lo que almacena la variable S
Diagrama de Flujo
Elaborado por Ing. Naidaly Rincón
Realice un diagrama de flujo del algoritmo que suma los primeros 100 números
enteros ingresados por el usuario.
16. inicio
N
Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
ʺIngrese un númeroʺ
fin
ʺSuma:ʺ, S
i<=100
i=i + 1
V
Estructura Repetitiva para
S=0
i=1
S=S + N
F
Inicialización del acumulador
Condición inicial (Variable de control i )
Condición final
Incremento
en 1
Se recomienda hacer la
traza del algoritmo para
entender su funcionamiento
17. Estructura Repetitiva mientras
La estructura mientras conocida comúnmente
como while, es la estructura algorítmica cuya
característica principal es que no se sabe de
antemano el número de iteraciones que
ocurrirán. Esta estructura también se encuentra
presente en todos los lenguajes de programación.
El diagrama de flujo de la estructura mientras es el
siguiente:
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
Para utilizar este ciclo se debe establecer un punto de
partida y un final; es decir, una condición inicial y
una condición final. El control de las iteraciones lo
realiza una variable de control. Para comenzar el ciclo
la variable de control toma el valor de la condición
inicial y en cada iteración se evalúa esta variable
de control contra la condición final. El ciclo
realizará iteraciones mientras tal evaluación sea
verdadera.
18. Estructura Repetitiva mientras
Ejercicio:
Análisis del Problema:
Entrada:
-- varios números que deben ser ingresados por el usuario, se requiere de una
variable N (utilizaremos un variable, ya que irá dentro de la estructura repetitiva
que solicitará los datos de entrada)
Proceso: Se requiere de un acumulador para que sume los números positivos, para
ello utilizaremos la variable S. Debe estar inicializada en 0 antes del proceso.
Se solicita el dato de entrada al usuario y se compara:
Si N > 0 entonces el número es positivo, se suma y se solicita un nuevo dato de
entrada.
Sino salir del ciclo.
Salida: mostrar el resultado, en este caso lo que almacena la variable S
Diagrama de Flujo
Elaborado por Ing. Naidaly Rincón
Construya un diagrama de flujo de un algoritmo que solicita números al usuario y
haga la suma de todos ellos. El algoritmo debe solicitar números siempre y cuando
el número ingresado sea positivo, si el usuario ingresa un número no positivo o
cero el algoritmo debe terminar e imprimir la suma de los números positivos.
19. inicio
N
Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
ʺIngrese un númeroʺ
fin
ʺSuma:ʺ, S
N > 0
V
Estructura Repetitiva mientras
S=0
S=S + N
F
Inicialización del acumulador
Condición final
Se recomienda hacer la
traza del algoritmo para
entender su funcionamiento
20. Estructura Repetitiva hacer - mientras
La estructura hacer - mientras conocida
comúnmente como do while, es similar al
while con la diferencia que primero se
ejecutan las sentencias o instrucciones y
luego se evalúa la condición (las sentencias
se ejecutan al menos 1 vez). Esta estructura
se encuentra presente en el lenguaje de
programación C.
El diagrama de flujo de la
estructura mientras es el siguiente:
Elaborado por Ing. Naidaly Rincón
Diagrama de Flujo
sentencia 1
sentencia 2
sentencia n
condición
V
F
21. Pseudocódigo
Significa escribir las instrucciones del algoritmo en un lenguaje natural,
en nuestro caso el español.
Se considera un primer borrador, dado que el pseudocódigo tiene
que traducirse posteriormente a un lenguaje de programación.
El pseudocódigo utiliza para representar las acciones sucesivas
palabras similares a sus homónimas en los lenguajes de
programación, tales como: inicio, fin, leer, escribir, si – entonces –
si_no, fin_si, para, mientras, fin_mientras, hacer – mientras, entre
otras.
La escritura de pseudocódigo exige normalmente la indentación de
diferentes líneas, es decir, sangría en el margen izquierdo.
En el pseudocódigo deben declararse las variables.
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
22. Estructura General de un Algoritmo
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Algoritmo <nombre_del_algoritmo>
inicio
definición de constantes
declaración de variables
sentencia 1
sentencia 2
.
.
.
sentencia n
fin
23. Ejemplo: Pasar el DF a Pseudocódigo
inicio
S=A+B
P=A*B
A, B
A=0
B=0
ʺSumaʺ, S
ʺProductoʺ, P
fin
Pseudocódig
o
Algoritmo <Cálculo_de_suma_y_producto>
inicio
entero A, B, S, P
A=0
B=0
leer A, B
S=A+B
P=A*B
escribir ʺSuma:ʺ, S
escribir ʺProducto:ʺ, P
fin
Indentación
// Inicialización de variables
// Entrada de datos (leer)
// Procesos (cálculos)
// Salida (escribir)
// Declaración de variables
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
24. Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Estructura Condicional
La estructura si entonces permite que el flujo del diagrama siga un camino
específico si se cumple una condición o un conjunto de condiciones. Al
evaluar la condición la respuesta siempre será Verdadero o Falso,
pudiendo así tomar, en un principio, dos caminos diferentes.
La 3º y 4º línea son opcionales, ya que
puede haber un momento en el que al
mirar una condición nos interese solo
una de las posibles respuestas.
Si <condición> entonces (línea 1º)
<sentencia 1> (línea 2º)
Si no (línea 3º)
<sentencia 2> (línea 4º)
Fin si (línea 5º)
25. Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Si <condición> entonces (línea 1º)
<sentencia 1> (línea 2º)
Si no (línea 3º)
<sentencia 2> (línea 4º)
Fin si (línea 5º)
Ejercicio. Realizar un pseudocódigo de un algoritmo que solicite
un número al usuario y determine si este número es positivo,
negativo o cero.
1º En esta línea pondremos la <condición> que nos interesa evaluar.
2º Línea o líneas donde pondremos las instrucciones a efectuar en caso de que la
condición sea VERDADERA.
3º A partir de aquí tendremos las instrucciones que se ejecutarán cuando la
condición sea FALSA.
4º Línea o líneas donde pondremos las instrucciones a efectuar en caso de que la
condición sea FALSA.
5º Línea que nos indica el final de la estructura condicional.
Estructura Condicional
26. Estructura Condicional
Ejercicio:
Realizar un pseudocódigo de un algoritmo
que solicite un número al usuario y
determine si este número es positivo,
negativo o cero.
Análisis del Problema:
Entrada: 1 número
Para lo cual se requiere
1 variable N
Proceso: N == 0 es cero
N > 0 número es positivo
N < 0 número es
negativo
Salida: mostrar,
según sea el caso:
«Es cero»
«Número positivo»
«Número negativo»
Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Algoritmo <Número positivo_negativo_cero>
inicio
entero N
escribir ʺIngrese un número: ʺ
leer N
si (N==0) entonces
escribir ʺEl número es ceroʺ
si no
si (N>0) entonces
escribir ʺEl número es positivoʺ
si no
escribir ʺEl número es negativoʺ
fin si
fin si
fin
27. Estructura Condicional
Ejercicio:
Realizar un pseudocódigo de un algoritmo
que solicite un número al usuario y
determine si este número es positivo,
negativo o cero.
Análisis del Problema:
Entrada: 1 número
Para lo cual se requiere
1 variable N
Proceso: N == 0 es cero
N > 0 número es positivo
N < 0 número es
negativo
Salida: mostrar,
según sea el caso:
«Es cero»
«Número positivo»
«Número negativo»
Diseño del
Algoritmo (Otra
Solución)
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Algoritmo <Número positivo_negativo_cero>
inicio
entero N
escribir ʺIngrese un número: ʺ
leer N
si (N==0) entonces
escribir ʺEl número es ceroʺ
fin si
si (N>0) entonces
escribir ʺEl número es positivoʺ
fin si
si (N<0) entonces
escribir ʺEl número es negativoʺ
fin si
fin
28. Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Estructura Selectiva Múltiple
Se utiliza cuando existen más de dos opciones posibles; esta estructura
evaluará una expresión que podrá tomar un conjunto de valores distintos
1, 2, 3, 4, n, es decir hasta n valores.
Según la elección del valor de la condición establecida, se realizará un
conjunto de instrucciones.
según sea <vble/expresión> hacer
<caso 1>: <sentencia 1>
<sentencia n>
<caso 2>: <sentencia 1>
<sentencia n>
<caso n>: <sentencia 1>
<sentencia n>
si no
<sentencia 1>
<sentencia n>
fin según
Todos los valores deben ser
diferentes y debe ser un valor o
expresión constante entera.
Es opcional, se ejecuta si no se
cumple ningún caso.
29. Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Ejercicio. Realice un pseudocódigo que
solicite dos números cualesquiera, luego
debe pedirse un número que seleccionará
alguna operación aritmética. Si introduce 1
los números se deben sumar, si introduce
2 los números se deben restar, si es 3 los
números se multiplican y si introduce 4 los
números se dividen. Independientemente
de la selección, imprima el resultado.
Estructura Selectiva Múltiple
según sea <vble/expresión> hacer
<caso 1>: <sentencia 1>
<sentencia n>
<caso 2>: <sentencia 1>
<sentencia n>
<caso n>: <sentencia 1>
<sentencia n>
si no
<sentencia 1>
<sentencia n>
fin según
30. Estructura Selectiva Múltiple
Ejercicio:
Realice un pseudocódigo que solicite dos números cualesquiera, luego debe pedirse
un número que seleccionará alguna operación aritmética. Si introduce 1 los números
se deben sumar, si introduce 2 los números se deben restar, si es 3 los números se
multiplican y si introduce 4 los números se dividen. Independientemente de la
selección, imprima el resultado
Análisis del Problema:
Entrada:
-2 números con los que se realizarán las operaciones, serán las variables X, Y
-1 número que permitirá seleccionar la operación a realizar según el enunciado,
será la variable op
Proceso: Si op == 1 entonces R=X + Y
Si op == 2 entonces R=X - Y
Si op == 3 entonces R=X * Y
Si op == 4 entonces R=X / Y
Salida: mostrar el resultado, en este caso lo que almacena la variable R
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
31. Estructura Selectiva Múltiple
Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Algoritmo <Calculadora>
inicio
entero op, X, Y, R
escribir ʺingrese dos númerosʺ
leer X, Y
escribir ʺ1. Sumarʺ
escribir ʺ2. Restarʺ
escribir ʺ3. Multiplicarʺ
escribir ʺ4. Dividirʺ
escribir ʺSeleccione una opciónʺ
leer op
según sea op hacer
caso 1: R = X + Y
caso 2: R = X - Y
caso 3: R = X * Y
caso 4: R = X / Y
si no
escribir ʺOpción no existeʺ
fin según
escribir ʺResultado: ʺ, R
fin
32. Estructura Repetitiva para
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
para <exp_inic; condición_final; incremento/decremento> hacer
<sentencia 1>
. . .
<sentencia n>
fin para
exp_inic: expresión que inicializa la estructura repetitiva o bucle
condición_final: valor final
Incremento/decremento: expresión que incrementa o decrementa el índice del
bucle cada vez que este se repite.
Ejercicio. Realice un pseudocódigo del algoritmo que suma los primeros 100
números enteros ingresados por el usuario.
33. Estructura Repetitiva para
Ejercicio:
Análisis del Problema:
Entrada:
--100 números que deben ser ingresados por el usuario, se requiere de una
variable N (utilizaremos un variable, ya que irá dentro de la estructura repetitiva
que solicitará los datos de entrada)
Proceso: Se requiere de un acumulador para que sume los 100 números, para ello
utilizaremos la variable S. Debe estar inicializada en 0 antes del proceso.
Se requiere de la variable de control para la estructura repetitiva, utilizaremos la
variable i. Debe inicializarse en 1, ya que se debe ingresar y sumar los 100
números, por lo que debe incrementarse en 1 dentro del ciclo. Finaliza cuando i sea
100
Salida: mostrar el resultado, en este caso lo que almacena la variable S
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Realice un pseudocódigo del algoritmo que suma los primeros 100 números
enteros ingresados por el usuario.
34. Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Estructura Repetitiva para
Algoritmo <Suma 100 números>
Inicio
entero i, N, S
S=0 Inicializa al acumulador
para i=1; i<=100; i++
escribir ʺIngrese un númeroʺ
leer N
S = S + N
fin para
escribir ʺSuma: ʺ, S
Fin
Ejercicio:
Realice un pseudocódigo del algoritmo que suma los primeros 100 números
enteros ingresados por el usuario.
35. Estructura Repetitiva mientras
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
mientras <condición> hacer
<sentencia 1>
. . .
<sentencia n>
fin mientras
Ejercicio. Construya un pseudocódigo de un algoritmo que solicita números al
usuario y haga la suma de todos ellos. El algoritmo debe solicitar números siempre
y cuando el número ingresado sea positivo, si el usuario ingresa un número no
positivo o cero el algoritmo debe terminar e imprimir la suma de los números
positivos.
36. Estructura Repetitiva mientras
Ejercicio:
Análisis del Problema:
Entrada:
-- varios números que deben ser ingresados por el usuario, se requiere de una
variable N (utilizaremos un variable, ya que irá dentro de la estructura repetitiva
que solicitará los datos de entrada)
Proceso: Se requiere de un acumulador para que sume los números positivos, para
ello utilizaremos la variable S. Debe estar inicializada en 0 antes del proceso.
Se solicita el dato de entrada al usuario y se compara:
Si N > 0 entonces el número es positivo, se suma y se solicita un nuevo dato de
entrada.
Sino salir del ciclo.
Salida: mostrar el resultado, en este caso lo que almacena la variable S
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Construya un pseudocódigo de un algoritmo que solicita números al usuario y haga
la suma de todos ellos. El algoritmo debe solicitar números siempre y cuando el
número ingresado sea positivo, si el usuario ingresa un número no positivo o cero
el algoritmo debe terminar e imprimir la suma de los números positivos.
37. Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Estructura Repetitiva mientras
Algoritmo <Suma números>
Inicio
entero N, S
S=0 Inicializa al acumulador
escribir ʺIngrese un númeroʺ
leer N
mientras N > 0 hacer
S = S + N
escribir ʺIngrese un númeroʺ
leer N
fin mientras
escribir ʺSuma: ʺ, S
Fin
Ejercicio:
Construya un pseudocódigo de un algoritmo que solicita números al usuario y haga
la suma de todos ellos. El algoritmo debe solicitar números siempre y cuando el
número ingresado sea positivo, si el usuario ingresa un número no positivo o cero
el algoritmo debe terminar e imprimir la suma de los números positivos.
Se recomienda hacer la
traza del algoritmo para
entender su funcionamiento
38. Estructura Repetitiva hacer - mientras
La estructura hacer - mientras conocida comúnmente como do while, es similar al
while con la diferencia que primero se ejecutan las sentencias o instrucciones
y luego se evalúa la condición (las sentencias se ejecutan al menos 1 vez). Esta
estructura se encuentra presente en el lenguaje de programación C.
El pseudocódigo de la estructura mientras es el siguiente:
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
hacer
<sentencia 1>
. . .
<sentencia n>
mientras <condición>
39. Estructura Repetitiva hacer - mientras
Diseño del
Algoritmo
Elaborado por Ing. Naidaly Rincón
Pseudocódigo
Algoritmo <menú>
Inicio
entero op, X, Y, R
escribir ʺingrese dos númerosʺ
leer X, Y
hacer
escribir ʺ1. Sumarʺ
escribir ʺ2. Restarʺ
escribir ʺ3. Multiplicarʺ
escribir ʺ4. Dividirʺ
escribir ʺ5. Salirʺ
escribir ʺSeleccione una opciónʺ
leer op
según sea op hacer
caso 1: R = X + Y
caso 2: R = X - Y
caso 3: R = X * Y
caso 4: R = X / Y
si no
escribir ʺOpción no existeʺ
fin según
mientras op!=5
escribir ʺResultado: ʺ, R
Fin
Se recomienda hacer la
traza del algoritmo para
entender su funcionamiento
40. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
1.- Calcule el salario neto de un trabajador en función del número de horas
trabajadas, precio de la hora de trabajo y, considerando el descuento del 12% por
concepto de impuesto. Mostrar sueldo neto e impuesto.
2.- Realice un algoritmo que calcule la distancia entre dos puntos, tomando como
datos de entrada las coordenadas de los puntos P1 y P2. Mostrar la distancia.
3.- Realizar un algoritmo que calcule el promedio de las 5 calificaciones de un
alumno.
4.- Realice un algoritmo para resolver la siguiente ecuación de primer grado para
mostrar todas sus posibles soluciones.
ax + b = 0
5.- Realice un algoritmo tal que reciba como datos la base y altura de un
rectángulo, luego calcule el perímetro y la superficie del mismo.
Básicos
41. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
6.- Realice un algoritmo que determine el mayor de 2 números. Mostar el mensaje
y el número mayor.
7.- Realice un algoritmo que determine si un número es mayor o menor a 10.
8.- Realice un algoritmo que solicite un número y determine si es positivo o
negativo.
9.- Realice un algoritmo para determinar si un número es par o impar.
10.- Realice un algoritmo para decidir si un número es divisible por 3 o no.
11.- Escriba un algoritmo que determine si un año es bisiesto o no.
12.- Realice un algoritmo que permita calcular la ecuación de segundo grado: 𝑥 =
−𝑏± 𝑏2−4𝑎𝑐
2𝑎
.
Condicionales
42. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
13.- Realice un algoritmo que reciba la fecha de nacimiento y determine su signo
del Zodíaco.
14.- Hacer un algoritmo que solicite la edad de una persona y determine su
categoría de acuerdo:
•Si la edad es mayor o igual a 0 y menor que 2 entonces es bebé
•Si la edad es mayor o igual a 2 y menor que 11 entonces es niño
•Si la edad es mayor o igual a 11 y menor que 18 entonces es adolescente
•Si la edad es mayor o igual a 18 y menor que 30 entonces es adulto joven
•Si la edad es mayor o igual a 30 y menor que 60 entonces es adulto
•Si la edad es mayor o igual a 60 entonces es adulto mayor
El algoritmo debe indicar al usuario un error si la edad no se encuentra en alguno
de los intervalos.
Condicionales
43. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
15.- Realizar un algoritmo que solicite una calificación numérica del 0 al
10 y la convierta a la escala:
• Entre 0 y menor a 6 => No Acreditado
• Entre 6 y menor a 7.5 => Suficiente
• Entre 7.5 y menor a 9 = > Bien
• Entre 9 y menor a 10 => Muy Bien
• 10 => Excelente
El algoritmo debe indicar al usuario un error si la calificación no se
encuentra en alguno de los intervalos.
Condicionales
44. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
16.- Realice un algoritmo que calcule los impuestos que debe pagar un empleado.
El algoritmo recibe como dato el salario del empleado, debe verificar que sea
válido (positivo), y calcular los impuestos que debe pagar de acuerdo a la
siguiente tabla.
El algoritmo debe imprimir el salario intacto, los impuestos retenidos y el salario
menos los impuestos.
Condicionales
Rango del Salario Porcentaje de Impuesto
hasta antes de $100 8%
desde $100 hasta antes de $350 12%
desde $350 20%
45. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
17.- Realice un algoritmo que lea una nota e imprima un mensaje que indique si el
alumno aprueba o no. La nota debe ser válida.
18.- Realizar un algoritmo que permita calcular el área de un triángulo conociendo
sus lados.
Area = √ p.(p-a).(p-b).(p-c) p = (a+b+c)/2
19.- Diseñar un algoritmo que lea tres números A, B, C y visualice el valor del más
grande. Se supone que los tres valores son diferentes.
20.- Se desea convertir las calificaciones alfabéticas A,B,C,D y E a calificaciones
numéricas 4,5,6,7 y 8 respectivamente. Mostrar un mensaje de error si la nota es
inválida.
21.- Realice un algoritmo que indique si un número entero, ingresado por el
usuario, tiene 1,2,3 o más dígitos. Considerar los negativos.
Condicionales
46. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
22.- Realice un algoritmo para calcular el monto a pagar por una llamada
telefónica tomando en cuenta lo siguiente: a) Toda llamada que dure hasta 3 min
tiene un costo de $.1; b) Por cada minuto adicional se cobra $0,5. Mostar
resultados.
.
23.- Realizar un algoritmo para determinar si un número entero de tres dígitos es
palíndrome.
24.- Realizar un algoritmo para determinar el mes y el número de días que le
corresponde a partir de un número entero positivo ingresado por el usuario.
25.- Realice un algoritmo que calcule el monto a pagar por el servicio de
estacionamiento, teniendo en cuenta lo siguiente: a) La estadía mínima es de 1
hora; b) La primera hora tiene una tarifa de $ 0,5; c) Las horas restantes tienen un
costo de $ 1.
Se debe utilizar la hora en formato de 24h.
Condicionales
47. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
26.- El costo de las llamadas telefónicas internacionales depende de la zona
geográfica en la que se encuentre el país destino y del número de minutos
hablados. En la siguiente tabla se presenta el costo del minuto por la zona. A cada
zona se le ha asociado una clave.
Construya un diagrama de flujo que permita calcular el costo de una llamada. El
algoritmo debe recibir como datos la duración de la llamada en minutos y la clave
de la zona a donde realizó la llamada. Imprima el costo de la llamada, si el usuario
ingresa una clave incorrecta imprima un mensaje de error.
Condicionales
Clave Zona Precio x minuto
12 América del Norte $2
15 América Central $2.2
18 América del Sur $4.5
19 Europa $3.5
23 Asia $6
25 África $6
29 Oceanía $5
48. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
27.- Realizar un algoritmo que imprime los primeros 100 números pares.
28.- Realizar un algoritmo que imprime los primeros 100 números impares.
29.- Realice un algoritmo que calcule el promedio de las calificaciones de un
alumno. El alumno deberá ingresar el número de materias que cursa y las
calificaciones en cada una de ellas. El algoritmo debe calcular e imprimir el
promedio y determinar si tiene derecho a beca o no.
La escala evaluativa es de 0 a 20, por lo que la nota ingresada debe estar dentro
del rango.
Para tener derecho a beca la nota promedio del alumno debe ser mayor o igual a
18 puntos.
30.- Realizar un algoritmo que calcule la potencia de un número x elevado a un
número entero n mediante multiplicaciones sucesivas.
Repetitivas, ciclos o bucles
49. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
31.- Realizar un algoritmo que solicite un número entero positivo, verifique que lo
sea y posteriormente determine los números que son divisibles desde 1 hasta ese
número.
32.- Realice un algoritmo que solicite un número entero, verifique que sea positivo
y determine si el número es primo.
33.- Realizar un algoritmo que calcule el factorial de un número entero n.
Considere que si n es positivo el factorial es 1*2*3*4*...*n, si n es cero por
definición el factorial es 1 y si n es negativo el factorial no está definido. El
algoritmo debe determinar el caso que corresponda y realizarlo, si fuera negativo
mande un mensaje de error al usuario.
.
34.- Realizar un algoritmo que solicite un número n y calcule la serie de Fibonacci.
35.- Realice un algoritmo que genera la tabla de multiplicar de un número
ingresado por el usuario.
Repetitivas, ciclos o bucles
50. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
36.- Supóngase que en una reciente elección hubo cuatro candidatos (con
identificadores 1, 2, 3 y 4). Usted habrá de encontrar, mediante un algoritmo, el
número de votos correspondientes a cada candidato y el porcentaje que obtuvo
respecto al total de votantes. El usuario teclea los votos de manera
desorganizada, tal y como se obtuvieron en la elección. Para indicar que el
usuario ha terminado de ingresar votos teclea un cero. Observe, como ejemplo la
siguiente lista:
1 3 4 1 2 4 3 2 2 1 1 3 4 2 2 0
Donde 1 representa un voto para el candidato 1, 2 representa un voto para el
candidato 2 y así sucesivamente. Construya un algoritmo que haga el conteo de
los votos totales y por candidato, además calcule el porcentaje de los votos
obtenidos por cada candidato.
37.- Escriba un algoritmo que dado N números enteros como dato, calcule el
mayor y el menor de estos números. Considere que el usuario ingresará la
cantidad de números y posteriormente los números.
Repetitivas, ciclos o bucles
51. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
38.- Desarrolle un algoritmo que consiste en adivinar el número mágico. El
algoritmo debe generar aleatoriamente un número entre 1 y 100, el usuario debe
adivinarlo. El usuario debe ingresar un número y el algoritmo le dirá si el número
que ingresó es mayor o menor que el mágico. Si el usuario adivina, el algoritmo
debe terminar e indicar el número de intentos que le tomó al usuario. El usuario
tiene un número ilimitado de intentos para adivinar.
39.- Un vendedor ha hecho una serie de ventas y desea conocer aquellas de $200
o menos, las mayores de $200 pero inferiores a $400, y el número de ventas de
$400 o superiores. Haga un algoritmo que le proporcione al vendedor esta
información después de haber leído los datos de entrada. El número de ventas es
indefinido y el usuario indicará que habrá terminado de ingresar datos
introduciendo ʺ0".
40.- Realizar un algoritmo que determina e imprime los números primos que hay
de 1 al 100.
Repetitivas, ciclos o bucles
52. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
41.- Realice un programa en C para leer 100 números por teclado para calcular
cuantos son positivos y su sumatoria.
42.- Realizar un algoritmo para la empresa Vitali quién posee una cantidad de 50
empleados y desea utilizar la siguiente política:
• Si el tiempo de trabajo de algún empleado es menor a 30 años se le dará un
bono del 20% de su sueldo.
• Si el tiempo de trabajo de algún empleado se encuentra entre 30 y 50 años, su
sueldo será aumentado un 40% de su sueldo.
• Si el tiempo de trabajo de algún empleado es mayor a 50 años, será retirado con
el triple de su sueldo.
Se desea calcular: el total a cancelar en bono, aumento y retiro; la cantidad de
trabajadores que recibirán bono, aumento y retiro. Además debe mostrarse qué
beneficio obtuvo cada empleado y cuanto.
Repetitivas, ciclos o bucles
53. Realice los siguientes algoritmos en Diagrama de Flujo y
Pseudocódigo
Elaborado por Ing. Naidaly Rincón
Ejercicios
45.- Haga un algoritmo para calcular lo que hay que pagar por una llamada
telefónica. Se ingresa el tipo de llamada (Internacional, Nacional o Local) y la
duración en minutos. El criterio que se sigue para calcular el costo de la llamada
es el siguiente:
El usuario habrá de ingresar tipo y duración de la llamada, el programa recibirá
una cantidad indefinida de datos de llamadas hasta que reciba “0” como tipo y
duración.
44.- Dados los números naturales ordenados, realice un algoritmo que sume estos
números mientras el resultados sea menor que 1000 y que diga cuántos números
naturales son necesarios para conseguirlo.
Repetitivas, ciclos o bucles
Internacional 3 primeros minutos $ 3
Cada minuto adicional $2
Nacional 3 primeros minutos $1.20
Cada minuto adicional $0.48
Local $0.60 por minuto.