Vous êtes sur la page 1sur 118

ESTRUCTURA Y

ALGORITMO I

Ing. Alberto Moreno Cueva

ndice
Introduccin

UNIDAD I

: Conceptos Fundamentales

Captulo 1

: Introduccin a la Algoritmia

Captulo 2

: Datos y tipos de Datos

17

Capitulo 3

: Variables y Constantes

25

UNIDAD II

: Estructuras Basicas y Secuenciales

29

Capitulo 1

: Estructura del Algoritmo

31

Capitulo 2

: Estructuras Secuenciales

37

UNIDAD III

: Estructuras Condicionales y Selectivas

47

Capitulo 1

: Estructuras Condicionales Simples

49

Capitulo 2

: Estructuras Condicionales Dobles

57

Capitulo 3

: Estructuras Condicionales Multiples

65

Capitulo 4

: Estructuras Condicionales Anidadas

73

Capitulo 5

: Estructuras Selectivas

83

UNIDAD IV

: Estructuras Repetitivas

91

Capitulo 1

: Estructuras Repetitivas, Para Hacer

93

Capitulo 2

: Estructuras Repetitivas Mientras Hacer

103

Capitulo 3

Estructuras Repetitivas Repetir Hasta

111

UNIDAD V

SUBPROGRAMAS

117

Capitulo 1

Uso de Procedimientos

119

Capitulo 2

Uso de Funciones

129

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

PRESENTACION

El presente texto elaborado es un material de ayuda institucional, en la especialidad de


Ingenieria, tiene por finalidad proporcionar los conocimientos de Fundamentos de
Programacin, orientado a la especialidad .
UTP, lder en la enseanza tecnolgica a nivel superior, promueve la elaboracin de
materiales educativos, en concordancia a las exigencias de las tecnologas de estos
tiempos, que permiten la creacin de nuevas herramientas de aprendizaje con el
objetivo de facilitar el acceso de los estudiantes a la educacin en el marco del
desarrollo tecnolgico de la Informtica y de las Telecomunicaciones.
El texto se divide en catorce captulos, en cada uno de ellos expone los temas de una
manera resumida, desarrollando as solo los contenidos que son complementados con
la parte prctica.
Esperamos que este material en su primera edicin, sirva de gran ayuda a los
estudiantes Idatinos y contribuya en el proceso de su formacin profesional.

UTP

RREDES & COMUNICACIONES

UNIDAD I
Conceptos
Fundamentales

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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.

Ntese que en el algoritmo anterior se ha llegado a la solucin del problema en


6 pasos, y no se resaltan aspectos como: colocarse los zapatos despus de
salir de la cama, o abrir la llave de la regadera antes de ducharse. Estos
aspectos han sido descartados, pues no tienen mayor trascendencia, en otras
palabras los estamos suponiendo, en cambio existen aspectos que no
podemos obviarlos o suponerlos, de lo contrario nuestro algoritmo perdera
lgica, un buen programador deber reconocer esos aspectos importantes y
tratar de simplificar al mnimo su problema.
Es importante recalcar que los pasos de un algoritmo no son conmutativos
pues, no dara solucin al mismo problema a tratar.

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

FU NDAME NTO S DE PROGRA MACIO N

escapar ningn detalle que provoque un funcionamiento malo nuestro


algoritmo. Si logramos construir un algoritmo robusto, cualquier giro inesperado
del problema ser controlado por el algoritmo, es decir, debe ser flexible a
cambios.

EFICIENCIA Y EFICACIA DE UN ALGORITMO


Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados
utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso
memoria, de pasos y de esfuerzo humano.
Un algoritmo es eficaz cuando alcanza el objetivo primordial, el anlisis de
resolucin del problema se lo realiza prioritariamente.
Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo
posible debemos de manejar estos dos conceptos conjuntamente.

METODOLOGIA PARA LA SOLUCION DE PROBLEMAS


POR MEDIO DE COMPUTADORA
Para lograr resolver cualquier problema se deben seguir bsicamente los
siguientes pasos:
DEFINICIN DEL PROBLEMA

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

Los datos de entrada.


Cual es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para procesar los
datos.

Una recomendacin muy prctica es el de colocarse en el lugar de la


computadora y analizar qu es lo que se necesita que se ordene y en qu
secuencia para producir los resultados esperados.
DISEO DEL ALGORITMO
Las caractersticas de un buen algoritmo son:

UTP

RREDES & COMUNICACIONES

Debe tener un punto particular de inicio.


Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayora de las variantes
que se puedan presentar en la definicin del problema.
o Debe ser finito en tamao y tiempo de ejecucin.
o Diseo del Algoritmo
o Prueba de escritorio o Depuracin
o
o
o

Se denomina prueba de escritorio a la comprobacin que se hace de un


algoritmo para saber si est bien hecho. Esta prueba consiste en tomar datos
especficos como entrada y seguir la secuencia indicada en el algoritmo hasta
obtener un resultado, el anlisis de estos resultados indicar si el algoritmo
est correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

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

FU NDAME NTO S DE PROGRA MACIO N

Para disear un algoritmo se debe comenzar por identificar las tareas ms


importantes para resolver el problema y disponerlas en el orden en el que han
de ser ejecutadas.
Los pasos en esta primera descripcin pueden requerir una revisin adicional
antes de que podamos obtener un algoritmo claro, preciso y completo.
Este mtodo de diseo de algoritmos en etapas, yendo de los conceptos
generales a los de detalle, se conoce como mtodo descendente (top-down).
En un algoritmo se deben de considerar tres partes:
-

Entrada: Informacin dada al algoritmo.


Proceso:Operaciones o clculos necesarios para encontrar la solucin
del problema.
Salida: Respuestas dadas por el algoritmo o resultados finales de los
procesos realizados.

Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la


superficie de un rectngulo proporcionndole su base y altura. Lo primero que
debemos hacer es plantearnos las siguientes preguntas:
Especificaciones de entrada
- Que datos son de entrada?
- Cuntos datos se introducirn?
- Cuntos son datos de entrada vlidos?
Especificaciones de salida
- Cules son los datos de salida?
- Cuntos datos de salida se producirn?
- Qu formato y precisin tendrn los resultados?

EJERCICIOS RESUELTOS
1. Defina un algoritmo para realizar una llamada

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

11

2. Seleccionar la opcion TAPE


3. Insertar el CD
4. Esperar que cargue el CD
5. Graduar el volumen
6. Escuchar el CD
FIN

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

RREDES & COMUNICACIONES

12

Capitulo

DATOS Y TIPOS DE DATOS


