Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 18

Diagramas de flujo, pseudocdigo y pruebas de escritorio.

Algoritmo: Un algoritmo es una lista de instrucciones bien definida, ordenada y finita mediante
las cuales se efectuar paso a paso un proceso para obtener un cierto resultado, un ejemplo de
ello son las recetas de cocina, manuales, etc.
Los programas de computadora tienen como finalidad resolver problemas especficos y el primer
paso consiste en definir con precisin el problema hasta lograr la mejor comprensin posible. Una
forma de realizar esta actividad se basa en formular claramente el problema, especificar los
resultados que se desean obtener, identificar la informacin disponible (datos), determinar las
restricciones y definir los procesos necesarios para convertir los datos disponibles (materia prima)
en la informacin requerida (resultados).
EJEMPLO
Disear un algoritmo (pseudocdigo y diagrama de flujo) para hallar el rea de un
tringulo rectngulo cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm.
R/ 6cm
2

ANLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El rea de un tringulo rectngulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de tringulo. La incgnita es el rea y
todos los valores son constantes. El valor de la hipotenusa se puede omitir.
Determinar las restricciones: Utilizar las medidas dadas.
Procesos necesarios: Guardar en dos variables (BASE y ALTURA) los valores de Base y
Altura; Guardar en una constante (DIV) el divisor 2; aplicar la frmula BASE*ALTURA/DIV y
guardar el
resultado en la variable AREA; comunicar el resultado (AREA).
ALGORITMO EN PSEUDOCDIGO
Paso 1: Inicio
Paso 2: Asignar el nmero 2 a la constante "div"
Paso 3: Asignar el nmero 3 a la constante base
Paso 4: Asignar el nmero 4 a la constante altura
Paso 5: Guardar en la variable "rea" el resultado de base*altura/div
Paso 6: Imprimir el valor de la variable "rea"
Paso 7: Final
Traducir el algoritmo (ejecutar el plan)
Una vez que el algoritmo est diseado y representado grficamente se pasa a la etapa de
traduccin a un lenguaje de programacin determinado (en nuestro caso ser C). Cada
lenguaje posee sus propias reglas gramaticales, por lo tanto es fundamental que los
estudiantes conozcan de antemano la sintaxis de los comandos que deben utilizar para
resolver el problema. A mayor dominio del lenguaje de programacin, mayor posibilidad
de llegar rpidamente a una solucin satisfactoria. A esta fase de traduccin se le conoce
comnmente como codificacin
. Depurar el programa (revisar)
Despus de traducir el algoritmo en un lenguaje de programacin como C, el programa resultante
debe ser probado y validados los resultados. A este proceso se le conoce como depuracin.
Quienes han escrito alguna vez un programa de computadora, saben de la dificultad que
representa elaborar programas perfectos en el primer intento, dificultad que aumenta a medida
que el problema a resolver es ms complejo. La depuracin, afinamiento y documentacin de un
programa hacen parte fundamental del ciclo de programacin.
Actividades relacionadas con esta etapa son la afinacin y la documentacin. La primera
consiste en realizar retoques para lograr una mejor apariencia del programa (en pantalla o
en los resultados impresos) o para ofrecer funcionalidades ms all de los resultados
esperados (especificados en la fase de anlisis del problema). La segunda tiene un carcter
eminentemente comunicativo, con la documentacin de un programa se pone a prueba la
capacidad del estudiante para informar a otras personas cmo funciona su programa y lo
que significa cada elemento utilizado.
Conceptos bsicos de programacin
Variables
Para poder utilizar algoritmos con diferentes conjuntos de datos iniciales, se debe
establecer una independencia clara entre los datos iniciales de un problema y la estructura
de su solucin. Esto se logra mediante la utilizacin de variables (cantidades que se suelen
denotar con letras (identificadores) y que pueden tomar cualquier valor de un intervalo de
valores posibles).
En programacin, las variables son espacios de trabajo (contenedores) reservados para
guardar datos (valores). El valor de una variable puede cambiar en algn paso del
algoritmo o permanecer invariable; por lo tanto, el valor que contiene una variable es el
del ltimo dato asignado a sta.
En C existen dos tipos de variables: locales y globales. Las primeras retienen su valor el
tiempo que dure la ejecucin del procedimiento en el cual se utilizan. Las variables locales
crean dentro de una funcin o subrutina y slo existen mientras se ejecuta la funcin.
Constantes
Las Constantes consisten en datos que, luego de ser asignados, no cambian en ninguna
instruccin del algoritmo. Pueden contener constantes matemticas (pi) o generadas para
guardar valores fijos (3.8, "Jorge", etc.).
Identificadores
Los identificadores son nombres que se dan a los elementos utilizados para resolver un problema
y poder diferenciar unos de otros. Al asignar nombres (identificadores) a variables, constantes y
procedimientos se deben tener en cuenta algunas reglas:
Los nombres pueden estar formados por una combinacin de letras y nmeros
(saldoMes, salario, fecha2, baseTringulo, etc.).
El primer carcter de un nombre debe ser una letra.
La mayora de los lenguajes de programacin diferencian las maysculas de las
minsculas.
Los nombres deben ser nemotcnicos, con solo leerlos se puede entender lo que
contienen. Deben ser muy descriptivos; no utilizar abreviaturas, a menos que se justifique
plenamente.
Es conveniente utilizar una sola palabra para nombrar pginas, controles, variables, etc.
No utilizar caracteres reservados (%, +, /, >, etc.).
Se debe tener en cuenta que algunos lenguajes de programacin no admiten las tildes.
No utilizar palabras reservadas por los lenguajes de programacin.
Para cumplir con convenciones ampliamente utilizadas, los nombres de procedimientos,
variables y constantes deben empezar con minscula. Ejemplo, fecha, suma, etc.
Si es un nombre compuesto por varias palabras, cada una de las palabras (con excepcin de la
primera) deben empezar con mayscula. Ejemplo: fechaInicial, baseTringulo, etc. (opcional).
Palabras reservadas (primitivas)
Todos los lenguajes de programacin definen unas palabras para nombrar sus comandos,
instrucciones y funciones. Un identificador definido por el usuario no puede tener el nombre de
una palabra reservada
Algunas palabras reservadas son:
for case if else int while
Subrutinas, procedimientos o funciones
Una sub-rutina tambin conocidas como procedimientos o funciones son partes de un
programa que se identifican por medio de un nombre y que realizan alguna actividad
especfica. Las subrutinas sirven para ahorrar cdigo pues una actividad como por ejemplo
sacar la raz cuadrada de un nmero puede utilizarse en diferentes partes de un programa
simplemente haciendo una llamada a una funcin en lugar de hacer todos los pasos
necesarios para lograr obtener el resultado.
Las funciones reciben datos, los procesan y devuelven un resultado. Este resultado puede
guardarse en una variable. Los datos que se le dan a una funcin para que trabaje con
ellos se llaman parmetros. Cuando una funcin no regresa un resultado en algunos
lenguajes se les llama procedimientos.
Diagramas de flujo (Flujogramas):
Diagrama de flujo: Un diagrama de flujo o flujograma es una forma de representar grficamente
los pasos para resolver un problema en especfico. Estos diagramas utilizan una serie de smbolos
con significados especiales y son la representacin grfica de los pasos de un proceso. En
computacin es un primer enfoque con lo que sera la programacin formal.




