Sunteți pe pagina 1din 51

Representacion esquemática de un

Algoritmo.
 Los diagramas de flujo son una
manera de representar visualmente el
flujo de datos a través de sistemas de
tratamiento de información.
 Los diagramas de flujo describen que
operaciones y en que secuencia se
requieren para solucionar un problema
dado.
 Muestra los pasos a seguir para solucionar
un problema.
 La construcción correcta del mismo es
muy importante, ya que a partir éste se
escribe el programa en un lenguaje de
programación determinado.
❖El Diagrama de Flujo de Datos
representa la solución a un problema.

❖El Programa Representa la


implementación en un Lenguaje de
Programación
 Los Diagramas de flujo se dibujan
generalmente usando algunos
símbolos estándares; sin embargo,
algunos símbolos especiales pueden
también ser desarrollados cuando
sean requeridos.
La estandarización de los símbolos para la
elaboración de DFD tardó varios años. Con
el fin de evitar la utilización de símbolos
diferentes para representar procesos
iguales, la Organización Internacional para
la Estandarización (ISO) y el Instituto
Nacional Americano de Estandarización
(ANSI), estandarizaron los símbolos que
mayor aceptación tenían en 1985.
Inicio/Final Decisión
Se utiliza para indicar el Indica la comparación
inicio y el final de un de dos datos y
diagrama; del Inicio sólo dependiendo del
puede salir una línea de resultado lógico (falso
flujo y al Final sólo debe o verdadero) se toma
llegar una línea. la decisión de seguir
un camino del
diagrama u otro.
Entrada General Iteración
Indica que una
Entrada/Salida de datos instrucción o grupo de
en General (en esta guía, instrucciones deben
solo la usaremos para la ejecutarse varias veces.
Entrada).
Entrada por teclado Salida Impresa

Instrucción de entrada Indica la presentación


de datos por teclado. de uno o varios
Indica que el resultados en forma
computador debe impresa.
esperar a que el usuario
teclee un dato que se
guardará en una variable
o constante.
Llamada a subrutina Salida en Pantalla

Indica la llamada a una Instrucción de


subrutina o presentación de
procedimiento mensajes o resultados
determinado. en pantalla.
Acción/Proceso General Conector
Indica una acción o
instrucción general que Indica el enlace de
debe realizar el dos partes de un
computador (cambios diagrama dentro de la
de valores de variables, misma página.
asignaciones,
operaciones
aritméticas, etc).
Flujo Conector
Indica el seguimiento
lógico del diagrama. Indica el enlace de
También indica el dos partes de un
sentido de ejecución de diagrama en páginas
las operaciones. diferentes.
 Dentro de los símbolos fundamentales
para la creación de diagramas de flujo,
los símbolos gráficos son utilizados
específicamente para operaciones
aritméticas y relaciones condicionales.
➢ Óvalos para iniciar o finalizar el
algoritmo.
➢ Rombos para comparar datos y tomar
decisiones.
➢ Rectángulos para indicar una acción o
instrucción general.
1. Los DFD deben escribirse de arriba hacia abajo,
y/o de izquierda a derecha.

2. Los símbolos se unen con líneas, las cuales


tienen en la punta una flecha que indica la
dirección que fluye la información y/o procesos,
se deben de utilizar solamente líneas de flujo
horizontal o verticales (nunca diagonales).
3. Se debe evitar el cruce de líneas, para lo cual se

quisiera separar el flujo del diagrama a un sitio

distinto, se pudiera realizar utilizando los

conectores. Se debe tener en cuenta que solo

se van a utilizar conectores cuando sea

estrictamente necesario.
4. No deben quedar líneas de flujo sin

conectar.

5. Todo texto escrito dentro de un símbolo

debe ser legible, preciso, evitando el uso

de muchas palabras.
6. Todos los símbolos pueden tener más de

una línea de entrada, a excepción del

símbolo final.

7. Solo los símbolos de decisión pueden y

deben tener mas de una línea de flujo de

salida.
Enunciado: Construye un Algoritmo, representado en DFD,
que permita capturar la información básica de un aspirante a
ingresar a la Universidad del Magdalena, Los datos
solicitados son: Documento de Identidad, tipo de documento,
Nombre Completo y Nombre del Programa de su preferencia.

Datos: Doc_Identidad, (Variable de Tipo Entera), Tdocumento,


Nombre, Programa (Variable de Tipo cadena o texto).
Pasos:
1. Se leen los datos.
Diagrama de Inicio
Flujo de Datos
Resultante.
Doc_Identidad,
Tdocumento,
Nombre, Programa;

Fin
Inicio

NOTA: Todo programa


debe tener una entrada
Doc_Identidad,
y una salida. Tdocumento,
Nombre, Programa;

Doc_Identidad,
Tdocumento,
Nombre, Programa;

Fin
Diagrama de
Flujo de Datos
Resultante.

Diseño propio, realizado en PSeInt


