Você está na página 1de 35

MANUAL DE PROGRAMACIÓN

Unidad I
Técnica de Algoritmos
Y Flujogramas
Objetivos

1. El estudiante reconozca conceptos sobre Algoritmos.

2. El estudiante utilice las figuras gráficas para la elaboración de Flujogramas.

“Primero, soluciona el problema, luego, escribe el código”


John Johnson

1
MANUAL DE PROGRAMACIÓN

ALGORITMOS (FLUJOGRAMAS COMPUTACIONALES)

Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una
tarea o resolver un problema en un tiempo finito, se basan en la utilización de diversos
símbolos para representar operaciones específicas.

Los algoritmos deben cumplir estas condiciones:


 Finitud, debe acabar tras un número finito de pasos.
 Definibilidad, debe definirse de forma precisa para cada paso, es decir, evitar más
de una solución al mismo tiempo.
 Entrada, el algoritmo tendrá una o más entradas.
 Salida, el algoritmo tiene una o más salidas.
 Efectividad, se entiende por esto que una persona sea capaz de realizar el
algoritmo de modo exacto y sin ayuda de una máquina en un lapso de tiempo
finito.

DESCRIPCIÓN NARRADA

Este algoritmo es caracterizado porque sigue un proceso de ejecución común y lógico,


describiendo textualmente paso a paso cada una de las actividades a realizar dentro de
una actividad determinada.

Ejemplo 1 Algoritmo para asistir a clases.

1. Levantarse.
2. Bañarse.
3. Vestirse.
4. Desayunar.
5. Cepillarse los dientes.
6. Salir de casa.
7. Tomar el autobús.
8. Llegar al colegio.
9. Buscar el aula.
10. Ubicarse en un asiento.

2
MANUAL DE PROGRAMACIÓN

Ejemplo 2 Receta para hacer huevos picados.

1. Se coloca aceite o margarina en la cacerola.


2. Se pica cebolla, chile y tomate.
3. Se ponen a freír, con un poco de sal.
4. Cuando ya están fritos, se echan los huevos.
5. Se bate y se deja cocer.
6. Se sirve caliente en un plato.

Ejemplo 3 Cambiar la llanta de un carro. Ejemplo 4 Promedio de tres notas.

1. Sacar la gata. 1. Ingresar las tres notas.


2. Sacar la cruceta. 2. Sumar las tres notas.
3. Sacar la llanta de repuesto. 3. Dividir la suma para tres.
4. Sacar los tacos. 4. Mostrar el Promedio.
5. Engranar el carro.
6. Aflojar las tuercas. Ejemplo 5 Suma de 2 números.
7. Colocar la gata.
8. Accionar la gata. 1. Ingresar 2 Números.
9. Sacar las tuercas. 2. Sumar los números.
10. Sacar la llanta. 3. Mostrar el resultado.
11. Colocar la llanta de repuesto.
12. Asegurar con las tuercas. Ejemplo 6 División de 2 números.
13. Bajar la gata.
14. Quitar los tacos. 1. Ingresar 2 Números.
15. Guardar la cruceta. 2. Sumar los números.
16. Guardar los tacos. 3. Comprobar división por 0.
17. Guardar la llanta. 4. Mostrar el resultado.

DESCRIPCIÓN GRÁFICA (SÍMBOLOS)

El Flujograma utiliza un conjunto de símbolos casi universales, para representar, la


secuencia de las operaciones y la circulación de los datos.

Los símbolos más comunes utilizados son los siguientes:

Límites
Este símbolo se usa para identificar el inicio y el fin de un Flujograma.

Flujo
Significa el sentido y la secuencia de las etapas de uno o varios procesos.

3
MANUAL DE PROGRAMACIÓN

Operación (Proceso)
Representa una etapa del proceso, el nombre de la etapa y de quien la ejecuta se
registran al interior del rectángulo.

Documento (Impresión)
Simboliza al documento resultante de la operación respectiva, se muestra el resultado
obtenido

Variable

Una variable es un elemento del algoritmo que puede adquirir o ser sustituido por un
valor cualquiera (siempre dentro de su universo).

Se tiene tres tipos de variables a utilizarse: Enteras, Reales y Carácter.

Asignación

Es el modo de darle valores a una o más variables, se representa con el símbolo ←.

Sintaxis: Nombre de la variable ← expresión.


Ejemplo: Resultado ← a / b

Operadores Aritméticos

Permiten hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta,
multiplicación, etc.), En la siguiente tabla se muestran los operadores de los que
disponemos en Flujogramas.
OPERADOR ACCIÓN EJEMPLO
- Resta x ← 5 - 3; x vale 2
+ Suma x ← 2 + 3; x vale 5
* Multiplicación x ← 2 * 3; x vale 6
/ División x ← 6 / 2; x vale 3
x ← 5 % 2; x vale 1
% Módulo
x ← 4 % 2; x vale 0
^ Potenciación x ← 4 ^ 3 ; x vale 64

4
MANUAL DE PROGRAMACIÓN

PRUEBA DE ESCRITORIO

La prueba de escritorio es una herramienta útil para entender que hace un determinado
algoritmo, o para verificar que un algoritmo cumple con la especificación al ejecutarlo,
básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo.

Los pasos para la resolución de un problema son:


1. Diseño de algoritmo, la secuencia ordenada de pasos que conducen a la solución
de un problema dado.
2. Expresar el algoritmo como un programa entendible.
3. Prueba de Escritorio, comprobación de legibilidad del algoritmo
4. Validación del programa para evitar errores.

Cada algoritmo tendrá un nombre, se lo coloca encima del grafico y es aconsejable


que cada uno de ellos tenga un nombre diferente.

ASIGNACIÓN SIMPLE

EJERCICIO 1, Asigne 2 números en dos variables, sumé los números y asigne ese
valor en la variable C, imprima ese resultado, realice también su respectiva prueba de
escritorio.
Nombre del Algoritmo

Inicio del algoritmo

Asignación de un proceso en la
variable C

Impresión del resultado (variable C)

Fin del Algoritmo