Aspectos a tomar en cuenta para crear un buen diagrama de flujo:
Existe siempre un camino que permite llegar a una solucin (finalizacin del algoritmo).
Existe un nico inicio del proceso.
Existe un nico punto de fin para el proceso de flujo (salvo del rombo que indica una
comparacin con dos caminos posibles).

Desarrollo del Diagrama de Flujo:
Acciones previas a la realizacin del diagrama de flujo:
Definir qu se espera obtener del diagrama de flujo.
Identificar quin lo emplear y cmo.
Establecer el nivel de detalle requerido.
Determinar los lmites del proceso a describir.

Pasos a seguir para construir el diagrama de flujo:
Establecer el alcance del proceso a describir. De esta manera quedar fijado el comienzo
y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el
final la entrada al proceso siguiente.
Identificar y listar las principales actividades/subprocesos que estn incluidos en el
proceso a describir y su orden cronolgico.
Si el nivel de detalle definido incluye actividades menores, listarlas tambin.
Identificar y listar los puntos de decisin.

Construir el diagrama respetando la secuencia cronolgica y asignando los
correspondientes smbolos.
Asignar un ttulo al diagrama y verificar que est completo y describa con exactitud el
proceso elegido.
Ventajas de Diagramas de flujo:
Favorecen la comprensin del proceso a travs de mostrarlo como un dibujo. El cerebro
humano reconoce fcilmente los dibujos. Un buen diagrama de flujo reemplaza varias
pginas de texto.
Permiten identificar los problemas y las oportunidades de mejora del proceso. Se
identifican los pasos redundantes, los flujos de los re-procesos, los conflictos de autoridad,
las responsabilidades, los cuellos de botella, y los puntos de decisin.
Tambin dentro del mbito laboral ms all de la ingeniera muestran la interaccin de
cliente-proveedor as como la informacin que en ellas se realizan, facilitando a los
empleados el anlisis de las mismas para futuros procesos o capacitaciones ms rpidas
dentro de un entorno general de trabajo.
Son una excelente herramienta para capacitar a los nuevos empleados y tambin a los
que desarrollan la tarea, cuando se realizan mejoras en el proceso.