Ejercicio 3. Realizar un algoritmo que
calcule el perímetro y el área de un
rectángulo dadas la base y la altura del
mismo.

Ejercicio 1. Elaborar un algoritmo que


muestre el producto de un par de valores.

Ejercicio 2. Elaborar un algoritmo que resuelva la suma para


un par de valores.

El instalador del programa lo pueden descargar en: http://pseint.sourceforge.net/


Ejercicio 1. Elaborar un algoritmo que muestre el producto de
un par de valores.

Diseño propio, realizado en PSeInt


Ejercicio 2. Elaborar un algoritmo que resuelva la suma para
un par de valores.

Diseño propio, realizado en PSeInt


Ejercicio 3. Realizar un algoritmo que calcule el perímetro y el
área de un rectángulo dadas la base y la altura del mismo.

Diseño propio, realizado en PSeInt


Enunciado: Construye un DFD que, al recibir los
datos Num1, Num2, Num3 y num4 que representan
números enteros, escriba los mismos en orden
inverso.
Datos: Num1, Num2, Num3 y Num4 (Variables de
Tipo Entera).
Pasos:
1. Se leen los datos.
2. Se escriben los datos en orden inverso
Diagrama de Inicio
Flujo de Datos
Resultante.
Num1, Num2,
Num3, Num4;

Num4, Num3, Num2,


Num1;

Fin
Construye un DFD que, al recibir como datos la clave del empleado y los seis
primeros sueldos del año, calcule el ingreso total semestral y el promedio
mensual, e imprima la clave del empleado, el ingreso total y el promedio
mensual.

Datos: Clave, Su1, Su2, Su3, Su4, Su5 y Su6.

Donde:
✓ Clave es una variable de tipo entero que representa la clave del empleado.
✓ Su1, Su2, Su3, Su4, Su5 y Su6 son variables de tipo real que representan los
seis sueldos percibidos.

Pasos:
1. Lectura de la clave y de los seis sueldos.
2. Cálculo del ingreso total y del promedio.
3. Imprimir clave del empleado, el ingreso total y el promedio mensual.
INICIO

“Ingrese su Clave y los seis


sueldos recibidos”;

Diagrama de
Flujo de Datos CLA, SU1, SU2, SU3,
Resultante. SU4, SU5, SU6;

ING = (SU1 + SU2 + SU3 + SU4 + SU5 + SU6);


PRO = ING /6;

“Su Clave es: “, CLA, “ El ingreso por


concepto de salario es: “, ING, “ y el
promedio de los sueldos recibidos es:” PRO

FIN
Diseño propio, realizado en PSeInt
Enunciado: Construye un DFD que, al recibir
como datos el radio de una circunferencia,
calcule su perímetro.
Datos: radio.

Donde: radio es una variables de tipo real que representa el


radio de una circunferencia.

Pasos:
1. Lectura de Datos.
2. Calculo de el perímetro.
3. Escritura de Datos.

Recordemos que el perímetro de una circunferencia es: dos por


PI por radio (2 * Pi * radio).
Inicio

“Introduzca el
Diagrama de Radio: ”;
Flujo de Datos
Resultante.
radio;

perimetro = 2 * pi * radio;

“El Perímetro es: ”,


perimetro;

Fin
Enunciado: Construye un DFD que, al recibir como datos la base y
altura de un triángulo, calcule su Área.

Datos: BAS, ALT.

Donde: BAS y ALT son variables de tipo real que representan la


base y la altura de un triangulo, respectivamente.

Pasos:
1. Lectura de Datos.
2. Calculo del Área.
3. Escritura de Datos.

Recordemos que el Área de un triangulo es: Base por Altura sobre


dos (BAS*ALT)/2.
Inicio

Diagrama de
Flujo de Datos
BAS, ALT;
Resultante.

Area = BAS * ALT / 2;

Area;

Fin
 Enunciado 1: Construye un DFD que,
escriba el valor anterior y posterior de un
número entero dado.
 Enunciado 2: Construye un DFD que
permita determinar cual es el valor
menor y el mayor de 3 valores
ingresados.
Es todo programa que puede escribirse utilizando:

✓ Estructura Secuencia

✓ Estructura de selección (if y/o switch)

✓ Estructura Ciclo Predefinido (for, while y/ Do)

✓ Subrutinas (subprogramas y/o funciones)


Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACION

Es cierta disposición u organización de ordenes y cada una de estas


organizaciones tienen un único punto de entrada y un único punto de
salida.

1. Estructura Secuencia
Grupo de estructuras cuya realización debe ejecutarse consecutivamente.
La secuencia mas simple es una instrucción

http://mural.uv.es/matesado/estructcont.html
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

Ejemplos de Estructura Secuencia


Ejercicio 2. Elaborar un algoritmo que resuelva la
suma para un par de valores.

http://www.desarrolloweb.com/articulos/2199.php
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

Estas estructuras se usan para la toma


de decisiones lógicas.

Son usadas para elegir entre diferentes