Prueba de Escritorio Sumar 2 números

C ←5+3 C será igual a 8

5
MANUAL DE PROGRAMACIÓN

EJERCICIO 2, Realice la suma de dos números, asigne los números en las variables A
y B, el resultado asígnelo en la variable S e imprímalo, realice también su respectiva
prueba de escritorio.

INGRESAR POR TECLADO O TARJETA

Simboliza al documento resultante de la operación respectiva, en su escribe o se muestra


el resultado obtenido

EJERCICIO 3, Ingrese 2 números por teclado, reste los 2 números e imprima su


resultado.

Prueba de Escritorio

NUM1 NUM2 NUM1 - NUM2 RES← NUM1 – NUM2


35 25 35 - 25 RES← 10
10

NUM1 NUM2 NUM1 - NUM2 RES← NUM1 – NUM2


-25 35 -25 – 35 RES← -60
-60

NUM1 NUM2 NUM1 - NUM2 RES← NUM1 – NUM2


-25 -35 -25 + 35 RES← 10
10

6
MANUAL DE PROGRAMACIÓN

EJERCICIO 4, Transforme una medida ingresada por teclado de kilómetros a metros.

Prueba de Escritorio

KILOM KILOM * 1000 RES← KILOM * 1000

10 10 * 1000 RES← 10000


10000

50 50 * 1000 RES← 50000


50000

2,5 2,5 * 1000 RES← 25000


250000

EJERCICIO 5, Transforme un valor en libras a kilogramos.

Prueba de Escritorio

LIB LIB / 2,205 KILO← LIB / 2,205

100 100 / 2,205 KILO← 45,35


45,35

50 50 / 2,205 KILO← 22,67


22,67

2,205 2,205 / 2,205 KILO← 1


1
EJERCICIO 6, Obtenga el 15% de una cantidad ingresada por teclado.

Prueba de Escritorio

VAL VAL * (15/100) RES ← VAL * (15/100)

100 100 * (15/100) RES ← 15


15

50 50 * (15/100) RES ← 7,5


7,5

32 32 * (15/100) RES ← 4,8


4,8

7
MANUAL DE PROGRAMACIÓN

DECISIÓN (PREGUNTA SI)

Representa al punto del proceso donde se debe tomar una decisión, la pregunta se
escribe dentro del rombo, hay dos flechas que salen del rombo muestran la dirección del
proceso, en función de la respuesta real, esta respuesta puede ser Verdadera (Si) o Falsa
(No).

OPERADORES DE RELACIÓN

Los operadores relacionales se utilizan para formar expresiones que al ser evaluadas
producen un valor de tipo lógico: verdadero o falso.

EJERCICIO 7, Ingrese un número por teclado y determine si es mayor a 5


Prueba de Escritorio

NUM1 NUM1 > 5 RESPUESTA

7 7>5 Es mayor que 5


10 10 > 5 Es mayor que 5
4 4>5 Es menor que 5
5 5>5 Es menor que 5

Nota: Tome en consideración que el último


ejemplo de la prueba de escritorio se
ingreso el número 5, pero la respuesta fue
ES MENOR QUE 5, como no se utilizo
una condición mayor o igual que asume
como una respuesta falsa o negativa.

8
MANUAL DE PROGRAMACIÓN

EJERCICIO 8, Determine si la suma de dos números es menor que 20.


Prueba de Escritorio

A B A+B C←A+B C < 20 RESPUESTA

10 5 10 + 5 C ← 15 15 < 20 Es menor que 20

8 2 8+2 C ← 10 10 < 20 Es menor que 20

16 4 16 + 5 C ← 20 20 < 20 Es menor que 20

EJERCICIO 9, Ingrese un número multiplíquelo por 5, determine si el resultado es


diferente de 60.
Prueba de Escritorio

Z R←Z*5 R <> 60 RESPUESTA

8 R←8*5 40 <> 60 Diferente de 60

-5 R ← -5 * 5 -25 <> 60 Diferente de 60

12 R ← 12 * 5 60 <> 60 Igual a 60

9
MANUAL DE PROGRAMACIÓN

EJERCICIO 10, Determine si un número es positivo o negativo.


Prueba de Escritorio

NUM NUM > 0 RESPUESTA

8 8>0 POSITIVO
-5 -5 > 0 NEGATIVO
0 0>0 NEGATIVO

ESTRUCTURAS REPETITIVAS E ITERATIVAS

Son operaciones que se deben ejecutar un número repetido de veces, el conjunto de


instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo,
Bucle o Lazo.

Bucle Infinito Bucle Finito


Es cuando el bucle se estará repitiendo El bucle finalizará cuando se cumpla la
indefinidamente ya que no existe condición de que N sea igual a cero,
ninguna condición que nos permita en este caso, ya se agregó una
finalizar en algún momento. condición, la cual nos permitirá
finalizar la ejecución del bucle en el
caso de que la condición se cumpla.

10
MANUAL DE PROGRAMACIÓN

Incrementar
Es aumentar en una unidad o más el valor de una variable numérica.

La variable A comenzará con el valor de 1


Se incrementa (se le suma 1) a la variable A que ahora tendrá el valor de 2
Se incrementa (se le suma 1) a la variable A que ahora tendrá el valor de 3
Se incrementa (se le suma 1) a la variable A que ahora tendrá el valor de 4, así hasta
cumplir la condición.
Decrementar
Es disminuir la misma variable en una unidad o más.
La variable A comenzará con el valor de 20
Se decrementa (se le resta 1) a la variable A que ahora tendrá el valor de 19
Se decrementa (se le resta 1) a la variable A que ahora tendrá el valor de 18
Se decrementa (se le resta 1) a la variable A que ahora tendrá el valor de 17, así hasta
cumplir la condición.
EJERCICIO 11, Obtenga la serie del 1 al 10 sumando de 1 en 1.
Prueba de Escritorio
I I <= 10 RES I = I + 1

