Está en la página 1de 15

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACION


ESCUELA TECNICA INDUSTRIAL ”LARA”
BARQUISIMETO

Material de Apoyo para los contenidos: Diagramas de Flujo y


Pseudolenguaje (Secuencia de dato)

Profesores:
Oscar Suárez
Liliana Mendoza

BARQUISIMETO, OCTUBRE 2008


Estas notas son una Introducción a la Resolución Sistemática de Problemas mediante
Algoritmos. El objetivo de las notas es presentar una metodología que permita obtener
soluciones algorítmicas correctas de un problema dado.

La Programación de computadoras comenzó como un arte, y aún hoy en día mucha gente
aprende a programar sólo mirando a otros procederes (ej Un profesor, un amigo, etc.), y
mediante el hábito, sin conocimiento de los principios que hay detrás de esta actividad. Es
por ello que se busca fortalecer los pasos básicos en el desarrollo de la algoritmia como lo
es los diagramas de Flujo y el Pseudolenguaje como un paso primordial e introductorio a la
programación

Conscientes de que estas notas van dirigidas a un grupo aspirante a futuros técnicos Medios
en Informática, el enfoque que llevaremos a cabo trata de balancear el uso de la intuición y
el sentido común, con la única finalidad de explicar a los jóvenes la lógica de Programación
con el fin de promover la capacidad de solucionar problemas

“PARA OBTENER EL APRENDIZAJE, HAY QUE VIVIR LA EXPERIENCIA”


Diagrama de Flujo

- Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir


que es la representación detallada en forma gráfica de como deben realizarse los pasos en la
computadora para producir resultados.
- Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos
en la computadora), se relacionan entre si mediante líneas que indican el orden en que se
deben ejecutar los procesos.

Elementos de un diagrama de Flujo

Bloque de proceso o de instrucción: Es un rectángulo dentro del cual se escribe la acción


a ejecutar.

Comprar

Bloque de Entrada. Usualmente se emplea un paralelogramo o un bloque en forma de


tarjeta.
Leer Leer

Bloque de Salida. Es el que indica lo que se quiere escribir al final. (O mostrar)

Mostrar X

Bloques de Decisión: Indica el comienzo y el fin del algoritmo. Para ello se utilizan
circunferencias.

Inicio Fin

Bloque de Decisión: Se suelen utilizar rombos u óvalos. Tienen una entrada y dos o tres
salidas.

A> 0 A< 0
Es X < 0 Como es A
No
Si
A= 0
(Decisión Lógica) (Decisión Aritmética)
Ventajas de usar Diagramas de Flujo

1 . Rápida comprensión de las relaciones.


2. Análisis de las diferentes secciones del programa
3. Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas.
4. Enriquece la comunicación con el usuario.
5. Permite la documentación adecuada de los programas.
6. Mejor codificación de los programas.
7. Depuración y pruebas ordenadas de programas

Desventajas de los Diagramas de Flujo

1. Cuando estamos en presencia de diagramas complejos y detallados pueden resultar


laboriosos en su planteamiento y diseño.
2. Las acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de
seguir si existen más caminos de los contemplados.
3. No existen normas fijas para su elaboración, por lo tanto incluir todos los detalles que se
deseen considerar queda a criterio del diseñador. Su diseño al igual que el algoritmo en
pseudocodificación debe estar centrado en el cumplimiento de los pasos necesarios para
obtener el resultado que se quiere.

Ejemplo 1: Se desea realizar la operación de adición de 2 números y poder visualizar su


resultado
Inicio Ejercicio propuesto: Realice
los respectivos diagramas de
A,
flujo para la operación de

C= A+B multiplicación y División


Destápelo

Fin
Ejemplo 2: Consideremos una maquina automática de refresco con una ranura para
monedas de Bs. 500 (Únicamente) y que además, devuelve la moneda cuando no hay
refresco.

Realice un diagrama de flujo que explique su funcionamiento.

Análisis:
- Si tengo una moneda de Bs. 500 sigo el proceso. De lo contrario termina.
- Si la respuesta fue positiva, introduzco la moneda y apretó el botón para que baje el
refresco.
- Si hay refrescos, la maquina provee el refresco, pero en caso contrario, la maquina
devuelve la moneda y el proceso termina.
- Si hay refresco, lo destapamos y termina el proceso.

Inicio

¿Tengo una
moneda de
500?

Si
Introduzca en la moneda en
la ranura

Apriete el botón
proveedor

No ¿Hay Destápelo
Tome su moneda Si

refresco?
Fin

Ejercicio propuesto: Realice el respectivos diagrama de flujo para “una”


operación de transacción bancaria a través de un telecajero