OBJETIVOS ESPECFICOS
1. Conocer los Tipos de Datos que se utilizan en la algoritmica
2. Definir las expresiones
CONTENIDOS
Datos, definicin
Tipos de datos: Numerico, de cadena, logicos
Manejo de Operadores
Expresiones
Ejercicios Prcticos

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

17

PRIORIDAD DE LOS OPERADORES


OPERADOR

PRIORIDAD

() []

Signos de Agrupacin

Potencia

*, /, %

Producto y Divisin

+, -

Suma y Resta

Operador lgico y

Operador lgico O

NO

Operador lgico de negacin

>,>=,<,<=,=,<>

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

21

Clasificacin de las Variables

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

RREDES & COMUNICACIONES

22

UNIDAD II
Estructuras
Basicas y
Secuenciales

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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.

Estructura del Algoritmo


Acciones de entrada: recogen los datos para el trabajo.
Acciones de proceso: ejecutan los clculos.
Acciones de salida: ofrecen los resultados.

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

FU NDAME NTO S DE PROGRA MACIO N

25

Grficos: Es la representacin grfica de las operaciones que realiza un


algoritmo (diagrama de flujo).
No Grficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).

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

RREDES & COMUNICACIONES

26

Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo


Ocupa menos espacio en una hoja de papel
Permite representar en forma fcil operaciones repetitivas complejas
Es muy fcil pasar de pseudocodigo a un programa en algn lenguaje de
programacin.
Si se siguen las reglas se puede observar claramente los niveles que
tiene cada operacin.

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:

Estructura de un Algoritmo en Pseudocdigo


En pseudocdigo el algoritmo tiene tres partes: la cabecera, la zona de
declaracin de constantes y variables y el cuerpo.
1. La cabecera contiene el nombre del algoritmo.
2. La zona de declaraciones de variables y constantes establece qu
variables y constantes vamos a usar, indicando junto al nombre el tipo
de las mismas y el valor en el caso de las constantes.
3. El cuerpo del algoritmo es el que contiene las instrucciones que indican
las acciones a realizar por el programa.
a. Comienza con la palabra Inicio y termina con la palabra Fin (o
palabras similares).

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

27

Estructura

ALGORITMO Nombre_Descriptivo
Variables:
INICIO

FIN

Instrucciones
y/o
Sentencias

Estructura Sintactica de un Algoritmo

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

RREDES & COMUNICACIONES

28

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

31

Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos


representados en Pseudocdigo y en diagramas de flujos:

COMPONENTES DE UNA ESTRUCTURA SECUENCIAL


La asignacin
Consiste, en el paso de valores o resultados a una zona de la memoria. Dicha
zona ser reconocida con el nombre de la variable que recibe el valor.
La asignacin se puede clasificar de la siguiente forma:
Simples: Consiste en pasar un valor constante a una variable
(a 15)
Contador: Consiste en usarla como un verificador del numero de veces
que se realiza un proceso
(a a + 1)
Acumulador: Consiste en usarla como un sumador en un proceso
(a a + b)
De trabajo: Donde puede recibir el resultado de una operacin
matemtica que involucre muchas variables
(a c + b*2/4).
En general el formato a utilizar es el siguiente:
< Variable > <valor o expresin >
El smbolo debe leerse asigne.

UTP

RREDES & COMUNICACIONES

32

Escritura o salida de datos


Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un
resultado o mensaje. Esta instruccin presenta en pantalla el mensaje escrito
entre comillas o el contenido de la variable. Este proceso se representa as
como sigue:
ESCRIBIR (VALOR)
ESCRIBIR (MENSAJE)

Lectura o entrada de datos


La lectura o entrada de datos consiste en recibir desde un dispositivo de
entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la
variable que aparece a continuacin de la instruccin. Esta operacin se
representa as:
LEER VARIABLE
LEER VARIABLE1, VARIABLE 2

DECLARACION DE VARIABLES Y CONSTANTES


La declaracin de variables es un proceso que consiste en listar al principio del
algoritmo todas las variables que se usarn, adems de colocar el nombre de
la variable se debe decir qu tipo de variable es.
ENTERO: Contador, Edad, I
CADENA: Direccion
REAL: Salario_Basico
CARCTER: Opcion
En la anterior declaracin de variables Contador, Edad e I son declaradas de
tipo entero; Salario_Basico es una variable de tipo real, Opcion es de tipo
carcter y la variable Direccion est declarada como una variable alfanumrica
de cadena de caracteres.

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

FU NDAME NTO S DE PROGRA MACIO N

33

2. Ingrese 2 nmeros enteros y luego calcule y visualice la suma y producto de


los 2 nmeros ingresados
ALGORITMO Ejemplo2
VARIABLES
ENTERO: A, B, Suma, Producto
INICIO
LEER( A, B )
Suma A + B
Producto A * B
ESCRIBIR (Suma, Resta, Producto)
FIN

3. Ingresar un nmero entero y luego calcular y visualizar su 5%.


ALGORITMO Ejemplo3
VARIABLES
ENTERO: N
REAL:
Porcentaje
INICIO
LEER (N)
Porcentaje N * (5 / 100)
ESCRIBIR (Porcentaje)
FIN
4. Una empresa decide otorgar una bonificacin del 5% del haber bsico por
cada hijo a todos sus trabajadores. Calcule el total a pagar a un trabajador.
ALGORITMO Ejemplo4
VARIABLES
ENTERO
NroHijos
REAL Hbasico, Bonificacion, Total
INICIO
LEER (Hbasico, NroHijos)
Bonificacion (Hbasico * 0.05) * NroHijos
Total Hbasico + Bonificacion
ESCRIBIR (Total)
FIN
5. Ingrese por teclado un nmero de dos cifras, visualice su nmero invertido
ALGORITMO Ejemplo5
VARIABLES
ENTERO
Numero, Inverso, Unidad, Decena
INICIO
LEER (Numero)
Unidad Numero MOD 10
Decenal Numero DIV 10
Inverso 10 * Unidad + Decena
ESCRIBIR (Inverso)
FIN

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

35

9. Ingrese por teclado la cantidad de metros cubicos de agua que se consume


en una casa. Calcula y visualice cada uno de los gastos sabiendo que el costo
por metros cubico es 0.35 nuevos soles y el monto del consumo es el producto
de la cantidad de metros cubicos por el precio.
Mantenimiento
Parques y Jardines
Exploracion
Limpieza de Alcantarillas

0.25% del monto


0.15% del monto
0.05% del monto
0.07% del monto

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

37

9. Ingrese por teclado el nombre y tres notas de un alumno, calcular y mostrar