1 1 <= 10 V I=1+1=2
2 2 <= 10 V I=2+1=3
3 3 <= 10 V I=3+1=4
4 4 <= 10 V I=4+1=5
5 5 <= 10 V I=5+1=6
6 6 <= 10 V I=6+1=7
7 7 <= 10 V I=7+1=8
8 8 <= 10 V I=8+1=9
9 9 <= 10 V I = 9 + 1 = 10
10 10 <= 10 V I = 10 + 1 = 11
11 11 <= 10 F
El bucle se ejecutará mientras cumpla la condición.

EJERCICIO 12, Obtenga la serie del 20 al 16 restando de 1 en 1.


Serie del 20 al 16
Inicio
Prueba de Escritorio
K K >= 10 RES K=K-1
K = 20
20 20 >= 16 V K = 20 – 1 = 19
19 19 >= 16 V K = 19 – 1 = 18
18 18 >= 16 V K = 18 – 1 = 17
K>= 15 K=K-1 17 17 >= 16 V K = 17 – 1 = 16
16 16 >= 16 V K = 16 – 1 = 15
15 15 >= 16 F
No
Si
K El bucle se ejecutará mientras cumpla la condición.
Fin

11
MANUAL DE PROGRAMACIÓN

EJERCICIO 13, Obtenga la siguiente serie:


-2 -4 -6 -8 -10 -12 -14 -16 -18 -20
Prueba de Escritorio
T T <=10 T * (-2) T= T+1
1 1 <= 10 V 1 * (-2) = -2 S= 1+1= 2
2 2 <= 10 V 2 * (-2) = -4 S= 2+1= 3
3 3 <= 10 V 3 * (-2) = -6 S= 3+1= 4
4 4 <= 10 V 4 * (-2) = -8 S= 4+1= 5
5 5 <= 10 V 5 * (-2) = -10 S= 5+1= 6
6 6 <= 10 V 6 * (-2) = -12 S= 6+1= 7
7 7 <= 10 V 7 * (-2) = -14 S= 7+1= 8
8 8 <= 10 V 8 * (-2) = -16 S= 8+1= 9
9 9 <= 10 V 9 * (-2) = -18 S = 9 + 1 = 10
10 10 <= 10 V 10 * (-2) = -20 S = 10 + 1 = 11
11 11 <= 10 F
El bucle se ejecutará mientras cumpla la condición.

12
MANUAL DE PROGRAMACIÓN

Cuestionario

1. Mencione dos operadores matemáticos


__________________________________________________________________
__________________________________________________________________

2. Conteste Verdadero (V) o Falso (F).

¿Un bloque infinito es cuando se repite indefinidamente? ( )

¿Los límites identifican el inicio y el fin de un Flujograma? ( )

3. Haga una descripción narrada de como compraría una gaseosa en una


tienda.

4. Una lo correcto.

Imprimir

Teclado

Proceso

5. Realice la siguiente serie

11 22 33 44 55 66 77 88 99 110

13
MANUAL DE PROGRAMACIÓN

Unidad II
Técnica de Pseudocódigos

Objetivos

1. El estudiante reconozca conceptos sobre Pseudocódigos.

2. El estudiante desarrolle una lógica de programación para aplicarla en


cualquier compilador.

“El Copiar y pegar es un error de diseño”


David Parnas

14
MANUAL DE PROGRAMACIÓN

PSEUDOCÓDIGO (FALSO LENGUAJE)


Un pseudocódigo o falso lenguaje (no es un lenguaje de programación verdadero), no
puede ser compilado y ejecutado, pero las similitudes con la mayoría de los lenguajes
informáticos lo hacen fácilmente convertible.

El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje


común, instrucciones de programación y palabras claves,

La ejecución del programa comienza por la primera instrucción y continúa


sucesivamente con todas las siguientes en orden.

Instrucción 1
Instrucción 2

Instrucción n

Según la necesidad se realizarán tantos procesos como sean necesarios de acuerdo a la


aplicación y al usuario.

Operación 1
Operación 2

Operación n

VARIABLES
Una variable es un elemento del pseudocódigo que puede adquirir o ser sustituido por
un valor cualquiera (siempre dentro de su universo), en un pseudocódigo se pueden
crear tantas variables como necesitemos.

ASIGNACIÓN

Para asignar un valor a una variable se utilizará el símbolo = que en este contexto
significa “es reemplazado por”, de forma general tendremos que:

Nombre_variable = expresión

TIPOS DE VARIABLES
Generalmente se usan tres tipos de variables que son:

 Enteras, se toma en consideración números sin decimales


 Reales o Flotantes, son números con decimales.
 Carácter o Cadena, son caracteres únicos o también palabras, tome en
consideración que un dato tipo carácter ira entre apostrofes’ ’ y una palabra o
cadena ira entre comillas” ”.

15
MANUAL DE PROGRAMACIÓN

Representación de Variables

A = 50 Variable tipo entera A cuyo valor es 50.


B = 45,67 Variable tipo flotante B cuyo valor es 45,67
Z = ‘A’ Variable carácter cuyo valor es ‘A’
Ciudad = "Quito" Variable alfanumérica cuyo valor es "Quito"

C = 13
B = 25
X=C+B X contendrá el valor 13 + 25 = 38

IMPRIMIR (TEXTO O RESULTADOS)

Se utilizará para mostrar resultados, cuando se trate de números ira dentro un paréntesis
y cuando sea texto ira en comillas dentro de un paréntesis,.

El operador + sirve para imprimir un mensaje y una o varias variables al mismo tiempo
en la misma línea de programación, esto difiere de acuerdo al lenguaje de programación
utilizado.

Ejemplos:
imprimir(z) Se imprimirá el valor que tiene la variable z
imprimir(’a’) Se imprimirá la letra a
imprimir(”Número negativo”) Se imprimirá Numero negativo

LEER (VARIABLE)

Se le conoce como ingreso por teclado, esta instrucción pide al usuario un valor que será
asignado a la variable Nombre_variable.

Ejemplo:
Imprimir(“Ingrese un número”)
leer(a) En a se asignará el valor ingresado

OPERADORES ARITMÉTICOS