Ejemplo 3: Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos
valores es el mayor y escribirlo.
Pseudocódigo Diagrama de Flujo

1. Inicio

Inicio
2. Inicializar variables: A = 0, B = 0

3. Solicitar la introducción de dos


valores distintos “Introduzca dos
valores distintos”
4. Leer los dos valores
5. Asignarlos a las variables A y B

6. Si A = B Entonces vuelve a 3 A,
porque los valores deben ser
distintos
Si
7. Si A>B Entonces A=

No
Escribir A, “Es el mayor”
No Si
8. De lo contrario: Escribir B, “Es A>
el mayor”

9. Fin_Si B “Es el mayor” A “Es el mayor”

10. Fin

Fin

Ejercicios propuesto:

a. Realizar un algoritmo que permita leer dos valores, determinar cual de los dos valores es el
menor y escríbalo

Estructuras condicionales
Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en
base al resultado de esta comparación, 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, las simples, las dobles y las
múltiples.
• Tipos de Estructuras Condicionales:
1. Simples: Las estructuras condicionales simples se les conoce como “Tomas de
decisión”. Estas tomas de decisión tienen la siguiente forma:

2. Dobles: Las estructuras condicionales dobles 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:

Donde:
• Si: Indica el comando de comparación
• Condición: Indica la condición a evaluar
• Entonces: Precede a las acciones a realizar cuando se cumple la condición
• Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición
• si no: Precede a las acciones a realizar cuando no se cumple la condición
• (Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más
acciones.)
3. Múltiples (Si anidado):
Las estructuras de comparación múltiples, son tomas de decisión especializadas que
permiten comparar una variable contra distintos posibles resultados, ejecutando para cada
caso una serie de instrucciones específicas. La forma común es la siguiente:

Ejemplo 4: Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de


edadEjercicio Propuesto:
debe aparecer un mensajeRealizar
indicándolo. Expresarlo en Seudo código y Diagrama de
dicho
flujos. algoritmo en donde se
muestre que el usuario es menor
de edad
Ejemplo 5: Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y
enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese el algoritmo
usando Seudo código y diagrama de flujos.

INICIO
Not1, Not2,
Not 3 :REAL
Def: REAL
LEA Not1, Not2,
Not3
Def = (Not1 + Not2 +
Not3) /3
Si Def < 3 entonces
Escriba
“Reprobó el
curso”
Sino
Escriba
“Aprobó el
curso”
Fin-Si
FIN

Ejercicio Propuesto: Desarrollo el algoritmo y el diagrama de flujo, en donde se pida el


las notas de 4 asignaturas (Matemática, Programación, Algoritmia, Educación Física) se
calcule el promedio y se indique al usuario si es sobresaliente o distinguido (Promedio es
mayor que 18 es sobresaliente de lo contrario es distinguido)
Ejemplo 6: Se desea escribir un algoritmo que pida la altura de una persona, si la altura es
menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura está entre
151 y 170 escriba el mensaje: “Persona de altura media” y si la altura es mayor al 171
escriba el mensaje: “Persona alta”. Exprese el algoritmo usando Seudo código y diagrama
de flujos.

INICIO
Altura: ENTERO
ESCRIBA “Cuál es tu
altura?”
LEA Altura
Si Altura <=150 entonces
ESCRIBA “persona de
altura baja”
Sino
Si Altura <=170
entonces
ESCRIBA “persona de
altura media”
Sino
Si Altura>170
ENTONCES
ESCRIBA
“persona alta”
Fin-Si
Fin-Si
Fin-Si
FIN

Ejercicio propuesto: Se desea escribir un algoritmo que le permita solicitar la edad de una
persona, si la edad es menor o igual a 12 indique que es un “Niño”, si la edad esta comprendida
entre 13 a 18 años indique que es un “Adolescente”, y si la edad es mayor de 18 años indique
“Adulto”. Exprese el algoritmo usando Seudo código y diagrama de flujos.

Pseudocódigo
Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma)
que se emplea, dentro de la programación estructurada, para realizar el diseño de
un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de
especificaciones de algoritmos.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar
solución a un problema determinado.

Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo


- Ocupa menos espacio en una hoja de papel
- Permite representar en forma fácil operaciones repetitivas complejas
- Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de
programación.

Estructura de un Programa

Programa *Acá se le coloca Nombre del Programa*


Constantes
* En esta sección se definen las constantes*

Variables
* En esta sección se definen las variables*

Inicio * Inicio del Programa*


* acá se colocan las secuencias de pasos /algoritmo *

Fin *Culminación del Programa*

Ejemplo

Programa Suma
Variables
A, B, C: Enteros

Inicio
Escriba “Introduzca Primer Numero”
Leer A
Escriba “Introduzca Segundo Numero”
Leer B
C=A+B
Mostrar C
Fin

