Académique Documents
Professionnel Documents
Culture Documents
ALGORITMO I
ndice
Introduccin
UNIDAD I
: Conceptos Fundamentales
Captulo 1
: Introduccin a la Algoritmia
Captulo 2
17
Capitulo 3
: Variables y Constantes
25
UNIDAD II
29
Capitulo 1
31
Capitulo 2
: Estructuras Secuenciales
37
UNIDAD III
47
Capitulo 1
49
Capitulo 2
57
Capitulo 3
65
Capitulo 4
73
Capitulo 5
: Estructuras Selectivas
83
UNIDAD IV
: Estructuras Repetitivas
91
Capitulo 1
93
Capitulo 2
103
Capitulo 3
111
UNIDAD V
SUBPROGRAMAS
117
Capitulo 1
Uso de Procedimientos
119
Capitulo 2
Uso de Funciones
129
FITT
UTP
PRESENTACION
UTP
UNIDAD I
Conceptos
Fundamentales
FITT
UTP
UNIDAD I
CAPITULO I
INTRODUCCION A LA ALGORITMICA
OBJETIVOS ESPECFICOS
1. Introduccin a la Algoritmica.
2. Conceptualizar el Algoritmo y definir las caracteristicas
3. Como elaboramos un Algoritmo
CONTENIDOS
Algortmica: Resolucin y pasos para resolver un problemas.
Definicin de un Algoritmo
Caracterstica del Algoritmo
Pasos para realizar un Algoritmo
Ejercicios Prcticos
UTP
ALGORITMOS
Un algoritmo es un procedimiento a seguir, para resolver un problema en
trminos de:
1. Las acciones por ejecutar y el
2. El orden en que dichas acciones deben ejecutarse
Un algoritmo nace en respuesta a la aparicin de un determinado problema.
Una algoritmo esta compuesto de una serie finita de pasos que convergen en la
solucin de un problema, pero adems estos pasos tienen un orden especfico.
Entenderemos como problema a cualquier accin o evento que necesite cierto
grado de anlisis, desde la simpleza de cepillarse los dientes hasta la
complejidad del ensamblado de un automvil. En general, cualquier problema
puede ser solucionado utilizando un algoritmo, en este sentido podemos utilizar
los algoritmos para resolver problemas de computo.
Un algoritmo para un programador es una herramienta que le permite resaltar
los aspectos ms importantes de una situacin y descartar los menos
relevantes. Todo problema de cmputo se puede resolver ejecutando una serie
de acciones en un orden especfico.
Por ejemplo considere el algoritmo que se elaborara para el problema o
situacin de levantarse todas las maanas para ir al trabajo:
1.
2.
3.
4.
5.
6.
Salir de la cama
quitarse el pijama
ducharse
vestirse
desayunar
arrancar el automvil para ir al trabajo o tomar transporte.
ROBUSTEZ DE UN ALGORITMO
Quiere decir que un algoritmo debe contemplar todas las posibles facetas del
problema que queremos resolver, al elaborar un algoritmo no se nos debe
FITT
UTP
Esta fase est dada por el enunciado del problema, el cual requiere una
definicin clara y precisa. Es importante que se conozca lo que se desea que
realice la computadora; mientras esto no se conozca del todo no tiene mucho
caso continuar con la siguiente etapa.
ANLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es
necesario definir:
o
o
o
UTP
DEFINICION DE UN ALGORITMO
El Algoritmo es una secuencia de pasos lgicos necesarios para llevar a cabo
una tarea especifica, como la solucin de un problema.
En cada problema el algoritmo se puede expresar en un lenguaje diferente de
programacin y ejecutarse en una computadora distinta; sin embargo el
algoritmo ser siempre el mismo.
CARACTERISTICAS DE UN ALGORITMO
Las caractersticas del algoritmo son:
Debe ser preciso e indicar el orden de realizacin de cada paso.
Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
Ser finito. Se debe terminar en algn momento; o sea debe de tener un
nmero finito de pasos.
ESTRUCTURA DE UN ALGORITMO
FITT
UTP
EJERCICIOS RESUELTOS
1. Defina un algoritmo para realizar una llamada
UTP
10
INICIO
1. Acercarse al Telfono
2. Levantar el Auricular
3. Recordar el Nmero telefnico
4. Discar el Nmero
5. Esperar que respondan
6. Conversar
7. Colgar el Auricular
FIN
2. Defina un algoritmo para cambiar bombilla
INICIO
1. Colocar una escalera debajo de la bombilla
2. Subir la escalera
3. Desenroscar la bombilla
4. Bajar la escalera
5. Coger la bombilla nueva
6. Subir la escalera
7. Enroscar la bombilla
8. Bajar la escalera
9. Retirar la escalera
FIN
3. Defina un Algoritmo para cambiar una Llanta
INICIO
1. Bajarse del Auto
2. Abrir la cajuela, sacar la gata y la llave
3. Colocar la gata y levantar el auto
4. Destornillar los pernos
5. Sacar la llanta
6. Sacar la llanta de repuesto
7. Colocar la llanta de repuesto
8. Enroscar los pernos
9. Bajar el auto
10. Guardar la llanta, la gata y la llave
4. Defina un Algoritmo para escuchar musica en un CD
INICIO
1. Encender la Radio
FITT
UTP
11
EJERCICIOS PROPUESTOS
1. Defina un Algoritmo donde permita encender una computadora
para Chatear
2. Defina un Algoritmo donde permita ir al Cine y regresar a casa.
3. Defina un Algoritmo donde permita realizar una Matricula en la
institucin.
4. Defina un Algoritmo que permita ver un determinado programa de
televisin y al terminar apagar la TV.
5. Defina un Algoritmo que permita Elaborar el Arroz con pollo,
Sugerencia: conversar con la Mama.
6. Defina un Algoritmo que permita Pintar las paredes de tu
habitacin.
7. Defina un Algoritmo que permita realizar una compra al credito en
una empresa comercial.
8. Defina un Algoritmo que permita tener una Consulta Medica de
un consultorio particular.
9. Defina un Algoritmo que permita Ir a un Fiesta de fin de ao y
regresar a casa.
UTP
12
Capitulo
FITT
UTP
13
DEFINICION DE DATOS
1. Un dato es la expresin general que describe los objetos con los cuales
opera una computadora.
2. Existen dos tipos de datos: simples (sin estructuras) y compuestos
(estructurados), los datos compuestos son conjuntos de partidas de datos
simples con relaciones definidas entre ellos.
3. Los datos simples son: numricos, lgicos y carcter.
DATOS NUMERICOS
1. Es el conjunto de los valores numricos y puede ser expresado como
numrico entero y numrico real.
2. Los enteros no tienen componentes fraccionarias o decimales y pueden ser
negativos o positivos. Los reales siempre tienen un punto decimal.
DATOS LOGICOS
1. Tambin llamados booleanos, es aquel que solo puede tomar uno de
dos valores: verdadero (true) o falso (false).
2. Se utiliza para representar las alternativas (si/no) a determinadas
condiciones.
DATOS CARACTER
1. Este tipo de dato contiene un solo carcter.
2. Los caracteres son: alfabticos (A-Z), numricos (0-9) y especiales ( @
# $ % ^ & *).
3. Una cadena de caracteres o string es una sucesin de caracteres que
se encuentran delimitados por una o dobles comillas.
UTP
14
EJERCICIOS PRACTICOS
En cada uno de los datos, defina su Tipo de dato.
Datos
Tipo
Hola
123
Quin eres?
Verdadero
El Sabio
Falso
12.56
12/15
True
EL Quijote
56.8999999
Alo!
Persona
Juan
MANEJO DE OPERADORES
DEFINICION
Un operador es un carcter o grupo de caracteres que acta sobre una,
dos o ms variables para realizar una determinada operacin con un
determinado resultado. Ejemplos tpicos de operadores son la suma (+),
la diferencia (-), el producto (*), etc.
Un operador sirve para manipular datos.
Los operadores pueden ser unarios, binarios y ternarios, segn acten
sobre uno, dos o tres operandos, respectivamente.
TIPOS DE OPERADORES
Aritmticos
De relacin,
Lgicos,
De asignacin,
FITT
UTP
15
OPERADORES ARITMETICOS
Los operadores aritmticos son los ms sencillos de entender y de utilizar.
Todos ellos son operadores binarios.
Se utilizan los operadores siguientes:
OPERADOR
SIGNIFICADO
SUMAR
RESTAR
MULTIPLICAR
DIV
DIVISION ENTERA
DIVISION REAL
MOD, %
RESTO ARTIMETICO
POTENCIACION
OPERADORES RELACIONALES
Una caracterstica imprescindible de cualquier lenguaje de programacin es
la de considerar alternativas, esto es, la de proceder de un modo u otro
segn se cumplan o no ciertas condiciones.
Los operadores relacionales permiten estudiar si se cumplen o no esas
condiciones.
En un programa si una condicin se cumple, el resultado es cierto; en caso
contrario, el resultado es falso.
Los operadores relacionales son los siguientes
OPERADOR
SIGNIFICADO
>
MAYOR
<
MENOR
>=
MAYOR o IGUAL
<=
MENOR o IGUAL
IGUAL
<>
DIFERENTE
UTP
16
OPERADORES LOGICOS
Los operadores lgicos son operadores binarios que permiten combinar
los resultados de los operadores relacionales, comprobando que se
cumplen las condiciones necesarias.
OPERADOR
SIGNIFICADO
CONJUNCION
DISYUNCION
NO
NEGACION
Observe la tabla
OPERADORES DE ASIGNACION
Los operadores de asignacin atribuyen a una variable, es decir,
depositan en su zona de memoria correspondiente, el resultado de una
expresin o el valor de la variable (en realidad, una variable es un caso
particular de una expresin).
El operador de asignacin ms utilizado es el operador es . Su forma
general es:
nombre_variable expresin;
Primero se evala expresin y el resultado se pone en nombre_variable,
sustituyendo cualquier otro valor que hubiera en esa posicin de
memoria anteriormente.
OPERADOR
SIGNIFICADO
ASIGNAR
()
AGRUPAR
FITT
UTP
17
PRIORIDAD
() []
Signos de Agrupacin
Potencia
*, /, %
Producto y Divisin
+, -
Suma y Resta
Operador lgico y
Operador lgico O
NO
>,>=,<,<=,=,<>
Operador de relacin
EXPRESIONES
DEFINICION
Es una combinacin de distintas variables, constantes, operadores y
parntesis.
Tiene un valor concreto que es el resultado de evaluarla de izquierda a
derecha.
El valor devuelto tras la evaluacin de una expresin determina el tipo
de la expresin (entera, lgica )
Ejemplo
UTP
18
Sentencias
Las expresiones son tems elementales de unas entidades que son las
sentencias. Si nos fijamos en la expresin anterior, la variable que est a
la izquierda del signo (=), el operador de asignacin, la expresin
aritmtica y el carcter (;) constituyen una sentencia.
Las sentencias son unidades completas, ejecutables en s mismas. Ya
se ver que muchos tipos de sentencias incorporan expresiones
aritmticas, lgicas o generales como componentes de dichas
sentencias.
EJERCICIOS PROPUESTOS
DESARROLLE LAS SIGUIENTES EXPRESIONES RETORNANDO SU
VALOR
1. (15 + ( 12 * 2 ) / 4 ) + ( 30 MOD 7) * 5
2. (12 < 15) OR (15>= ( 3 * 5 ) )
3. (15 > 12) Y (65 MOD 3 <=1) OR (10<>2 * 5)
4. 21 + ( 15 + 20 MOD 9 ) DIV 3
5. Sea: a = 10 b = 12 c = 13 d =10
Desarrolle los siguientes Ejercicios
(( a > b ) OR (a < c)) AND (( a = c ) OR (a >= b ))
(( a > b ) OR (a < d)) AND (( a >= d ) AND (c > d ))
NOT ( a = c ) AND ( c > b )
(( c > d ) OR ( b < c) AND ( a >= d )) AND ( a = c )
6. ( 12 + ( 21 MOD 8 ) * (70 DIV 12) ) * ( 60 MOD 11 )
7. ( ( 12 > 6) AND NOT ( 6<>9 MOD 2) ) AND (3 <> 7 MOD 4)
8. ( 12 < 9 MOD 6 ) AND ( 9 = 3 * 3 ) OR ( 6 > 15 MOD 4 )
FITT
UTP
19
Capitulo
VARIABLES Y CONSTANTES
OBJETIVOS ESPECFICOS
1. Conocer el manejo de Variables y Constantes para ser aplicados dentro de
una Algoritmica
2. Definir las expresiones
CONTENIDOS
Variables, definicin
Identificacion de una Variable
Declaracion de una Variable
Constantes
Ejercicios Prcticos
UTP
20
VARIABLES
Definicin
Es un espacio en la memoria de la computadora que permite
almacenar temporalmente un dato durante la ejecucin de un
proceso, su contenido puede cambiar durante la ejecucin del
programa.
Para poder reconocer una variable en la memoria de la computadora,
es necesario darle un nombre con el cual podamos identificarla
dentro de un algoritmo.
Su valor puede ser modificado, pero en un instante dado slo
contiene un valor determinado.
Declaracin
Las variables pueden asumir valores numricos, caracter y lgicos.
Existen 2 tipos de duracin o mbito de las variables, estas son
(GLOBAL Y LOCAL).
o Las variables globales se pueden utilizar en cualquier parte del
Algoritmo.
o Las variables locales son dentro de un sub-programa
(Procedimiento o Funcin).
Ejemplos
DECLARACION
FITT
ABC
VALIDO
A123
VALIDO
1A2B
NO VALIDO
_MiVariable
VALIDO
Mi_Variable
VALIDO
Mi_123456
VALIDO
_1_2_3
VALIDO
Mi@Variable
NO VALIDO
UTP
21
Declaracin
Para declarar variables en un algoritmo se hace uso de la siguiente
sintaxis :
Tipo_Dato: Lista_variables
Ejemplos:
ENTERO: A, B, C
REAL:
X, Y, Z
CARCTER: Car1, Car2
CADENA
:
Texto1, Texto2
LOGICO:
Estado, Ok, Done
CONSTANTES
Definicin
Objeto de datos que contiene un valor invariable conocido por su
identificador.
Es necesario inicializar las constantes al principio del algoritmo. Esto
determina el tipo de la constante
Ejemplos
PI=3.14
SALUDO=Hola mundo
MAXIMO=500
RESPUESTA=S
UTP
22
UNIDAD II
Estructuras
Basicas y
Secuenciales
FITT
UTP
23
Capitulo
ESTRUCTURAS BASICAS
OBJETIVOS ESPECFICOS
Reconoce la estructura del algoritmo.
Manejo de las instrucciones para la entrada, proceso y salida de datos.
Comprende el manejo de las estructuras secuenciales en los procesos
algortmicos.
CONTENIDOS
Estructura del algoritmo
Instrucciones para la entrada, proceso y salida de datos
Estructura de control, tipos
UTP
24
ALGORITMO
La palabra algoritmo se deriva de la traduccin al latn de la palabra
rabe alkhowarizmi, nombre de un matemtico y astrnomo rabe que
escribi un tratado sobre manipulacin de nmeros y ecuaciones en el
siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso
que se debe seguir, para dar solucin a un problema especfico.
Un algoritmo tambien se le puede definir como:
o Una "frmula" para resolver un problema.
o Un conjunto finito de acciones o secuencia de operaciones que
ejecutadas en un determinado orden resuelven el problema.
o Tambin puede definirse como un mtodo para resolver un
problema mediante una serie finita de pasos precisos y bien
definidos.
Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos
para definir los pasos del proceso.
Lenguajes Algoritmicos
Es una serie de smbolos y reglas que se utilizan para describir de manera
explcita un proceso. De los cuales se encuentran los siguientes tipos de
Lenguajes Algortmicos:
FITT
UTP
25
Diagrama de Flujo
Un diagrama de flujo es la representacin grfica
de un algoritmo.
Tambin se puede decir que es la
representacin detallada en forma grfica de
como deben realizarse los pasos en la
computadora para producir resultados.
Esta representacin grfica se da cuando varios
smbolos (que indican diferentes procesos en la
computadora), se relacionan entre si mediante
lneas que indican el orden en que se deben
ejecutar los procesos.
Los smbolos utilizados han sido normalizados
por el instituto norteamericano de normalizacin
(ANSI).
Recomendaciones para el diseo de Diagramas de Flujo
Se deben se usar solamente lneas de flujos horizontales y/o verticales.
Se debe evitar el cruce de lneas utilizando los conectores.
Se deben usar conectores solo cuando sea necesario.
No deben quedar lneas de flujo son conectar.
Se deben trazar los smbolos de manera que se puedan leer de arriba
hacia abajo y de izquierda a derecha.
Todo texto escrito dentro de un smbolo deber ser escrito claramente,
evitando el uso de muchas palabras.
Pseudocodigo
Mezcla de lenguaje de programacin y espaol (o ingles o cualquier otro
idioma) que se emplea, dentro de la programacin estructurada, para
realizar el diseo de un programa.
En esencial, el pseudocodigo se puede definir como un lenguaje de
especificaciones de algoritmos. Es la representacin narrativa de los
pasos que debe seguir un algoritmo para dar solucin a un problema
determinado. El pseudocodigo utiliza palabras que indican el proceso a
realizar.
INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FIN SI
ESCRIBA fin del algoritmo
FIN
UTP
26
Estructuras Algortmicas
Las estructuras de operacin de programas son un grupo de formas de trabajo,
que permiten, mediante la manipulacin de variables, realizar ciertos procesos
especficos que nos lleven a la solucin de problemas. Estas estructuras se
clasifican de acuerdo con su complejidad en:
FITT
UTP
27
Estructura
ALGORITMO Nombre_Descriptivo
Variables:
INICIO
FIN
Instrucciones
y/o
Sentencias
Sentencias Declarativas
Cabecera del Programa
Declaracin de Variables
Sentencias Ejecutables
Entrada de Datos
Operaciones y Clculos
Salida de Resultados
UTP
Algoritmo CalculaArea
VARIABLE
Real: Radio, A
INICIO
Leer Radio
A 3.14* Radio 2
Escribir A
FIN
28
FITT
UTP
29
Capitulo
ESTRUCTURAS SECUENCIALES
OBJETIVOS ESPECFICOS
Reconoce la estructura Secuencial
Comprende el manejo de las estructuras secuenciales en los procesos
algortmicos.
CONTENIDOS
Estructura Secuencial
Definicin
Estructura
Desarrollo Practico
UTP
30
ESTRUCTURA SECUENCIAL
DEFINICION
La estructura secuencial es aquella en la que una accin (instruccin)
sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es la entrada de
la siguiente y as sucesivamente hasta el fin del proceso.
Una Estructura Secuencial se representa de la siguiente forma:
DIAGRAMA DE FLUJO
PSEUDOCODIGO
FITT
UTP
31
UTP
32
EJERCICIOS RESUELTOS
1. Ingrese un nmero entero, luego smele 2 unidades y visualcelo.
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A
INICIO
LEER (A)
A A + 2
ESCRIBIR (A)
FIN
FITT
UTP
33
UTP
34
6. Ingrese por teclado el nombre del cliente y el costo de una PC; por estar de
promocion la empresa, se aplicar un descuento del 15% del costo, donde el
neto es la diferencia del costo menos el descuento. Aplique el 19% del neto
donde el monto a pagar es la suma del neto mas igv. Visualice el descuento,
neto, igv y el monto a pagar.
ALGORITMO Ejemplo6
VARIABLES
REAL
Costo, Descuento, Neto, IGV, Monto, Pago
CADENA
Nombre
INICIO
LEER (Nombre, Costo)
Descuento 0.15 * Costo
Neto Costo Descuento
IGV 0.19 * Neto
Pagar Neto + IGV
ESCRIBIR (Descuento, Neto, IGV, Pagar)
FIN
7. En este verano un instituto educativo ha ingresado una cantidad de N
alumnos matriculados en el programa de Computacin e Informatica, si los
alumnos son agrupadas en aulas de 40 alumnos cada aula, Hallar:
Numero de aulas completas
Cantidad de alumnos que faltan para completar otra aula
ALGORITMO Ejemplo7
VARIABLES
ENTERO
Matriculas, Aulas, Falta
INICIO
LEER (matriculas)
Aula Matriculas DIV 40
Falta Matricula MOD 40
ESCRIBIR (Aula, Matricula)
FIN
8. Ingrese por teclado un Nmero de 3 cifras, visualice la suma de las cifras del
nmero ingresado.
ALGORITMO Ejemplo8
VARIABLES
ENTERO
Numero, Unidad, Decena, Suma
INICIO
LEER (Numero)
Unidad Numero MOD 10
Decena (Numero DIV 10) MOD 10
Centena NUMERO DIV 100
Suma Unidad + Decena + Centena
ESCRIBIR (Suma)
FIN
FITT
UTP
35
Del total a pagar deber pagar el impuesto a las Ventas que representa el 19%
del Monto Total, calcule y visualice el Monto Total a Pagar.
ALGORITMO Ejemplo9
VARIABLES
REAL
Cubicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar
INICIO
LEER (Cubicos)
Monto 0.35 * Cubicos
Mant Monto * 0.25 /100
PJ Monto * 0.15 / 100
Explor Monto * 0.05 / 100
Limp Monto * 0.07 / 100
Monto Monto + Mant + PJ + Explor + Limp
IGV Monto * 0.19
Pagar Monto + IGV
ESCRIBIR (Mantenimiento:, Mant)
ESCRIBIR (Parques y Jardines:, PJ)
ESCRIBIR (Exploracion:, Explor)
ESCRIBIR (Limpieza:, Limp)
ESCRIBIR (Monto:, Monto)
ESCRIBIR (IGV:, IGV)
ESCRIBIR (A Pagar:, Pagar)
FIN
10. Una Empresa dedicada a la Venta de Electrodomesticos, realiza una
promocion del 20% + 15% de descuento. Ingrese el precio de un
electrodomestico, calcule y visualice su descuento y el neto a pagar.
ALGORITMO Ejemplo10
VARIABLES
REAL
Precio, Descuento1, Descuento2, Neto
INICIO
LEER (Precio)
Descuento1 (Precio * 0.20)
Descuento2 (Precio Descuento1) * 0.15
Neto Precio (Descuento1 + Descuento2)
ESCRIBIR ((Descuento1+Descuento2), Neto)
FIN
UTP
36
EJERCICIOS PROPUESTOS
1. Ingrese por teclado un nmero, calcule y visualice:
a) El doble del nmero ingresado
b) La tercera parte del nmero ingresado
c) El cubo del nmero ingresado
2. Ingrese por teclado la cantidad de metros de un telar. Transformar los metros
a centmetros y pulgadas, sabiendo que una pulgada es el equivalente a 2.54
centimetros.
3. Ingrese por teclado la descripcin y precio de un producto, actualizar el
preceio de la siguiente manera:
a) Incremente el precio al 35% del precio ingresado.
b) El nuevo precio es la suma del precio inicial mas el incremento
4. Ingrese por teclado el nombre del producto, el precio unitario y la cantidad
vendida, calcule y visualice:
a) El importe de la compra que es el producto del precio por la cantidad
vendida.
b) El IGV que representa el 19% del importe de la compra
c) El importe final que es la suma del importe de la compra mas el IGV
5. Ingrese por teclado un nmero de tres cifras, calcule y visualice:
a) Suma de sus cifras
b) Promedio de las cifras
6. Ingrese por teclado un numero de dos cifras, mostrar el numero pero en
sentido inverso.
7. Se desea repartir cierto monto de dinero entre tres personas que conforman
una empresa; obtener el monto que le corresponde a cada persona si la
reparticin se basa en la cantidad de acciones que posee cada socio:
Socio
A
B
C
% Acciones
35%
45%
20%
Ingrese por teclado el monto de dinero, visualice el importe que recibir cada
uno de los accionistas.
8. Desarrolle un algoritmo para la compaa telefonica que permite mostrar el
pago por consumo telefonico, para esto se ingresar el codigo del usuario, el
numero telefonico y la cantidad de minutos utilizados.
Mostrar el codigo del usuario, el importe de las llamadas realizadas, el IGV y el
pago total, considerando que la empresa cobra 0.30 centimos de nuevo sol por
cada minuto, la renta basica cobra 48 nuevos soles y el IGV es el 19% del
Monto.
FITT
UTP
37
UTP
38
UNIDAD III
Estructuras
Condicionales y
Selectivas
FITT
UTP
UTP
39
40
Captulo
ESTRUCTURAS
CONDICIONALES SIMPLES
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales
Realiza la solucin de diversos casos prcticos aplicando estructuras
condicionales
CONTENIDOS
Definicin de estructuras condicionales
Clasificacin
Estructura condicional simple
Definicin
Sintaxis
Desarrollo Practico
FITT
UTP
41
ESTRUCTURAS CONDICIONALES
DEFINICION
Las Estructuras Condicionales tambin reciben el nombre de estructuras de
seleccin, permite elegir entre diferentes cursos de accin en funcin de
condiciones.
Las estructuras condicionales comparan una variable contra otro(s) valor (es),
para que en base al resultado de esta comparacin, se siga un curso de accin
dentro del programa. Cabe mencionar que la comparacin se puede hacer
contra otra variable o contra una constante, segn se necesite.
En una Estructura Condicional se evala una expresin lgica y dependiendo
del resultado se ejecutan unas sentencias u otras.
Pongamos un pequeo ejemplo. Imagine que tenemos nuestro robot subiendo
las escaleras de la Torre Eiffel y le indicamos lo siguiente: si est en el escaln
200 entonces no contine subiendo, sino continua su ascensin. Como puede
ver aqu se nos presenta una condicin y, segn en el punto de la escalera en
la que se encuentre, nuestro robot se parar o continuar subiendo.
Si la condicin es verdadera, entonces se ejecuta la sentencia mostrar, y luego
el programa continuara; si la condicin es falsa, la sentencia mostrar se ignora
y el programa contina.
UTP
42
CLASIFICACION
Las estructuras condicionales o selectivas se clasifican en:
1. Condicional Simple (SI / FIN-SI)
2. Condicional Doble (SI / SINO / FIN-SI)
3. Condicional Anidada (Similar a Condicional Doble)
4. Condicional Mltiple (EN_CASO / FIN-EN_CASO)
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCODIGO
FITT
UTP
43
EJERCICIOS RESUELTOS
1. Ingrese por teclado 2 nmeros enteros y visualice el mayor de los 2 nmeros
ingresados.
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A, B, Mayor
INICIO
LEER ( A, B )
Mayor A
SI ( B > A )ENTONCES
Mayor B
FIN-SI
ESCRIBIR ( Mayor )
FIN
edad
INICIO
LEER (edad)
SI (edad > 17) ENTONCES
ESCRIBIR Es mayor de edad
FIN-SI
FIN
UTP
44
talla
INICIO
LEER (talla)
SI (talla>=1.70) ENTONCES
ESCRIBIR Servicio Obligatorio
FIN-SI
FIN
5. Una empresa otorga un bonificacin del 5% del haber bsico solo a sus
trabajadores que tienen hijos, calcular el total a pagar a un trabajador.
ALGORITMO Ejemplo5
VARIABLES
ENTERO: NroHijos
REAL: Hbasico, Bonificacion, Total
INICIO
LEER (Hbasico, NroHijos)
Bonificacion 0
SI ( NroHijos > 0 ) ENTONCES
Bonificacion Hbasico * 0.05 * NroHijos
FIN-SI
Total Hbasico + Bonificacion
ESCRIBIR ( Total )
FIN
6. Una empresa otorga un bonificacin del 5% del haber bsico solo a sus
trabajadores que tienen hijos, calcular el total a pagar a un trabajador.
ALGORITMO Ejemplo6
VARIABLES
ENTERO: NroHijos
REAL: Hbasico, Bonificacion, Total
INICIO
LEER (Hbasico, NroHijos)
Bonificacion 0
SI ( NroHijos > 0 ) ENTONCES
Bonificacion Hbasico * 0.05 * NroHijos
FIN-SI
Total Hbasico + Bonificacion
ESCRIBIR ( Total )
FIN
FITT
UTP
45
7. Una empresa otorga un bonificacin del 5% del haber bsico solo a sus
trabajadores que tienen hijos, calcular el total a pagar a un trabajador.
ALGORITMO Ejemplo7
VARIABLES
ENTERO: NroHijos
REAL: Hbasico, Bonificacion, Total
INICIO
LEER (Hbasico, NroHijos)
Bonificacion 0
SI (NroHijos > 0) ENTONCES
Bonificacion Hbasico * 0.05 * NroHijos
FIN-SI
Total Hbasico + Bonificacion
ESCRIBIR (Total)
FIN
EJERCICIOS PROPUESTOS
1. Ingrese por teclado 2 nmeros enteros y visualice el menor de los 2
nmeros ingresados.
2. Ingrese por teclado un nmero entero visualice el cuadrado del numero, si
el numero es mayor a 10 y menor a 50.
3. Ingrese por teclado la edad y talla de una dama, visualice un mensaje
Postulante a la Escuela de Oficiales, si su edad minima es 17 y su talla
minima es 1.65 metros.
4. Ingrese po teclado el puntaje de un alumno que ha postulado a la
Universidad, visualice un mensaje Alumno Ingresado si el puntaje obtenido
es mayor a 500.
5. Ingrese por teclado el sueldo de un empleado, si el sueldo es mayor a 1800,
se le aplicar un descuento del 15% del excedente de su sueldo respecto a
1800, visualice el descuento.
6. Ingrese por teclado la descripcin y precio de un accesorio de computadora;
se le aplicar un descuento del 5% al precio si el accesorio es Monitor o
Teclado. Visualice el descuento y el nuevo precio
7. Ingrese por teclado un nmero, si es numero par, duplique el valor del
numero; mostrar el nuevo valor.
8. Ingrese por teclado un numero, si es de 3 cifras, visualice la suma de las
cifras del nmero.
UTP
46
9. Ingrese por teclado el nombre del curso y su precio; si el nombre del curso
es Networking, se le aplicar un descuento del 15% al precio, visualice el
descuento y el nuevo precio
10. Ingrese por teclado el ao de nacimiento de una persona, visualice un
mensaje Es mayor de edad, si su edad es mayor o igual a 18.
11. Ingrese por teclado dos notas, calcule su promedio sabiendo que la
segunda nota es peso doble; visualice un mensaje Aprobado, si su
promedio es mayor o igual a 11
12. Ingrese por teclado un nmero, si el nmero es impar y de tres cifras,
visualice el nmero incrementado por su nmero invertido.
13. Ingrese por teclado el nombre, precio y la cantidad de productos a vender,
calcule el monto de la venta. Se aplicar un descuento del 35% de su
precio por la compra de 20 unidades. Visualice el descuento y el neto.
FITT
UTP
47
Captulo
ESTRUCTURAS
CONDICIONALES DOBLES
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales dobles
Realiza la solucin de diversos casos prcticos aplicando estructuras
condicionales
CONTENIDOS
Estructura condicional doble
Definicin
Sintaxis
Desarrollo Practico
UTP
48
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCODIGO
True
False
FITT
UTP
49
Donde:
Si
Condicin
Entonces
Instruccin
si no
EJERCICIOS RESUELTOS
1. Ingrese por teclado 2 numeros, visualice el mayor de los dos numeros
ingresados.
ALGORITMO Ejemplo1
VARIABLES
ENTERO:
A, B
INICIO
LEER(A, B)
SI ( A > B )ENTONCES
ESCRIBIR (A)
SINO
ESCRIBIR (B)
FIN-SI
FIN
UTP
50
FITT
UTP
51
ALGORITMO Ejemplo6
VARIABLES
REAL:
Vcompra, Descuento, Recargo, Total
CARCTER: TipoPago
INICIO
LEER (Vcompra, TipoPago)
Descuento 0 : Recargo 0
SI (TipoPago = C ) ENTONCES
Descuento Vcompra * 0.03
SINO
Recargo Vcompra * 0.05
FIN-SI
Total Vcompra Descuento + Recargo
ESCRIBIR (Total)
FIN
UTP
52
ALGORITMO Ejemplo8
VARIABLES
REAL:
Precio, Descuento, Neto
INICIO
LEER (Precio)
Descuento 0
SI (Precio>=1000) ENTONCES
Descuento Precio * 0.10
SINO
Descuento Precio * 0.03
FIN-SI
Neto Precio Descuento
ESCRIBIR (Descuento, Neto)
FIN
EJERCICIOS PROPUESTOS
1. Ingrese por teclado 2 notas, visualice el mayor de las dos notas y si esa
nota es aprobatoria o no (notas de 0-20).
2. Ingrese por teclado la edad de una persona, visualice un mensaje:
a. Mayor de Edad, si la edad es minimo 18
b. Menor de Edad, si la edad es menor a 18
3. Ingrese por teclado un nmero de dos cifras, visualice un mensaje si es
nmero es o no capica.
FITT
UTP
53
4. Ingrese por teclado dos numeros, visualice el menor de los dos numeros
ingresados.
5. Ingrese por teclado tres nmeros diferentes, visualice:
a) Mayor de los tres nmeros
b) Menor de los tres nmeros
6. Ingrese por teclado tres numeros entreros diferentes, visualice el segundo
mayor numero.
7. Ingrese por teclado el precio de un articulo y el tipo de pago, si el tipo de
pago es CONTADO se le aplicar un descuento del 5%, sino no se le
aplicar descuento; visualice el descuento y el nuevo precio.
8. Ingrese por teclado el nombre de un alumno y sus tres notas, calcule y
visualice su promedio; si el promedio es menor a 11, deber ingresar la nota
sustitutoria que reemplazara a la nota mas baja; calcule y visualice su
promedio.
9. Ingrese por teclado el precio de un artculo, si el precio es menor a 100, se
le aplicar un descuento del 3% sobre el precio, sino, se le aplicar un
descuento del 10% sobre el precio. Visualice el descuento y el nuevo precio
10. Ingrese por teclado el nombre de un obrero y sus horas trabajadas, el pado
que recibe por cada hora es de 15 nuevos soles. Su jornal es el producto
del pago por hora y las horas trabajadas; si trabaja ms de 40 horas, por
cada hora extra trabajada, se le pagar 25 nuevos soles. Visualice el jornal
que recibi.
UTP
54
Captulo
ESTRUCTURAS
CONDICIONALES MULTIPLES
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales multiples
Realiza la solucin de diversos casos prcticos aplicando estructuras
condicionales
CONTENIDOS
Estructura condicional multiple
Definicin
Sintaxis
Desarrollo Practico
FITT
UTP
55
SINTAXIS
DIAGRAMA DE FLUJO
UTP
56
PSEUDOCODIGO
EJERCICIOS RESUELTOS
1. Ingrese 3 nmeros enteros y visualice el mayor de los 3 nmeros
ingresados.
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A, B, C, Mayor
INICIO
LEER( A, B, C)
SI( A>B AND A>C ) ENTONCES
Mayor A
SINO SI( B>A AND B>C ) ENTONCES
Mayor B
SINO
Mayor C
FIN-SI
ESCRIBIR( Mayor )
FIN
FITT
UTP
57
INICIO
LEER( N )
SI ( N < 10) ENTONCES
N N + 10
SINO SI ( N <= 20) ENTONCES
N N *20
SINO
NN*N
FIN-SI
ESCRIBIR ( N )
FIN
UTP
58
CATEGORA
Excelente
Bueno
Regular
Malo
ALGORITMO Ejemplo4
VARIABLES
CADENA: Categoria
ENTERO: nota
INICIO
LEER (nota)
SI (nota<=10) ENTONCES
Categoria Malo
SINO SI (nota<=14) ENTONCES
Categoria Regular
SINO SI (nota<=17) ENTONCES
Categoria Bueno
SINO
Categoria Excelente
FIN-SI
ESCRIBIR (Categoria)
FIN
5) Una persona est a punto de ver televisin, mostrar si segn su edad esta
apto para ver el programa televisivo.
EDAD
18 -ms
14 -17
0 13
CATEGORA
Contenido para adultos
Mayores de 14
apt
ALGORITMO Ejemplo4
VARIABLES
ENTERO: edad
INICIO
LEER (edad
SI (nota<=13) ENTONCES
ESCRIBIR (apt)
SINO SI (nota<=17) ENTONCES
ESCRIBIR (Mayores de 14)
SINO
ESCRIBIR (Contenido para Adultos)
FIN-SI
FIN
FITT
UTP
59
EJERCICIOS PROPUESTOS
1. En una oficina de empleos categorizar a los postulantes en funcin al sexo y
la edad de acuerdo a lo siguiente:
Si la persona es de sexo femenino: categora FA si tiene menos de 20
aos y FB caso contrario.
Si la persona es de sexo masculino: categora MA si tiene menos de 30
aos y MB caso contrario
2. Disee un programa que ingrese el sueldo de un trabajador y calcule el
aumento que obtendr de la siguiente tabla
SUELDO
Menos 2000
2000<=sueldo<=3000
Sueldo>3000
AUMENTO
20%
13%
9%
Tipo de Clima
Frio
Nublado
Caluroso
Trpico
UTP
Importe de Matricula
350
300
300
310
280
Mensualidad
590
550
500
550
490
60
Precio Unitario
20
19
18
9
11
10
FITT
UTP
61
Captulo
ESTRUCTURAS
CONDICIONALES ANIDADAS
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales anidadas
Realiza la solucin de diversos casos prcticos aplicando estructuras
condicionales
CONTENIDOS
Estructura condicional anidada
Definicin
Sintaxis
Desarrollo Practico
UTP
62
SINTAXIS
PSEUCODIGO
Donde:
Si la condicin 1 es verdadera, se evaluar la condicin 2.
o Si la condicin 2 es verdadera, ejecuta la sentencia 1; si no es
verdadera, ejecuta la sentencia 2.
Si la condicin 1 no es verdadera, evaluar la condicin 3.
o Si la condicin 3 es verdadera, ejecuta la sentencia 3; si no es
verdadera, ejecuta la sentencia 4.
FITT
UTP
63
EJERCICIOS RESUELTOS
1. Ingrese un nmero entre 1 y 3, luego visualice su equivalente en letras.
ALGORITMO Ejemplo1
VARIABLES
ENTERO
N
INICIO
LEER( N )
SI( N = 1 )ENTONCES
ESCRIBIR(UNO)
SINO
SI( N = 2 )ENTONCES
ESCRIBIR(DOS)
SINO
SI( N = 3 )ENTONCES
ESCRIBIR(TRES)
SINO
ESCRIBIR(NUMERO NO VALIDO)
FIN-SI
FIN-SI
FIN-SI
FIN
2. Ingrese el puntaje obtenido por un postulante y luego visualice a que carrera
ingreso, segn la siguiente tabla:
SI NO
INGRESO,
VISUALIZAR
CUANTOS
PUNTOS LE
FALTO
ALGORITMO Ejemplo2
VARIABLES
ENTERO
Puntaje
INICIO
LEER( Puntaje )
SI (Puntaje >= 70) Y (Puntaje < 90) ENTONCES
ESCRIBIR(Contabilidad)
SINO
SI (Puntaje >= 90) Y (Puntaje < 100) ENTONCES
UTP
64
ESCRIBIR(Administracin)
SINO
SI (Puntaje >= 100) Y (Puntaje < 120) ENTONCES
ESCRIBIR(Derecho)
SINO
SI (Puntaje >= 120) Y (Puntaje <= 150) ENTONCES
ESCRIBIR(INGENIERIA)
SINO
ESCRIBIR(LE FALTO:, 70-Puntaje)
FIN-SI
FIN-SI
FIN-SI
FIN-SI
FIN
3. Ingrese el ciclo y turno a estudiar, luego calcule el total a pagar segn la
siguiente tabla:
CICLO
TURNO
PENSION
850
800
750
700
3 - 10
650
3 - 10
600
ALGORITMO Ejemplo3
VARIABLES
REAL Pension
ENTERO
Ciclo
CARCTER Turno
INICIO
LEER( Ciclo, Turno )
SI (Ciclo = 1) ENTONCES
SI (Turno = M) ENTONCES
Pension 850
SINO
Pension 800
FIN-SI
SINO
SI (Ciclo = 2) ENTONCES
SI (Turno = M) ENTONCES
Pension 750
SINO
FITT
UTP
65
Pension 700
FIN-SI
SINO
SI (Turno = M) ENTONCES
Pension 650
SINO
Pension 600
FIN-SI
FIN-SI
FIN-SI
FIN
4. Ingrese el consumo de agua de un mes y calcule el visualice el total a pagar,
segn la siguiente tabla:
Consumo
Tarifa
[ 1 50 >
0.8
[ 50 100 >
1.5
1.8
[ 150 a mas
2.0
ALGORITMO Ejemplo4
VARIABLES
REAL:
Consumo, Tarifa, Monto
INICIO
LEER (Consumo)
SI (Consumo<50) ENTONCES
Tarifa 0.8
SINO
SI (Consumo >= 50) Y (Consumo < 100) ENTONCES
Tarifa 1.5
SINO
SI (Consumo >= 100) Y (Consumo < 150) ENTONCES
Tarifa 1.8
SINO
Tarifa 2.0
FIN-SI
FIN-SI
FIN-SI
Monto Tarifa * Consumo
ESCRIBIR (Tarifa, Monto)
FIN
UTP
66
Bsico
600
550
1500
200
Bonificacin
150
190
500
50
ALGORITMO Ejemplo5
VARIABLES
REAL:
bsico, bonificacin, monto
CADENA: Categoria
INICIO
LEER (Categoria)
SI (Categoria =Empleado) ENTONCES
basico 600
bonificacion 600
SINO
SI (Categoria = Obrero) ENTONCES
basico 550
bonificacion 190
SINO
SI (Categoria Ejecutivo) ENTONCES
basico 1500
bonificacion 500
SINO
basico 200
bonificacion 50
FIN-SI
FIN-SI
FIN-SI
Monto bsico + bonificacion
ESCRIBIR (bsico, bonificacion, Monto)
FIN
FITT
UTP
67
EJERCICIOS PROPUESTOS
1. Ingrese el estado civil y numero de hijos, luego calcule la bonificacin a
pagar a un trabajador segn la siguiente tabla :
Estado Civil
Hijos
Bonificacin
(% Haber Bsico)
2.50 %
>0
2.75 %
2.80 %
>0
3.00 %
2.50 %
>0
2.75 %
2.50 %
>0
3.00 %
3. Calcular el total a pagar por una compra, sabiendo que existe un recargo
segn tipo de tarjeta de crdito con la que se paga la compra.
UTP
Tipo de Tarjeta
Recargo
Visa Electron ( E )
0%
VISA ( V )
5%
MasterCard ( M )
7%
68
Costo x Minuto
< 60 100 ]
0.007
<100 200 ]
0.005
<200 400 ]
0.004
<400 500 ]
0.003
<500 Ms
0.002
5. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de
inters segn la siguiente tabla :
Plan de Cuenta
Tasa de Inters
Monto Mnimo
Plan A
0.07 %
1000
Plan B
0.08 %
1500
Plan C
0.09 %
2000
Plan X
0.10 %
2500
FITT
Intermedio Avanzado
UTP
Profesor 50
Alumno 40
Externo 70
69
100
80
120
Se pide elaborar un programa para emitir el recibo por dicho curso, los
datos que se mostraran en el recibo son: nombre del participante, costo del
curso y nivel del curso.
8. Se desea calcular el total a pagar por consumo de energa elctrica, el pago
se realiza segn la siguiente tabla:
Consumo (Kw)
Costo por Kw
0.65
0.85
1.05
[ 350 Ms >
1.25
UTP
70
Captulo
ESTRUCTURAS
SELECTIVAS
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras selectivas
Realiza la solucin de diversos casos prcticos aplicando estructuras
selectivas
CONTENIDOS
Estructura Selectiva
Definicin
Sintaxis
Desarrollo Practico
FITT
UTP
71
ESTRUCTURA SELECTIVA
DEFINICION
Cuando existen ms de dos elecciones (alternativas) posibles, es cuando se
presenta el caso de alternativas mltiples.
Si el nmero de alternativas es grande puede plantear serios problemas de
escritura del algoritmo y naturalmente de legibilidad.
La estructura condicional selectiva evaluar una expresin que podr tomar n
valores distintos 1,2,3,4,..n .
Segn que elija uno de estos valores en la condicin, se realizar una de las n
acciones, o lo que es igual, el flujo del algoritmo seguir un determinado
camino entre los n posibles.
SINTAXIS
DIAGRAMA DE FLUJO
UTP
72
PSEUDOCODIGO
Opci
onal
EJERCICIOS RESUELTOS
1. Ingresar un nmero entre 1 y 5, y luego visualizar su equivalente en letras.
ALGORITMO Ejemplo1
VARIABLES
ENTERO
N
INICIO
LEER( N )
CASO ( N ) SEA
1: ESCRIBIR (UNO)
2: ESCRIBIR (DOS)
3: ESCRIBIR (TRES)
4: ESCRIBIR (CUATRO)
5: ESCRIBIR (CINCO)
OTRO CASO: ESCRIBIR (FUERA DE RANGO)
FIN-CASO
FIN
2. Una empresa otorga bonificaciones de su haber bsico segn la categora
del trabajador; categora A: 250; categora B: 200; categora C: 120; otras
categoras 50.
ALGORITMO Ejemplo2
VARIABLES
CADENA: Categoria
REAL:
Bonificacion
INICIO
LEER (Categoria)
CASO (Categoria) SEA
A: Bonificacion 250
B: Bonificacion 200
C: Bonificacion 120
OTRO CASO: Bonificacion 50
FIN-CASO
ESCRIBIR (Bonificacion)
FIN
FITT
UTP
73
UTP
74
5. Calcular el total a pagar por una compra, sabiendo que existe un recargo
segn tipo de tarjeta de crdito con la que se paga la compra.
Tipo de Tarjeta
Recargo
Visa Electron ( E )
0%
VISA ( V )
5%
MasterCard ( M )
7%
ALGORITMO Ejemplo5
VARIABLES
REAL:
monto. Recargo, total
CADENA: tarjeta
INICIO
LEER (tarjeta, monto)
CASO (tarjeta) SEA
E: recargo 0
V: recargo 0.05*monto
M: recargo 0.07* monto
FIN CASO
Total monto + recargo
ESCRIBIR (total)
FIN
6. Disee un programa que calcule el costo de un paciente, el costo depende
del tipo de enfermedad. De acuerdo a la siguiente tabla:
TIPO ENFERMEDAD
COSTO
1
2
3
122
150
200
ALGORITMO Ejemplo6
VARIABLES
REAL:
costo
CARACTER: tipo
INICIO
LEER (tipo)
CASO (tipo) SEA
1: costo 122
2: costo 150
3: costo 200
FIN CASO
ESCRIBIR (costo)
FIN
FITT
UTP
75
EJERCICIOS PROPUESTOS
1. Escriba un programa que lea un nmero desde el teclado entre 1 y 12 e
imprima el nombre del mes del ao correspondiente. (Enero, Febrero,...etc).
2. Ingrese un nmero de hasta tres cifras, visualizar el nmero en romanos, por
ejemplo: 255 CCLV
3. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de
inters segn la siguiente tabla:
Plan de Cuenta
Tasa de Inters
Monto Mnimo
Plan A
0.07 %
1000
Plan B
0.08 %
1500
Plan C
0.09 %
2000
Plan X
0.10 %
2500
Hijos
S
S
C
C
V
V
D
D
0
>0
0
>0
0
>0
0
>0
Bonificacin
(% Haber Bsico)
2.50 %
2.75 %
2.80 %
3.00 %
2.50 %
2.75 %
2.50 %
3.00 %
UTP
76
Bsico
Profesor
Alumno
Externo
Intermedio
50
70
40
50
70
100
Avanzado
100
80
120
Se pide elaborar un programa para emitir el recibo por dicho curso, los datos
que se mostraran en el recibo son: nombre del participante, costo del curso y
nivel del curso.
6. Ingresar una fecha y calcular: el nmero de das de ese mes e identificar si el
ao es bisiesto.
7. Ingrese por teclado el nombre de un Empleado y su categora. Segn su
categora obtendr su bsico y bonificacin:
Categora
Bsico
Bonificacin
Empleado
Obrero
Ejecutivo
Auxiliar
600
550
1500
200
150
190
500
50
FITT
UTP
77
UNIDAD IV
Estructuras
Repetitivas
UTP
78
Capitulo
ESTRUCTURAS REPETITIVAS
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras repetitivas.
Implementar desarrollos prcticos utilizando contadores y acumuladores
Realiza la solucin de diversos casos prcticos aplicando estructuras
repetitivas
CONTENIDOS
Estructura iterativa
Definicin
Tipos de estructuras
Estructura repetitiva Para Fin Para
Contadores y acumuladores
Desarrollo de ejercicios de aplicacin
FITT
UTP
79
ESTRUCTURA REPETITIVA
DEFINICION
Son operaciones que se deben ejecutar un nmero repetido de veces.
El conjunto de instrucciones que se ejecuta repetidamente cierto
nmero de veces, se llama Ciclo, Bucle o Lazo, establecido por la
condicin que se evala en cada una de ellas.
Cada una de las repeticiones se conoce como iteracin.
Tambien se les llaman problemas repetitivos o cclicos porque en la
solucion es necesario utilizar un mismo conjunto de acciones que se
puedan ejecutar una cantidad especfica de veces. Esta cantidad
puede ser fija (previamente determinada por el programador) o puede
ser variable (estar en funcin de algn dato dentro del programa).
Qu es una Iteracin?
Es cada una de las diferentes pasadas o ejecuciones de todas las
instrucciones contenidas en el bucle.
UTP
80
FITT
UTP
81
SINTAXIS
DIAGRAMA DE FLUJO
UTP
82
PSEUDOCODIGO
ACUMULADORES
Es una variable que suma sobre s misma un conjunto de valores para
de esta manera tener la suma de todos ellos en una sola variable.
La diferencia entre un contador y un acumulador es que mientras el
primero va aumentando de uno en uno, el acumulador va aumentando
en una cantidad variable.
Representacin:
<variable> <variable> + <valor variable>
Ejemplo:
S S + variable
FITT
UTP
83
EJERCICIOS RESUELTOS
1. Imprimir los 10 primeros nmeros naturales.
ALGORITMO Ejemplo1
VARIABLES
ENTERO
N
INICIO
PARA N1 HASTA 10
ESCRIBIR (N)
FIN-PARA
FIN
2. Imprimir los 10 primeros nmeros naturales pero en forma descendente.
ALGORITMO Ejemplo2
VARIABLES
ENTERO
N
INICIO
PARA N 10 HASTA 1 DE -1
ESCRIBIR (N)
FIN-PARA
FIN
3. Visualizar todos los nmeros de 2 cifras compuestos por cifras iguales.
ALGORITMO Ejemplo3
VARIABLES
ENTERO
N, A, B
INICIO
PARA N 10 HASTA 99
A N DIV 10
B N MOD 10
SI ( A = B ) ENTONCES
ESCRIBIR (N)
FIN-SI
FIN-PARA
FIN
4. Ingrese un nmero y luego visualice todos sus divisores.
ALGORITMO Ejemplo4
VARIABLES
ENTERO
N, Divisor
INICIO
LEER (N)
PARA Divisor 1 HASTA N
SI N MOD Divisor = 0 Entonces
ESCRIBIR (Divisor)
FIN-SI
FIN-PARA
FIN
UTP
84
FITT
UTP
85
EJERCICIOS PROPUESTOS
1. Visualizar los nmeros de 2 cifras pares.
2. Ingrese un nmero entero y luego calcule el factorial del nmero ingresado.
3. Ingrese un nmero entero y luego visualice un mensaje indicando si es
primo o no primo.
4. Ingrese un nmero entero y luego visualice un mensaje indicando si es
PERFECTO o NO ES PERFECTO.
5. Ingrese un nmero entero y luego calcule la suma de todos los nmeros
impares menores al nmero ingresado.
6. Visualizar la siguiente serie de nmeros: +1-2+3-4+5-6+7-8++N
NOTA: N ser el valor lmite de la serie.
7. Calcular la suma de todos los nmeros de 3 cifras compuestos por cifras
diferentes impares.
UTP
86
FITT
UTP
87
UTP
88
Capitulo
ESTRUCTURAS REPETITIVAS
MIENTRAS - HACER
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras repetitivas.
Implementar desarrollos prcticos utilizando contadores y acumuladores
Realiza la solucin de diversos casos prcticos aplicando estructuras
repetitivas
CONTENIDOS
Estructura Mientras - hacer
Definicin
Sintaxis
Desarrollo de ejercicios de aplicacin
FITT
UTP
89
ESTRUCTURA MIENTRAS-HACER
DEFINICION
Esta es una estructura que repetir un proceso durante N veces, donde
N puede ser fijo o variable. Para esto, la instruccin se vale de una
condicin que es la que debe cumplirse para que se siga ejecutando.
Cuando la condicin ya no se cumple, entonces ya no se ejecuta el
proceso.
CARACTERISTICA
Se llama Mientras a la estructura algortmica que se ejecuta mientras la
condicin evaluada resulte verdadera.
Se evala la expresin booleana y, si es cierta, se ejecuta la instruccin
especificada, llamada el cuerpo del bucle.
Este proceso de evaluacin de la expresin booleana y ejecucin del
cuerpo se repite mientras la expresin sea cierta.
SINTAXIS
DIAGRAMA DE FLUJO
UTP
90
PSEUDOCODIGO
EJERCICIOS RESUELTOS
1. Imprimir los 3 primeros nmeros naturales.
ALGORITMO Ejemplo1
VARIABLES
ENTERO
N
INICIO
N1
MIENTRAS( N <= 3 ) HACER
ESCRIBIR( N )
NN+1
FIN-MIENTRAS
FIN
2. Imprimir los 10 primeros nmeros naturales, calcule y visualice la suma de
los 10 nmeros.
ALGORITMO Ejemplo2
VARIABLES
ENTERO
N, SUMA
INICIO
N1
SUMA 0
MIENTRAS (N <= 10) HACER
SUMA SUMA + N
NN+1
FIN-MIENTRAS
ESCRIBIR (LA SUMA ES:, SUMA)
FIN
FITT
Acumulador
Contador
UTP
91
UTP
92
FITT
UTP
93
UTP
94
EJERCICIOS PROPUESTOS
1. Calcule y visualice la suma de los todos los nmeros impares de 3 cifras.
2. Calcular y visualizar el valor de la siguiente serie:
S 2 + 4 + 6 + 8 + + 98
3. Generar y visualizar la siguiente serie:
S 1+2+3/2+4/3+5/4++10/9
4. Ingrese un nmero entero y calcule la suma de las cifras del nmero.
5. Ingrese un nmero entero y luego calcule la suma de cifras pares e impares
que estn contenidas en el nmero ingresado.
6. Ingrese un nmero entero y calcule la mayor y menor cifra contenidas en el
nmero ingresado.
7. Ingrese un nmero entero y luego forme un 2do nmero con las cifras del
nmero ingresado en forma inversa.
8. Ingrese un nmero entero y luego obtenga su equivalente en base 5.
9. Disee un programa que lea Nombre y edad de 5 alumnos y calcule la edad
promedio as como tambin la mayor edad, considere que la edad debe
encontrarse entre 18 a 70 aos.
10. Disee un programa que imprima lo siguiente:
%
%%
%%%
%%%%
%%%%%
%%%%%%
%%%%%%%
11. Escribe un algoritmo que lea un nmero natural N y dibuje un tringulo de
asteriscos con base y altura N. Por ejemplo si N=5 debera dibujarse:
*
**
***
****
*****
FITT
UTP
95
UTP
96
Capitulo
ESTRUCTURAS REPETITIVAS
REPETIR - HASTA
OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras repetitivas.
Implementar desarrollos prcticos utilizando contadores y acumuladores
Realiza la solucin de diversos casos prcticos aplicando estructuras
repetitivas
CONTENIDOS
Estructura REPETIR - HASTA
Definicin
Sintaxis
Desarrollo de ejercicios de aplicacin
FITT
UTP
97
CARACTERISTICA
Esta es una estructura similar en algunas caractersticas, a la anterior.
Repite un proceso una cantidad de veces, pero a diferencia del Mientras
Que, el Repita-Hasta lo hace hasta que la condicin se cumple y no
mientras, como en el Mientras Que. Por otra parte, esta estructura
permite realizar el proceso cuando menos una vez, ya que la condicin
se evala al final del proceso, mientras que en el Mientras Que puede
ser que nunca llegue a entrar si la condicin no se cumple desde un
principio.
SINTAXIS
DIAGRAMA DE FLUJO
Se cumple hasta
que condicion sea
Verdadera, sino
repite el ciclo
PSEUDOCODIGO
UTP
98
FALSO
REPETIR
:
:
HASTA (Expresion<es>)
Instrucciones y/o
Sentencias
EJERCICIOS RESUELTOS
1. Visualizar los 5 primeros nmeros naturales.
ALGORITMO Ejemplo1
VARIABLES
ENTERO
N
INICIO
N 1
REPETIR
ESCRIBIR (N)
NN+1
HASTA (N > 5)
FIN
2. Visualizar todos los nmeros pares de 2 cifras.
ALGORITMO Ejemplo2
VARIABLES
ENTERO
N
INICIO
N 10
REPETIR
ESCRIBIR (N)
NN+2
HASTA (N > 98)
FIN
3. Generar la siguiente serie: 1, 4, 9, 16, 25, , 100
ALGORITMO Ejemplo3
VARIABLES
INICIO
N 1
REPETIR
ESCRIBIR ( N 2 )
NN+1
HASTA (N > 10)
FIN
FITT
UTP
99
UTP
100
EJERCICIOS PROPUESTOS
1. Disee un programa que imprima lo siguiente
%
%%
%%%
%%%%
%%%%%
%%%%%%
%%%%%%%
2. Disee un programa que lea Nombre y edad de 5 alumnos y calcule la edad
promedio as como tambin la mayor edad, considere que la edad debe
encontrarse entre 18 a 70 aos.
FITT
UTP
101
12. Escriba un programa para calcular e imprimir todos los nmeros enteros
comprendidos entre 100 y 999 tales que sean iguales a la suma de los cubos
de sus dgitos, es decir, los nmeros de la forma abc, con:
abc = a3 + b3 + c3
13. Ingrese un nmero entero y luego calcule la suma de cifras pares e impares
que estn contenidas en el nmero ingresado.
14. Ingrese un nmero entero y calcule la mayor y menor cifra contenidas en el
nmero ingresado.
15. Ingrese un nmero entero y luego obtenga su equivalente en base 5.
UTP
102
UNIDAD V
Sub Programas
FITT
UTP
103
Captulo
SUBPROGRAMAS
USO DE PROCEDIMIENTOS
OBJETIVOS ESPECFICOS
. Defina el propsito de los subprogramas.
Realice operaciones que permita implementar subprogramas
CONTENIDOS
Programacin estructurada, subprogramas
Tipos de subprogramas, funciones y procedimientos
Procedimientos,
parmetros
UTP
declaracin,
invocar
un
procedimientos,
paso
de
104
SUBPROGRAMAS
INTRODUCCION
La programacin modular es una de las tcnicas fundamentales de la
programacin.
Se apoya en el diseo descendente y en la filosofa de divide y vencers, es
decir se trata de dividir el problema dado, en problemas ms simples en que
cada uno de los cuales lo implementaremos en un mdulo independiente.
La programacin estructurada permite la escritura de programas fciles de leer
y modificar.
En esta programacin, el flujo lgico se gobierna por las estructuras de control
bsicas vista hasta hoy: secuenciales, repetitivas y de seleccin.
Cada subprograma tiene asociado un pseudocdigo de alto nivel compuesto
por acciones no primitivas.
Cuando una de estas acciones no primitivas se repite en varios puntos del
algoritmo es interesante darle un nombre y reutilizarla.
Estas acciones con nombre se denominan subprogramas, pudiendo ser, a su
vez, funciones y subrutinas.
DEFINICION
Los subprogramas permiten descomponer un problema en un conjunto de
problemas independientes entre s, ms sencillos de resolver y que pueden ser
tratados separadamente unos de otros.
Adems se pueden probar los subprogramas de manera independiente,
depurndose sus errores antes de su inclusin en el programa principal y
almacenarse para su posterior utilizacin cuantas veces se precise.
FITT
UTP
105
UTP
106
PROCEDIMIENTOS
DEFINICION
Un procedimiento es un subprograma o un subalgoritmo que ejecuta una
determinada tarea, pero que tras ejecutar esa tarea no tienen ningn
valor asociado a su nombre como en las funciones, sino que si devuelve
informacin, lo hace a travs de parmetros.
Al llamar a un procedimiento, se le cede el control, comienza a
ejecutarse y cuando termina devuelve el control a la siguiente instruccin
a la de llamada
Un procedimiento puede tener sus propias variables que se declaran en
la seccin var del propio procedimiento. Estas se llaman variables
locales.
As, las variables locales para un procedimiento slo se pueden usar en
el cuerpo del procedimiento y no en el cuerpo principal del programa.
INVOCAR UN PROCEDIMIENTO
Para llamar a un procedimiento se hace uso del nombre del mismo,
opcionalmente se puede pasar valores si es que el procedimiento
implementa parmetros.
Ejemplo: Implemente un procedimiento que permita visualizar la suma de 2
nmeros enteros.
ALGORITMO Ejemplo
VARIABLES
ENTERO
A, B
PROCEDIMIENTO SUMA( )
INICIO
ESCRIBIR( A + B )
FIN-PROCEDIMIENTO
Definicin de
variables publicas
Definicin de l
procedimiento
Suma()
INICIO
LEER( A, B )
SUMA( )
FIN
Ejecutar el
procedimiento
Suma ()
FITT
UTP
107
ALGORITMO Ejemplo
VARIABLES
ENTERO
A, B
PROCEDIMIENTO SUMA ( ENTERO: M, N)
INICIO
ESCRIBIR ( M +N )
FIN-PROCEDIMIENTO
INICIO
Definicin de
variables publicas
Definicin de l
procedimiento
Suma() donde se
definen sus
parmetros M y N
LEER (A, B)
SUMA (A, B)
FIN
Ejecutar el
procedimiento
Suma enviando
como parmetros
el valor de A y B.
PARAMETROS
Es un tipo especial de variables en un procedimiento a los que se pueden
pasar valores desde el exterior del procedimiento. Se declaran en la cabecera
del procedimiento.
Los parmetros se clasifican en:
Por Valor
Por Referencia
UTP
108
ESTRUCTURA DE UN PROCEDIMIENTO
Opcional
PROCEDIMIENTO Nombre(Lista_Parametros)
VAR
:
<variables_locales>
INICIO
:
Instrucciones
:
y/o
Sentencias
FIN-PROCEDIMIENTO
EJERCICIOS RESUELTOS
1. Implementar un procedimiento que permita visualizar un texto un nmero
determinado de veces.
N, variable Global
ALGORITMO Ejemplo1
VARIABLES
ENTERO
N
PROCEDIMIENTO Imprime (CADENA Texto, ENTERO Numero)
VARIABLES
ENTERO
I
Procedimiento
INICIO
imprime, con la
PARA I 1 HASTA Numero
declaracion de
ESCRIBIR (Texto)
parametros
FIN-PARA
FIN-PROCEDIMIENTO
INICIO
LEER (N)
Imprime (HOLA, N)
Imprime (CETIS, 20)
Imprime (UTP, 50)
FIN
FITT
UTP
109
UTP
110
FITT
UTP
111
UTP
112
EJERCICIOS PROPUESTOS
1. Disee un procedimiento que imprima lo siguiente
%
%%
%%%
%%%%
%%%%%
%%%%%%
%%%%%%%
2. Disee un procedimiento que permita calcular la Serie Fibonaci:
0, 1, 1, 2, 3, 5, 8, .
3. Disee un procedimiento que imprima N trminos de la siguiente serie:
3, 8, 15, 24
4. Disee un procedimiento para hallar la suma de N trminos de la siguiente
serie:
1 + 1/32 + 1/52 + 1/72 + 1/92+............................
5. Disee un procedimiento donde visualice los nmeros primos comprendidos
entre el 1 al 100.
6. Disee un procedimiento donde ingrese un numero, visualice la cantidad de
cifras ceros, pares e impares que tiene el numero ingresado.
7. Escriba un procedimiento que imprima los primeros n nmeros naturales
pares. Valide el valor de n y emita un mensaje de error si no es natural.
8. Escribe un procedimiento que lea un nmero natural N y dibuje un tringulo
de asteriscos con base y altura N. Por ejemplo si N=5 debera dibujarse:
*
**
***
****
*****
9. Escriba un procedimiento para calcular e imprimir todos los nmeros enteros
comprendidos entre 100 y 999 tales que sean iguales a la suma de los cubos
de sus dgitos, es decir, los nmeros de la forma abc, con:
abc = a3 + b3 + c3
10. Ingrese un nmero entero y luego desarrolle un procedimiento que permita
calcular la suma de cifras pares e impares que estn contenidas en el nmero
ingresado.
FITT
UTP
113
Captulo
USO DE FUNCIONES
OBJETIVOS ESPECFICOS
Defina el propsito de las funciones
Realice operaciones que permita implementar funciones
CONTENIDOS
Funciones
Declaracion
Invocar una funcion, paso de parmetros
Desarrollo practico.
UTP
114
FUNCIONES
DEFINICION
Una funcin es un sub-programa que procesa un grupo de instrucciones y/o
sentencias para luego devolver un nico valor.
Las funciones pueden contener opcionalmente parmetros.
Las funciones se invocan por su nombre seguido de los valores que se
pasaran a sus respectivos parmetros formales.
Una funcin puede llamar a otra funcin inclusive puede llamarse a si
misma (recursividad).
RETORNAR ( Valor )
FIN-FUNCION
EJERCICIOS RESUELTOS
1. Crear una funcin que retorne el cuadrado de un nmero entero.
ALGORITMO Ejemplo1
VARIABLES
ENTERO
M
FUNCION Cuadrado (ENTERO N): ENTERO
INICIO
RETORNAR (N * N)
FIN-FUNCION
INICIO
LEER (M)
ESCRIBIR (Cuadrado (M) )
FIN
FITT
UTP
115
UTP
116
FITT
UTP
117
UTP
118
EJERCICIOS PROPUESTOS
1. Implemente una funcion que permita calcular el factorial del nmero
ingresado.
2. Implemente una funcion que retorne un mensaje indicando si es primo o
no primo de un nmero ingresado.
3. Implemente una funcion que retorne un mensaje indicando si es
PERFECTO o NO ES PERFECTO de un nmero ingresado por teclado.
4. Implemente una funcion que retorne la suma de todos los nmeros de 3
cifras compuestos por cifras diferentes impares.
5. Elabore una funcion que permita convertir un numero de base 10 a un
numero de otra base, para ello ingrese el numero y la base. Ejemplo: Suponga
que el nmero en decimal que se desea transformar a su equivalente en binario
es el 11:
Por lo tanto, (11)10 = (1011)2
6. Elabore una funcion que permita retornar la suma de la serie, donde N es
ingresado por teclado:
1, 4, 9, 16, N2
7. Elabore una funcion que retorne la suma de N trminos de la siguiente serie:
1 + 1/32 + 1/52 + 1/72 + 1/92+............................
8. Elabore una funcion que retorne la suma de los N terminos de la siguiente
serie:
1 + 1/2 + 2/3 + 3/4 + 4/5+............................
FITT
UTP