16
MANUAL DE PROGRAMACIÓN

OPERADORES DE RELACIÓN
Los operadores relacionales se utilizan para formar expresiones que al ser evaluadas
producen un valor de tipo lógico: verdadero o falso.

Antes de comenzar, transformaremos un dibujo de flujograma a Pseudocódigo con la


finalidad de mostrar diferencias y similitudes.

INICIO SUMAR 2 NÚMEROS Nombre en el Inicio


variables A, B ENTERAS Variables
A=5 Asignar
B = 10 Asignar
S= A+B Proceso de Suma
imprimir(S) Imprimir Resultado
FIN SUMAR 2 NÚMEROS Fin del Programa

Prueba de Escritorio

A B A+B S←A+B
5 10 5 + 10 S← 15
Se mantiene el mismo formato de prueba de escritorio, funciona exactamente igual.

ASIGNACIÓN SIMPLE Y CONVERSIONES

EJERCICIO 1, Asigne 2 números en 2 variables y súmelos.

INICIO SUMAR(Nombre del Programa) Inicio Programa


variables a, b, c ENTERAS Declaración de variables
a=5 Variable Entera a
b=8 Variable Entera b
c=a+b Operación ó Proceso
imprimir(c) Imprimir Resultado
imprimir(“El resultado es: “+c) Imprimir Texto y Resultado
FIN SUMAR Fin Programa

Prueba de Escritorio
a b c
5 8 13

17
MANUAL DE PROGRAMACIÓN

EJERCICIO 2, Ingrese 2 números por teclado, sume y reste los 2 números.

INICIO SUMAR Y RESTAR(Nombre del Programa) Inicio Programa


variables a, b, c, d REALES Declaración de variables
Imprimir(“Ingrese un número: “) Mensaje de Texto
leer(a) Leer
imprimir(“Ingrese un número: “)
leer(b)
c=a+b Operación 1 Suma
d=a-b Operación 2 Resta
imprimir(“La Suma es: “ + c) Imprimir
imprimir(“La Resta es: “ + d) Imprimir
FIN SUMAR Y RESTAR Fin Programa

a b c d
8,5 9,3 8,5 + 9,3 8,5 - 9,3
17,8 -0,8

EJERCICIO 3, Ingrese 3 números por teclado, sume los dos primeros y ese resultado
réstelo del tercero.

INICIO SUMAR Y RESTAR(Nombre del Programa)


variables a, b, c, d, e ENTERAS
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
leer(a,b,c)
d=a+b
e=d–c
imprimir(“La Suma es: “ + c)
imprimir(“La Resta es: “ + d)
FIN SUMAR Y RESTAR

a b c d e
2 3 4 2+3 5-4
5 1
EJERCICIO 4, Transforme una medida de metros a centímetros.

INICIO CENTÍMETROS
variables Metros, Centi REALES
imprimir(“Ingrese una medida de metros: “)
leer(Metros)
Centi = Metros * 100
imprimir(“El resultado es: “ + Centi)
FIN CENTÍMETROS

Metros Centi
24 24*100 24000

18
MANUAL DE PROGRAMACIÓN

EJERCICIO 5, Transforme un valor de horas en minutos.

INICIO CAMBIO MINUTOS


variables Horas, Minutos ENTERAS
imprimir(“Ingrese un valor en horas: “)
leer(Horas)
Minutos = Horas * 60
imprimir(“El resultado es: “ + Minutos)
FIN CAMBIO MINUTOS

Horas Horas * 60 Minutos


24 24*60 1440

EJERCICIO 6, Calcule el área de un triangulo, la base y la altura se ingresa por


teclado.

INICIO TRIANGULO
variables base, altura, area REALES
imprimir(“Ingrese base: “)
imprimir(“Ingrese altura: “)
leer(base, altura)
area = (base * altura)/2
imprimir(“El resultado es: “ + area)
FIN TRIANGULO

base altura (base * altura) / 2 area


12 6 ( 12 * 6 ) / 2 = 72 / 2 36

EJERCICIO 7, Ingrese 4 números por teclado y obtenga su media aritmética.

INICIO PROMEDIO
variables num1, num2, num3, num4, sum, prom REALES
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
leer(num1, num2, num3, num4)
sum = (num1 + num2 + num3 + num4)
prom = (sum/4)
imprimir(“La suma es: “ + sum)
imprimir(“El promedio es: “ + prom)
FIN PROMEDIO

num1 num2 num3 num4 sum prom


5 6 10 7 28 7

19
MANUAL DE PROGRAMACIÓN

EJERCICIO 8, Transforme una medida de kilogramos en libras

INICIO KILOGRAMOS A LIBRAS


variables Kilos, Libras REALES
imprimir(“Ingrese un valor en kilos: “)
leer(Kilos)
Libras = Kilos * 2,205
imprimir(“El resultado es: “ + Libras)
FIN KILOGRAMOS A LIBRAS
Kilos Kilos * 2,205 Libras
50 50*2,205 110,25

EJERCICIO 9, Obtenga el 15% de una cantidad ingresada por teclado.


INICIO QUINCE POR CIENTO
variables Valor, Porcentaje REALES
imprimir(“Ingrese una cantidad: “)
leer(Valor)
Porcentaje = Valor * (15/100)
imprimir(“El resultado es: “ + Porcentaje)
FIN QUINCE POR CIENTO

Valor Valor * (15/100) Porcentaje


158 158 * (15/100) 23,7

EJERCICIO 10, Calcule el IVA a pagar de una cantidad ingresada por teclado.
INICIO IVA
variables Valor, Iva REALES
imprimir(“Ingrese una cantidad: “)
leer(Valor)
Iva = Valor * (10/100)
imprimir(“El resultado es: “ + Iva)
FIN IVA

Valor Valor * (12/100) Iva


200 200*(12/100) 24

SELECTIVA O CONDICIONAL (PREGUNTA SI Y CASO CONTRARIO)

Una instrucción condicional es aquella que nos permite "preguntar" sobre el entorno que
nos rodea, pudiendo así actuar según la respuesta obtenida y el cumplimiento de una
condición, la respuesta puede ser Verdadera o Falsa.