Identificadores: Representan los datos de un programa (constantes, variables,


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
acceder a su contenido.
Ejemplo: Nombre
Num_hrs
Calif2

Constantes y Variables
¢ Constante: Una constante es un dato numérico o alfanumérico que no cambia
durante la ejecución del programa.
Ejemplo:
pi = 3.1416
¢ Variable: Es un espacio en la memoria de la computadora que permite
almacenar temporalmente un dato durante la ejecución de un proceso, su
contenido puede cambia durante la ejecución del programa. Para poder reconocer
una variable en la memoria de la computadora, es necesario darle un nombre con
el cual podamos identificarla dentro de un algoritmo.

Ejemplo:
área = pi * radio ^ 2

Las variables son : el radio, el área y la constate es pi

Clasificación de las Variables


Numéricas (enteras, reales)
Lógicas
Alfanuméricas (String)

¢ Variable Numéricas: Son aquellas en las cuales se almacenan valores


numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos
(+ y -) y el punto decimal.

Ejemplo:
iva=0.15 pi=3.1416 costo=2500
¢ Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparación entre otros datos.
¢ Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras,
números y caracteres especiales).

Ejemplo:
letra='a' apellido='lopez' direccion='Av. Libertad #190'
¢ Contadores: Se utilizan para llevar el control del numero de ocasiones en que
se realiza una operación o se cumple una condición. Con los incrementos
generalmente de uno en uno.
¢ Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.
Ejemplos Problemas Secuénciales
1) Suponga que un individuo desea invertir su capital en un banco y desea saber
cuanto dinero ganara después de un mes si el banco paga a razón de 2%
mensual.
Programa Banco
Constante
Porcentaje: 0.02
Variables
Ganancia, cap_inv: real
Inicio
Leer cap_inv
gan = cap_inv * Porcentaje
Imprimir gan
Fin
2) Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus
ventas, el vendedor desea saber cuanto 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.
Inicio
Leer sb, v1, v2, v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
Imprimir tpag, com
Fin
3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuanto deberá pagar finalmente por su compra.
Inicio
Leer tc
d = tc * 0.15
tp = tc - d
Imprimir tp
Fin
4) Un alumno desea saber cual será su calificación final en la materia de
Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
Inicio
Leer c1, c2, c3, ef, tf
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = ef * 0.30
ptf = tf * 0.15
cf = ppar + pef + ptf
Imprimir cf
Fin
5) Un maestro desea saber que porcentaje de hombres y que porcentaje de
mujeres hay en un grupo de estudiantes.
Inicio
Leer nh, nm
ta = nh + nm
ph = nh * 100 / ta
pm = nm * 100 / ta
Imprimir ph, pm
Fin
6) Realizar un algoritmo que calcule la edad de una persona.
Inicio
Leer fnac, fact
edad = fact - fnac
Imprimir edad
Fin.
Ejemplos Condicionales Simples
1) Un hombre desea saber cuanto 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
cuanto dinero tendrá finalmente en su cuenta.
Inicio
Leer p_int, cap
int = cap * p_int
si int > 7000 entonces
capf = cap + int
fin-si
Imprimir capf
fin
2) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara
si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso
contrario.
Inicio
Leer calif1, calif2, calif3
prom = (calif1 + calif2 + calif3)/3
Si prom >= 70 entonces
Imprimir "alumno aprobado"
si no
Imprimir "alumno reprobado"
Fin-si
Fin

3) En un almacén se hace un 20% de descuento a los clientes cuya compra


supere los $1000 ¿ Cual será la cantidad que pagara una persona por su compra?
Inicio
Leer compra
Si compra > 1000 entonces
desc = compra * 0.20
si no
desc = 0
fin-si
tot_pag = compra - desc
imprimir tot_pag
fin.

4) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig.


manera:
Si trabaja 40 horas o menos se le paga $16 por hora
Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas
y $20 por cada hora extra.
Inicio
Leer ht
Si ht > 40 entonces
he = ht - 40
ss = he * 20 + 40 * 16
si no
ss = ht * 16
Fin-si
Imprimir ss
Fin
Sección de ejercicios
a) Secuénciales
1) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre
su salario anterior.
2) Calcular el valor de un Producto en el Sistema del “Bolívar fuerte” dado que
dicho producto esta etiquetado en Bolívares Normales

b) Condicionales simples
1) Realizar la operación de División entre 2 números (Sabiendo que el segundo
numero debe ser diferente de cero)
2) Indique cuando un numero es primo, sabiendo que el dicho numero se divide
entre 2 y si su residuo es cero se cataloga como numero primo de lo contrario no
es un numero primo.

También podría gustarte