Professional Documents
Culture Documents
(NBU)
MODULO DE
FLUJOGRAMA
AUTOR:
PRIMERA EDICIÓN
2008
Índice
UNIDAD I
ALGORITMOS
Introducción ……………………………………………………………………… 5
Conceptos .................................................................................................... 5
Tipos de Algoritmos ........................................................................................ 6
Alternativa de solución de problemas mediante algoritmo cuantitativo no gráficos ............
......................................... 7
UNIDAD II
FLUJOGRAMAS
Concepto ................................................................................................... 10
Reglas para formar un Identificador .........................................................................................
.......... 10
Operadores. ................................................................................................... 12
SIMBOLOGÍA MÁS UTILIZADA ……………………………………………………………………….. 16
Estructuras Algorítmicas ……………………………………………………………………….. 17
Estructura Secuenciales………………………………………………………………………... 18
Entrada y salida de información……………………………………………………………… 19
Ejercicios Propuestos (Secuenciales) .................................................... 20
UNIDAD III
Estructuras algorítmicas
Condicionales o de decisión ………………………………………………………………………….. 23
Problemas propuesto …………………………………………………………………………………….. 28
Cíclicas o de repetición …………………………………………………………………………. 30
Problemas propuesto …………………………………………………………………………………….. 38
UNIDAD IV
Arreglos
Concepto ………………………………………………………………………………………………. 42
Características …………………………………………………………………………………… 42
Tipos ………………………………………………………………………………………………………… 42
Vector …………………………………………………………………………………………………………. 43
Llenado de un vector …………………………………………………………………………………… 44
Recorrido de un vector ……………………………………………………………………….. 44
Problema propuesto ………………………………………………………………………………….. 45
Ordenamiento de un vector ……………………………………………………………………….. 47
Matriz ………………………………………………………………………………………………………….. 49
Llenado de una matriz ………………………………………………………………………… 49
Problema propuesto …………………………………………………………………………………… 52
UNIDAD V
Sistema de numeración
Concepto ……………………………………………………………………………………………… 54
Conversión entre los sistemas de numeración ………………………………………. 54
Estructura de la memoria ………………………………………………………………………… 56
Aritmética binaria …………………………………………………………………………………… 57
Problemas propuesto ………………………………………………………………………………….. 64
Anexos ………………………………………………………………………………………………. 65
UNIDAD I
ALGORITMOS
Introducción
La palabra algoritmo se deriva de la traducci ó n al latín de la palabra á rabe
ALKHOWARIZMI , nombre de un matem á tico y astró nomo á rabe que
escribi ó un tratado sobre manipulaci ó n de nú meros y ecuaciones en el
siglo IX.
Conceptos
Para que un ordenador lleve a cabo una tarea es preciso decirle que
operaciones debe realizar, en otras palabras, debemos describir como se
debe realizar la tarea. Dicha descripci ó n se llama ALGORITMO.
Características de un algoritmo
Debe tener un punto particular de inicio.
Preciso (debe indicar el orden de realizaci ó n en cada paso y no
puede tener ambig ü edad).
Definido, no debe permitir dobles interpretaciones. (si se sigue
dos veces, obtiene el mismo resultado cada vez)
Finito, en tama ñ o y tiempo de ejecuci ó n (tiene fin; un n ú mero
determinado de pasos )
Debe ser Sencillo, Legible.
Eficiente y Efectivo.
Correcto.
Debe ser general, es decir, soporta r la mayor ía de las variantes
que se puedan presentar en la definici ó n del problema.
Debe tener al menos una salida y é sta debe ser visible.
El algoritmo es independiente segú n donde lo implemente.
Tipos de Algoritmos
Cualitativo
Cuantitativos
Ejemplo:
Se dispone de una cantidad ilimitada de agua, de un recipiente
de 5 litros y otro de 4 litros.
Escriba un algoritmo para colocar exactamente 2 litros de agua
en el recipiente de 5 litro.
Solución:
1) Llenar con agua el recipiente de 5 litros
2) Llenar el recipiente de 4 litros con agua de la de 5 litros, de
esta manera el recipiente de 5 litros contendr á 1 litro.
3) Vaciar el recipiente de 4 litros.
4) Pasar el contenido del recipiente de 5 litros en el de 4
litros.
5) Llenar de nuevo el recipiente de 5 litros.
6) Rellenar el recipiente de 4 litros con el de 5 litros. Esto
supone que pasen a la de 4 litros 3 litros pues ya ten ía 1
litro + 3 litros, habr á alcanzado su capacidad m á xima.
Quedando así 2 litros en el recipiente de 5 litros.
Luego se debe analizar el proceso, en este caso sería: restar del dinero del cliente el
total de la venta para así obtener el cambio.
INICIO
//Entrada
Leer total_de_venta.
Leer dinero_del_cliente.
//Proceso
cambio = dinero_del_cliente - total_de_venta
//Salida
Mostrar cambio
FIN
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main( )
{ float tot_vent, pago, cambio;
cout<< “\n Ingrese el total de la venta :”;
cin>> tot_vent;
cout<< “\n Ingrese el dinero del cliente :”;
cin>> pago;
cambio= pago- tot_vent;
cout<<”\n El cambio que recibe el cliente es: ”<< cambio;
}
Ejercicios Propuestos (Algoritmos Cuantitativos No Gráficos)
Conceptos
Identificadores
Concepto
Los identificadores representan los datos de un programa (constantes, variables,
1
tipos de datos). Un identificador es una secuencia de caracteres que sirve para
identificar una posició n en la memoria de la computadora, que nos permite accesar a
su contenido. Ejemplo
VARIABLE
POSIBLE IDENTIFICACIÓN
IDENTIFICADOR
N_HOR NUMERO DE HORAS
CALF2 CALIFICACIÓN 2
N_V NOTA DE VENTA
Debe comenzar con una letra (A a Z, mayú sculas o minú sculas) y no deben
contener espacios en blanco.
_
Letras, dígitos y caracteres como la subraya ( ) está n permitidos después
del primer carácter.
Es recomendable que la longitud de identificadores puede sea hasta 8
caracteres.
AREA = PI * RADIO ^ 2
Las variables son: el RADIO, el AREA y la 2constate es pi
Clasificación de las Variables
1
El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable, que pueden ser entero, reales,
caracteres, entre otros.
2
Dato numérico o alfanumérico que no cambia durante la ejecución del programa
Numéricas:
Por su Contenido
almacenan valores numéricos, positivos o negativos, es
decir almacenan números del 0 al 9, signos (+ y -) y el
punto decimal. Es decir Enteras o Reales
Alfanuméricas (String) formada por caracteres alfanuméricos
(letras, números y caracteres especiales).
De Trabajo:
Por su Uso
Concepto: Son elementos que relacionan de forma diferente, los valores de una o
má s variables y/o constantes. Es decir, los operadores nos permiten manipular
valores.
Aritméticos
Ló gicos
Aritméticos.-
Raíz 64 ^ (1/3)
Obtener residuo de una
Mod divisió n 4 mod 3
Obtener parte entera de un
Div divisió n 5 div 3
Planteamiento:
A= 25 + 40 / ( 5^(3-1)) *(1/2)
Solució n:
Paso 1: resolver el paréntesis má s interno A= 25 + 40 / ( 5^(3-1)) * (1/2)
A= 25 + 40 / ( 5^2) *(1/2)
Símbolo Nombre
> Mayor
< Menor
>= Mayor igual
<= Menor igual
<> Diferente
Ejemplo: Si: a = 10 b = 20 c = 30
Lógicos.-
AND
OR
NOT
Proposición Resultado
verdadero falso
falso verdadero
SÍMBOLO DESCRIPCIÓN
ESTRUCTURAS ALGORITMICAS
Secuencial
- Asignació n
- Simples
Estructuras Condicional
Algorítmicas - Mú ltiples
- Desde – Hacer
- Repetir hasta
Las dos operaciones bá sicas de cada salida son las de lectura y de escritura.
a,b
Donde “a” y “b” son las variables que recibirá n los valores
Proceso.- Consiste en realizar todas las operaciones matemá ticas necesarias para
resolver el problema. Este proceso se representa así:
R= a+b
Al pedir un valor al usuario hay que decirle que es lo que se le quiere pedir
escribiendo un mensaje.
Asignación: Consiste, en el paso de valores o resultados a una zona de la memoria.
Dicha zona será reconocida con el nombre de la variable que recibe el valor. Es decir
que consiste en atribuir un valor a una variable. El valor será una expresió n
(constante, variable,...), por medio del signo =
Ejemplo:
NO VALIDO VALIDO
A2 A=2
A 3*A + A = 8 A= 8/(3*A+ A)
Ejercicio:
Ingresar dos nú meros por teclado, calcular la suma de estos y mostrarlos por
pantalla.
Inicio
‘Ingrese el primer
número’
N1
‘Ingrese el
segundo número’
N2
Suma = N1 + N2
Suma
Fin
Ejercicios Propuestos (Secuenciales)
1) Suponga que un individuo desea invertir su capital en un banco y desea saber ¿cuá nto
dinero ganara después de un mes? si el banco paga a razó n de 2% mensual.
2) Un vendedor recibe un sueldo base má s un 10% extra por comisió n de sus ventas, el
vendedor desea saber ¿cuá nto dinero obtendrá por concepto de comisiones? por las
tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su
sueldo base y comisiones.
3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea
saber cuá nto deberá pagar finalmente por su compra.
8) Calcular el nú mero de pulsaciones que una persona debe tener por cada 10 segundos de
ejercicio, si la formula es:
11) El dueñ o de una tienda compra un artículo a un precio determinado. Obtener el precio
en que lo debe vender para obtener una ganancia del 30%.
UNIDAD III
Estructuras Algorítmica
Condicional o de Decisión
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en
base al resultado de esta comparació n (verdadera o falsa), se siga un curso de acció n
dentro del programa. Cabe mencionar que la comparació n se puede hacer contra otra
variable o contra una constante, segú n se necesite. Existen tres tipos bá sicos, simples,
dobles y mú ltiples.
Simple: Las estructura condicional simple se la conoce como “Toma de decisió n”.
Esta toma de decisió n tiene la siguiente forma:
Si
condición
Instrucciones
Doble: Las estructura condicional doble, permiten elegir entre dos opciones o
alternativas posibles en funció n del cumplimiento o no de una determinada
condició n. Se representa de la siguiente forma:
No Si
Condición
Instrucciones Instrucciones
No Si
Condición
Instrucciones
No Si
Condición
Instrucciones Instrucciones
Ejercicios:
Un hombre desea saber cuá nto dinero se genera por concepto de intereses sobre la
cantidad que tiene en inversió n en el banco. El decidirá reinvertir los intereses
siempre y cuando estos excedan a $7000, y en ese caso desea saber cuá nto dinero
tendrá finalmente en su cuenta.
Inicio
‘Ingrese el
capital’
cap
“‘Ingrese el
interés”
P_int
capf
>
Si
7000 Capf= capf + (capf+ p_int)
No
Capf
Fin
Problema Selectivo doble
Inicio
“Ingrese las
calificacione
s”
calif1,calif2,
calif3
Prom
No >
Si
70
Imp = “reprobado” Imp = “aprobado”
imp
Fin
Problema Selectivo doble
Realizar un diagrama de flujo para detectar automá ticamente cual de los dos nú meros
ingresados por teclado es el mayor, presentar por impresora el mensaje “MAYOR” a
continuació n a la variable, si los nú meros son iguales presentar “IGUALES” y finaliza.
Inicio
“Ingrese los
números”
A,B
A=B
No Si
“IGUALES”
No A> B Si
“MAYOR ”, B “MAYOR”. A
Fin
Problemas Propuestos
1) Calcular el total que una persona debe pagar en una llantera, el precio de cada
llanta es de $800, si compra má s de 5 el costo será $700.
3) Calcular el nú mero de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aeró bico; la formula que se aplica cuando el sexo es femenino es:
num. pulsaciones = (220 - edad)/10
y si el sexo es masculino:
num. pulsaciones = (210 - edad)/10
7) Realice un flujo grama que calcule la comisió n que debe recibir un vendedor, si la
venta es mayor a $500.00 el vendedor debe recibir el 15% del total de la venta, caso
contrario, es decir, si la venta es menor o igual que $500.00, el vendedor debe recibir el
5%.
10) Diseñ e un diagrama de flujo que permita realizar el cá lculo de á reas de acuerdo a
la opció n que el usuario elija:
1rectangulo
2 cuadrado
3 triangulo
Cíclicas o de Repetición
Generalidades
Se llaman problemas repetitivos o cíclicos a aquellos en cuya solució n es necesario
utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad
específica de veces. Esta cantidad puede ser fija (previamente determinada por el
programador) o puede ser variable (estar en funció n de algú n dato dentro del
programa).
For A = 1 to 20
Procesos
Donde:
A Variable de control del ciclo
1 Limite inferir
20 Límite superior
En este ciclo la variable de control toma el valor inicial del ciclo y se repite hasta que
la variable de control llegue al límite superior.
Ejercicios ( Desde - Hacer )
Inicio
Sum = 0
Nom
For A = 1 to 7
Calif
Prom = Sum/7
Prom
Fin
2) Leer 10 nú meros y obtener su cubo y su cuarta.
Inicio
For A = 1 to 10
num
cubo = num*num*num
cuarta= cubo* num
cubo, cuarta
Fin
Ciclos con un Número Indeterminado de Iteraciones.
Procesos
Si
Condición
No
sueldo
suma= ven1+ven2+ven3
comis=suma*10/100
total=sueldo+comis
“El empleado:”, C,
“Comisión”, comis,
“Sueldo T”, total
Si C< N
No
FIN
Mientras- Hacer: Este ciclo primero evalú a la condició n si la misma es
verdadera (SI) se realiza los procesos, caso contrario (NO) sale y realiza otra
instrucció n. Su formato es el siguiente:
Condición
Si
Procesos No
Ejercicio (Mientras-Hacer)
1) Una empresa tiene N INICIO
vendedores. Cada uno hace tres
ventas a la semana. Un vendedor
recibe un sueldo base, y un 10% C=0
extra por comisiones en ventas. Se
desea saber ¿cuá nto dinero
obtendrá en la semana cada N
vendedor por comisiones de las tres
ventas realizadas?, y ¿cuá nto
tomando en cuenta su sueldo base y
sus comisiones? Si C< N
C=C+1 No
sueldo FIN
ven1, ven2,
ven3
suma= ven1+ven2+ven3
comis=suma*10/100
total=sueldo+comis
“El empleado:”, C,
”Comisión”, comis,
“Sueldo T”,total
Repetir-Hasta: Este ciclo primero realiza el proceso luego evalú a la condicen, si la
condició n se no cumple (NO) se repite, caso contrario (SI) sale y ejecuta otra
instrucció n. Su formato es el siguiente:
Procesos
No
Condición
Si
C=C+1
sueldo
ven1, ven2,
ven3
suma= ven1+ven2+ven3
comis=suma*10/100
total=sueldo+comis
“El empleado:”, C,
“Comisión”, comis,
“Sueldo T”, total
No C>= N
Si
FIN
PROBLEMAS PROPUESTOS
Sugerencia
Usted puede escoger el ciclo de repetición que considere pertinente, aunque existirán algunos
ejercicios secuenciales solo, es solo de saber interpretar la correcta solución.
1) En una tienda de descuento las personas que van a pagar el importe de su compra
llegan a la caja y sacan una bolita de color, que les dirá que descuento tendrá n sobre el
total de su compra. Determinar la cantidad que pagara cada cliente desde que la tienda
abre hasta que cierra. Se sabe que si el color de la bolita es roja el cliente obtendrá un 40%
de descuento; si es amarilla un 25% y si es blanca no obtendrá descuento.
2) En un supermercado, una ama de casa pone en su carrito los artículos que va tomando
de los estantes. La señ ora quiere asegurarse de que el cajero le cobre bien lo que ella ha
comprado, por lo que cada vez que toma un articulo anota su precio junto con la cantidad
de artículos iguales que ha tomado y determina cuanto dinero gastara en ese articulo; a
esto le suma lo que ira gastando en los demá s artículos, hasta que decide que ya tomo todo
lo que necesitaba. Ayú dale a esta señ ora a obtener el total de sus compras
3) un teatro otorga descuentos segú n la edad del cliente. determinar la cantidad de dinero
que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los
niñ os menores de 5 añ os no pueden entrar al teatro y que existe un precio ú nico en los
asientos. Los descuentos se hacen tomando en cuenta el siguiente cuadro:
Edad Descuento
Categoría 1 5 - 14 35 %
Categoría 2 15 - 19 25 %
Categoría 3 20 - 45 10 %
Categoría 4 46 - 65 25 %
Categoría 5 66 en adelante 35 %
Calcular el promedio de masa de aire de los neumá ticos de n vehículos que está n
en compostura en un servicio de alineació n y balanceo. Los vehículos pueden ser
motocicletas o automó viles.
5) Determinar la cantidad semanal de dinero que recibirá cada uno de los n obreros de
una empresa. Se sabe que cuando las horas que trabajo un obrero exceden de 40, el resto
se convierte en horas extras que se pagan al doble de una hora normal, cuando no exceden
de 8; cuando las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se
paga por una hora normal y el resto al triple.
6) En una granja se requiere saber alguna informació n para determinar el precio de venta
por cada kilo de huevo. Es importante determinar el promedio de calidad de la n gallinas
que hay en la granja. La calidad de cada gallina se obtiene segú n la fó rmula:
calidad = peso de la gallina * altura de la gallina
Numero de huevos que pone
Finalmente para fijar el precio del kilo de huevo, se toma como base la siguiente tabla:
7) En la Cámara de Diputados se levanta una encuesta con todos los integrantes con el fin
de determinar ¿Qué porcentaje de los n diputados está a favor del Tratado de Libre
Comercio, que porcentaje está en contra y que porcentaje se abstiene de opinar?.
8) El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen
derecho al examen de nivelació n.
Diseñ e un pseudocó digo que lea las calificaciones obtenidas en las 5 unidades por
cada uno de los 40 alumnos y escriba la cantidad de ellos que no tienen derecho al
examen de nivelació n.
9) Diseñ e un diagrama que lea los 2,500,000 votos otorgados a los 3 candidatos a
gobernador e imprima el nú mero del candidato ganador y su cantidad de votos.
10) Suponga que tiene usted una tienda y desea registrar las ventas en una computadora.
Diseñ e un pseudocó digo que lea por cada cliente, el monto total de su compra. Al final del
día escriba la cantidad total de las ventas y el nú mero de clientes atendidos.
11) Suponga que tiene una tienda y desea registrar sus ventas por medio de una
computadora. Diseñ e un pseudocó digo que lea por cada cliente:
a).- el monto de la venta,
b).- calcule e imprima el IVA ,
c).-calcule e imprima el total a pagar,
d).- lea la cantidad con que paga el cliente,
e).-calcule e imprime el cambio.
Al final del día deberá imprimir la cantidad de dinero que debe haber en la caja.
12) Modificar el pseudocó digo anterior de tal forma que no permita que la cantidad con la
que paga el cliente sea menor a lo que debe pagar.
13) Se tiene un conjunto de 1,000 tarjetas cada una contiene la informació n del censo para
una persona:
1.- Nú mero de censo,
2.- Sexo
3.- Edad
4.- Estado civil (a.- soltero, b. Casado, c. Viudo, d. Divorciado )
Diseñ e un pseudocó digo estructurado que lea todos estos datos, e imprima el nú mero de
censo de todas las jó venes solteras que estén entre 16 y 21 añ os.
14) Leer 10 nú meros e imprimir solamente los nú meros positivos
15) Leer 20 nú meros e imprimir cuantos son positivos, cuantos negativos y cuantos
neutros.
16) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros
que laboran en ella. El salario se obtiene de la sig. forma:
Concepto
Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (variable) a
una colecció n de datos del mismo tipo.
Características:
Tipo de Arreglos
Unidimensionales (Vectores)
Tipo de
Arreglos
Bidimensionales y/o Multidimensionales (Matrices)
Vec[1] 7
Vec[2] 8
Vec[3] 9
1
Vec[4]
4
Vec[5]
Llenado de un Vector
Para llenar datos en un vector es preciso almacenar a cada dato en una respectiva
posición, por esa razón se debe usar una estructura de repetición, en el grafico se ha
utilizado el Desde – Hacer.
La variable del desde hacer permitirá indicar la posición en donde vamos a escribir en el
vector, y al finalizar las repeticiones, todas las posiciones tendrán un valor.
inicio
For x = 1 to 20
Vec[x]
Fin
Recorrido de un vector
Cuando está lleno el vector, si se necesita utilizar la información debemos indicar la
posición donde se encuentra la misma. Por ejemplo si deseamos mostrar toda el
contenido del arreglo se empleara una estructura de repetición para ir dando lectura de
cada posición, en este nuevo grafico se aplica otra vez “Desde – Hacer”. Asumiendo que
el vector ha sido llenado.