Una condición no es más que comparar dos valores que se afirman como verdaderos; es
decir en su cumplimiento permiten realizar una actividad de cualquier índole.

20
MANUAL DE PROGRAMACIÓN

El formato de la estructura de selección es:

Si (condición) entonces

Instrucción 1
Instrucción 2
Instrucción 3

Instrucción n

Caso Contrario (Sino)

Instrucción a
Instrucción b
Instrucción c

Instrucción n

Finsi

La instrucción también puede ser utilizada como un menú de opciones, combinando


varias veces las preguntas Si.

OPERADORES Y - O

Se puede utiliza operadores de conexión para formar n condiciones en una pregunta Si,
el objetivo es tratar de que se cumplan una o varias condiciones al mismo tiempo.

El operador y debe cumplir una o más condiciones para ejecutarse.

Si ( condición 1) y ( condición 2 )

El operador o puede cumplir al menos una condición para ejecutarse.

Si ( condición 1) ó ( condición 2 )

También se puede combinar los operadores

Si ( ( (condición 1) ó (condición 2) ) y (condición 3) )

Si ( ( (condición 1) y (condición 2) ) ó (condición 3) )

SELECCIÓN MÚLTIPLE

Son una serie de condiciones en las cuales si una de ellas se cumple las demás tienen
que ser falsas necesariamente, hay una condición que será cierta cuando las demás
condiciones sean falsas.

21
MANUAL DE PROGRAMACIÓN

Anidando varias funciones de selección podríamos implementar una selección múltiple


pero por sencillez la incorporaremos a las estructuras del lenguaje.

Si (opcion = 1) entonces
Proceso a
Finsi

Si (opcion = 2) entonces
Proceso b
Finsi

Si (opcion = n) entonces
Proceso n
Finsi

En este caso hay una serie de condiciones, si una de ellas se cumple las demás tienen
que ser falsas necesariamente.

EJERCICIO 11, Determine si un número mayor a otro.


INICIO MAYOR(Nombre del Programa) Inicio Programa
Variables num1, num2 ENTERAS Declaración de variables
Imprimir(“Ingrese un número: “) Mensaje de Texto
Imprimir(“Ingrese un número: “) Mensaje de Texto
Si ( num1 > num2 ) Pregunta con Condición
Imprimir(“Primer número mayor al segundo”) Mensaje de Texto
Finsi Fin Condición
FIN MAYOR Fin Programa

num1 num2 (num1 > num2)


8 5 8>5 Verdadero
3 4 3>4 Falso

EJERCICIO 12, Determine si un número es positivo o negativo.


INICIO POSITIVO Inicio Programa
Variables valor1 ENTERA
Imprimir(“Ingrese un numero: “)
leer(valor1)
Si ( valor1 > 0 ) ENTONCES Pregunta con Condición
Imprimir(“El número es positivo”) Respuesta Positiva
Caso Contrario
Imprimir(“El número es negativo”) Respuesta Negativa
Finsi
FIN POSITIVO Fin Programa

valor1 (valor1 > 0) Condición Respuesta


8 8>0 Verdadero
-1 -1 > 0 Falso

22
MANUAL DE PROGRAMACIÓN

EJERCICIO 13, Determine si un número es par o impar.

INICIO PAR
Variables numero ENTERA
Imprimir(“Ingrese un numero: “)
leer(numero)
Si ( (numero % 2) = 0 ) ENTONCES Pregunta con Condición
Imprimir(“El número es par”) Respuesta Positiva
Caso Contrario
Imprimir(“El número es impar”) Respuesta Negativa
Finsi
FIN PAR

Recordemos que el operador % (mod) devuelve el residuo de una división

8 / 2 = 4 9 / 2 = 4
Residuo 0 Residuo 1

numero numero% 2 = 0

8 8 %2=0 Verdadero

9 9 %2=1 Falso

EJERCICIO 14, Ingrese 2 números y realice su división.

INICIO DIVISIÓN
variables a,b,c REALES
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
leer(a,b)
Si b = 0 Entonces
Imprimir(“No existe división por 0”)
Caso contrario
c=a/b
Imprimir(“El resultado es: “ + c)
Finsi
FIN DIVISIÓN

a b b=0 c
8 2 Negativo 4
8 0 Positivo No existe división por 0

23
MANUAL DE PROGRAMACIÓN

EJERCICIO 15, Realice un menú de opciones para sumar y restar 2 números.

INICIO MENÚ
variables a,b,c REALES
variables opc CARÁCTER
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
leer(a,b)
imprimir(“Menú de Opciones”)
imprimir(“1. Suma”)
imprimir(“2. Resta”)
imprimir(“Escoja opción: ”)
leer(opc) Seleccionar menú
Si opc = ’1’ Entonces Primera Opción
c=a+b
Finsi
Si opc = ’2’ Entonces Segunda Opción
c=a-b
Finsi
imprimir(“El resultado es: ”+ c)
FIN MENÚ

a b opc c
8 5 2 8-5=3

EJERCICIO 16, Determine si un número es mayor a 1 y menor a 10.

INICIO OPEY
variables numero REALES
imprimir(“Ingrese un número: “)
leer(numero)
Si ( numero > 1 y numero < 10 ) Entonces Operador Y
imprimir(“Cumple condición)
Caso Contrario
imprimir(“No cumple condición”)
Finsi
FIN OPEY

numero numero > 1 numero < 10


8 8>1 V 8 < 10 V Cumple la condición
11 11 > 1 V 11 < 10 F No Cumple la condición

Para el operador Y, se debe cumplir todas las condiciones para que la respuesta
sea Positiva.

24
MANUAL DE PROGRAMACIÓN

EJERCICIO 17, Determine si un numero es mayor a 0 o menor a 100.


INICIO OPEO
variables numero REALES
imprimir(“Ingrese un número: “)
leer(numero)
Si ( numero > 0 ó numero < 100 ) Entonces Operador Ó
imprimir(“Cumple condición)
Caso Contrario
imprimir(“No cumple condición”)
Finsi
FIN OPEO