El diagrama de flujo representa lo que es una secuencia de pasos a seguir por medio de smbolos y
seguidos en secuencia por medio de conectores en flechas llegando a una solucin para una
entrada; es una relacin finita dado que siempre llegara a un fin.

Pseudocdigo:
Pseudocdigo: Un pseudocdigo (falso lenguaje), es una serie de instrucciones a seguir pero
utilizando palabras lxicas y gramaticales referidos a los lenguajes de programacin, pero sin llegar
estar estrictamente correcta su sintaxis de programacin; ni tener la fluidez del lenguaje coloquial.
Permitiendo codificar un programa con mayor agilidad que en cualquier lenguaje de
programacin. Forma parte de las distintas herramientas de la ingeniera de software y es,
netamente, lenguaje de tipo informtico.
La estructura de un pseudocdigo puede ser de tres tipos:
- esta consiste en colocar cada instruccin una tras de la otra sin tener
ningn tipo de saltos
- esta lleva a cabo ciertas instrucciones cuando se cumple una cierta condicin
y si esta condicin no se cumple se salta a la siguiente instruccin.
Selectiva doble (anidamiento).- Esta realiza una instruccin u otra segn la respuesta de
la condicin planteada
Selectiva mltiple.- Esta realiza instrucciones para distintos comportamientos de las
condiciones, que sera como trabajar varias selectivas dobles.
Selectiva mltiple-casos.- Esta realizara para un cierto tipo de or declarado en un inicio y
dependiendo cual sea ser el tipo de comportamiento a realizar
- Este consiste en la posibilidad de realizar una misma instruccin ms de una
vez
Bucle mientras.- Realiza ciertas instrucciones mientras que la condicin se siga
cumpliendo
Bucle repetir.- Realiza ciertas instrucciones hasta que se deje de cumplir con la condicin
que a diferencia del mientras esta instruccin realiza al menos una vez las instrucciones
Bucle para.- Se utiliza para realizar instrucciones cierto nmero de veces pero definiendo
por un ndice que se incrementa en cada vuelta
Bucle para cada.- Realiza instrucciones para todo elemento que cumpla con la condicin.

Al igual que en el caso del diagrama de flujo existen ciertas reglas para que sea un buen
pseudocdigo:
1.-Tenga un nico punto de inicio
2.-Tenga un nmero finito de posibles puntos de trmino
3.-Haya un nmero finito de caminos, entre el punto de inicio y los posibles puntos de termino
Funciones y Procedimientos:
Al plantear y resolver algoritmos medio de la programacin, al estar trabajndolos saltan a
la vista dos conceptos que aunque son similares no son lo mismo, los cuales son las
funciones y los procedimientos.
Una funcin al igual que en matemticas recibe uno o ms posibles valores y entrega una
salida, y un procedimiento recibe una entrada pero no genera salida.
Un procedimiento son instrucciones con las cuales realizaras un proceso pero son como
una receta y no ocupas nada de smbolos matemticos.
Caractersticas de Pseudocdigos
an mucho menos espacio en el desarrollo del problema.

formal.
os alumnos de programacin, estos estn ms cerca
del paso siguiente (codificacin en un lenguaje determinado, que los que se inician en esto
con la modalidad Diagramas de Flujo).

Estructura a seguir en su realizacin Cabecera:
Programa:
Mdulos:

Tipos de datos:
Constantes:
Variables:

Cuerpo:
Inicio
Instrucciones
Fin
NOTA: Para comentar en pseudocdigo se le antepone al comentario dos asteriscos (**)