el promedio de las tres notas.
10. Ingrese por teclado la cantidad de soles, transaformarlo en dolares;
considere el tipo de cambio del dia.
11. Ingrese por teclado la cantidad de postulantes a la Universidad, calcule y
visualice:
a) Cantidad de aulas completas
b) Cantidad de alumnos para completas la ultima aula
Coinsiderar que un aula completa es de 20 alumnos.
12. Ingrese por teclado una cantidad de segundos, calcular y mostrar:
a) Cantidad de horas
b) Cantidad de minutos
c) Cantidad de segundos restantes
13. Ingrese por teclado un numero, incrementar el 2.4% de su valor, mostrar el
valor del incremento y el nuevo numero.
14. Ingrese por teclado un numero de 4 cifras, mostrar los numeros formados
por las cifras de los extremos y los medios.
15. Ingrese por teclado el sueldo de un trabajador, asumiendo que ste es un
valor entero, visualizar la mejor distribucin de billetes y monedas que se
utilizarn para pagar un sueldo.
Considere billetes de 100, 50, 20 ,10.
Monedas de 5, 2 ,1
16. En un instituto se planteo los siguientes pesos para cada una de las
evaluaciones que tendra en el curso.
Examen Parcial
30%
Examen Final
40%
Promedio de Practicas
20%
Promedio de Trabajos
10%
Para tal caso ingrese el nombre del alumno y las 4 evaluaciones, mostrar el
nombre del alumno y su promedio.

UTP

RREDES & COMUNICACIONES

38

UNIDAD III
Estructuras
Condicionales y
Selectivas

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

UTP

39

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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.

QUE ES UNA CONDICION?


Una condicin o expresin booleana puede ser:
Una variable booleana
TEST Verdadero
Una expresin aritmtica seguida de un operador relacional, seguido de
otra expresin aritmtica
TEST 3 < 5
Una expresin booleana, seguida de un operador booleano, seguido de
una expresin booleana
TEST A AND NOT B OR C
Se pueden utilizar condiciones tan complejas como se quiera siempre que
estn bien formadas

UTP

RREDES & COMUNICACIONES

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)

ESTRUCTURA CONDICIONAL SIMPLE


DEFINICION
Es aquelle estructura de control que evala una condicin:
Si la condicin se cumple se ejecutan determinadas acciones.
Si la condicin no se cumple, no se ejecutan esas acciones.

SINTAXIS
DIAGRAMA DE FLUJO

PSEUDOCODIGO

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

2. Ingrese por teclado un nmero entero, si mayor a 10 smele 10 unidades y


visualice el nuevo valor.
ALGORITMO Ejemplo2
VARIABLES
ENTERO: N
INICIO
LEER ( N )
SI ( N > 10) ENTONCES
N N + 10
FIN-SI
ESCRIBIR ( N )
FIN
3. Ingrese por teclado la edad de una persona; si su edad es mayor a 17,
visualice un mensaje Es mayor de edad.
ALGORITMO Ejemplo3
VARIABLES
ENTERO:

edad

INICIO
LEER (edad)
SI (edad > 17) ENTONCES
ESCRIBIR Es mayor de edad
FIN-SI
FIN

UTP

RREDES & COMUNICACIONES

44

4. Ingrese por teclado la talla de una persona; visualice un mensaje Servicio


Obligatorio, si tiene una talla minima de 1.70 metros
ALGORITMO Ejemplo4
VARIABLES
REAL:

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

48

ESTRUCTURA CONDICIONAL DOBLE


DEFINICION
La estructura condicional de seleccin doble ejecuta un bloque de instrucciones
(A) cuando la proposicin (condicin) es verdadera y un bloque diferente (B)
cuando esta es falsa.

SINTAXIS
DIAGRAMA DE FLUJO

PSEUDOCODIGO

True
False

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

49

Donde:
Si
Condicin
Entonces
Instruccin
si no

: Indica el comando de comparacin


: Indica la condicin a evaluar
: Precede a las acciones a realizar cuando se cumple la condicin
: Son las acciones a realizar cuando se cumple o no la condicin
: Precede a las acciones a realizar cuando no se cumple la
condicin

Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o


ms acciones.

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

2. Ingrese por teclado un numeros, si el nmero es par visualice su doble pero


si el nmero es impar visualice su cuadrado.
ALGORITMO Ejemplo2
VARIABLES
ENTERO:
A
INICIO
LEER(A)
SI ( A MOD 2 = 0 )ENTONCES
ESCRIBIR (2*A)
SINO
ESCRIBIR (A^2)
FIN-SI
FIN

UTP

RREDES & COMUNICACIONES

50

3. Ingrese por teclado la edad de un postulante a las fuerzas armadas, visualice


un mensaje Apto si su edad es mayor a 17; sino visualice un mensaje No
apto.
ALGORITMO Ejemplo3
VARIABLES
ENTERO:
edad
INICIO
LEER (edad)
SI (edad>17) ENTONCES
ESCRIBIR (APTO)
SINO
ESCRIBIR (NO APTO)
FIN-SI
FIN
4. Ingrese por teclado el total de ahorros de una persona, si ahorr mas de
1000, visualice PUEDE COMPRAR SU TV, sino SIGA AHORRANDO.
ALGORITMO Ejemplo3
VARIABLES
REAL:
ahorros
INICIO
LEER (ahorros)
SI (ahorros>1000) ENTONCES
ESCRIBIR (PUEDE COMPRAR SU TV)
SINO
ESCRIBIR (SIGA AHORRANDO)
FIN-SI
FIN

5. Ingrese por teclado el tiempo que e demora en recorrer 1500 metros un


atleta, visualice un mensaje ATLETA A COMPETIR EN LA OLIMPIADA si la
marca minima es 3 minutos, sino visualice un mensaje PREPARARSE MAS
ALGORITMICA Ejemplo5
VARIABLES
REAL:
tiempo
INICIO
LEER (tiempo)
SI (tiempo<=3.00) ENTONCES
ESCRIBIR (ATLETA A COMPETIR EN LA OLIMPIADA)
SINO
ESCRIBIR (PREPARARSE MAS)
FIN-SI
FIN-SI
FIN

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

51

6. Una tienda comercial ofrece un descuento del 3% del valor de compra si el


pago se efecta al contado, en caso el pago sea con tarjeta se le recarga un
5% del valor de compra. Calcular el total a pagar.

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

7. Ingrese un nmero entero de 3 cifras y luego visualice un mensaje indicando


si el nmero ingresado es CAPICUA o NO ES CAPICUA.
ALGORITMICA Ejemplo7
VARIABLES
ENTERO: N, A, C
INICIO
LEER( N )
SI ( N >= 100) Y ( N <= 999 ) ENTONCES
A N DIV 100
C ( N MOD 100) MOD 10
SI ( A = C ) ENTONCES
ESCRIBIR(CAPICUA)
SINO
ESCRIBIR(NO ES CAPICUA)
FIN-SI
FIN-SI
FIN