numero numero > 1 numero < 10


8 8>1 V 8 < 10 V Cumple la condición
11 11 > 1 V 11 < 10 F Cumple la condición
Para el operador Ó debe cumplir al menos una de las condiciones para que la
respuesta sea Positiva.

EJERCICIO 18, Ingrese un número del 1 al 7 y determine el día de la semana.


INICIO SEMANA
variables num ENTERA
variables dia CADENA
imprimir(“Ingrese un número: “)
leer(num)
Si a = 1 Entonces
dia = “Lunes”
Finsi
Si a = 2 Entonces
dia = “Martes”
Finsi
Si a = 3 Entonces
dia = “Miércoles”
Finsi
Si a = 4 Entonces a dia
dia = “Jueves” 3 Miércoles
Finsi 5 Viernes
Si a = 5 Entonces 9 No registrado
dia = “Viernes”
Finsi
Si a = 6 Entonces
dia = “Sábado”
Finsi
Si a = 7 Entonces
dia = “Domingo”
Finsi
Si ( a <= 0 ó a>7 ) Entonces
dia = “No registrado”
Finsi
imprimir(dia)
FIN SEMANA

25
MANUAL DE PROGRAMACIÓN

OPCIÓN CASO

Este tipo de estructura, nos permite seleccionar entre más de dos posibles alternativas de acción,
el formato de la estructura de selección es:
Caso (opcion)
opcion = 1:
instrucción a
...
instrucción n

opcion = x:
instrucción a

instrucción n
defecto:
instrucción por defecto (no se cumple condiciones)
Fincaso

EJERCICIO 19, Determine si un número es múltiplo de 5.


INICIO MUL5(Nombre del Programa) Inicio Programa
variables numero ENTERAS Declaración de variables
imprimir(“Ingrese un número: “) Mensaje de Texto
leer(numero) Leer variable
Caso(numero%5)
caso 0:
imprimir(“Es múltiplo de 5”) Mensaje de Texto
defecto:
imprimir(“No es múltiplo de 5”) Mensaje de Texto
Fincaso
FIN MUL5

numero caso(numero % 5)
25 caso( 25 % 5 ) = 0 Es múltiplo de 5
29 caso( 29 % 5 ) = 1 No es múltiplo de 5

EJERCICIO 20, Realice un programa que elija un postre.


INICIO POSTRE
variables opc ENTERA
imprimir(“1. Flan”)
imprimir(“2. Pastel”)
imprimir(“Seleccione una opción: “)
leer(opc)
Caso(opc)
caso 1 :
imprimir(“Eligió de postre un Flan”)
caso 2:
imprimir(“Eligió de postre un Pastel”)
defecto:
imprimir(“No eligió postre”)
Fincaso
FIN POSTRE

26
MANUAL DE PROGRAMACIÓN

ITERATIVA TIPO BUCLE (MIENTRAS)

Un bucle MIENTRAS es una estructura cuyo propósito es repetir un bloque de código siempre
y cuando una condición se mantenga verdadera.

A la hora de utilizar un bucle, debemos ir con cuidado y pensar cuando debe acabar ya que si no
tuviéramos en cuenta esto podríamos entrar en un bucle sin fin; es decir que iríamos repitiendo
las mismas líneas teniendo que abortar la aplicación, para poderla finalizar.

Se puede utilizar dentro del bucle MIENTRAS una pregunta SI ó una OPCION CASO.
Mientras (condición)
Mientras (condición) Mientras (condición) Caso (opcion)
Instrucción 1 Si (condición) opcion = 1:
Instrucción 2 Instrucciones Instrucciones
Caso contrario …
… Instrucciones defecto:
Instrucción n Finsi Instrucciones
Contador = Contador +- 1 Contador= Contador +- 1 Fincaso
Finmientras Contador = Contador +- 1
Finmientras Finmientras
De la misma forma se puede combinar los operadores y así como ó.

Mientras (condición1 y condición2) Mientras (condición1 ó condición 2)


Instrucción 1 Instrucción 1
Instrucción 2 Instrucción 2
… …
Instrucción n Instrucción n
Contador = Contador +- 1 Contador = Contador -1
Finmientras Finmientras

El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle
mientras la condición es falsa, no se ejecuta ninguna instrucción.

EJERCICIO 21, Manténgase en un proceso mientras se ingresa la palabra S.

INICIO BUCLE(Nombre del Programa) Inicio Programa


variables opc CARÁCTER Declaración de variables
opc=”S”
Mientras ( opc = ’S’ o opc = ’s’ ) Bucle con Condición
Imprimir(“Desea continuar (S/N) ”) Mensaje de Texto
leer(opc) Leer variable
Finmientras Fin del Bucle
FIN BUCLE Fin Programa

opc opc = ’s’ opc = ‘S’

s Verdadero Sigue en el bucle


S Verdadero Sigue en el bucle
R Falso Sale del bucle

27
MANUAL DE PROGRAMACIÓN

EJERCICIO 22, Realice la Tabla del Multiplicar del 2 hasta n valor ingresado por
teclado.

INICIO TABLA2
variables numero, cont ENTERAS
Imprimir(“Ingrese un número: “)
leer(numero)
cont = 1
imprimir(“Tabla del 2”)
Mientras ( cont <= numero ) Bucle con Condición
imprimir(“2 por ”+ cont + “ es igual a “ + (cont*2))
cont=cont+1 Incrementar
Finmientras
FIN TABLA2

numero cont cont * 2

5 1 V 1<=5 1*2 2 por 1 es igual a 2


2 V 2<=5 2*2 2 por 2 es igual a 4
3 V 3<=5 3*2 2 por 3 es igual a 6
4 V 4<=5 4*2 2 por 4 es igual a 8
5 V 5<=5 5*2 2 por 5 es igual a 10
6 F 6<=5 Sale del bucle

EJERCICIO 23, Obtenga el inverso de un número.

Se utilizará la función entero que obtiene el resultado sin decimales de una división.

