Está en la página 1de 63

Ing.

Mirko Manrique Ronceros Pgina 1 de 63


Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
tnversdad attnaI deI Santa
tatuItad de Ineenera
t.A.I. Sstemas e InItrmatta
FUNDAMENTOS DE PROGRAMACION
Ing, MIRkO MANRIQUE RONCEROS
PRIMERA EDICION
CHIMBOTE - PERU
Ing. Mirko Manrique Ronceros Pgina 2 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
INDICE
INTRODUCCION
FUNDAMENTOS BSICOS DE ALGORITMOS
Elementos bsicos de un algoritmo 05
Expresiones 07
Funciones internas 11
Tipos de Datos 13
REPRESENTACIN GRFICA DE LOS ALGORITMOS
Diagrama de Flujo 15
Diagrama Estructurado o N - S 18
Pseudocdigo 20
ESTRUCTURAS BSICAS DE CONTROL
Estructura Secuencia 22
ESTRUCTURAS SELECTIVAS BSICAS
Estructura Selectiva Simple 27
Estructura Selectiva Doble 32
Estructura Selectiva Mltiple 35
Estructura Selectiva Anidada 38
ESTRUCTURAS REPETITIVAS
Estructura Repetitiva Desde/Para 44
Estructura Repetitiva Hacer - Mientras 51
Estructura Repetitiva Mientras 58
INSTALACIN E INTERFAZ GRFICA DE LA HERRAMIENTA DE PROGRAMACIN
Mi primer proyecto 76
Proyecto de estructura selectiva doble 88
Proyecto de estructura selectiva mltiple 92
Proyecto de estructura selectiva anidada 96
Proyecto de estructura repetitiva for 100
Proyecto de estructura repetitiva do while 106
Proyecto de estructura repetitiva while 113
Ing. Mirko Manrique Ronceros Pgina 3 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
INTRODUCCION
Este manual est dedicado a todas aquellas personas que necesitan aprender a
resolver problemas y plantear una solucin en un lenguaje de programacin, en este
caso Java. Esta es la principal razn de este manual, esta caracterstica es fundamental,
sobre todo desde el punto de vista acadmico, porque trata de ensear, de hacer
entender, de hacer ver, al lector, como resolver un problema, y luego como programar
esa solucin en un lenguaje de programacin de alto nivel. En general, aprender a usar
una herramienta es sencilla, la mayora de los libros se enfoca en ello; pero para saber
utilizar una herramienta no resuelve el problema: saber manejar una mquina de
escribir, por ejemplo, no lo hace a uno escritor.
El presente manual de Fundamentos de programacin explica los conceptos
fundamentales de la programacin lgica apoyados de las herramientas de
programacin como son los algoritmos, pseudocdigos o diagramas de flujo, y luego
sern codificados en lenguaje de programacin Java.
Este manual de Fundamentos de Programacin se divide en dos partes: La primera
realiza un introduccin a la programacin estructurada usando para ello las estructuras
secuenciales, Condicionales, Selectivas y Repetitivas a apoyadas en las tcnicas de
Diagrama de Flujo de Datos y Pseudocdigo.
La Segunda parte se enfoca a la utilizacin de un lenguaje de programacin utilizando
para esta ocasin Java y el IDE Netbeans para codificar los algoritmos resueltos en la
primera parte.
Ing. Mirko Manrique Ronceros Pgina 4 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
FUNDAMENTOS BSICOS DE ALGORITMOS
Una computadora no tiene capacidad para solucionar problemas ms que cuando se le
proporcionan los pasos sucesivos a realizar, para ello elaboramos un algoritmo.
Qu es un algoritmo?
Es un mtodo para resolver un problema mediante una secuencia de instrucciones, cada una de
las cuales especifica las operaciones que debe realizar la computadora.
Caractersticas de un algoritmo
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso e indicar el orden de realizacin de cada paso.
Debe estar definido. Si se sigue un algoritmo dos o ms veces, con los mismos valores
iniciales se debe obtener el mismo resultado.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, es decir,
debe tener un nmero finito de pasos.
Tambin hay que tener en cuenta en un algoritmo:
El algoritmo sirve de base para generar un programa, pero no es el programa en s.
El algoritmo no es inteligible directamente por el ordenador.
El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es
decir, dos programadores pueden obtener distintos cdigos fuente a partir del mismo
algoritmo.
El proceso de un algoritmo
La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.
Entrada Salida
Proceso
La informacin proporcionada al algoritmo constituye su entrada, el procedimiento para la
solucin del problema constituye su proceso y la informacin producida por el algoritmo
constituye su salida.
A continuacin ejemplos para un mejor entendimiento:
Ejemplo 01:
Leer la base y altura de un paralelogramo. Calcular su rea.
Datos de Entrada ---> base y altura
Proceso ---> rea = base x altura
Datos de Salida ---> El rea del paralelogramo
Ing. Mirko Manrique Ronceros Pgina 5 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 02:
Leer el radio de una circunferencia. Calcular su rea y longitud.
Datos de Entrada ---> Radio de una circunferencia.
Proceso
Datos de Salida
--->
--->
rea = r
2
y Longitud = 2r
El rea y longitud de una circunferencia.
Verificacin del algoritmo o prueba de escritorio
Una vez escrito el algoritmo es necesario asegurarse de que ste realiza las tareas para las que
ha sido diseado, y que por lo tanto produce el resultado correcto y esperado.
El modo ms normal de comprobar un algoritmo es mediante su ejecucin manual usando datos
significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel los
valores que van tomando en las diferentes fases, los datos de entrada o auxiliares y, por ltimo los
valores de los resultados. Este proceso se conoce como prueba del algoritmo o prueba de
escritorio.
Haremos una prueba de escritorio de los dos problemas anteriores:
Elementos Ejercicio 01 Ejercicio 02
Datos de entrada r (radio) = 3
(pi) = 3.14 (Solo tomaremos hasta
dos decimales)
Base = 5
Altura = 3
Proceso A = r
2
= 3.14 x (3)
2
L = 2r = 2 x 3.14 x 3
A = base x altura
A = 5 x 3
Datos de salida A = 28.26
L = 18.84
A = 15
Elementos bsicos de un algoritmo
Los elementos bsicos que forman parte esencial o fundamental de un algoritmo o programa son:
Palabras reservadas.
Identificadores.
Variables.
Constantes.
Instrucciones.
Palabras reservadas
Palabras utilizadas por los algoritmos o lenguajes de programacin para representar sentencias,
rdenes, etc.
Ejemplos:
inicio.
Fin.
hacer.
sientonces-sino.
mientras.
desde.
Ing. Mirko Manrique Ronceros Pgina 6 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Identificadores
Son nombres usados para identificar a los objetos y dems elementos de un programa: variables,
constantes, operadores, funciones, procedimientos, etc. Existen reglas para construir
identificadores validos y son los siguientes:
El primer carcter debe ser una letra o el carcter subrayado bajo.
Los caracteres siguientes pueden ser letras, nmeros o smbolos de subrayado bajo.
Las letras maysculas y las letras minsculas se tratan como distintas. As suma, Suma y
SUMA son tres identificadores distintos.
No pueden ser iguales a ninguna palabra reservada.
Variables
Una variable es un objeto a quien se le asigna un valor y cuyo valor puede cambiar durante el
desarrollo del algoritmo o ejecucin del programa. Si una variable est compuesto por dos
palabras, stas pueden ser juntas o unidos por el subrayado bajo, guin bajo o subguin _ .
Nota:
No se deben utilizar como nombres de variables (identificadores) palabras reservadas del
algoritmo o del lenguaje de programacin.
Ejemplos:
Nota
Nombre
Apellidos
nota_oral
Apellido_paterno
apellido_materno
Nota1
Contador1
precios
hora
prom
pi
Los nombres de las variables elegidas deben ser significativos y tener relacin con el objeto que
representan, como pueden ser los casos siguientes:
nombre para representar nombres de personas.
precios para representar los precios de diferentes artculos.
notas para representar las notas de una clase.
A continuacin se muestra como ejemplos los nombres de variables no adecuados porque
tienen otro significado a lo expresado:
azucar para representar la nota de una clase.
pan para representar la edad de una persona.
Constantes
Una constante toma o recibe un valor que no cambia durante el desarrollo del algoritmo o la
ejecucin del programa.
Instrucciones
Las instrucciones especifican las operaciones o acciones que deben ser realizadas o ejecutadas.
Ing. Mirko Manrique Ronceros Pgina 7 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Expresiones
Son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de
funciones especiales, que cumplen determinadas reglas.
Ejemplos:
a + ( b * 3 ) / c
5 * a * b / ( c + d)
1. EXPRESIONES ARITMTICAS
Son anlogas a las formulas matemticas. Las variables y constantes son numricas (real o
entera) y las operaciones son las aritmticas.
Operadores Aritmticos
Significado Operador Algebraico Operador Algoritmico
Suma + +
Resta - -
Multiplicacin x *
Divisin real / /
Divisin entera / div
Exponenciacin -,**,^
Modulo (resto o
residuo)
mod
Tabla 1: Operadores Aritmticos
A continuacin se mostrarn las equivalencias que debe conocer entre expresiones algebraicas y
expresiones aritmticas.
Ejemplos:
RepresentacinAlgebraica RepresentacinAlgortmica
12 + 19 12 + 19
a b a - b
5 x 7 5 * 7
6 + c (6 / 4) + c
4
3
7
3 ^ 7
Reglas de prioridad
Las expresiones que tienen dos o ms operandos en una expresin se evalan, en general, segn
el siguiente orden.
1. Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen
diferentes parntesis anidados (internos unos a otros), las expresiones ms internas se
evalan primero.
2. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de
prioridad.
a. Operador exponencial (^, o bien **)
b. Operadores *, /, \
c. Operadores div y mod
d. Operadores + , -
Ing. Mirko Manrique Ronceros Pgina 8 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Nota:
En caso coincidir varios operadores de igual prioridad en una expresin o subexpresin encerrada
entre parntesis, el orden de prioridad en este caso es de izquierda a derecha.
Ejemplo 1. Cul es el resultado de las siguientes expresiones?
a) 15 + 9 * 2 6 * 2 ^ 2
b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5)
Solucin:
a) 15 + 9 * 2 6 * 2 ^ 2 b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5)
15 + 9 * 2 6 * 4 -8 / 4 * 6 + 3 ^ 2 * 2
15 + 18 - 24 = 9 -8 / 4 * 6 + 9 * 2
-2 * 6 + 18 = 6
Ejemplo 2. Convertir en expresiones aritmticas algortmicas las siguientes expresiones:
a) 7 ( a + b )
b) 8x + 9y + 3z
c) a
2
+ 2a 3
d) x
2
y
2
e) p+q r
+ s
t
f) a (cd)
b
Solucin:
a) 7 ( a + b ) 7 * (a + b)
b) 8x + 9y + 3z 8 * x + 9 * y + 3 * z
c) a
2
+ 2a 3 a ^ 2 + 2 * a - 3
d) x
2
y
2
x ^ 2 y ^ 2
e) p+q (p + q) / (r + s / t)
r + s
t
f) a (cd) a / b * c * d
b
Divisin entera (div)
Es la accin de dividir dos nmeros enteros uno viene hacer el dividendo y el otro el divisor, el
resultado del operador div es el valor del cociente. En esta divisin no es de mucha importancia el
residuo. Recuerden que para utilizar el div solo se aplica a divisiones de nmeros enteros, veamos
Ing. Mirko Manrique Ronceros Pgina 9 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
el siguiente ejemplo:
Ejemplo: 9 div 2 = 4
Dividendo
9 2
8 4
1
Residuo
Divisor
Cociente
Ejemplos:
a. 15 div 6 = 2 b. 14 div 2 = 7 c. 0 div 3 = 0
d. 7 div 9 = 0 e. 3 div 3 = 1 f. 2 div 5 = 0
Reglasdeladivisinrealyentera:
Los operandos pueden ser enteros(E) o reales(R).
Entero
Divisinreal Divisinentera
E / E = R E div E = E
E / R = R E div R = No Vlido
R / E = R
resultados
R div E = No Vlido
Real R / R = R R div R = No Vlido
operandos
Residuo (mod)
El operador mod se utiliza para obtener el residuo o resto de una divisin entera. Igual que para el
operador div, para poder hallar el residuo de una divisin utilizando el operador mod, los
operandos deben ser exclusivamente enteros.
Reglasdelresiduo:
Residuo
E mod E = E
E mod R = No Vlido
R mod E = No Vlido
R mod R = No Vlido
Ejemplos:
a. 15 mod 6 = 3 b. 14 mod 2 = 0 c. 19 mod 3 = 1
d. 7 mod 9 = 7 e. 3 mod 3 = 0 f. 2 mod 5 = 2
2. EXPRESIONES LGICAS
Una expresin lgica es una expresin que solo puede tomar dos valores: verdad y falso. Las
expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras
expresiones lgicas, utilizando los operadores relacionales (de relacin o comparacin) y los
operadores lgicos not, and y or.
Operadores de relacin
Permiten realizar comparaciones de valores de tipo numrico o carcter. Los operadores de
relacin sirven para expresar las condiciones en los algoritmos. El resultado de las operaciones de
comparacin ser verdadero o falso.
Ing. Mirko Manrique Ronceros Pgina 10 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Operadores de Relacin
Significado Operador Algebraico Operador Algoritmico
Menor que > <
Mayor que < >
Igual que = =
Menor o igual que <=
Mayor o igual que >=
Distinto de o
Diferente de
<>
Tabla 2: Operadores de Relacin
Ejemplos:
Si P = 7 * 2 y Q = 3 ^ 2
Expresin Lgica Resultado
P > Q Verdad
P < Q Falso
P <> Q Verdad
(P-3) = (Q+2) Verdad
15 < 14 Falso
4 + 6 = 9 Falso
Para realizar comparaciones de datos tipo carcter, se requiere una secuencia de ordenacin de
los caracteres, similar al orden creciente o decreciente. Esta ordenacin suele ser alfabtica, tanto
maysculas como minsculas, y numrica, considerndolas de modo independiente.
A continuacin se mostrarn los caracteres situados en el cdigo ASCII en orden creciente:
Los caracteres que representan a los digitos.
0 <1 , 1 < 2 , , 8 < 9
Las letras maysculas A a Z siguen el orden alfabtico.
A < B , B < C , ..., Y < Z
Las letras minsculas, siguen el mismo criterio alfabtico.
a < b , b < c , .., y < z
Nota
Para tener completa seguridad en la ordenacin de los caracteres, ser preciso consultar el
cdigo de caracteres de su computadora, normalmente el ASCII (American Standar Code for
Information Interchange) o bien el EBCDIC (Extended Binary-Coded Decimal Interchange Code)
utilizado en computadras IBM diferentes a los modelos PC y PS/2.
Operadores lgicos
Los operadores lgicos o volanos son not (no), and (y) y or(o). Las definiciones de las
operaciones no, y, o se resumen en unas tablas conocidas como las tablas de la verdad.
Operador Lgico Expresin Lgica Significado
no (not) no P negacin de P
y (and) P y Q conjuncin de P y Q
o (or) P o Q disyuncin de P o Q
Tabla 3: Operadores Lgicos
Ing. Mirko Manrique Ronceros Pgina 11 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Las tablas de la verdad son las siguientes:
Operador No Operador Y Operador O
P no P P Q P Y Q P Q P O Q
V F V V V V V V
F V V F F V F V
F V F F V V
F F F F F F
Nota:
Siendo P y Q expresiones booleanas, V valor verdadero, F valor falso.
Negacin = not
Disyuncin = and
Conjuncin = or
Ejemplos:
(7 < 12) y (9 < 21) verdad
(9 > 15) y (3 < 4) falso
(6 = 41) o (13 > 8) verdad
(16 > 8) o (2 > 5) verdad
no (18 > 6) falso
Funciones internas
Las operaciones que se requieren en los programas exigen en numerosas ocasiones, adems de
las operaciones aritmticas bsicas, ya tratadas, un nmero determinado de operadores
especiales que se denominan funciones internas, incorporadas o estndar.
Por ejemplo, la funcin raiz2 calcula la raz cuadrada de un nmero positivo, la funcin abs
devuelve el valor absoluto de un nmero, la funcin cuadrado devuelve el valor de un nmero
elevado al cuadrado. Existen otras funciones que se utilizan para determinar las funciones
trigonomtricas.
La siguiente tabla recoge las funciones internas ms usuales en algoritmos, siendo x el
argumento de la funcin.
Ing. Mirko Manrique Ronceros Pgina 12 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que
realice la funcin:
Ejemplos:
Tabla 5: Ejemplos
Ing. Mirko Manrique Ronceros Pgina 13 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Tipos de Datos
El primer objetivo de toda computadora es el manejo de la informacin o datos. Estos datos
pueden ser las cifras de ventas de una bodega, tickets para un encuentro deportivo, ingreso diario
de una empresa o las calificaciones de un saln de clase. Los algoritmos y programas
correspondientes operan sobre datos.
Los tipos de datos definen un conjunto de valores que puede almacenar una variable, junto con un
conjunto de operaciones que se pueden realizar sobre esa variable.
Los tipos de datos simples son los siguientes:
Numricos (enteros, reales).
Lgicos (booleanos).
Carcter (char, string).
Datos numricos
El tipo numrico es el conjunto de los valores numricos. Estos pueden representarse en dos
formas distintas:
Tipo numrico entero (int, integer)
Tipo numrico real (float, double)
Tipo entero
Es el subconjunto finito de los nmeros enteros, no tienen componentes fraccionarios o decimales,
y pueden ser negativos o positivos.
Ejemplos:
6 -9
-20 11
5 19
15 -1
Tipo reales
Subconjunto de los nmeros reales, siempre tiene un punto decimal y pueden ser positivos o
negativos. Constan de un entero y una parte decimal.
Ejemplos:
9.9 12.24
-123.11 0.89
1470.274 -0.99
54.77 3.0
Nota:
Existe un tipo de representacin denominado notacin exponencial o cientfica y que se utiliza
para nmeros muy grandes o muy pequeos.
Ejemplo:
Dado un nmero cualquiera:
367520100000000000000
Ing. Mirko Manrique Ronceros Pgina 14 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
se representa en notacin descomponindolo en grupo de tres digitos:
367 520 100 000 000 000 000
y posteriormente en forma de potencias de 10, es:
3.675201 x 10
20
Ejemplos:
2079546000000 = 2.079546 x 10
12
8927645125 = 8.927645 x 10
9
0.000000032458 = 3.2458 x 10
-8
0.0000000009284 = 9.284 x 10
-10
Datos lgicos
Es aquel dato que solo puede tomar uno de dos valores:
cierto o verdadero (true) y falso (false)
Ejemplo:
Cuando se le pide si un valor entero es par, la respuesta ser verdadera o falsa, segn sea impar
o par.
Datos tipo carcter y tipo cadena
Un dato tipo carcter contiene un solo carcter y se encuentra delimitado por comilla simple.
Los caracteres que reconocen las diferentes computadoras no son estndar, sin embargo la
mayora reconoce los siguiente caracteres alfabticos, numricos y especiales:
caracteres alfabticos : (a, b, c, ... ,z) (A, B, C, ... ,Z)
caracteres numricos : (1, 2, 3, ... ,9 ,0)
caracteres especiales : (+,-,*,/,{, }, ... ;,< ,> , ...)
Una cadena (string) de caracteres es una sucesin de caracteres que se encuentran delimitados
por una comilla simple (apostrofo) o dobles comillas.
Ejemplos:
Carcter : a b m
p q M
Z Y N
Cadena : Hola Per
8 de Octubre de 1879
Juan Pablo II
Ing. Mirko Manrique Ronceros Pgina 15 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
REPRESENTACIN GRFICA DE LOS ALGORITMOS
Para representar un algoritmo se debe utilizar algn mtodo que permita independizar dicho
algoritmo del lenguaje de programacin elegido. Ello permitir que un algoritmo pueda ser
codificado indistintamente en cualquier lenguaje. Para conseguir este objetivo se precisa que el
algoritmo sea representado grfica o numricamente, de modo que las sucesivas acciones no
dependan de la sintaxis de ningn lenguaje de programacin, sino que la descripcin pueda servir
fcilmente para su transformacin en un programa, es decir, su codificacin.
Los mtodos usuales para representar un algoritmo son:
Diagrama de Flujo.
Diagrama estructurado o N S (Nassi Schneiderman).
Pseudocdigo.
Diagrama de Flujo
Un diagrama de flujo es una de las tcnicas de representacin de algoritmos ms antigua y a la
vez ms utilizada, aunque su empleo ha disminuido considerablemente. Un diagrama de flujo es
un diagrama que utiliza los smbolos (cajas) estndar y que tiene los pasos del algoritmo escritos
en esas cajas unidas por flechas, denominadas lneas de flujo, que indican la secuencia en que se
deben ejecutar.
Los smbolos ms utilizados en un diagrama de flujo son:
Smbolos Nombre Funcin
Terminal Representa el inicio y fin de un algoritmo. Puede representar
tambin una parada o interrupcin del algoritmo.
Entrada / Salida Sirve para cualquier ingreso de datos desde los perifricos
de entrada o muestra informacin en algn perifrico de
salida.
Proceso Cualquier tipo de operacin que pueda originar cambio de
valor, formato o posicin, operaciones aritmticas, etc.
no
Decisin Empleado cuando el programa debe tomar una decisin con
dos salidas posibles (si, no) dependiendo del valor de una
si
condicin lgica.
Decisin
mltiple
En funcin del resultado de la comparacin se seguir uno
de los diferentes caminos de acuerdo con dicho resultado.
Conector Sirve para enlazar dos partes cualesquiera de un
organigrama. Se refiere a la conexin en la misma pgina
deldiagrama.
Lnea de flujo Indica el sentido de ejecucin de las operaciones.
Lnea conectora Sirve de unin entre dos smbolos.
Ing. Mirko Manrique Ronceros Pgina 16 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Smbolo Nombre Funcin
Conector Conexin entre dos puntos del organigrama situado en
pginas diferentes.
Subrutina o
Procedimiento
Es un mdulo independiente del programa principal, que
recibe una entrada procedente de dicho programa, realiza
una tarea determinada y regresa al terminar, al programa
principal.
Pantalla Se utiliza en ocasiones en lugar del smbolo e E/S
Impresora Se utiliza en ocasiones en lugar del smbolo e E/S
Teclado Se utiliza en ocasiones en lugar del smbolo e E/S
Comentario Se utiliza para aadir comentarios al programa.
Tabla 1: Operadores Aritmticos
Los smbolos ms utilizados en un diagrama de flujo son:
a. inicio/fin.
b. proceso.
c. decisin.
d. conectores.
e. entrada/salida.
f. direccin del flujo.
Primeralgoritmoconundiagramadeflujo
Para conocer como se resuelve un problema mediante el diagrama de flujo, resolveremos un
ejemplo:
Ejemplo 1:
El diagrama de flujo siguiente representa la resolucin de nuestro primer programa que deduce el
rea y permetro de un rectngulo, sabiendo que su base y altura tienen los valores 8cm y 2cm
respectivamente.
01
02
05
03
06
04
07
Ing. Mirko Manrique Ronceros Pgina 16 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Smbolo Nombre Funcin
Conector Conexin entre dos puntos del organigrama situado en
pginas diferentes.
Subrutina o
Procedimiento
Es un mdulo independiente del programa principal, que
recibe una entrada procedente de dicho programa, realiza
una tarea determinada y regresa al terminar, al programa
principal.
Pantalla Se utiliza en ocasiones en lugar del smbolo e E/S
Impresora Se utiliza en ocasiones en lugar del smbolo e E/S
Teclado Se utiliza en ocasiones en lugar del smbolo e E/S
Comentario Se utiliza para aadir comentarios al programa.
Tabla 1: Operadores Aritmticos
Los smbolos ms utilizados en un diagrama de flujo son:
a. inicio/fin.
b. proceso.
c. decisin.
d. conectores.
e. entrada/salida.
f. direccin del flujo.
Primeralgoritmoconundiagramadeflujo
Para conocer como se resuelve un problema mediante el diagrama de flujo, resolveremos un
ejemplo:
Ejemplo 1:
El diagrama de flujo siguiente representa la resolucin de nuestro primer programa que deduce el
rea y permetro de un rectngulo, sabiendo que su base y altura tienen los valores 8cm y 2cm
respectivamente.
01
02
05
03
06
04
07
Ing. Mirko Manrique Ronceros Pgina 16 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Smbolo Nombre Funcin
Conector Conexin entre dos puntos del organigrama situado en
pginas diferentes.
Subrutina o
Procedimiento
Es un mdulo independiente del programa principal, que
recibe una entrada procedente de dicho programa, realiza
una tarea determinada y regresa al terminar, al programa
principal.
Pantalla Se utiliza en ocasiones en lugar del smbolo e E/S
Impresora Se utiliza en ocasiones en lugar del smbolo e E/S
Teclado Se utiliza en ocasiones en lugar del smbolo e E/S
Comentario Se utiliza para aadir comentarios al programa.
Tabla 1: Operadores Aritmticos
Los smbolos ms utilizados en un diagrama de flujo son:
a. inicio/fin.
b. proceso.
c. decisin.
d. conectores.
e. entrada/salida.
f. direccin del flujo.
Primeralgoritmoconundiagramadeflujo
Para conocer como se resuelve un problema mediante el diagrama de flujo, resolveremos un
ejemplo:
Ejemplo 1:
El diagrama de flujo siguiente representa la resolucin de nuestro primer programa que deduce el
rea y permetro de un rectngulo, sabiendo que su base y altura tienen los valores 8cm y 2cm
respectivamente.
01
02
05
03
06
04
07
Ing. Mirko Manrique Ronceros Pgina 17 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Explicacin de nuestro primer algoritmo
Lo primero que debemos hacer para realizar un algoritmo, es analizar el problema; reconocer las
variables que representarn a los datos de entrada, dentro del proceso de clculo y los datos de
salida, que vamos a utilizar, procesar y encontrar.
Anlisis
Para este ejemplo hemos identificado nuestras variables a trabajar:
a. base = b
b. altura = h
c. rea = a
d. permetro = p
Todo algoritmo se debe comenzar con un inicio y finalizar con un fin, para ello se utilizar el
smbolo terminal. Para lograr explicar con mayor claridad nuestro algoritmo, hemos incluido
nmero de lnea. Donde la explicacin por lnea es la siguiente:
La lnea 01, se utiliza el smbolo terminal junto con la palabra inicio que representa el
comienzo del algoritmo.
La lnea 02, se utiliza el smbolo proceso donde a las variables b y h se le asignan los
nmeros 8 y 2 respectivamente.
La lnea 03, se utiliza el smbolo proceso donde primero se realiza la operacin b * h y
segundo, el resultado de esta operacin se asigna a la variable a (rea).
La lnea 04, se utiliza el smbolo conector de pgina, donde sirve para enlazar dos partes
cualesquiera en la misma pgina del diagrama. Para poder enlazar los conectores
podemos utilizar nmeros o smbolos diferentes a los utilizados en el algoritmo.
La lnea 05, se utiliza el smbolo proceso donde primero se realiza la operacin 2 * (b + h)
y segundo, el resultado de esta operacin se asigna a la variable p (permetro).
La lnea 06, se utiliza el smbolo entrada/salida, en este caso este smbolo representa la
salida de la informacin obtenida por el algoritmo: el rea y el permetro.
La lnea 07, se utiliza el smbolo terminal junto con la palabra fin que representa el fin del
algoritmo.
Nota:
El diagrama de flujo nos da una idea del orden de ejecucin de las actividades en el tiempo.
Primero cargamos los datos de entrada, luego hacemos las operaciones necesarias y por ltimo
mostramos los resultados.
Ejemplo 2:
El diagrama de flujo del ejemplo anterior tambin se puede llevar acabo sin el uso de conectores
de pgina o de pginas diferentes, en el siguiente diagrama se muestra cmo sera. Pero para
este ejemplo haremos una variacin en nuestro ejemplo. En el ejemplo 1, los datos de la base y
altura eran conocidos 8cm y 2cm. En este ejemplo los datos de la base y altura, no se conocen y
se solicitan para resolver el problema; para solicitar los datos de entrada utilizaremos el smbolo
entrada/salida.
Ing. Mirko Manrique Ronceros Pgina 18 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Nota:
En el ejemplo 1, los valores de b y h se conocen, por ello se utiliza el smbolo proceso. Pero para
el ejemplo 2, los valores no se conocen por tanto tienen que ser ingresados, para realizar ello en
algoritmos se utiliza el smbolo entrada/salida.
Para poner en prctica los nuevos conocimientos adquiridos, resolveremos los siguientes
ejemplos:
Ejercicios de autocomprobacin de aprendizajes
Ejemplo 3:
Se ingresan por teclado dos nmeros positivos. Calcular la suma, resta, multiplicacin, divisin
real, divisin entera, residuo y promedio de dichos nmeros. Reportar los resultados.
Ejemplo 4:
Una tienda de ropa exclusiva compra en Lima 50 pantalones blueyn a un costo de S/. 45 y aqu
en Chimbote los oferta a S/. 60. Cunto es la ganancia?.
Diagrama Estructurado o N - S
Se trata de un mtodo de representacin de algoritmos en forma de bloque compacto. Es un
diagrama algo similar a los diagramas de flujo (convencionales) en el que se omiten las flechas, y
las figuras que se usan son rectngulos contiguos.
La representacin del algoritmo se basa en los siguientes puntos:
Un programa se representa por un solo diagrama, en el que se incluyen todas las
operaciones a realizar para la resolucin del problema. La forma de conectar una pgina
con la siguiente es similar al mtodo anterior, es decir, mediante un nmero o un nombre
encerrados en uno de los rectngulos que componen el algoritmo.
Todo diagrama comienza con un rectngulo que tiene la palabra inicio y al ltimo del
algoritmo un rectngulo con la palabra fin.
Las acciones sucesivas se escriben en rectngulos sucesivos.
Ing. Mirko Manrique Ronceros Pgina 19 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
En un solo rectngulo se pueden escribir diferentes acciones.
Un proceso puede ser un subprograma.
La lectura del diagrama se hace de arriba hacia abajo.
La forma grfica de representar un algoritmo en diagrama estructurado o N S es el siguiente:
Primer algoritmo con un diagrama estructurado o N-S
Para conocer cmo se realiza un diagrama estructurado, resolveremos el ejemplo 1 planteado en
la parte de diagrama de flujo:
Como se ve en la solucin del ejemplo 1, en este diagrama se utilizan slo rectngulos. Si se dan
cuenta, en un diagrama estructurado existe un rectngulo de declaracin de variables, donde se
colocan las variables que se utilizarn en el algoritmo y a la vez tambin podemos inicializar
variables con sus valores dados.
A continuacin, la solucin del ejemplo 2, de la parte de diagrama de flujo:
Para poner en prctica los nuevos conocimientos adquiridos, resuelvan los ejemplos 3 y 4 de la
parte de diagrama de flujo.
Ing. Mirko Manrique Ronceros Pgina 19 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
En un solo rectngulo se pueden escribir diferentes acciones.
Un proceso puede ser un subprograma.
La lectura del diagrama se hace de arriba hacia abajo.
La forma grfica de representar un algoritmo en diagrama estructurado o N S es el siguiente:
Primer algoritmo con un diagrama estructurado o N-S
Para conocer cmo se realiza un diagrama estructurado, resolveremos el ejemplo 1 planteado en
la parte de diagrama de flujo:
Como se ve en la solucin del ejemplo 1, en este diagrama se utilizan slo rectngulos. Si se dan
cuenta, en un diagrama estructurado existe un rectngulo de declaracin de variables, donde se
colocan las variables que se utilizarn en el algoritmo y a la vez tambin podemos inicializar
variables con sus valores dados.
A continuacin, la solucin del ejemplo 2, de la parte de diagrama de flujo:
Para poner en prctica los nuevos conocimientos adquiridos, resuelvan los ejemplos 3 y 4 de la
parte de diagrama de flujo.
Ing. Mirko Manrique Ronceros Pgina 19 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
En un solo rectngulo se pueden escribir diferentes acciones.
Un proceso puede ser un subprograma.
La lectura del diagrama se hace de arriba hacia abajo.
La forma grfica de representar un algoritmo en diagrama estructurado o N S es el siguiente:
Primer algoritmo con un diagrama estructurado o N-S
Para conocer cmo se realiza un diagrama estructurado, resolveremos el ejemplo 1 planteado en
la parte de diagrama de flujo:
Como se ve en la solucin del ejemplo 1, en este diagrama se utilizan slo rectngulos. Si se dan
cuenta, en un diagrama estructurado existe un rectngulo de declaracin de variables, donde se
colocan las variables que se utilizarn en el algoritmo y a la vez tambin podemos inicializar
variables con sus valores dados.
A continuacin, la solucin del ejemplo 2, de la parte de diagrama de flujo:
Para poner en prctica los nuevos conocimientos adquiridos, resuelvan los ejemplos 3 y 4 de la
parte de diagrama de flujo.
Ing. Mirko Manrique Ronceros Pgina 20 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Pseudocdigo
El pseudocdigo es una herramienta de programacin que naci como un lenguaje en que las
instrucciones se escriben en palabras similares al ingles o espaol, que facilitan tanto la escritura
como la lectura de programas. En esencia el pseudocdigo se puede definir como un lenguaje de
especificacin (descripcin) de algoritmos.
La ventaja del pseudocdigo es que en su uso, es decir durante la planificacin de un programa,
el programador se puede concentrar en la lgica y en las estructuras de control, sin preocuparse
por las reglas de un determinado lenguaje de programacin.
La escritura del pseudocdigo exige normalmente la identacin (sangra en el margen izquierdo)
de diferentes lneas. La lnea precedida por // se denomina comentario, que viene hacer
informacin para el programador o el lector del programa, y no realiza ninguna instruccin
ejecutable. El uso de pseudocdigo se ha extendido en la comunidad hispana con trminos en
espaol como: inicio, fin, leer, escribir, si_entonces_sino, mientras, fin_mientras, etc.
Estilo de escritura de algoritmos en pseudocdigo
algoritmo nombre_del_programa // cabecera
var // seccin de declaraciones
tipo_de_datos : Lista_de_identificadores
const
Lista_de_identificadores = valor
Inicio // cuerpo del programa
Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
.
Instruccin n
fin
Ing. Mirko Manrique Ronceros Pgina 21 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Primer algoritmo con un pseudo cdigo
Para conocer cmo se realiza un pseudo cdigo, resolveremos el mismo ejemplo 1 planteado en
la parte de diagrama de flujo:
algoritmo Ejemplo 1
var
entero : b, h, a, p
Inicio
b = 8
h = 2
a = b * h
p = 2 * ( b + h )
escribir ( a, p )
fin
Como se ve en esta solucin del ejemplo 1, en pseudo cdigo, se coloca el nombre del algoritmo,
en la seccin de declaracin de variables se escriben a la parte izquierda los tipos de datos y a la
derecha las variables que pertenecen a ese tipo de dato. Para este ejemplo solo tenemos el tipo
de dato entero. Se tiene un cuerpo del programa donde se escriben todas las instrucciones
necesarias para resolver el problema.
A continuacin la solucin del ejemplo 2, de la parte de diagrama de flujo:
algoritmo Ejemplo 2
var
entero : b, h, a, p
Inicio
leer (b)
leer (h)
a = b * h
p = 2 * ( b + h )
escribir ( a, p )
fin
Ing. Mirko Manrique Ronceros Pgina 22 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
L
ESTRUCTURAS BSICAS DE CONTROL
Un algoritmo o programa puede ser escrito utilizando solamente tres tipos de estructuras de
control, a las cuales se les conocen como estructuras bsicas de control, y son las siguientes:
Estructuras Secuenciales.
Estructuras Selectivas.
a. Simples (si entonces - fin_si / if then end_if)
b. Dobles (si entonces sino fin_si / if then else end_if)
c. Mltiples
Estructuras Repetitivas.
a. Mientras (while)
b. Hacer_Mientras (do - While)
c. Desde / Para (for)
Estructura Secuencial
La estructura secuencial es aquella en la que una instruccin (accin) sigue a otra en secuencia.
Las tareas a realizar en cada instruccin se suceden de tal modo que la salida de una es la
entrada de la siguiente y as sucesivamente hasta el final del proceso.
La representacin grfica de una estructura secuencial se muestra en las siguientes figuras en
Diagrama de Flujo, Diagrama Estructurado y Pseudocdigo.
Figura 1. Diagrama de Flujo de una estructura secuencial
Figura 2. Diagrama Estructurado de una estructura secuencial
Ing. Mirko Manrique Ronceros Pgina 22 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
L
ESTRUCTURAS BSICAS DE CONTROL
Un algoritmo o programa puede ser escrito utilizando solamente tres tipos de estructuras de
control, a las cuales se les conocen como estructuras bsicas de control, y son las siguientes:
Estructuras Secuenciales.
Estructuras Selectivas.
a. Simples (si entonces - fin_si / if then end_if)
b. Dobles (si entonces sino fin_si / if then else end_if)
c. Mltiples
Estructuras Repetitivas.
a. Mientras (while)
b. Hacer_Mientras (do - While)
c. Desde / Para (for)
Estructura Secuencial
La estructura secuencial es aquella en la que una instruccin (accin) sigue a otra en secuencia.
Las tareas a realizar en cada instruccin se suceden de tal modo que la salida de una es la
entrada de la siguiente y as sucesivamente hasta el final del proceso.
La representacin grfica de una estructura secuencial se muestra en las siguientes figuras en
Diagrama de Flujo, Diagrama Estructurado y Pseudocdigo.
Figura 1. Diagrama de Flujo de una estructura secuencial
Figura 2. Diagrama Estructurado de una estructura secuencial
Ing. Mirko Manrique Ronceros Pgina 22 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
L
ESTRUCTURAS BSICAS DE CONTROL
Un algoritmo o programa puede ser escrito utilizando solamente tres tipos de estructuras de
control, a las cuales se les conocen como estructuras bsicas de control, y son las siguientes:
Estructuras Secuenciales.
Estructuras Selectivas.
a. Simples (si entonces - fin_si / if then end_if)
b. Dobles (si entonces sino fin_si / if then else end_if)
c. Mltiples
Estructuras Repetitivas.
a. Mientras (while)
b. Hacer_Mientras (do - While)
c. Desde / Para (for)
Estructura Secuencial
La estructura secuencial es aquella en la que una instruccin (accin) sigue a otra en secuencia.
Las tareas a realizar en cada instruccin se suceden de tal modo que la salida de una es la
entrada de la siguiente y as sucesivamente hasta el final del proceso.
La representacin grfica de una estructura secuencial se muestra en las siguientes figuras en
Diagrama de Flujo, Diagrama Estructurado y Pseudocdigo.
Figura 1. Diagrama de Flujo de una estructura secuencial
Figura 2. Diagrama Estructurado de una estructura secuencial
Ing. Mirko Manrique Ronceros Pgina 23 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
inicio
Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
.
Instruccin n
fin
Figura 3. Pseudocdigo de una estructura secuencial
Para poder conocer cmo se realiza un algoritmo utilizando los mtodos para representar
algoritmos, procederemos a realizar tres ejercicios.
EJERCICIOS
1. Escribir un algoritmo que determine el pago por la compra de dos televisores LCD de 21
marca SONY, si cada uno cuesta 2 400 soles.
2. Encontrar el valor de la funcin: x = 3y + z
3. Escribir un algoritmo en el cual se ingresen dos nmeros. Se desea calcular y mostrar la
suma y resta.
Solucin de los ejemplos
Ejercicio01:
Inicio
CostoTV = 2400
CantidadTV = 2
Pago = CostoTV * CantidadTV
Escribir (Pago)
Fin
Figura 4. Diagrama de Flujo del ejercicio 01
Ing. Mirko Manrique Ronceros Pgina 24 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejercicio 01
Inicio CostoTV=2400, CantidadTV=2, Pago
Pago = CostoTV * CantidadTV
Escribir (Pago)
Fin
Figura 5. Diagrama Estructurado del ejercicio 01
algoritmo Ejercicio 01
var // seccin de declaraciones de variables
entero: CantidadTV
real: CostoTV, Pago
Inicio // cuerpo del programa
CostoTV = 2400
CantidadTV = 2
Pago = CostoTV * CantidadTV
Escribir (Pago)
fin
Figura 6. Pseudocdigo del ejercicio 01
Ejercicio02:
Inicio
Leer (y,z)
x = 3 * y + z
Escribir (x)
Fin
Figura 7. Diagrama de Flujo del ejercicio 02
Ing. Mirko Manrique Ronceros Pgina 25 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejercicio 02
Inicio x, y, z
Leer (y,z)
x = 3 * y + z
Escribir (x)
Fin
Figura 8. Diagrama Estructurado del ejercicio 02
algoritmo Ejercicio 02
var // seccin de declaraciones de variables
entero: x, y, z
Inicio // cuerpo del programa
Leer ( y , z )
x = 3 * y + z
Escribir ( x )
fin
Figura 9. Pseudocdigo del ejercicio 02
Ejercicio03:
Inicio
Leer (num1,num2)
Suma = num1 + num2
Resta = num1 - num2
Escribir (La suma es : ,Suma)
Escribir (La resta es : ,Resta)
Dentro del grfico de
proceso, se pueden realizar
como mximo tres
procesos. Si hay ms
procesos, utilizar otro
diagrama de proceso
Fin
Figura 10. Diagrama de Flujo del ejercicio 03
Ing. Mirko Manrique Ronceros Pgina 26 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejercicio 03
Inicio num1, num2, Suma, Resta
Suma = num1 + num2
Resta = num1 - num2
Escribir (La suma es : , Suma)
Escribir (La resta es : , Resta)
Fin
Figura 11. Diagrama Estructurado del ejercicio 03
algoritmo Ejercicio 03
var // seccin de declaraciones de variables entero:
num1, num2, Suma, Resta
Inicio // cuerpo del programa
Leer ( num1, num2 ) Suma =
num1 + num2
Resta = num1 - num2
Escribir (La suma es : , Suma)
Escribir (La resta es : , Resta)
fin
Figura 12. Pseudocdigo del ejercicio 03
Ing. Mirko Manrique Ronceros Pgina 27 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
ESTRUCTURAS SELECTIVAS
No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que
tomar una decisin aparecen las estructuras selectivas. En nuestra vida diaria se nos presentan
situaciones donde debemos decidir:
Elijo la carrera A o la carrera B?
Me pongo este pantaln?
Para ir al trabajo, elijo el camino A o el camino B?
Al cursar una carrera, elijo el turno maana, tarde o noche?
Las estructuras selectivas se utilizan para tomar decisiones lgicas; de ah que se suelen
denominar tambin estructuras condicionales, de decisin o alternativas.
En las estructuras selectivas se evala una condicin y en funcin del resultado se realiza una
opcin u otra. Las condiciones se especifican usando expresiones lgicas.
Las estructuras selectivas pueden ser:
1. Simples.
2. Dobles.
3. Mltiples.
4. Anidadas.
Estructura Selectiva Simple
La estructura selectiva simple ejecuta una determinada accin o acciones cuando se cumple una
determinada condicin, es decir, tenemos la opcin de realizar una actividad o varias si la
condicin es verdadero y si es falso no se realizar ninguna actividad.
La representacin grfica de la estructura selectiva simple en un Diagrama de Flujo es la
siguiente:
Figura 13. Diagrama de flujo de la estructura selectiva simple
En la figura anterior se puede observar lo siguiente: el rombo representa la condicin. Hay dos
opciones que se pueden tomar. Si la condicin es verdadera se sigue el camino del verdadero, si
la condicin es falsa se sigue el camino del falso. Por el camino del verdadero pueden existir
varias operaciones, entradas y salidas que se pueden realizar, inclusive ya veremos que pueden
haber otras estructuras condicionales o selectivas.
Ing. Mirko Manrique Ronceros Pgina 28 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
La representacin grfica de la estructura selectiva simple en el diagrama estructurado y
pseudocdigo son las siguientes:
Figura 14. Diagrama estructurado de la estructura selectiva simple
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
fin_si
Figura 15. Pseudocdigo de la estructura selectiva simple
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el siguiente
ejemplo:
Ejemplo1:
Ingresar el sueldo de una persona, si supera los S/. 3000 soles, mostrar un mensaje en pantalla
indicando que debe abonar impuestos.
Figura 16. Diagrama de flujo del ejemplo 1
Ing. Mirko Manrique Ronceros Pgina 28 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
La representacin grfica de la estructura selectiva simple en el diagrama estructurado y
pseudocdigo son las siguientes:
Figura 14. Diagrama estructurado de la estructura selectiva simple
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
fin_si
Figura 15. Pseudocdigo de la estructura selectiva simple
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el siguiente
ejemplo:
Ejemplo1:
Ingresar el sueldo de una persona, si supera los S/. 3000 soles, mostrar un mensaje en pantalla
indicando que debe abonar impuestos.
Figura 16. Diagrama de flujo del ejemplo 1
Ing. Mirko Manrique Ronceros Pgina 28 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
La representacin grfica de la estructura selectiva simple en el diagrama estructurado y
pseudocdigo son las siguientes:
Figura 14. Diagrama estructurado de la estructura selectiva simple
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
fin_si
Figura 15. Pseudocdigo de la estructura selectiva simple
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el siguiente
ejemplo:
Ejemplo1:
Ingresar el sueldo de una persona, si supera los S/. 3000 soles, mostrar un mensaje en pantalla
indicando que debe abonar impuestos.
Figura 16. Diagrama de flujo del ejemplo 1
Ing. Mirko Manrique Ronceros Pgina 29 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 17. Diagrama estructurado del ejemplo 1
algoritmo Ejemplo1
var
inicio
fin
real: sueldo
leer (sueldo)
si (sueldo > 3000) entonces
escribir(Esta persona debe abonar impuestos)
fin_si
Figura 18. Pseudocdigo del ejemplo 1
Observacin del Pseudocdigo
Obsrvese que las palabras del pseudocdigo si y fin_si se alinean verticalmente identando
(sangrando) la instruccin o bloque de instrucciones.
Ing. Mirko Manrique Ronceros Pgina 29 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 17. Diagrama estructurado del ejemplo 1
algoritmo Ejemplo1
var
inicio
fin
real: sueldo
leer (sueldo)
si (sueldo > 3000) entonces
escribir(Esta persona debe abonar impuestos)
fin_si
Figura 18. Pseudocdigo del ejemplo 1
Observacin del Pseudocdigo
Obsrvese que las palabras del pseudocdigo si y fin_si se alinean verticalmente identando
(sangrando) la instruccin o bloque de instrucciones.
Ing. Mirko Manrique Ronceros Pgina 29 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 17. Diagrama estructurado del ejemplo 1
algoritmo Ejemplo1
var
inicio
fin
real: sueldo
leer (sueldo)
si (sueldo > 3000) entonces
escribir(Esta persona debe abonar impuestos)
fin_si
Figura 18. Pseudocdigo del ejemplo 1
Observacin del Pseudocdigo
Obsrvese que las palabras del pseudocdigo si y fin_si se alinean verticalmente identando
(sangrando) la instruccin o bloque de instrucciones.
Ing. Mirko Manrique Ronceros Pgina 30 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo2:
Realizar un algoritmo que permita el ingreso de un nmero entero, si es positivo debe mostrar el
mensaje que es un nmero positivo, elevarlo al cuadrado y mostrar dicho resultado. Al terminar el
algoritmo debe decir fin del algoritmo.
inicio
leer (num)
num > 0
mostrar Numero
positivo
Cuad = num ^2
mostrar (Cuad)
mostrar (Fin del algoritmo)
fin
Figura 19. Diagrama de Flujo del ejemplo 2
Ing. Mirko Manrique Ronceros Pgina 31 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 2
Inicio num, Cuad
Leer (num)
num > 0
V F
Mostrar (Nmero positivo)
Cuad = num ^2
Mostrar (Cuad)
Mostrar (Fin del algoritmo)
Fin
Figura 20. Diagrama Estructurado del ejemplo 2
algoritmo Ejemplo 2
var
inicio
entero: num, Cuad
leer (num)
si ( num > 0 ) entonces
mostrar(Nmero positivo)
Cuad = num ^ 2
mostrar ( Cuad )
fin
fin_si
Mostrar (Fin del algoritmo)
Figura 21. Pseudocdigo del ejemplo 2
Ing. Mirko Manrique Ronceros Pgina 32 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Doble
La estructura selectiva doble permite elegir entre dos opciones o alternativas, en funcin del
cumplimiento de una determinada condicin, de tal forma que, si se cumple, se ejecutan las
acciones del primer bloque; si no se cumple, se ejecutan las acciones del segundo bloque.
La representacin grfica de una estructura selectiva doble en los mtodos para representar a los
algoritmos es el siguiente:
Figura 19. Diagrama de flujo de la estructura selectiva doble
Figura 20. Diagrama estructurado de la estructura selectiva doble
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
si_no
fin_si
instruccin 1
instruccin 2
.
.
instruccin m
Figura 21. Pseudocdigo de la estructura selectiva doble
De acuerdo a la condicin podemos realizar actividades por el lado verdadero o por el lado falso,
PERO NUNCAse realizan las actividades de ambos lados al mismo tiempo.
Ing. Mirko Manrique Ronceros Pgina 32 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Doble
La estructura selectiva doble permite elegir entre dos opciones o alternativas, en funcin del
cumplimiento de una determinada condicin, de tal forma que, si se cumple, se ejecutan las
acciones del primer bloque; si no se cumple, se ejecutan las acciones del segundo bloque.
La representacin grfica de una estructura selectiva doble en los mtodos para representar a los
algoritmos es el siguiente:
Figura 19. Diagrama de flujo de la estructura selectiva doble
Figura 20. Diagrama estructurado de la estructura selectiva doble
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
si_no
fin_si
instruccin 1
instruccin 2
.
.
instruccin m
Figura 21. Pseudocdigo de la estructura selectiva doble
De acuerdo a la condicin podemos realizar actividades por el lado verdadero o por el lado falso,
PERO NUNCAse realizan las actividades de ambos lados al mismo tiempo.
Ing. Mirko Manrique Ronceros Pgina 32 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Doble
La estructura selectiva doble permite elegir entre dos opciones o alternativas, en funcin del
cumplimiento de una determinada condicin, de tal forma que, si se cumple, se ejecutan las
acciones del primer bloque; si no se cumple, se ejecutan las acciones del segundo bloque.
La representacin grfica de una estructura selectiva doble en los mtodos para representar a los
algoritmos es el siguiente:
Figura 19. Diagrama de flujo de la estructura selectiva doble
Figura 20. Diagrama estructurado de la estructura selectiva doble
si condicin entonces
instruccin 1
instruccin 2
.
.
instruccin n
si_no
fin_si
instruccin 1
instruccin 2
.
.
instruccin m
Figura 21. Pseudocdigo de la estructura selectiva doble
De acuerdo a la condicin podemos realizar actividades por el lado verdadero o por el lado falso,
PERO NUNCAse realizan las actividades de ambos lados al mismo tiempo.
Ing. Mirko Manrique Ronceros Pgina 33 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el siguiente
ejemplo:
Ejemplo 3:
Realizar un algoritmo que lea dos nmeros enteros distintos entre s y mostrar por pantalla el
mayor y el menor. Al final del algoritmo mostrar tambin el nombre del creador del algoritmo.
Figura 22. Diagrama de flujo del ejemplo 3
Figura 23. Diagrama estructurado del ejemplo 3
Ing. Mirko Manrique Ronceros Pgina 33 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el siguiente
ejemplo:
Ejemplo 3:
Realizar un algoritmo que lea dos nmeros enteros distintos entre s y mostrar por pantalla el
mayor y el menor. Al final del algoritmo mostrar tambin el nombre del creador del algoritmo.
Figura 22. Diagrama de flujo del ejemplo 3
Figura 23. Diagrama estructurado del ejemplo 3
Ing. Mirko Manrique Ronceros Pgina 33 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el siguiente
ejemplo:
Ejemplo 3:
Realizar un algoritmo que lea dos nmeros enteros distintos entre s y mostrar por pantalla el
mayor y el menor. Al final del algoritmo mostrar tambin el nombre del creador del algoritmo.
Figura 22. Diagrama de flujo del ejemplo 3
Figura 23. Diagrama estructurado del ejemplo 3
Ing. Mirko Manrique Ronceros Pgina 34 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
algoritmo Ejemplo3
var
inicio
entero : num1, num2
leer (num1, num2)
si (num1 > num2) entonces
escribir(El mayor es, num1, y el menor es, num2)
si_no
fin_si
escribir(El mayor es, num2, y el menor es, num1)
fin
escribir(Mi nombre es Maverick)
Figura 24.
Pseudocdigo del
ejemplo 3
Ejemplodeautoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo 4:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno.
Calcular la nota promedio y si el promedio es mayor o igual a 10.5
mostrar un mensaje Aprobado o
Desaprobado.
Ing. Mirko Manrique Ronceros Pgina 35 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Mltiple
Con frecuencia en la prctica se presentan ms de dos elecciones posibles de una cierta
condicin. La estructura selectiva mltiple se utiliza para este tipo de problemas, es decir, que la
estructura selectiva mltiple evaluar una expresin que podr tomar n valores distintos;: 1, 2, 3,
4,..., n. Segn qu 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.
La representacin grfica de una estructura selectiva doble en las tres herramientas de
programacin es la siguiente:
Figura 25. Diagrama de flujo de la estructura selectiva mltiple
Figura 26. Diagrama estructurado o N-S de la estructura selectiva mltiple
Ing. Mirko Manrique Ronceros Pgina 35 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Mltiple
Con frecuencia en la prctica se presentan ms de dos elecciones posibles de una cierta
condicin. La estructura selectiva mltiple se utiliza para este tipo de problemas, es decir, que la
estructura selectiva mltiple evaluar una expresin que podr tomar n valores distintos;: 1, 2, 3,
4,..., n. Segn qu 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.
La representacin grfica de una estructura selectiva doble en las tres herramientas de
programacin es la siguiente:
Figura 25. Diagrama de flujo de la estructura selectiva mltiple
Figura 26. Diagrama estructurado o N-S de la estructura selectiva mltiple
Ing. Mirko Manrique Ronceros Pgina 35 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Mltiple
Con frecuencia en la prctica se presentan ms de dos elecciones posibles de una cierta
condicin. La estructura selectiva mltiple se utiliza para este tipo de problemas, es decir, que la
estructura selectiva mltiple evaluar una expresin que podr tomar n valores distintos;: 1, 2, 3,
4,..., n. Segn qu 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.
La representacin grfica de una estructura selectiva doble en las tres herramientas de
programacin es la siguiente:
Figura 25. Diagrama de flujo de la estructura selectiva mltiple
Figura 26. Diagrama estructurado o N-S de la estructura selectiva mltiple
Ing. Mirko Manrique Ronceros Pgina 36 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
en caso expresin hacer
valor 1: instruccin 1
instruccin 2
........
valor 2: instruccin 1
instruccin 2
........
valor 3: instruccin 1
. instruccin 2
. ........
.
valor n: instruccin 1
instruccin 2
........
otros : instruccin 1
instruccin 2
........
fin_caso
Figura 27. Pseudocdigo de la estructura selectiva mltiple
En el lugar donde aparece la palabra expresin pondremos lo que nosotros queremos evaluar;
puede ser una variable, una instruccin o cualquier cosa que tome diferentes valores.
En el lugar de <valor1> o <caso1>, <valor2> o <caso2>, ..., <valor n> o <caso n> pondremos los
diferentes valores que pueda tomar la decisin, segn los cuales el programa debe hacer una u
otra cosa. Pueden existir tanto valores como a nosotros nos convenga. Esta estructura es muy til
en el momento en el que debemos tomar diferentes decisiones de una misma condicin.
Ejemplo5:
Realizar un algoritmo que lea un nmero que represente el da de la semana y diga qu da es,
teniendo en cuenta lo siguiente: (Lunes=1, Martes=2, ..., Domingo=7).
Figura 28. Diagrama de flujo del ejemplo 5
Ing. Mirko Manrique Ronceros Pgina 37 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 29. Diagrama estructurado del ejemplo 5
algoritmo Ejemplo5
var
inicio
fin
entero : da
leer (da)
en caso (da) hacer
1: escribir(Lunes)
2: escribir(Martes)
3: escribir(Mircoles)
4: escribir(Jueves)
5: escribir(Viernes)
6: escribir(Sabado)
7: escribir(Domingo)
fin_caso
Figura 30. Pseudocdigo del ejemplo 5
Ejemplodeautoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo6:
Escribir un algoritmo que solicite el ingreso de dos nmeros y a continuacin un operador
aritmtico (+, -, *, /). El algoritmo debe calcular el resultado de la operacin seleccionada.
Ing. Mirko Manrique Ronceros Pgina 37 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 29. Diagrama estructurado del ejemplo 5
algoritmo Ejemplo5
var
inicio
fin
entero : da
leer (da)
en caso (da) hacer
1: escribir(Lunes)
2: escribir(Martes)
3: escribir(Mircoles)
4: escribir(Jueves)
5: escribir(Viernes)
6: escribir(Sabado)
7: escribir(Domingo)
fin_caso
Figura 30. Pseudocdigo del ejemplo 5
Ejemplodeautoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo6:
Escribir un algoritmo que solicite el ingreso de dos nmeros y a continuacin un operador
aritmtico (+, -, *, /). El algoritmo debe calcular el resultado de la operacin seleccionada.
Ing. Mirko Manrique Ronceros Pgina 37 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 29. Diagrama estructurado del ejemplo 5
algoritmo Ejemplo5
var
inicio
fin
entero : da
leer (da)
en caso (da) hacer
1: escribir(Lunes)
2: escribir(Martes)
3: escribir(Mircoles)
4: escribir(Jueves)
5: escribir(Viernes)
6: escribir(Sabado)
7: escribir(Domingo)
fin_caso
Figura 30. Pseudocdigo del ejemplo 5
Ejemplodeautoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo6:
Escribir un algoritmo que solicite el ingreso de dos nmeros y a continuacin un operador
aritmtico (+, -, *, /). El algoritmo debe calcular el resultado de la operacin seleccionada.
Ing. Mirko Manrique Ronceros Pgina 38 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Anidada
La estructura selectiva anidada llamada tambin estructura de decisin anidada, viene hacer una
estructura si-entonces que puede contener otra estructura si-entonces, y sta a su vez a otra
estructura si-entonces, y as sucesivamente cualquier nmero de veces; dentro de cada
estructura pueden existir diferentes instrucciones o acciones.
Figura 31. Diagrama de flujo de la estructura selectiva anidada
Figura 32. Diagrama estructurado de la estructura selectiva anidada
Ing. Mirko Manrique Ronceros Pgina 38 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Anidada
La estructura selectiva anidada llamada tambin estructura de decisin anidada, viene hacer una
estructura si-entonces que puede contener otra estructura si-entonces, y sta a su vez a otra
estructura si-entonces, y as sucesivamente cualquier nmero de veces; dentro de cada
estructura pueden existir diferentes instrucciones o acciones.
Figura 31. Diagrama de flujo de la estructura selectiva anidada
Figura 32. Diagrama estructurado de la estructura selectiva anidada
Ing. Mirko Manrique Ronceros Pgina 38 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Selectiva Anidada
La estructura selectiva anidada llamada tambin estructura de decisin anidada, viene hacer una
estructura si-entonces que puede contener otra estructura si-entonces, y sta a su vez a otra
estructura si-entonces, y as sucesivamente cualquier nmero de veces; dentro de cada
estructura pueden existir diferentes instrucciones o acciones.
Figura 31. Diagrama de flujo de la estructura selectiva anidada
Figura 32. Diagrama estructurado de la estructura selectiva anidada
Ing. Mirko Manrique Ronceros Pgina 39 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
si condicin entonces
si condicin entonces
instruccin 1
instruccin 2
......
instruccin n
si_no
fin_si
si condicin entonces
instruccin 1
instruccin 2
......
instruccin m
fin_si
si_no
fin_si
instruccin 1
instruccin 2
......
instruccin m
Figura 33. Pseudocdigo de la estructura selectiva anidada
Ejemplo7:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno. Calcular la nota
promedio e imprima alguno de estos mensajes:
a. Si el promedio est entre 20 y 16 mostrar Alumno Excelente
b. Si el promedio est entre 15 y 11 mostrar Alumno Regular
c. Si el promedio est entre 10 y 6 mostrar Alumno Malo
d. Si el promedio est entre 5 y 0 mostrar Alumno Psimo
Figura 34. Diagrama de flujo del ejemplo 7
Ing. Mirko Manrique Ronceros Pgina 40 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 35. Diagrama estructurado del ejemplo 7
algoritmo Ejemplo7
var
inicio
entero : n1, n2, n3, prom
leer (n1, n2, n3)
prom = (n1+n2+n3) / 3
si (prom<=5 y prom>=0) entonces
escribir(Alumno Pesimo)
else
si (prom<=10) entonces
escribir(Alumno Malo)
else
si (prom<=15) entonces
escribir(Alumno Regular)
else
si (prom<=20) entonces
escribir(Alumno Excelente)
fin
fin_si
fin_si
fin_si
else
fin_si
escribir(Promedio desconocido)
Figura 36. Pseudocdigo del ejemplo 7
Ing. Mirko Manrique Ronceros Pgina 40 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 35. Diagrama estructurado del ejemplo 7
algoritmo Ejemplo7
var
inicio
entero : n1, n2, n3, prom
leer (n1, n2, n3)
prom = (n1+n2+n3) / 3
si (prom<=5 y prom>=0) entonces
escribir(Alumno Pesimo)
else
si (prom<=10) entonces
escribir(Alumno Malo)
else
si (prom<=15) entonces
escribir(Alumno Regular)
else
si (prom<=20) entonces
escribir(Alumno Excelente)
fin
fin_si
fin_si
fin_si
else
fin_si
escribir(Promedio desconocido)
Figura 36. Pseudocdigo del ejemplo 7
Ing. Mirko Manrique Ronceros Pgina 40 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 35. Diagrama estructurado del ejemplo 7
algoritmo Ejemplo7
var
inicio
entero : n1, n2, n3, prom
leer (n1, n2, n3)
prom = (n1+n2+n3) / 3
si (prom<=5 y prom>=0) entonces
escribir(Alumno Pesimo)
else
si (prom<=10) entonces
escribir(Alumno Malo)
else
si (prom<=15) entonces
escribir(Alumno Regular)
else
si (prom<=20) entonces
escribir(Alumno Excelente)
fin
fin_si
fin_si
fin_si
else
fin_si
escribir(Promedio desconocido)
Figura 36. Pseudocdigo del ejemplo 7
Ing. Mirko Manrique Ronceros Pgina 41 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
ESTRUCTURAS REPETITIVAS
Las computadoras estn diseadas para aquellas aplicaciones en las cuales una operacin o
conjunto de ellas deben repetirse muchas veces. Un tipo muy importante de estructura es el
algoritmo necesario para repetir una o varias acciones por un nmero determinado de veces, a
est estructura se la llama Estructura Repetitiva.
Las estructuras repetitivas se utilizan cuando se desea que una instruccin o bloque de
instrucciones se repita un nmero determinado de veces o hasta que una condicin de
terminacin se cumpla.
Las estructuras que repiten una secuencia de instrucciones un nmero determinado de veces se
denominan bucles, y se llama iteracin al hecho de repetir la ejecucin de una secuencia de
acciones. Iterar es repetir una vez el bucle.
Se debe tener en cuenta lo siguiente para la construccin de una estructura repetitiva:
El cuerpo del bucle: Es el grupo de instrucciones que se van a repetir. Dentro del cuerpo
del bucle debe existir una instruccin que modifique la condicin lgica de terminacin.
Las sentencias de inicializacin. Son instrucciones que inicializan contadores y
acumuladores.
Las condiciones para la terminacin del bucle: Expresiones lgicas que controlan la
terminacin del bucle.
A continuacin se detallan tres estructuras repetitivas bsicas:
1. Estructura Repetitiva Desde / Para. (FOR)
2. Estructura Repetitiva Hacer Mientras. (DO WHILE)
3. Estructura Repetitiva Mientras. (WHILE)
Para poder entender cmo funciona un proceso repetitivo, se necesita conocer el concepto de dos
expresiones: Qu es un contador? y Qu es un acumulador?
CONTADOR
En un proceso repetitivo cuya funcin es contar los sucesos o acciones internas del bucle, como
pueden ser el nmero de iteraciones del bucle, la cantidad de elementos que tiene un archivo, un
vector, una matriz, etc. Una forma de controlar un bucle es mediante un contador.
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante o
fija en cada iteracin.
La forma de representar un contador es:
contador = contador 1
La expresin anterior se debe interpretar como asignar a la variable contador el valor que tenia
anteriormente ms uno o menos uno, dependiendo del caso si se quiere incrementar o
decrementar.
Ing. Mirko Manrique Ronceros Pgina 42 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Nota:
En todo contador es necesario que exista una instruccin que inicializa la variable que va a tener
la funcin de contador y esta variable puede ser cualquier identificador.
Ejemplo 1: Contador que incrementa de uno en uno.
La variable contador va a tener la funcin de ser el contador.
contador = 1 // Inicializacin de la variable contador con el valor 1
contador = contador + 1 // la variable contador incrementa a 2 por la suma
1
Ejemplo 2: Contador que decrementa de uno en uno
La variable cont va a tener la funcin de ser el contador.
cont = 10 // Inicializacin de la variable cont con el valor 10
cont = cont - 1 // la variable cont decrementa a 9 por la resta
10
Nota:
Un contador puede ser positivo (incrementos, uno a uno) o negativo (decrementos, uno a uno). Un
contador tambin puede incrementar o decrementar de dos en dos, tres en tres, cuatro en cuatro y
as sucesivamente, dependiendo de la tarea que est realizando el bucle.
Ejemplo 3: Contador que incrementa de dos en dos
c = 0 // Inicializacin de la variable c con el valor 0
c = c + 2
0
// la variable c incrementa a 2 por la suma
Ejemplo 4: Contador que decrementa de cinco en cinco
contador = 57 // la variable contador es igual a 57
contador = contador - 5 // el contador decrementa a 52
57
Ing. Mirko Manrique Ronceros Pgina 43 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
ACUMULADOR
Un acumulador es una variable cuya misin es almacenar cantidades variables. Realiza la misma
funcin que un contador pero con la diferencia de que el incremento o decremento es variable y
no constante como en el contador.
La forma de representar un acumulador es:
S = S + valorVariable
Nota:
En todo acumulador es necesario que exista una instruccin que inicializa la variable que va a
tener la funcin de acumulador y esta variable puede ser cualquier identificador.
Ejemplo 5:
Calcular el promedio de notas de 10 alumnos, primero debemos utilizar una variable acumulador
para ir sumando las 10 notas (cantidades variables) y luego dividir este valor entre diez. La
variable S va a tener la funcin de ser el acumulador.
Solucin del ejemplo 5.
S=0
leer(nota)
S=S+nota
Prom=S/10
La explicacin del algoritmo es el siguiente:
S = 0 // Inicializacin de la variable S acumulador con el
valor 0
// el bucle; tiene dos instrucciones.
leer (nota) // 1. Se lee la 1era nota
S = S + nota // Se suma la 1era nota + el valor de S que es cero
0
// Imaginemos que la 1era nota = 13, ahora S vale 13
// terminado regresa el bucle a su primera instruccin
//
// 2. Leer la 2da nota en la misma variable nota
// imaginamos ahora nota=08, ahora S vale 13+8=21
//
// 3. Leer nota por tercera vez
// imaginamos ahora nota=17, ahora S vale 21+17=38
// 4. Leer nota por cuarta vez
// nota=11, ahora S vale 38+11=49
// y asi sucesivamente hasta leer las 10 notas,
// terminado en la varible acumuladora esta el total de
// la suma de las 10 notas.
Prom = S/10 // 5. Hallar el promedio = S / 10
Esto es la forma como trabaja un acumulador.
Ing. Mirko Manrique Ronceros Pgina 44 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Repetitiva Desde/Para
En muchas ocasiones se conoce de antemano el nmero de veces que se desean ejecutar las
acciones o instrucciones de un bucle. En estos casos en los que el nmero de iteraciones es fijo,
se debe usar la estructura desde/para. Por ejemplo, ingresar 10 notas, 100 nmeros, etc.
La representacin grfica de la estructura repetitiva desde/para en un Diagrama de Flujo es el
siguiente:
Figura 37. Diagrama de flujo de la estructura repetitiva Desde/Para
En su forma ms tpica y bsica, esta estructura requiere una variable entera que cumple la
funcin de un contador de vueltas. En la seccin indicada como inicializacin, se suele colocar
el nombre de la variable que har de contador, asignndole a dicha variable un valor inicial. En la
seccin de condicin se coloca la condicin que deber ser verdadera para que el ciclo contine
(en caso de falso el ciclo se detendr). Y finalmente, en la seccin modificacin se coloca una
instruccin que permite modificar el valor de la variable que hace de contador (para permitir que
alguna vez sea falsa).
Ejemplo: Queremos que se repita 50 veces el bloque de instrucciones.
Describiremos el siguiente ejemplo por etapas:
Nota: El smbolo de la flecha apuntando a la izquierda ( ) significa = (igual)
1era Etapa (c=1): Cuando el ciclo comienza antes de dar la primera vuelta, la variable de
inicializacin toma el valor indicado en la seccin de inicializacin.
1era Etapa
Ing. Mirko Manrique Ronceros Pgina 45 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
2da. Etapa (c<=50): Inmediatamente se verifica en forma automtica, si la condicin es
verdadera. En caso de serlo se ejecuta el bloque de instrucciones del ciclo, es decir, si el bloque
tuviera 5 instrucciones esas se realizan una por una.
2da Etapa
3era. Etapa (c=c+1): Al finalizar de ejecutarse el bloque de instruccines del bucle, la ejecucin
de la estructura repetitiva se regresa a la seccin de modificacin. Se incrementa en una unidad
en contador.
3era Etapa
4ta Etapa (c<=50): Seguidamente, se vuelve a comprobar la condicin si es verdadera, y si lo es,
vuelve a realizar las instrucciones del ciclo, as prosigue ejecutndose todo el bucle hasta que la
condicin es falsa y sale del bucle.
Ing. Mirko Manrique Ronceros Pgina 46 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
4ta Etapa
Analicemos el ejemplo:
La variable c toma inicialmente el valor 1.
Se controla automticamente el valor de la condicin: como c vale 1 y esto es menor que
50, la condicin da verdadero.
Como la condicin fue verdadera, se ejecutan la(s) instruccion(es).
Al finalizar de ejecutar todas las instrucciones, se retorna a la instruccin c = c + 1, por lo
que la variable c se incrementa en uno.
Se vuelve a controlar automticamente si c es menor o igual a 50. Como ahora su valor es
2 y sigue siendo menor que 50, se ejecuta nuevamente el bloque de instrucciones e
incrementa nuevamente la variable del contador c.
El proceso se repetir hasta que la variable c sea incrementada al valor 51. En ese
momento la condicin ser falsa, el ciclo se detendr y saldr del bucle repetitivo.
La variable c puede ser inicializada y finalizar en cualquier valor. Adems, no es obligatorio que la
instruccin de modificacin sea un incremento de tipo contador c = c + 1. Puede ser tambin c = c
+ 2, en lugar de c = c + 1, el valor de c ser incrementado de a 2 en cada vuelta, y no de a uno.
En este caso, esto significar que el ciclo no efectuar las 50 vueltas sino solo 25 Por qu?
La instruccin de modificacin no solamente puede ser un incrementador, tambin puede ser un
decrementador, es decir, la variable de inicializacin decrementar a lo que se desea, esto se
puede hacer siempre y cuando la variable de inicializacin comienza en un valor mayor que el de
la condicin, por ejemplo:
Ing. Mirko Manrique Ronceros Pgina 47 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Analicemos el ejemplo:
La variable c toma inicialmente el valor 100.
El valor de la condicin es c >= 1.
La variable c decrementa de dos en dos.
Esto quiere decir que el bucle se repite 50 veces, que comienza en un valor de contador =
100, decrementa de dos en dos, hasta que la condicin es falsa.
La representacin grfica de la estructura repetitiva desde/para en el diagrama estructurado y
pseudocdigo son los siguientes:
estructura repetitiva
desde/para
Figura 38. Diagrama estructurado de la estructura repetitiva Desde/Para
inicializacin
condicin
modificacin
desde c = vi hasta vf inc|dec valor hacer
instruccin 1
instruccin 2
.
.
instruccin n
fin_desde
Figura 39. Pseudocdigo de la estructura repetitiva Desde/Para
Ing. Mirko Manrique Ronceros Pgina 48 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 1:
Realizar un algoritmo que permita hallar la suma de los 10 primeros nmeros enteros positivos, y
su promedio.
Cuerpo del bucle
Figura 40. Diagrama de flujo del ejemplo 1
Figura 41. Diagrama estructurado del ejemplo 1
Cuerpo del bucle
Ing. Mirko Manrique Ronceros Pgina 49 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
algoritmo Ejemplo1
var
inicio
fin
entero: c , suma
real: prom
suma = 0
desde c = 1 hasta 10 inc 1 hacer
suma = suma + c
fin_desde
prom = suma/10
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
Cuerpo del bucle
Figura 42. Pseudocdigo del ejemplo 1
Nota:
En Pseudocdigo si la instruccin de incremento es en uno, se puede obviar la instruccin inc 1, y
solamente se puede colocar: desde c = 1 hasta 10 hacer . Porque en algoritmo se
sobrentiende que aumenta en 1.
Ejemplo2:
Realizar un algoritmo que permita hallar la suma y promedio de 20 nmeros enteros ingresados
por teclado.
Cuerpo del bucle
Figura 43. Diagrama de flujo del ejemplo 2
Ing. Mirko Manrique Ronceros Pgina 50 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 44. Diagrama estructurado del ejemplo 2
algoritmo Ejemplo2
var
Cuerpo del bucle
inicio
fin
entero: n, c, suma
real: prom
suma = 0
desde c = 1 hasta 20 inc 1
leer(n)
suma = suma + n
fin_desde
prom = suma/20
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
Cuerpo del bucle
Figura 45.
Pseudocdigo
del ejemplo 2
Ejemplosdeautoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo3: Realizar un algoritmo que me permita leer 10 nmeros positivos y
negativos, e imprima solamente los nmeros positivos.
Ejemplo4:
Realizar un algoritmo que me permita leer 20 nmeros e imprimir cuntos son
positivos, negativos y neutros.
Dato: Neutro se le conoce al cero 0
Ing. Mirko Manrique Ronceros Pgina 51 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Repetitiva Hacer - Mientras
Existen muchas situaciones en las que se desea que un bucle se ejecute al menos una vez antes
de comprobar la condicin de repeticin, para ello se puede utilizar la estructura repetitiva
Hacer - Mientras. Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo
menos una vez se ejecutar el bloque repetitivo.
Cuando una instruccin Hacer-Mientras se ejecuta, lo primero que sucede es la ejecucin del
bucle (todas las instrucciones) y a continuacin se evala la expresin booleana de la condicin.
Si se evala como verdadera, el cuerpo del bucle se repite y se vuelve a evaluar la condicin, si
sigue siendo verdadera se seguir repitiendo el bucle hasta que la condicin sea falsa.
Dentro del bucle existir una instruccin que en un cierto momento har que la condicin sea
falsa.
La representacin grfica de la estructura repetitiva Hacer-Mientras es la siguiente:
Figura 46. Diagrama de flujo de la estructura repetitiva Hacer-Mientras
estructura repetitiva
hacer/mientras
Figura 47. Diagrama estructurado de la estructura repetitiva Hacer-Mientras
hacer
instruccin 1
instruccin 2
.
.
instruccin n
mientras (condicin)
Figura 48. Pseudocdigo de la estructura repetitiva Hacer-Mientras
Ing. Mirko Manrique Ronceros Pgina 52 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
A continuacin se presenta el siguiente ejemplo para comprender el funcionamiento de la
estructura repetitiva Hacer-Mientras.
Ejemplo 5:
En el curso de Algoritmos y Diagramacin existen 40 alumnos, de los cuales se tiene el promedio
de la Primera Unidad. Se pide realizar un algoritmo que permita hallar el promedio general de
estos alumnos.
Solucin
Cuerpo del bucle
Figura 49. Diagrama de flujo del ejemplo 5
Desarrollamos el ejemplo 5 en 5 pasos:
1. Se asignan valores a las variables c = 0 y suma = 0
2. Se ingresa al cuerpo del bucle (no existe ninguna instruccin que nos impida), se tiene tres
instrucciones:
2.1. En la primera instruccin que se ejecuta tenemos un contador, este contador
incrementa en una unidad siendo su resultado c = 1.
2.2. En la segunda instruccin se lee la nota del primer alumno (esta nota se ingresa por
teclado).
Ing. Mirko Manrique Ronceros Pgina 53 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
2.3. La tercera instruccin es un acumulador; cuya funcin es acumular la suma de todas
las notas (40 notas).
3. A continuacin, se evala la condicin; se pregunta: c es menor que 40? Si la respuesta
es verdadera se regresa al paso 2 y se ejecutan las tres instrucciones del cuerpo del bucle
nuevamente, de lo contrario se contina con el paso 4.
4. Se llega a este paso despus de finalizarse las 40 iteraciones que da el bucle. En la
variable suma se tiene la suma total de las notas y ahora se ejecuta la instruccin que
permite hallar el promedio.
5. Muestra en pantalla el resultado del promedio de notas.
La solucin del ejemplo 5 en el diagrama estructurado y pseudocdigo es el siguiente:
Figura 50. Diagrama estructurado del ejemplo 5
algoritmo Ejemplo5
var
Cuerpo del bucle
inicio
entero: nota, c, suma
real: prom
c = 0
suma = 0
hacer
fin
c = c + 1
leer(nota)
suma = suma + nota
mientras (c < 40)
prom = suma/c
escribir(El promedio general es : ,prom)
Cuerpo del bucle
Figura 51. Pseudocdigo del ejemplo 5
Ing. Mirko Manrique Ronceros Pgina 53 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
2.3. La tercera instruccin es un acumulador; cuya funcin es acumular la suma de todas
las notas (40 notas).
3. A continuacin, se evala la condicin; se pregunta: c es menor que 40? Si la respuesta
es verdadera se regresa al paso 2 y se ejecutan las tres instrucciones del cuerpo del bucle
nuevamente, de lo contrario se contina con el paso 4.
4. Se llega a este paso despus de finalizarse las 40 iteraciones que da el bucle. En la
variable suma se tiene la suma total de las notas y ahora se ejecuta la instruccin que
permite hallar el promedio.
5. Muestra en pantalla el resultado del promedio de notas.
La solucin del ejemplo 5 en el diagrama estructurado y pseudocdigo es el siguiente:
Figura 50. Diagrama estructurado del ejemplo 5
algoritmo Ejemplo5
var
Cuerpo del bucle
inicio
entero: nota, c, suma
real: prom
c = 0
suma = 0
hacer
fin
c = c + 1
leer(nota)
suma = suma + nota
mientras (c < 40)
prom = suma/c
escribir(El promedio general es : ,prom)
Cuerpo del bucle
Figura 51. Pseudocdigo del ejemplo 5
Ing. Mirko Manrique Ronceros Pgina 53 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
2.3. La tercera instruccin es un acumulador; cuya funcin es acumular la suma de todas
las notas (40 notas).
3. A continuacin, se evala la condicin; se pregunta: c es menor que 40? Si la respuesta
es verdadera se regresa al paso 2 y se ejecutan las tres instrucciones del cuerpo del bucle
nuevamente, de lo contrario se contina con el paso 4.
4. Se llega a este paso despus de finalizarse las 40 iteraciones que da el bucle. En la
variable suma se tiene la suma total de las notas y ahora se ejecuta la instruccin que
permite hallar el promedio.
5. Muestra en pantalla el resultado del promedio de notas.
La solucin del ejemplo 5 en el diagrama estructurado y pseudocdigo es el siguiente:
Figura 50. Diagrama estructurado del ejemplo 5
algoritmo Ejemplo5
var
Cuerpo del bucle
inicio
entero: nota, c, suma
real: prom
c = 0
suma = 0
hacer
fin
c = c + 1
leer(nota)
suma = suma + nota
mientras (c < 40)
prom = suma/c
escribir(El promedio general es : ,prom)
Cuerpo del bucle
Figura 51. Pseudocdigo del ejemplo 5
Ing. Mirko Manrique Ronceros Pgina 54 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 6:
Se desea contabilizar cuntos nmeros son positivos, negativos y neutros del ingreso continuo de
nmeros enteros. Este proceso re repite hasta que el usuario pulse la tecla N al mensaje en
pantalla Desea Continuar[s/n]:.
Solucin
Para la solucin del problema se va a necesitar de tres contadores, que realizarn la accin de
contar cuntos nmeros son positivos, negativos y neutros se ingresarn por teclado, de una serie
de nmeros.
Para ello, utilizaremos tres variables, a las que llamaremos:
cc : contador de ceros
cp : contador de positivos
cn : contador de negativos
Adems, utilizaremos estructuras selectivas anidadas, con las que haremos la comprobacin de
cules nmeros son iguales a cero, positivos y negativos. Y de acuerdo al resultado de la
condicin, los contadores (cc, cp y cn) incrementarn su valor.
Terminadas de realizar todas las condiciones, se preguntar al usuario si Desea continuar [s/n]
ingresando ms nmeros, para ello utilizaremos una variable de tipo carcter, llamado opc. El cul
almacenar el carcter de s de s continuo, o n de no continuo ingresando valores. De
acuerdo a la respuesta seguiremos o terminamos el bucle.
Al responder en n de no continuo el algoritmo debe reportar lo siguiente:
Cantidad de nmeros ceros.
Cantidad de nmeros positivos.
Cantidad de nmeros negativos.
Ing. Mirko Manrique Ronceros Pgina 55 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 52. Diagrama de flujo del ejemplo 6
Ing. Mirko Manrique Ronceros Pgina 56 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 53. Diagrama estructurado del ejemplo 6
algoritmo Ejemplo6
var
inicio
entero: n, cc, cp, cn
caracter: opc
cc = 0
cp = 0
cn = 0
hacer
leer (n)
si (n=0) entonces
cc = cc + 1
sino
si (n>0) entonces
cp = cp + 1
fin_si
sino
fin_si
cn = cn + 1
fin
escribir(Desea continuar : [s/n] :)
escribir(opc)
mientras (opc = s)
escribir(Cantidad de ceros : ,cc)
escribir(Cantidad de positivos : ,cp)
escribir(Cantidad de ceros : ,cn)
Figura 54. Pseudocdigo del ejemplo 6
Ing. Mirko Manrique Ronceros Pgina 56 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 53. Diagrama estructurado del ejemplo 6
algoritmo Ejemplo6
var
inicio
entero: n, cc, cp, cn
caracter: opc
cc = 0
cp = 0
cn = 0
hacer
leer (n)
si (n=0) entonces
cc = cc + 1
sino
si (n>0) entonces
cp = cp + 1
fin_si
sino
fin_si
cn = cn + 1
fin
escribir(Desea continuar : [s/n] :)
escribir(opc)
mientras (opc = s)
escribir(Cantidad de ceros : ,cc)
escribir(Cantidad de positivos : ,cp)
escribir(Cantidad de ceros : ,cn)
Figura 54. Pseudocdigo del ejemplo 6
Ing. Mirko Manrique Ronceros Pgina 56 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 53. Diagrama estructurado del ejemplo 6
algoritmo Ejemplo6
var
inicio
entero: n, cc, cp, cn
caracter: opc
cc = 0
cp = 0
cn = 0
hacer
leer (n)
si (n=0) entonces
cc = cc + 1
sino
si (n>0) entonces
cp = cp + 1
fin_si
sino
fin_si
cn = cn + 1
fin
escribir(Desea continuar : [s/n] :)
escribir(opc)
mientras (opc = s)
escribir(Cantidad de ceros : ,cc)
escribir(Cantidad de positivos : ,cp)
escribir(Cantidad de ceros : ,cn)
Figura 54. Pseudocdigo del ejemplo 6
Ing. Mirko Manrique Ronceros Pgina 57 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo de autoaprendizaje:
Resuelva en diagrama de flujo, diagrama estructurado y pseudocdigo.
Ejemplo 7:
En una campaa mdica de medicin de presin, se pide que se ingresen todas las edades de los
pacientes que sern atendidos. Se solicita que se calcule la mayor y menor edad ingresada. El
Ing. Mirko Manrique Ronceros Pgina 58 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Repetitiva Mientras
El proceso de una estructura repetitiva Mientras es el siguiente: para que ingrese al cuerpo del
bucle tiene que evaluarse una condicin, si sta es verdadera se ingresa y se realizan todas las
instrucciones que estn dentro del cuerpo del bucle; terminado la ltima instruccin se vuelve a
comprobar la condicin; se seguir realizando el bucle mientras la condicin siga siendo
verdadera y si en un momento es falsa sale del bucle.
Es decir, la estructura repetitiva Mientras es aquella en que el cuerpo del bucle se repite mientras
se cumpla una determinada condicin, y termina cuando ya no se cumple.
Si al querer ingresar al cuerpo del bucle por primera vez y la condicin es falsa, no ingresa al
bucle, ninguna accin se realiza y el algoritmo prosigue en la siguiente instruccin fuera del bucle.
La representacin grfica de la estructura repetitiva Mientras es la siguiente:
Figura 55. Diagrama de Flujo de la estructura repetitiva Mientras
Figura 56. Diagrama Estructurado de la estructura repetitiva Mientras
Ing. Mirko Manrique Ronceros Pgina 58 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Repetitiva Mientras
El proceso de una estructura repetitiva Mientras es el siguiente: para que ingrese al cuerpo del
bucle tiene que evaluarse una condicin, si sta es verdadera se ingresa y se realizan todas las
instrucciones que estn dentro del cuerpo del bucle; terminado la ltima instruccin se vuelve a
comprobar la condicin; se seguir realizando el bucle mientras la condicin siga siendo
verdadera y si en un momento es falsa sale del bucle.
Es decir, la estructura repetitiva Mientras es aquella en que el cuerpo del bucle se repite mientras
se cumpla una determinada condicin, y termina cuando ya no se cumple.
Si al querer ingresar al cuerpo del bucle por primera vez y la condicin es falsa, no ingresa al
bucle, ninguna accin se realiza y el algoritmo prosigue en la siguiente instruccin fuera del bucle.
La representacin grfica de la estructura repetitiva Mientras es la siguiente:
Figura 55. Diagrama de Flujo de la estructura repetitiva Mientras
Figura 56. Diagrama Estructurado de la estructura repetitiva Mientras
Ing. Mirko Manrique Ronceros Pgina 58 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Estructura Repetitiva Mientras
El proceso de una estructura repetitiva Mientras es el siguiente: para que ingrese al cuerpo del
bucle tiene que evaluarse una condicin, si sta es verdadera se ingresa y se realizan todas las
instrucciones que estn dentro del cuerpo del bucle; terminado la ltima instruccin se vuelve a
comprobar la condicin; se seguir realizando el bucle mientras la condicin siga siendo
verdadera y si en un momento es falsa sale del bucle.
Es decir, la estructura repetitiva Mientras es aquella en que el cuerpo del bucle se repite mientras
se cumpla una determinada condicin, y termina cuando ya no se cumple.
Si al querer ingresar al cuerpo del bucle por primera vez y la condicin es falsa, no ingresa al
bucle, ninguna accin se realiza y el algoritmo prosigue en la siguiente instruccin fuera del bucle.
La representacin grfica de la estructura repetitiva Mientras es la siguiente:
Figura 55. Diagrama de Flujo de la estructura repetitiva Mientras
Figura 56. Diagrama Estructurado de la estructura repetitiva Mientras
Ing. Mirko Manrique Ronceros Pgina 59 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
mientras (condicin) hacer
instruccin 1
instruccin 2
.
.
instruccin n
fin_mientras
Figura 57. Pseudocdigo de la estructura repetitiva Mientras
A continuacin se presenta el siguiente ejemplo para comprender el funcionamiento de la
estructura repetitiva Mientras.
Ejemplo 8:
Escribir un algoritmo que lea las 40 notas finales del curso de Fundamentos de Programacin, e
informe cuntos alumnos han aprobado y cuntos desaprobaron. Dato: (Nota >= 10.5 Aprobado)
Figura 58. Diagrama de Flujo del ejemplo 8
Ing. Mirko Manrique Ronceros Pgina 60 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 59. Diagrama estructurado del ejemplo 8
algoritmo Ejemplo8
var
inicio
entero: c, ca, cd
real: notaFinal
c = 0
ca = 0
cd = 0
mientras ( c < 40 ) hacer
c = c + 1
leer (notaFinal)
si (notaFinal >= 10.5) entonces
ca = ca + 1
sino
fin_si
fin_mientras
cd = cd + 1
fin
escribir(Aprobados : ,ca)
escribir(Desaprobados : ,cd)
Figura 60. Pseudocdigo del ejemplo 8
Ing. Mirko Manrique Ronceros Pgina 60 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 59. Diagrama estructurado del ejemplo 8
algoritmo Ejemplo8
var
inicio
entero: c, ca, cd
real: notaFinal
c = 0
ca = 0
cd = 0
mientras ( c < 40 ) hacer
c = c + 1
leer (notaFinal)
si (notaFinal >= 10.5) entonces
ca = ca + 1
sino
fin_si
fin_mientras
cd = cd + 1
fin
escribir(Aprobados : ,ca)
escribir(Desaprobados : ,cd)
Figura 60. Pseudocdigo del ejemplo 8
Ing. Mirko Manrique Ronceros Pgina 60 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 59. Diagrama estructurado del ejemplo 8
algoritmo Ejemplo8
var
inicio
entero: c, ca, cd
real: notaFinal
c = 0
ca = 0
cd = 0
mientras ( c < 40 ) hacer
c = c + 1
leer (notaFinal)
si (notaFinal >= 10.5) entonces
ca = ca + 1
sino
fin_si
fin_mientras
cd = cd + 1
fin
escribir(Aprobados : ,ca)
escribir(Desaprobados : ,cd)
Figura 60. Pseudocdigo del ejemplo 8
Ing. Mirko Manrique Ronceros Pgina 61 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 9:
Realizar un algoritmo que permita calcular la suma de los nmeros enteros comprendidos entre
dos cantidades ingresadas por teclado. Hallar adicionalmente el promedio de la suma.
Figura 61. Diagrama de Flujo del ejemplo 9
Ing. Mirko Manrique Ronceros Pgina 61 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 9:
Realizar un algoritmo que permita calcular la suma de los nmeros enteros comprendidos entre
dos cantidades ingresadas por teclado. Hallar adicionalmente el promedio de la suma.
Figura 61. Diagrama de Flujo del ejemplo 9
Ing. Mirko Manrique Ronceros Pgina 61 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Ejemplo 9:
Realizar un algoritmo que permita calcular la suma de los nmeros enteros comprendidos entre
dos cantidades ingresadas por teclado. Hallar adicionalmente el promedio de la suma.
Figura 61. Diagrama de Flujo del ejemplo 9
Ing. Mirko Manrique Ronceros Pgina 62 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 62. Diagrama estructurado del ejemplo 9
algoritmo Ejemplo9
var
inicio
entero: Pnum, Snum, c, suma, aux
real: prom
leer( Pnum , Snum )
c = 0
suma = 0
si (Pnum>Snum) entonces
aux = Pnum
Pnum = Snum
Snum = aux
fin
fin_si
mientras ( Pnum <= Snum ) hacer
c = c + 1
suma = suma + Pnum
Pnum = Pnum + 1
fin_mientras
prom = suma / c
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
Figura 63. Pseudocdigo del ejemplo 9
Ing. Mirko Manrique Ronceros Pgina 62 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 62. Diagrama estructurado del ejemplo 9
algoritmo Ejemplo9
var
inicio
entero: Pnum, Snum, c, suma, aux
real: prom
leer( Pnum , Snum )
c = 0
suma = 0
si (Pnum>Snum) entonces
aux = Pnum
Pnum = Snum
Snum = aux
fin
fin_si
mientras ( Pnum <= Snum ) hacer
c = c + 1
suma = suma + Pnum
Pnum = Pnum + 1
fin_mientras
prom = suma / c
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
Figura 63. Pseudocdigo del ejemplo 9
Ing. Mirko Manrique Ronceros Pgina 62 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN
Figura 62. Diagrama estructurado del ejemplo 9
algoritmo Ejemplo9
var
inicio
entero: Pnum, Snum, c, suma, aux
real: prom
leer( Pnum , Snum )
c = 0
suma = 0
si (Pnum>Snum) entonces
aux = Pnum
Pnum = Snum
Snum = aux
fin
fin_si
mientras ( Pnum <= Snum ) hacer
c = c + 1
suma = suma + Pnum
Pnum = Pnum + 1
fin_mientras
prom = suma / c
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
Figura 63. Pseudocdigo del ejemplo 9
Ing. Mirko Manrique Ronceros Pgina 63 de 63
Universidad Nacional del Santa
Facultad de Ingeniera
E.A.P. de Ingeniera de Sistemas e Informtica
FUNDAMENTOS DE PROGRAMACIN

También podría gustarte