8. Una tienda comercial por campaa publicitaria esta ofreciendo descuentos


por sus diversos articulos, donde lo articulos que cuestan minimo 1000 nuevos
soles se le aplicar un descuento del 10% y aquellos que son menores a dicho
monto se le aplicar un descuento del 3% del precio. Visualice el descuento y
el neto

UTP

RREDES & COMUNICACIONES

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

9. Se estan solicitando a la poblacin postular a la Escuela de la Fuerzas


Armadas, una persona que postula a la Escula deber ingresar su Nombre,
edad, talla y estudios realizados. Si su edad es mayor a 17, tiene una talla
minima de 1.70 y estudios superiores, podr ingresar, sino ingresar a la
Escuela de Suboficiales.
ALGORITMICA Ejemplo9
VARIABLES
ENTERO: edad
REAL:
talla
CADENA: nombre, estudios
INICIO
LEER (nombre, talla, edad, estudios)
SI ( edad>17 Y talla>=1.70 Y estudios=SUPERIOR) ENTONCES
ESCRIBIR (APTO PARA ESCUELA DE OFICIALES)
SINO
ESCRIBIR (APTO PARA ESCUELA DE SUB OFICIALES)
FIN-SI
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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

55

ESTRUCTURA CONDICIONAL MULTIPLE


DEFINICION
Las estructuras de comparacin mltiples, son tomas de decisin especializada
que permiten comparar una variable con posibles resultados diferentes,
ejecutando para cada caso una serie de instrucciones especficas.
Cabe resaltar que este tipo de estructura evala el valor de una variable con los
posibles valores que se puden comparar para obtener un resultado, por
ejemplo:
Si el mes es 1, escribir Enero; sino si el mes es 2, escribir Febrero, etc.

SINTAXIS
DIAGRAMA DE FLUJO

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

57

2. Ingrese un nmero entero, si es menor a 10 smele 10 unidades, si est


entre 11 a 20 multiplique por dos, si es mayor a 20 elevar a potencia par.
Visualice el nuevo valor.
ALGORITMO Ejemplo2
VARIABLES
ENTERO:

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

3. 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 Ejemplo3
VARIABLES
CADENA: Categoria
REAL: Bonificacion
INICIO
LEER (Categoria)
SI (Categoria = A) ENTONCES
Bonificacion 250
SINO SI (Categoria = B) ENTONCES
Bonificacion 200
SINO SI (Categoria = C) ENTONCES
Bonificacion 120
SINO
Bonificacion 50
FIN-SI
ESCRIBIR ( Bonificacion )
FIN

UTP

RREDES & COMUNICACIONES

58

4. Se van a publicar la nota de un alumno, dependiendo de su nota se ubicar


en una de las siguientes categoras:
PROMEDIO
18 20
15 17
11 14
0 -10

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

FU NDAME NTO S DE PROGRA MACIO N

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%

3. Disee un programa que lea la temperatura de un da e imprima el tipo de


clima de acuerdo a la siguiente tabla
Temperatura Promedio (TP)
TP<=10
10<TP<=20
20<TP<=30
TP30

Tipo de Clima
Frio
Nublado
Caluroso
Trpico

4. Ingrese un numero de 4 cifras, visualizar un mensaje si el numero es o no


capica.
5. Ingrese 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
6. 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).
7. Ingrese un nmero de hasta tres cifras, visualizar el nmero en romanos
8. La Universidad UTP ha categorizado las matriculas de acuerdo a la facultad
que va a estudiar
Facultad
Ing de Sistemas
Derecho
Ing Naviera
Ing Pesquera
Contabilidad

UTP

Importe de Matricula
350
300
300
310
280

Mensualidad
590
550
500
550
490

RREDES & COMUNICACIONES

60

Ingrese por teclado el nmbre del Postulando y la facultad que va a estudiar,


visualice:
El importe de la matricula
El monto de la mensualidad
El monto total, que es la suma de la matricula y la mensualidad
9. Un cliente, por campaa navidena, desea comprar panteones, donde segn
su marca tiene un precio
Marca del Paneton
Donofrio
Motta
Todinno
Naval
Santa Claus
Doa Pepa

Precio Unitario
20
19
18
9
11
10

Si el cliente desea comprar ms de 20 panetones de una misma marca, se le


aplicar un descuento del 10% sobre el monto de la compra, obteniendo asi el
neto, que es la diferencia entre el monto y el descuento.
Ingrese por teclado el nombre del cliente, la marca del paneton y la cantidad de
panetones a comprar; visualice el precio unitario del paneton, el monto de la
compra, el descuento y el neto a pagar.
10. Ingrese por teclado la distancia que recorrio un atleta, de acuerdo a la
distancia, el atleta esta clasificado:
Distancia en metros
Clasificacion
100
Corta
1500
Milla
3000
3000 metros
20 kms
Semi Fondo
40 kms
Fondista

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

62

ESTRUCTURA CONDICIONAL ANIDADA


DEFINICION
Esta estructura se emplea cuando se requiere condicionar dentro de otra
condicional, es decir, cuando dentro de una condicional simple o doble existe
otra condicional simple o doble.

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