Ejemplos: * Programa que calcula el rea de un cuadrado a partir de un lado dado por
teclado. * Programa que visualice la tabla de multiplicar del nmero introducido por teclado

El pseudocdigo es otra forma de representar una solucin a un problema con la diferencia que se
hace ya un poco ms parecido a lo que sera ya un lenguaje de programacin pero ser estrictos en
la sintaxis, tiene distintas formas de estructurarse y sus distintas secuencias, iteraciones y
repeticiones son ya muy similares al menos en contexto a lo que serian ya dentro de un programa.

Sintaxis del
Pseudocdigo
Si
<condicin>
En caso de
<expresin>
Repita
Instrucciones
Si <condcion>
Entonces
Fin_Si

Si <condicin>
Entonces
Instrucciones
Si no

Instrucciones
Fin_Si

Entonces
Instrucciones
Si no
Si
<condicon>
Entonces
Instrucciones
Si no
Instrucciones
Fin_Si
Fin_Si
Haga
Caso <opcin 1>:
Instrucciones
Casi <opcin 2>:
Instrucciones
Si no
Instrucciones
Fin_caso

Mientras que
<condicin>
Instrucciones
Fin_Mientras
Laboratorio de
Multimedia e Internet,
Facultad de Ingeniera.
UNAM 2009-2010
Hasta <condicin>

Para <var> = <exp1>
hasta <exp2> paso
<exp3> haga
Instrucciones
Fin_para

Prueba de escritorio:
Prueba de escritorio: Una prueba de escritorio es la comprobacin lgica, de un
algoritmo de resolucin.
Para desarrollar la prueba de escritorio, se utilizara el siguiente procedimiento:
resolucin.
posee una lgica adecuada, en caso contrario el algoritmo tendr que ser corregido.

Tareas por asignar o Ejercicios
Inserte aqu las tareas o ejercicios a realizar por los estudiantes

Tarea 1
Realizar un pseudocdigo para los siguientes problemas tomar en cuenta todos los
posibles casos a ocurrir:
1.-Calcular el ao en que naci una persona a partir de su ao y mes de nacimiento
Tarea II

Realizar las respectivas pruebas de escritorio para cada uno de los ejercicios y en cada caso
completar lo que falte (a diagramas su pseudocdigo y
viceversa)

Ejemplos en clase
Calcular el rea de un rectngulo de lados con valor de 4 x 71
a=4 , b=71
int rea
1. Inicio
2. rea= a x b
3. Mostrar rea
4. Fin




Calcular el rea de un rectngulo de cualquier tamao
int rea, a, b
1. Inicio
2. rea= a x b
3. Mostrar rea
4. Fin






Clculo de grados centgrados a Fahrenheit o viceversa
Float resul, grados
Char opcin
1. Inicio
2. Mostrar Ingrese que desea calcular C o F
3. Leer opcin
4. Mostrar Dame los grados
5. Leer grados
6. Si ( opcin=C)

Entonces
resul = ((9 x grados) /5 )+32
Si no
resul = ((grados 32) x 5) / 9
Fin_Si
5. Mostrar resul
6. Fin

Obtener el valor del promedio de 3 calificaciones
Float a, b, c, sum, prom
1. Inicio
2. Mostrar dame las 3 calificaciones
3. Leer a, b, c
4. Sum = a + b + c
5. Prom = Sum / 3
6. Mostrar el
promedio es,
Prom
7. Fin














Obtener el resultado de la resta de un nmero menos un nmero ms grande que el otro
int num1, num2, resta
1. Inicio
2. Mostrar Dame los 2 nmeros
3. Leer num1 y num2
4. Si (num1<num2)

Entonces
resta = num1 - num2
Si no
Si (num1>num2)
entonces
resta =num2 num1
Si no
Si (num1=num2)
entonces
Mostrar 0
Si no
Mostrar error
Ir a paso 2
Fin_Si
Fin_Si
Fin_Si
Que el usuario de su gnero y su nombre, dependiendo de su gnero imprimir en pantalla
Bienvenido nombre, Bienvenida nombre, y si en dudo caso se pone otra opcin
imprimir en pantalla Hola indeciso.
Char sexo, nombre
5. Inicio
6. Leer sexo
7. Leer nombre
8. Si ( sexo = hombre)