INICIO INVERSO Inicio Programa


variables numero, div, res ENTERAS
Imprimir(“Ingrese un número: “)
leer(numero)
div=numero Asignar dato en variable
Mientras ( div > 0) Bucle con Condición
res = entero(div/10)
imprimir(div % 10) Residuo división
div = res
Finmientras
FIN INVERSO

numero div div >0 ( div % 10) res

531 531 531 >0 V ( 531 % 10 ) = 1 entero(531/10) = 53


53 53 >0 V ( 53 % 10 ) = 3 entero(53/10) = 5
5 5 >0 V ( 5 % 10 ) = 5 entero(5/10) = 0

El valor que se imprimirá será: 135

28
MANUAL DE PROGRAMACIÓN

SERIES DE NÚMEROS

Las series de números forman parte de los test o pruebas de razonamiento, consisten en
números que siguen un orden lógico, siguiendo un rango.

Rango

Es la distancia en números que existe entre un valor y otro.

Ascendente

(5 elementos) 2 4 6 8 10

La Distancia entre el primer y segundo elemento es 2.

2+2=4
4+2=6
6+2=8

Descendente

(7 elementos) 50 45 40 35 30 25 20

La Distancia entre el primer y segundo elemento es 5.

50 - 5 = 45
45 - 5 = 40
40 - 5 = 35

Tome en consideración que el rango no es fijo por ejemplo se tiene las siguientes series
de datos:

1 -2 3 -4 5 -6 7 -8

10 2 30 4 50 6 70 8

Difícilmente se podrá encontrar un rango para estas series, por tal motivo se combinarán
las instrucciones selectiva o condicional e iterativa tipo bucle.

Una serie ascendente se mostrar desde el valor más pequeño hacía el valor más
grande, se utilizará una condición menor o igual (<=).

Una serie descendente se mostrar desde el valor más grande hacía el valor más
pequeño, se utilizará una condición mayor o igual (>=).

29
MANUAL DE PROGRAMACIÓN

EJERCICIO 24, Obtenga una serie de los 10 primero números pares.


2 4 6 8 10 12 14 16 18 20 Asc <=

INICIO SERIE PARES


variables cont ENTERA
cont = 1
Mientras ( cont <= 10 ) Límite es 10
imprimir(cont * 2) Imprimir resultado
cont= cont + 1 Incrementar
Finmientras
FIN SERIE PARES
cont cont <= 10 cont * 2

1 1 <= 10 V 1 * 2= 2
2 2 <= 10 V 2 * 2= 4
3 3 <= 10 V 3 * 2= 6
4 4 <= 10 V 4 * 2= 8
5 5 <= 10 V 5 * 2 = 10
6 6 <= 10 V 6 * 2 = 12
7 7 <= 10 V 7 * 2 = 14
8 8 <= 10 V 8 * 2 = 16
9 9 <= 10 V 9 * 2 = 18
10 10 <= 10 V 10 * 2 = 20
11 11 <= 10 F

Otra solución para el programa es:


INICIO SERIE PARES Inicio Programas
variables cont ENTERA
cont = 0
Mientras ( cont <= 20 ) Límite es 20
cont= cont + 2 Incrementar
imprimir(cont) Imprimir resultado
Finmientras
FIN SERIE PARES

cont cont <= 20 cont + 2


0 0 <= 20 V 0 + 2= 2
2 2 <= 20 V 2 + 2= 4
4 4 <= 20 V 4 + 2= 6
6 6 <= 20 V 6 + 2= 8
8 8 <= 20 V 8 + 2 = 10
10 10 <= 20 V 10 + 2 = 12
12 12 <= 20 V 12 + 2 = 14
14 14 <= 20 V 14 + 2 = 16
16 16 <= 20 V 16 + 2 = 18
18 18 <= 20 V 18 + 2 = 20
20 20 <= 20 V 20 + 2 = 22
22 22 <= 20 F

30
MANUAL DE PROGRAMACIÓN

EJERCICIO 25, Decremente un valor hasta llegar a 1.

INICIO DECREMENTAR
variables numero, cont ENTERAS
Imprimir(“Ingrese un número: “)
leer(numero)
Mientras ( numero > 0 ) límite es 0
imprimir(numero) Imprimir resultado
numero= numero – 1 Decrementar el valor de la variable
Finmientras
FIN DECREMENTAR Fin Programa

numero numero > 0 numero - 1

6 6>0 V 6–1=5
5 5>0 V 5–1=4
4 4>0 V 4–1=3
3 3>0 V 3–1=2
2 2>0 V 2–1=1
1 1>0 V 1–1=0
0 0>0 F

EJERCICIO 26, Decremente un valor de 5 en 5.


INICIO DECREMENTAR 1
variables cont,valor ENTERAS
valor = 55
cont = 1
Mientras ( cont <= 10 ) Límite es 10
valor = valor – 5 Decrementar en 5
cont= cont + 1
imprimir(1 + “/” + (valor)) Imprimir resultado
Finmientras
FIN DECREMENTAR 1

cont cont <= 10 valor = valor - 5 cont + 1 1 + “/” +


(valor )
1 1 <= 10 V 55 - 5 = 50 1+1=2 1 / 50
2 2 <= 10 V 50 - 5 = 45 2+1=3 1 / 45
3 3 <= 10 V 45 - 5 = 40 3+1=4 1 / 40
4 4 <= 10 V 40 - 5 = 35 4+1=5 1 / 35
5 5 <= 10 V 35 - 5 = 30 5+1=6 1 / 30
6 6 <= 10 V 30 - 5 = 25 6+1=7 1 / 25
7 7 <= 10 V 25 - 5 = 20 7+1=8 1 / 20
8 8 <= 10 V 20 - 5 = 15 8+1=9 1 / 15
9 9 <= 10 V 15 - 5 = 10 9 + 1 = 10 1 / 10
10 10 <= 10 V 10 - 5 = 5 10 + 1 = 11 1/ 5
11 11 <= 10 F

31
MANUAL DE PROGRAMACIÓN