[ 100 150 >

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

RREDES & COMUNICACIONES

66

5. Ingrese por teclado el nombre de un Empleado y su categora. Segn su


categora obtendr su bsico y bonificacin:
Categora
Empleado
Obrero
Ejecutivo
Auxiliar

Bsico
600
550
1500
200

Bonificacin
150
190
500
50

Calcule y visualice su remuneracin que es la suma del bsico y bonificacin.

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

FU NDAME NTO S DE PROGRA MACIO N

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 %

2. Ingrese nmero entre 1 y 99, luego visualice su equivalente en romanos.

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%

RREDES & COMUNICACIONES

68

4. Calcular el total a pagar por su consumo telefnico, sabiendo que su renta


bsica es de S/. 50 (60 minutos libres), y que el cobro por minutos
adicionales se factura segn la siguiente tabla.
Minutos Consumidos

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

Elabore un algoritmo donde ingrese el Monto de apertura, luego calcule y


visualice el inters generado, el plan al cual pertenece y el nuevo saldo.
6. Ingrese por teclado un nmeros del 1 al 999, exprese el numero en letras,
por ejemplo 125 un ciento venticinco
7. Un instituto ofrece cursos de programacin, el costo de los cursos es de la
siguiente manera:
Bsico

FITT

Intermedio Avanzado

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

[ 100 150 >

0.65

[ 150 250 >

0.85

[ 250 350 >

1.05

[ 350 Ms >

1.25

NOTA: El pago de consumo mnimo es de S/. 10 Soles.

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

73

3. Ingrese 2 nmeros y una operacin matemtica realizar (+,-,*,/, DIV, EXP),


luego muestre el resultado de operar los 2 nmeros.
ALGORITMO Ejemplo2
VARIABLES
ENTERO:
A, B, Resultado
CADENA:
Operador
INICIO
LEER (A, B, Operador)
CASO (Operador) SEA
+ : Resultado A + B
- : Resultado A B
* : Resultado A * B
DIV: Resultado A \ B
EXP: Resultado EXP(A,B)
/ : SI( B <> 0 )ENTONCES
Resultado A DIV B
SINO
Resultado 0
FIN-SI
FIN-CASO
ESCRIBIR (Resultado)
FIN

4. Escriba un programa que lea un nmero desde el teclado entre 1 y 7 e


imprima el nombre del da de semana correspondiente. ( lunes, martes,...etc).
ALGORITMO Ejemplo4
VARIABLES
CADENA: Semama
ENTERO: dia
INICIO
LEER (dia)
CASO (dia) SEA
1: Semana Lunes
2: Semana Martes
3: Semana Miercoles
4: Semana Jueves
5: Semana Viernes
6: Semana Sabado
7: Semana Domingo
OTRO CASO:
Semana Error
FIN -CASO
ESCRIBIR (Semana)
FIN

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

Elabore un algoritmo donde ingrese el Monto de apertura, luego calcule y


visualice el inters generado, el plan al cual pertenece y el nuevo saldo.
4. Ingrese el estado civil y nmero de hijos, luego calcule la bonificacin a
pagar a un trabajador segn la siguiente tabla:
Estado Civil

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 %

5. Un instituto ofrece cursos de programacin, el costo de los cursos es de la


siguiente manera:

UTP

RREDES & COMUNICACIONES

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

Calcule y visualice su remuneracin que es la suma del bsico y bonificacin.

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

77

UNIDAD IV
Estructuras
Repetitivas

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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.

Fases de un Programa Cclico o Repetitivo


Todo problema que trabaja con procesos repetitivos o cclicos debe tomar en
cuenta las siguientes fases:
1. Entrada de datos e instrucciones previas
2. Lazo o bucle
3. Instrucciones finales o resto del proceso
4. Salida de resultado
Ejemplo de un Bucle Finito
En este ejemplo, el bucle finalizar
cuando se cumple la condicion que
N sea cero.

UTP

RREDES & COMUNICACIONES

80

Ejemplo de un Bucle Infinito

En este flujograma, el bucle se estar


repitiendo indefinidamente ya que no existe
ninguna condicion que nos permita finalizar
en algn momento.

Clasificacion de las Estructuras Repetitivas


Las estructuras repetitivas se clasifican en:
a) Estructuras cclicas que ejecutan un nmero determinado de
Iteraciones: Son aquellas en que el nmero de iteraciones se conoce antes
de ejecutarse el ciclo.

Estructura Para Fin Para

b) Estructuras cclicas que ejecutan un nmero indeterminado de


Iteraciones: Son aquellos en que el nmero de iteraciones no se conoce
con exactitud, ya que esta dado en funcin de un dato dentro del programa.

FITT

Estructura Mientras Fin Mientras


Estructura Repetir Hasta_Que

UTP

FU NDAME NTO S DE PROGRA MACIO N

81

ESTRUCTURA REPETITIVA PARA - HACER


DEFINICION
Si tenemos que repetir el bucle un nmero exacto de veces (que
conocemos antes de empezar el bucle), debemos utilizar el bucle parahacer.
Al bucle for debemos asociarle una variable. Esta variable la crea
automticamente cuando comienza a ejecutar el bucle y la utiliza para
llevar la cuenta de cuantas veces ha hecho el bucle.
A la estructura Para - Hacer se le conoce como Repetitiva. Para utilizar
esta estructura en algoritmos, debemos hacer uso de contadores y
algunas veces de acumuladores.

SINTAXIS
DIAGRAMA DE FLUJO

UTP

RREDES & COMUNICACIONES

82

PSEUDOCODIGO

PARA VariableV.Inicial HASTA V.Final DE Inc


:
Instrucciones y/o
:
Sentencias
FIN-PARA
Donde :
V.Inicial = Valor Inicial
V.Final = Valor Final
Inc = Valor de Incremento (Opcional)
CONTADORES
Un contador es una variable cuyo valor se incrementa o decrementa en
una cantidad constante cada vez que se produce un determinado
suceso o accin.
Los contadores se utilizan con la finalidad de contar sucesos o acciones
internas de un bucle; deben realizar una operacin de inicializacin y
posteriormente las sucesivas de incremento o decremento del mismo.
La inicializacin consiste en asignarle al contador un valor. Se situar
antes y fuera del bucle.
Representacin:
<contador> <contador> + <valor constante>
Si en vez de incremento es decremento se coloca un menos en lugar del
ms.
Ejemplo:
ii+1

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

84

5. Disee un programa que imprima una tabla de cuadrados y de cubos para


los nmeros del 1 hasta N, donde N se ingresa.
ALGORITMO Ejemplo5
VARIABLES
ENTERO
N, i, CUADRADO, CUBO
INICIO
LEER (N)
PARA i 1 HASTA N
CUADRADO i * i
CUBO i * i * i
ESCRIBIR (N, CUADRADO, CUBO)
FIN-PARA
FIN
6. Elabore un programa donde ingrese 30 nmeros, visualizar el mayor y el
menor de los nmeros ingresados.
ALGORITMO Ejemplo6
VARIABLES
ENTERO
N, MAYOR, MENOR, i
INICIO
MENOR 0
MAYOR 0
PARA i 1 HASTA 30
LEER (N)
SI N > MAYOR ENTONCES
MAYOR N
FIN SI
SI N < MENOR ENTONCES
MENOR N
FIN SI
FIN-PARA
ESCRIBIR (MAYOR, MENOR)
FIN
7. Elabore un programa para calcular el factorial de un nmero entero positivo
ALGORITMO Ejemplo7
VARIABLES
ENTERO
N, FACTORIAL, i
INICIO
FACTORIAL 1
LEER (N)
PARA i 1 HASTA N
FACTORIAL FACTORIAL * i
FIN-PARA
ESCRIBIR (FACTORIAL)
FIN

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

85

8. Elabore un programa donde ingrese las notas de 30 alumnos: nombre del


alumno, el curso, nota1 y nota2. Por cada ingreso calcule y visualice su
promedio; al finalizar visualice la cantidad de alumnos aprobados y la cantidad
de alumnos desaprobados
ALGORITMO Ejemplo8
VARIABLES
ENTERO
N, NOTA1, NOTA2, i, CAPROB, CDESAPROB
REAL
PROMEDIO
CADENA
NOMBRE, CURSO
INICIO
CAPROB 0
CDESAPROB 0
PARA i 1 HASTA 30
LEER (NOMBRE, CURSO, NOTA1, NOTA2)
PROMEDIO (NOTA1 + NOTA2) /2
ESCRIBIR (PROMEDIO)
SI (PROMEDIO>=11) ENTONCES
CAPROB CAPROB + 1
SINO
CDESAPROB CDESAPROB + 1
FIN SI
FIN-PARA
ESCRIBIR (CAPROB, CDESAPROB)
FIN

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

RREDES & COMUNICACIONES

86

8. Disee un programa que ingrese las edades de 10 alumnos y que calcule lo


siguiente:
Suma de todas las edades
Promedio de edades
Promedio de edades pares
Edad mxima
Edad mnima
9. Escribe un algoritmo que lea un nmero natural N y un carcter. La salida
debe ser un rombo compuesto del carcter y de la anchura que especifica el
nmero N. Por ejemplo, si N es 5 y el carcter es *, el rombo sera:
*
**
***
****
*****
****
***
**
*
10. Elabore un programa 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
11. Elabore un programa donde ingrese un numero, visualizar los divisores del
numero ingresado.
12. Escribe un algoritmo que imprima una pirmide de dgitos como la de la
figura, tomando como entrada el nmero de filas de la misma.
1
121
12321
1234321
123454321
13. Escriba un Algoritmo que permita forma la siguiente serie, donde N es
ingresado por teclado:
1, 4, 9, 16, N2
14. Disee un programa que imprima N trminos de la siguiente serie:
3, 8, 15, 24
15. Disee un programa que halle los 3 primeros nmeros perfectos

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

87

16. Disee un programa para hallar la suma de N trminos de la siguiente


serie:
1 + 1/32 + 1/52 + 1/72 + 1/92+............................
17. Disee un programa para hallar la suma de N terminos de la siguiente
serie:
1 + 1/2 + 2/3 + 3/4 + 4/5+............................
18. Disee un programa donde visualice los nmeros primos comprendidos
entre el 1 al 100.

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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.

La estructura MIENTRAS se conoce como Iterativa.


Se usan cuando no se conoce con anticipacin el nmero de veces que
se ejecutar la accin.

SINTAXIS
DIAGRAMA DE FLUJO

UTP

RREDES & COMUNICACIONES

90

PSEUDOCODIGO

MIENTRAS (Expresion<es>) HACER


:
VERDAD
:
FIN-MIENTRAS
Instrucciones y/o
Sentencias

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

FU NDAME NTO S DE PROGRA MACIO N

91

3. Calcule y visualice la suma de todos los nmeros de 2 cifras positivos.


ALGORITMO Ejemplo3
VARIABLES
ENTERO
N, SUMA
INICIO
N 10
SUMA 0
MIENTRAS (N <= 99) HACER
SUMA SUMA + N
NN+1
FIN-MIENTRAS
ESCRIBIR (LA SUMA ES:, SUMA)
FIN

4. Calcule y visualice los divisores de un nmero entero.


ALGORITMO Ejemplo4
VARIABLES
ENTERO
N, D, Resto
INICIO
LEER (N)
D1
MIENTRAS (D <= N) HACER
Resto N MOD D
SI (Resto = 0) ENTONCES
ESCRIBIR (D)
FIN-SI
DD+1
FIN-MIENTRAS
FIN

5. Calcular y visualizar la suma de los elementos de la siguiente serie :


S 1 + 4 + 9 + 16 + 25 + + 100
ALGORITMO Ejemplo5
VARIABLES
ENTERO
N, SUMA
INICIO
N 1
MIENTRAS ( N <= 10 ) HACER
SUMA SUMA + ( N 2 )
NN+1
FIN-MIENTRAS
ESCRIBIR (LA SUMA ES:, SUMA)
FIN

UTP

RREDES & COMUNICACIONES

92

6. Ingrese un nmero entero y luego visualice el nmero de cifras que lo


componen.
ALGORITMO Ejemplo6
VARIABLES
ENTERO
N, Cifras
INICIO
LEER (N)
Cifras 0
MIENTRAS (N <> 0) HACER
Cifras Cifras + 1
N N DIV 10
FIN-MIENTRAS
ESCRIBIR (Numero Cifras:, Cifras)
FIN

7. Disee un programa que reciba un 5 nmeros enteros de 2 cifras y muestra


la suma de ellos y cantidad de pares e impares
ALGORITMO Ejemplo7
VARIABLES
ENTERO
N, SUMA, CPARES, CIMPARES, i
INICIO
CPARES 0
CIMPARES 0
SUMA 0
I1
MIENTRAS (i <=5) HACER
LEER (N)
SI (N>=10 Y N<=99) ENTONCES
SUMA SUMA + N
SI (N MOD 2 = 0) ENTONCES
CPARES CPARES + 1
SINO
CIMPARES CIMPARES + 1
FIN SI
ii+1
FIN MIENTRAS
ESCRIBIR (SUMA, CPARES, CIMPARES)
FIN

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

93

8. Disee un programa donde ingrese un numero, visualizar la suma de sus


cifras
ALGORITMO Ejemplo8
VARIABLES
ENTERO
N, SUMA, RESTO
INICIO
SUMA 0
LEER (N)
MIENTRAS (N <>0) HACER
RESTO N MOD 10
SUMA SUMA + RESTO
N N DIV 10
FIN MIENTRAS
ESCRIBIR (SUMA)
FIN

9. Disee un programa donde ingrese un numero, visualizar un mensaje si es


numero primo o compuesto.
ALGORITMO Ejemplo9
VARIABLES
ENTERO
N, CONTADOR, i
INICIO
CONTADOR 0
LEER (N)
i2
MIENTRAS (i < N) HACER
SI (N MOD N = 0) ENTONCES
CONTADOR CONTADOR + 1
FIN SI
ii+1
FIN MIENTRAS
SI (i = 0) ENTONCES
ESCRIBIR (NUMERO PRIMO)
SINO
ESCRIBIR (NUMERO COMPUESTO)
FIN SI
FIN

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

95

12. Disee un programa para hallar la suma de N trminos de la siguiente


serie:
1 + 1/32 + 1/52 + 1/72 + 1/92+............................
13. Calcular la suma de todos los nmeros primos existentes entre 1 y 1000.
14. Calcular la suma de todos los nmeros de 3 cifras compuestos por cifras
diferentes impares.
15. Visualizar la siguiente serie de nmeros: +1-2+3-4+5-6+7-8++N

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

97

ESTRUCTURA REPETIR - HASTA


DEFINICION
Se llama Repetir a la estructura algortmica que se ejecuta un nmero
definido de veces hasta que la condicin se torna verdadera

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

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

99

4. Ingrese un nmero entero y luego visualice todos sus divisores.


ALGORITMO Ejemplo4
VARIABLES
ENTERO N, Divisor, Resto
INICIO
LEER (N)
Divisor 1
REPETIR
Resto N MOD Divisor
SI (Resto = 0) ENTONCES
ESCRIBIR (Divisor)
FIN-SI
Divisor Divisor + 1
HASTA (Divisor > N)
FIN
5. Ingrese un nmero y luego visualice un mensaje indicando si el nmero ES
CAPICUA o NO ES CAPICUA.
ALGORITMO Ejemplo5
VARIABLES
ENTERO
N, M, INV, Cifra
INICIO
LEER (N)
M N
INV 0
REPETIR
Cifra M MOD 10
INV (INV * 10) + Cifra
M M DIV 10
HASTA (M = 0)
SI (N = INV) ENTONCES
ESCRIBIR (ES CAPICUA)
SINO
ESCRIBIR (NO ES CAPICUA)
FIN-SI
FIN

UTP

RREDES & COMUNICACIONES

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.

3. Disee un programa que permita calcular la Serie Fibonaci:


0, 1, 1, 2, 3, 5, 8, .
4. Disee un programa que imprima N trminos de la siguiente serie:
3, 8, 15, 24
5. Disee un programa que halle los 3 primeros nmeros perfectos
6. Disee un programa para hallar la suma de N trminos de la siguiente serie:
1 + 1/32 + 1/52 + 1/72 + 1/92+............................
7. Disee un programa donde visualice los nmeros primos comprendidos
entre el 1 al 100.
8. Disee un programa donde ingrese un numero, visualice la cantidad de cifras
ceros, pares e impares que tiene el numero ingresado.
9. Escriba un pequeo programa para imprimir los primeros cien nmeros
naturales haciendo una pausa cada vez que se llene la pantalla e indicando
con un mensaje adecuado que al oprimir una tecla la lista continuar.
10. Escriba un programa que imprima los primeros n nmeros naturales pares.
Valide el valor de n y emita un mensaje de error si no es natural.
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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

102

UNIDAD V
Sub Programas

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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.

CARACTERISTICAS DE LOS SUBPROGRAMAS


1. DIVISION EN MODULOS
Funcionalidad clara y bien definida
Aislados. Sin dependencias con otros modulos
Entrada/Salida simple y bien definida
2. ABSTRACCION
Nos centramos en la FUNCIONALIDAD de los modulos
Que problema resuelve
Que datos necesita
Que datos produce
Bajo que condiciones se ejecuta
NO importa como se resuelve el problema
3. ENCAPSULAMIENTO

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

105

Si el metodo para solucionar una tarea cambia, el aislamiento evita


que dicho cambio influya en las otras tareas.
El aislamiento de los modulos no puede ser total. Para que pueda
colaborar con otros modulos, es necesario conocer:
Que problema resuelve
El intercambio de informacion
Bajo que condiciones se produce

VENTAJAS DE LOS SUBPROGRAMAS


Independientes, el desarrollo de un programa se puede efectuar con mayor
facilidad.
Se podr modificar un mdulo sin afectar a los dems
Los subprogramas slo se escribirn una vez, aunque se necesiten en distintas
ocasiones a lo largo del algoritmo.
Permite buscar los errores en un programa ya que stos se pueden aislar
fcilmente.

ALCANCE DE LAS VARIABLES: DECLARACIONES


LOCALES Y GLOBALES
Variables locales son aquellas cuyo ambito de visibilidad coincide
exclusivamente con el cuerpo del algoritmo en el que han sido
declaradas.
Variables globales son aquellas cuyo ambito de visibilidad se extiende al
cuerpo de varios algoritmos.
Se denonima efecto lateral al intercambio de informacion entre dos
algoritmos realizado a traves de variables globales (es decir, sin utilizar
el interfaz).
En nuestra metodologa de programacion, la utilizacion de variables
globales y efectos laterales esta prohibida.

CLASIFICACION DE LOS SUBPROGRAMAS


Los subprogramas se clasifican en:
Procedimientos o Rutinas
Funciones

UTP

RREDES & COMUNICACIONES

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 ()

Para ejecutar un procedimiento se le puede incluir parmetros.


El paso de valores a los parmetros de un procedimiento se puede
hacer por valor y/o referencia.

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

107

Ejemplo: Implemente un procedimiento que permita visualizar la suma de 2


nmeros enteros (utilice parmetros)

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

Parmetros por Valor


Son los parmetros que pueden recibir valores pero que no pueden
devolverlos.
Es una variable global que se conecta con una variable local mediante el
envo de su valor, despus de lo cual ya no hay relacin.
Lo que le sucede a la variable local no afectar a la global.

Parmetros por Referencia


Son los que pueden recibir y devolver valores.
Son variables globales que se conectan con una local a travs de su
contenido; al establecerse dicha conexin las variables se convierten en
sinnimos, lo que afecte a la variable local le suceder a la variable
global.

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

109

2. Implementar un procedimiento que imprima el mayor valor de 2 nmeros


enteros.
ALGORITMO Ejemplo2
VARIABLES
ENTERO
A, B
PROCEDIMIENTO ImprimeMayor (ENTERO M, ENTERO N)
INICIO
SI ( M > N )ENTONCES
ESCRIBIR (M)
SINO
ESCRIBIR (N)
FIN-SI
FIN-PROCEDIMIENTO
INICIO
LEER (A, B)
ImprimeMayor (A, B)
FIN

3. Implementar un procedimiento que visualice los divisores de un nmero


entero.
ALGORITMO Ejemplo3
VARIABLES
ENTERO
M
PROCEDIMIENTO ImprimeDivisores (ENTERO N)
VARIABLES
ENTERO
I
INICIO
PARA I 1 HASTA N
SI (N MOD I = 0) ENTONCES
ESCRIBIR (I)
FIN-SI
FIN-PARA
FIN-PROCEDIMIENTO
INICIO
LEER (M)
ImprimeDivisores (M)
FIN

UTP

RREDES & COMUNICACIONES

110

4. Implementar un procedimiento que permita calcular y visualizar la suma de


todos los nmeros menores a un nmero entero
ALGORITMO Ejemplo4
VARIABLES
ENTERO
M
PROCEDIMIENTO ImprimeSumaMenores (ENTERO N)
VARIABLES
ENTERO
SUMA, I
INICIO
SUMA 0
PARA I 1 HASTA N-1
SUMA SUMA + I
FIN-PARA
ESCRIBIR (SUMA)
FIN-PROCEDIMIENTO
INICIO
LEER (M)
ImprimeSumaMenores (M)
FIN

5. Implemente un procedimiento que permita calcula la suma de las de las


cifras de un numero ingresado.
ALGORITMO Ejemplo5
VARIABLES
ENTERO
M
PROCEDIMIENTO ImprimeSumaCifras (ENTERO N)
VARIABLES
ENTERO
SUMA, CIFRA
INICIO
SUMA 0
MIENTRAS (N<>0) HACER
CIFRA N MOD 10
SUMA SUMA + CIFRA
N N DIV 10
FIN-MIENTRAS
ESCRIBIR (SUMA)
FIN-PROCEDIMIENTO
INICIO
LEER (M)
ImprimeSumaCifras (M)
FIN

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

111

6. Implementar un procedimiento que permita calcular y visualizar el menor de


tres numeros ingresados
ALGORITMO Ejemplo6
VARIABLES
ENTERO
N1, N2, N3
PROCEDIMIENTO ImprimeMenor (ENTERO A, ENTERO B, ENTERO C)
VARIABLES
ENTERO
MENOR
INICIO
MENOR A
SI (B < MENOR) ENTONCES
MENOR B
FIN-SI
SI (C < MENOR) ENTONCES
MENOR C
FIN-SI
ESCRIBIR (MENOR)
FIN-PROCEDIMIENTO
INICIO
LEER (N1, N2, N3)
ImprimeMenor (N1, N2, N3)
FIN

7. Implemente un procedimiento que permita calcular y visualizar el nmero


invertidos de un nmero ingresado.
ALGORITMO Ejemplo7
VARIABLES
ENTERO
M
PROCEDIMIENTO ImprimeInverso (ENTERO N)
VARIABLES
ENTERO
INVERSO, CIFRA
INICIO
INVERSO 0
MIENTRAS (N<>0) HACER
CIFRA N MOD 10
INVERSO 10 * INVERSO + CIFRA
N N DIV 10
FIN-MIENTRAS
ESCRIBIR (INVERSO)
FIN-PROCEDIMIENTO
INICIO
LEER (M)
ImprimeInverso (M)
FIN

UTP

RREDES & COMUNICACIONES

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

FU NDAME NTO S DE PROGRA MACIO N

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

RREDES & COMUNICACIONES

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).

ESTRUCTURA DE UNA FUNCION

FUNCION Nombre (Parametros): Tipo_Dato


VARIABLES
Lista de parmetros
:
INICIO
Variables locales a
nivel funcion.
:
:
Instrucciones o
Sentencias

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

FU NDAME NTO S DE PROGRA MACIO N

115

2. Crear una funcin que retorne el mayor valor de 2 nmeros enteros.


ALGORITMO Ejemplo2
VARIABLES
ENTERO
A, B
FUNCION Mayor (ENTERO M, ENTERO N): ENTERO
INICIO
SI (M > N) ENTONCES
RETORNAR (M)
SINO
RETORNAR (N)
FIN-SI
FIN-FUNCION
INICIO
LEER (A, B)
ESCRIBIR (Mayor (A, B) )
FIN

3. Crear una funcin que retorne la suma de la cifras de un nmero entero.


ALGORITMO Ejemplo3
VARIABLES
ENTERO
M
FUNCION SumaCifras (ENTERO N): ENTERO
VARIABLES
ENTERO
SUMA, Cifra
INICIO
SUMA 0
MIENTRAS (N <> 0) HACER
Cifra N MOD 10
SUMA SUMA + Cifra
N N DIV 10
FIN-MIENTRAS
RETORNAR (Suma)
FIN-FUNCION
INICIO
LEER (M)
ESCRIBIR (SumaCifras (M) )
FIN

UTP

RREDES & COMUNICACIONES

116

4. Crear una funcin que retorne el factorial de un nmero entero.


ALGORITMO Ejemplo4
VARIABLES
ENTERO
M
FUNCION Factorial (ENTERO N ) : ENTERO
VARIABLES
ENTERO
Facto, I
INICIO
Facto 1
PARA I 1 HASTA N
Facto Facto * I
FIN-PARA
RETORNAR ( Facto )
FIN-FUNCION
INICIO
PARA M 1 HASTA 5
ESCRIBIR (Factorial ( M ) )
FIN-PARA
FIN
5. Implementar una funcin que retorne la suma de la mayor y menor cifras
contenidas en un nmero entero.
ALGORITMO Ejemplo5
VARIABLES
ENTERO
M
FUNCION SumaMaxMin (ENTERO N): ENTERO
VARIABLES
ENTERO Cifra, MayorCifra, MenorCifra
INICIO
MayorCifra 0 : MenorCifra 9
MIENTRAS (N <> 0) HACER
Cifra N MOD 10
SI (Cifra > MayorCifra) ENTONCES
MayorCifra Cifra
FIN-SI
SI (Cifra < MenorCifra) ENTONCES
MenorCifra Cifra
FIN-SI
N N DIV 10
FIN-MIENTRAS
RETORNAR (MayorCifra + MenorCifra )
FIN-FUNCION
INICIO
LEER ( M )
ESCRIBIR (SumaMaxMin (M))
FIN

FITT

UTP

FU NDAME NTO S DE PROGRA MACIO N

117

6. Implementar una funcin que retorne la suma de todos los nmeros de 2


cifras compuestos por cifras diferentes pares.
ALGORITMO Ejemplo6
VARIABLES
ENTERO
M
FUNCION SumaPares (ENTERO N): ENTERO
VARIABLES
ENTERO
SUMA, A, B
INICIO
SUMA 0
PARA N 10 HASTA 99
A N DIV 10
B N MOD 10
SI ( A <> B ) Y (A MOD 2=0) Y (B MOD 2=0) ENTONCES
SUMA SUMA + N
FIN-SI
FIN-PARA
RETORNAR SUMA
FIN-FUNCION
INICIO
LEER (M)
ESCRIBIR (SumaPares (M) )
FIN
7. Implementar una funcin que retorne la suma de los elementos de la
siguiente serie:
1+8+27+64++1000
ALGORITMO Ejercicio7
FUNCION SumaSerie (): ENTERO
VARIABLES
ENTERO
SUMA
INICIO
PARA N 1 HASTA 10
SUMA SUMA + (N 3)
FIN-PARA
RETORNAR SUMA
FIN-FUNCION
INICIO
ESCRIBIR (SumaSerie ())
FIN

UTP

RREDES & COMUNICACIONES

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

Vous aimerez peut-être aussi