Entonces
Mostrar Bienvenido, nombre
si no
Si (sexo == mujer)
Entonces
Mostrar Bienvenida, nombre
si no
Mostrar Hola indeciso
Fin_Si
Fin_Si
9. Fin














Problema del ajedrez y el trigo
Una persona le pidi al rey que le
pusiese en cada casilla de ajedrez
granos de arroz, con la lgica que en
cada casilla tuviese el doble de granos
que la anterior
Int : x, trigoT
1-Inicio
2-trigoT=0
3-Para x=0 hasta x=63 paso 1
haga
Calcula trigoT= (trigoT*2) + 1
Fin_Para
5- Imprime trigoT
4-Fin







Clculo de operaciones con solo 3 variables y obtener la suma, la resta, la divisin y la
multiplicacin
Int x, y , z
1. Inicio
2. Mostrar Dame 2 datos
3. Leer x, y
4. Calcular z= x + y
5. Mostrar z
6. Calcular z= x - y
7. Mostrar z
8. Calcular z= x * y
9. Mostrar z
10. Si y=0

Entonces
Mostrar Error
Si no
z= x / y
Mostrar z
Fin_Si
11. Fin





Pago de un empleado segn sus horas de trabajo
Int hr_lab, tar_sem, T, extra
1. Inicio
2. T=0
3. Mostrar Dame el valor de la tarifa semanal
4. Leer tarSem
5. Mostrar Dame el valor de horas laboradas
6. Leer hrLab
7. Si (hrLab>40)

Entonces
Calcular extra=hr_lab-40
Calcular T= extra*(1.5*tarSem)
Fin_Si
8. T=T+(tarSem*hrLab)
9. Mostrar T
10. Fin






Adivina el numero que est pensando la computadora
a=6, int num
1. Inicio
2. Repita

Mostrar Dame un numero
Leer num
Si a != num
Entonces
Si a>num
Entonces
Mostrar Mi nmero es mayor
Si no
Si a<num
entonces
Mostrar Mi nmero es menor
Si no
Mostrar lo que diste no es un numero
Fin_Si
Fin_Si
Fin_Si
Hasta (a!=num)
3. Mostrar Felicidades, ya ganaste
4. Fin



Un men que te permite decidir que torta quieres
Char OpTorta
1. Inicio
2. Mostrar Opcion a: Torta rusa

Opcion b: Torta Huatulco
Opcion c: Torta Mexicana
Opcion d: Torta Cubana
3. Leer OpTorta
4. En caso de (OpTorta) haga

Caso <a>:
Mostrar Sale una torta Rusa!! Son $20
Caso <b>:
Mostrar Sale una torta Huatulco!! Son
$25
Caso <c>:
Mostrar Sale una torta Mexicana!! Son
$28
Caso <d>:
Mostrar Sale una torta Cubana!! Son $30
Si no
Mostrar Esa opcin no la
tenemos
Fin_Caso
5. Fin

Una empresa necesita tener un
reloj de 24 horas, solo se quiere
que muestre, horas, minutos y
segundos
Hacer un reloj de 24 horas
int hr, min, seg
1. Inicio
2. Para hr=0 hasta hr=23 paso 1
haga

Para min=0 hasta min 59 paso 1
haga
Para seg00 hasta seg=59 paso 1
haga
Mostrar hr: min: seg
Fin_Para
Fin_Para
3. Fin

Obtener el factorial de un numero
1. Inicio
2. Mostar dame el numeo
3. Leer N
4. F=1
5. Si (N>1)
entonces
Calcular F=F*N
Calcular N=N-1
si no
Mostrar F
6. FIN












Int existen, sobran=60, compras= 0, boleto, aux=0
Algoritmo que requiere una cadena de cines para vender 60 entradas a una sala con pantalla
de 360
1. Inicio
2. Sobran=60, compras =0, aux=0
3. Mientras sobran> 0

Mientras compras <61 entonces
Muestra cuantos boletos quiere??
Leer boleto
existen= sobran
calcula sobran= 60- compras
si sobran> 0 entonces
compras = compras + boletos
sobran= sobran compras
si compras>60 entonces
aux= 60- compras
sobran=aux
fin_si/*cuando quieren comprar mas de los disponibles*/
fin_si
fin_mientras
fin_mientras
sobran= -sobran
4. Muestra lo sentimos se agotaron las entradas solo nos falto venderte sobran boletos
Fin

También podría gustarte