alternativas de acción.

http://www.andresvegas.es/2010/08/cajon-desastre/decisiones-decisiones-
principios-para-decidir-con-eficacia
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

Ejemplo de Estructura Decisión Lógica

Única Entrada
No Si
I > 100
Decisión Lógica
A←7 C←I

B←3*A

Única Salida
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

Alternativa simple

Alternativas en los
problemas de Alternativa doble
decisión lógica

Alternativa
múltiple
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

ESTRUCTURAS DE DECISIÓN LÓGICA

Ejemplos:
Las boletas de entrada a un circo cuestan $10.000 por persona; sin
embargo, si la edad de la persona es menor a 10 años se le da un
descuento del 25% en el valor de la boleta. Realizar un Algoritmo
utilizando seudocódigo que despliegue el precio de la boleta según la edad.

Elaborar un algoritmo utilizando pseudocódigo para calcular el


salario mensual de un empleado sabiendo que el máximo de horas
que puede trabajar es de 160. Las horas extras se calculan a 1.5
veces la hora normal de trabajo. El cálculo del salario es el valor de
la hora por el número de horas trabajadas. (Tarea)
Ejemplo: Las boletas de entrada a un circo cuestan $10.000 por persona; sin
embargo, si la edad de la persona es menor a 10 años se le da un descuento
del 25% en el valor de la boleta. Realizar un Algoritmo utilizando seudocódigo
que despliegue el precio de la boleta según la edad.

Diseño propio, realizado en PSeInt


Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

ESTRUCTURAS DE DECISIÓN LÓGICA

Ejemplo 1. Si un ángulo es igual a 90°, imprimir el mensaje “El ángulo es recto” sino imprimir el
mensaje “El ángulo no es recto”.
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

ESTRUCTURAS DE DECISIÓN LÓGICA

Ejemplos:

Ejemplo 1. Elaborar un D.F.D. (o algoritmo en pseudocódigo) que


ingrese dos valores numéricos diferentes y muestre el mayor.

Ejemplo 2. Elaborar un D.F.D. (o algoritmo en pseudocódigo) que


ingrese dos valores numéricos diferentes y muestre el mayor y el
menor.

Ejemplo 3. Hacer un D.F.D. (o algoritmo en pseudocódigo) que


diga si una persona es hombre o mujer.

Ejemplo 4. Hacer un D.F.D. (o algoritmo en pseudocódigo) que


informe si una persona es mayor de edad o no es mayor de edad
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

ESTRUCTURAS DE DECISIÓN LÓGICA

Ejemplos:

Ejemplo 5. Ingresar el nombre de un empleado y el número de horas


trabajadas, luego Calcular el pagobruto ($5000 la hora), descuento del
pago de servicio de salud y total a pagar, mostrar éstos valores.

Nota: el pago del servicio de salud es 84 si el sueldo es mayor 2400 sino


es el 3.5% del sueldo del empleado
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

ESTRUCTURAS DE DECISIÓN LÓGICA

Las condiciones pueden tomar mas de dos valores (rango) de modo que para la
implementación de una condición se hace necesario anidar estructuras de decisión
lógica.
Inicio
1. Desarrollar un programa que permita
leer un número entero positivo y
determinar si es par. Num;

f v
num<=0

num/%2==0 “El número


f v debe ser
num%2==0 positivo”;

“El número
“El número
leído no es
leído es par”;
par”;

Fin
SEGUNDO PROBLEMA
 Leer un número entero y determinar si es de uno,
dos, tres o cuatro dígitos. Validar que el número no
sea negativo, si lo es convertirlo a positivo.

1. Clarificación del objetivo


2. Algoritmo
3. Prueba de Escritorio
4. Codificación
 RECORDEMOS: El computador no fue a la escuela
y por eso el solo obedece órdenes claras y
“ejecutables sin razonamientos”

¿Cómo determinamos y
demostramos cuántas cifras
tiene un número entero?
¿Cómo convertimos un entero
negativo en positivo?
inicio

Por favor, digite


el número
entero;

Num;

num<0
v num=num*(-1);

f
El número
num < = 9
v tiene 1
dígito;

f
El número
num > = 10
y num < = v tiene 2
99 dígitos;

f
1
A
A

num > = 100 y


v El número
tiene 3
num < = 999
dígitos

num > = 1000 y


v El número
tiene 4
num < = 9999
dígitos

f
1

fin
Asignatura: PROGRAMACIÓN I Tema: ESTRUCTURAS DE PROGRAMACIÓN

ESTRUCTURAS DE DECISIÓN LÓGICA

Alternativa Múltiple

Analizar y diseñar un algoritmo (D.F.D. o pseudocódigo) que lea de un


estudiante las 3 notas de Algoritmos y Programación y las 3 notas de
Cálculo I, hallar la nota final de cada asignatura e imprima cuántas y
cuales asignaturas aprobó. Cada asignatura se aprueban con 350
puntos.

S-ar putea să vă placă și