BUCLE DE CUMPLIMIENTO (PARA)

El ciclo PARA permite la ejecución repetida de un conjunto de acciones o procesos, el


número de veces que el bloque es ejecutado está determinado por los valores que puede
tomar una variable contadora (entera generalmente la letra i como contador).

Después de ejecutar el bloque de acciones en cada acción, la variable contadora es


incrementada o decrementada en 1 o más automáticamente

El formato del bucle de cumplimiento es:

Para (variable = 1 hasta n saltar 1) Para (variable = 1 hasta n retroceder 3)


Instrucción 1 Instrucción 1
Instrucción 2 Instrucción 2
… …
Instrucción n Instrucción n
Siguiente variable (Fin Para) Siguiente variable (Fin Para)

Se puede incluir como en la sentencia anterior una pregunta SI dentro de ella o una
OPCIÓN CASO, todo depende nuevamente de la aplicación realizada.
Para (variable = 1 hasta n retroceder m)
Para (variable = 1 hasta n saltar m) Caso (opcion)
Si ( condición ) opcion = 1:
Instrucciones Instrucciones
Caso Contrario …
Instrucciones defecto:
Finsi Instrucciones
Siguiente variable(Fin Para) Fincaso
Anterior variable(Fin Para)

EJERCICIO 27, Obtenga las serie del 1 al 5 de 1 en 1

INICIO NÚMEROS(Nombre del Programa) Inicio Programa


variables i ENTERA Declaración de variables
Para (i = 1 hasta 5 saltar 1) Bucle Para hasta 5
imprimir(i) Imprimir resultado
Siguiente i Siguiente valor hasta llegar a límite
sumar 1
FIN NÚMEROS Fin Programa

i i <= 5 imprimir(i) siguiente i ( i + 1)

1 1 <= 5 V 1 1+1 =2
2 2 <= 5 V 2 2+1 =3
3 3 <= 5 V 3 3+1 =4
4 4 <= 5 V 4 4+1 =5
5 5 <= 5 V 5 5+1 =6
6 6 <= 5 F Fuera de Límite

32
MANUAL DE PROGRAMACIÓN

EJERCICIO 28, Factorial de un número ingresado por teclado.

Este ejercicio se toma en consideración el concepto de acumulación pues un valor se va


a multiplicar varias veces por tal motivo el acumulador comenzará en 1.

INICIO FACTORIAL(Nombre del Programa) Inicio Programa


variables num, facto REALES Declaración de variables
variables i ENTERAS Declaración de variables
facto = 1 Asignar
Para ( i = 1 hasta 3 saltar 1 ) Bucle Para hasta 3
facto = facto * i Acumulador para multiplicación
Siguiente i Siguiente valor hasta el límite
imprimir(“El Resultado es: ”+ facto) Resultado fuera del bucle Para
FIN FACTORIAL Fin Programa

i i <= 3 numero facto

1 1 <= 3 V 3 1*1 = 1
2 2 <= 3 V 1*2 = 2
3 3 <= 3 V 2*3 = 6
4 4 <= 3 F Fuera de Límite

EJERCICIO 29, Demuestre la multiplicación por sumas sucesivas.

INICIO MULTI Inicio Programa


variables numa, numb REALES
variables res REALES
variables i ENTERA
imprimir(“Ingrese un número: “)
imprimir(“Ingrese un número: “)
leer(numa,numb)
res = 0
Para ( i = 1 hasta numb saltar 1) Bucle Para hasta numb
res = res + numa Sumar sucesivamente variable res
Siguiente i
imprimir(“El Resultado es: ”+ res) Resultado fuera del bucle Para
FIN MULTI Fin Programa
( i + 1)
i numa numb i <= numb res + numa siguiente i

1 4 2 1 <= 2 V 0+4= 4 1+1=2


2 2 <= 2 V 4+4= 8 2+1=3
3 3 <= 2 F Fuera de Límite

33
MANUAL DE PROGRAMACIÓN

EJERCICIO 30, Obtenga n números impares.

INICIO IMPAR Inicio Programa


variables i, res, lim ENTERA
imprimir(“Ingrese un numero: “)
leer(lim)
Para ( i = 1 hasta lim saltar 1) Bucle Para hasta lim
res = (2 * i) – 1 Números impares
imprimir(res)
Siguiente i
FIN IMPAR Fin Programa

i lim i <= lim res siguiente i ( i + 1)

1 4 1 <= 4 V (2*1)-1=1 1+1=2


2 2 <= 4 V (2*2)-1=3 2+1=3
3 3 <= 4 V (2*3)-1=5 3+1=4
4 4 <= 4 V (2*4)-1=7 4+1=5
5 5 <= 4 F Fuera de Límite

EJERCICIO 31, Obtenga la siguiente serie:

20 19 18 17 16

INICIO SERIEATRAS Inicio Programa


variables j ENTERA
Para ( j = 20 hasta 16 retroceder 1) Bucle Para hasta 6
imprimir(j)
Anterior j
FIN SERIEATRAS

j j >= 16 imprimir(j) anterior j (j - 1)

20 20 >= 16 V 20 20 – 1 = 19
19 19 >= 16 V 19 19 – 1 = 18
18 18 >= 16 V 18 18 – 1 = 17
17 17 >= 16 V 17 17 – 1 = 16
16 16 >= 16 V 16 16 – 1 = 15
15 15 >= 16 F Fuera de Límite

34
MANUAL DE PROGRAMACIÓN

Cuestionario

1. ¿Qué es un Pseudocódigo?
__________________________________________________________________
__________________________________________________________________

2. Conteste Verdadero (V) o Falso (F).

¿MIENTRAS es una estructura cuyo propósito es repetir un bloque de código? ( )


¿La instrucción también puede ser utilizada como un menú de opciones? ( )

3. Ingrese dos números por teclado multiplíquelos e imprima el resultado.

4. Una lo correcto.

Entera ’a’

Real 8

Carácter 10.25

5. Realice la siguiente serie

11 22 33 44 55 66 77 88 99 110

35

Você também pode gostar