Sunteți pe pagina 1din 42

MANUAL

METODOLOGIA DE LA

PROGRAMACION

CCT15PBT176
8W

CCT15PBT176
8W

ESTUDIOS CON VALIDEZ OFICIAL

Metodologa de la programacin (diagramacin).


Primera semana
1.1 conceptos generales
1.1.1 programa
1.1.2 proceso
1.1.3 diagrama
1.2. Problemas y algoritmos
1.2.1. Definicin de los algoritmos
1.2.2. Etapas de la solucin de un problema
1.2.3. Caractersticas de los algoritmos
1.3. Diagrama de flujo
1.3.1. Definicin y utilidad
1.3.2. Simbologa de los diagramas de flujo
1.3.3. Reglas para la creacin de los diagramas de flujo.
1.4. Definicin y utilidad
1.4.1. Constantes
1.4.2. Definicin y utilidad
1.4.3. Variables
1.5. Operadores aritmticas y expresiones lgicas
1.5.1. Tabla de operadores aritmticas
1.5.2. Operadores relacionales
1.5.3. Operadores lgicos
Segunda semana
2.1. Manejo de los diagramas de flujo
2.1.1 smbolos y utilidad
2.2. Diagrama lineal
2.2.1 Utilidad
2.2.2. Ejercicios de diagramas lineales
2.2.3. Prueba de escritorio
2.3. Estructuras selectivas
2.3.1. Estructura si entonces
2.3.2 simbologa de flujo (decisin)
2.3.3. Utilidad y procedimiento lgico
2.3.4. Ejemplo y ejercicios
2.3.4. Prueba de escritorio
2.4. Estructura si entonces si no
2.4.1 simbologa de flujo (decisin)
2.4.2. Utilidad y procedimiento lgico
2.4.4. Ejemplos y ejercicios
2.4.5 prueba de escritorio
2.5. Diagramas selectivas mltiples
2.5.1 simbologa de flujo (decisin)
2.5.2. Utilidad y procedimiento lgico

2.5.3. Ejemplos y ejercicios.


2.5.4. Prueba de escritorio

Tercera semana
3.1 estructuras repetitivas
3.1.1 contadores
3.1.2 acumuladores
3.1.3 bifurcaciones
3.2 diagrama desde (for o dofor)
3.2.1 utilidad y procedimiento
3.2.2 simbologa de flujo (decisin)
3.2.3 ejemplos y ejercicios
3.2.4 prueba de escritorio
3.3. Diagramas mientras (while o dowhile)
3.3.1 utilidad y procedimiento
3.3.2 simbologa de flujo (decisin)
3.3.3 ejemplos y ejercicios
3.3.4 prueba de escritorio
3.4. Diagramas repetir (repeat o dountil)
3.4.1 utilidad y procedimiento
3.4.2 simbologa de flujo (decisin)
3.4.3 ejemplos y ejercicios
3.4.4 prueba de escritorio

Cuarta semana
nota: pendiente no quedamos en acuerdo del programa que vamos a
utilizar para crear los diagramas.
Quinta semana
5.1 estructuras de datos
5.1.1 seudocdigos
5.2 programacin modular
5.2.1 introduccin
5.3 programacin estructurada
5.3.1 introduccin
5.4 mtodos de programacin estructurada

5.4.1 mtodo Jackson


5.4.2 mtodo Bertini
5.4.3. Mtodo Warnier

Nota: en esta fase puede implementar ejercicios de diagramas


para los alumnos.

INTRODUCCION A LA DIAGRAMACION.
La iniciacin a la programacin suele ser casi siempre
problemtica: unas veces por la carencia de conocimientos
informticos del alumno y otras por la escasez de tiempo lectivo
que obliga a iniciarse en el lenguaje de programacin elegido a
la mayor brevedad posible. Por suerte, la mayora; si no en
todos los centros escolares a nivel de enseanza media,
formacin profesional y naturalmente universitaria han
introducido o estn introduciendo en sus planes de estudios,
asignaturas de metodologa o introduccin a la programacin cuya
profundidad evidentemente estar en consonancia con el nivel del
alumno.
Esta obra est dirigida a todos aquellos que por alguna razn
necesitan solucionar problemas de tipo algortmico, aplicando
razonamiento basado en la lgica. Fundamentalmente para que los
alumnos apliquen un razonamiento sistemtico, basado en la
lgica, para resolver problemas de tipo algortmico,
independientemente de un lenguaje de programacin.
CONCEPTOS GENERALES
Programa: se le denomina a un conjunto o serie de instrucciones
escritas en forma lgica para llevar a cabo una tarea especfica
a travs un lenguaje de programacin.
Proceso: es una accin que se puede descomponer en otras ms
simples o tambin conjunto de fenmenos organizados en el tiempo
y concebidos como activo. Se le considera un proceso como un
conjunto de acciones elementales que forma un acontecimiento.
Ejemplo tpico de proceso: un cocinero elabora un plato de
cocina (por ejemplo, un estofado de carne para 6 personas)
Las acciones a seguir son: calentar el aceite, frer la carne,
poner condimentos. Etc.

Diagrama: son aquellos que tratan que tratan de representar


grficamente un problema y los pasos a seguir para su posible
solucin desde el punto de vista lgico.
ALGORITMO
Casi inconscientemente, cotidianamente los humanos efectuamos
una serie de pasos, procedimientos o acciones que nos permiten
alcanzar un resultado o resolver un problema. Esta serie de
pasos procedimientos o acciones, comenzamos a aplicarlas muy
temprano en la maana cuando, por ejemplo, decidimos tomar un
bao. Posteriormente cuando pensamos en desayunar tambin
seguimos una serie de casos que nos permiten alcanzar un
resultado especfico. Enseguida presentaremos 2 definiciones de
algoritmo:
- Conjunto de pasos, procedimientos o acciones que nos
permiten alcanzar un resultado o resolver un problema.
- Conjunto de reglas para resolver una cierta de clases de
problema o una forma de escribir a solucin de un problema.
- Muchas veces aplicamos el algoritmo de manera inadvertida
inconsciente o automticamente. Esto generalmente se produce
cuando el problema que tenemos enfrente lo hacemos resuelto
con anterioridad un gran nmero de veces.
Supongamos que simplemente tenemos que abrir la puerta. Lo hemos
hecho tantas veces que difcilmente nos ponemos a enumerar Los
pasos para alcanzar ese objetivo. Lo hacemos de manera
automtica.
Un algoritmo es el medio por el que se explica cmo puede
resolverse un problema mediante aproximaciones paso a paso. Se
puede formular de muchas formas, siempre y cuando se realice de
no ambiguo.
Para describir algoritmos de computadoras se ha diseado
lenguajes de programacin. Cada una de las que consta un
algoritmo se llamara sentencia y estas deben estar escritas en
trminos de cierto lenguaje comprensible para l ejecutor
(maquina), que es el lenguaje de programacin.
El conjunto formado por la presentacin de datos utilizada el
algoritmo en s, se conoce usualmente con el nombre de programa.
En esencia, un programa es la descripcin del proceso en un

cierto lenguaje, o dicho de otra manera la secuencia de acciones


entendibles por la computadora conduce a realizar una tarea
determinada y el correcto tratamiento de unos datos.
En el siguiente esquema podemos observar las etapas que debemos
seguir para la solucin de un problema.

PROBLEMA

ANALISIS
PROFUNDO
DEL
PROBLEMA
ETAPA
1

CONSTRUCCIO
N DEL
AGORITMO

ETAPA 2

VERIFICACIO
DEL
ALGORITMO
ETAPA

Las caractersticas fundamentales de un algoritmo proceso


algortmico son:
1.Un algoritmo debe ser preciso e indicar el orden de
realizacin de cada paso.
2.Un algoritmo debe estar definido. Si se sigue un algoritmo
dos veces, se debe obtener el mimo resultado cada vez.
3.Un algoritmo debe ser finito. Si se sigue un algoritmo, se
debe terminar en algn momento.
La definicin de un algoritmo debera describir tres partes:
entrada, proceso y salida.

ALGORITMO

DATOS DE
ENTRADA

MODULO
1

PROCESAMIENT
O DE LOS
DATOS
MODULO
2

IMPRESION DE
RESULTADOS

MODULO
3

-El mdulo 1 representa la operacin o accin que


permite el ingreso de los datos del problema.
-El mdulo 2 representa la operacin o conjunto de
operaciones secuenciales, cuyo objetivo es obtener la
solucin del problema.
-El mdulo 3 representa una operacin o conjunto de
operaciones que permiten comunicar al exterior el o los
resultados alcanzados.

Las caractersticas fundamentales de un algoritmo o proceso


algortmico son:
1.Un algoritmo debe ser preciso e indicar el orden de
realizacin de cada paso.
2.Un algoritmo debe estar definido. . si se sigue un algoritmo
dos veces, se debe obtener el mismo resultado cada vez.
3.Un algoritmo debe ser finito. Si se sigue un algoritmo, se
debe terminar en algn momento.

algoritmo

datos
de
Mdulo 1
entrada

procesamie
Mdulo 2
nto
de los datos

impresion
Mdulo 3
de
resultados

El mdulo 1 representa la operacin o accin que permite el ingreso de los


datos del programa.
El mdulo 2 representa las operaciones secuenciales, cuyo objetivo es
obtener la solucin al programa.
El mdulo 3 representa una operacin o conjunto de las mismas, que
permiten comunicar al exterior o los resultados alcanzados.

CONCEPTOS FUNDAMENTALES A LOS ALGORITMOS


Datos, Tipos de datos
Los datos a procesar por una computadora pueden clasificarse en:
Simples
Estructurados
La principal caracterstica de los datos simples es que ocupa
solo una casilla de memoria, por lo tanto, una variable simple
hace referencia a jun nico valor a la vez. Dentro de este
grupo de datos se encuentran: enteros, reales, caracteres,
booleanos, enumerados y subrangos (los dos ltimos no existen en
algunos lenguajes de programacin).
Los datos estructurados se caracterizan por el hecho de que con
un nombre (identificador de variable estructurada) se hace
referencia a un grupo de casillas de memoria. Es decir, un dato
estructurado tiene varios componentes. Cada una de los
componentes puede ser a su vez un simple o estructurado. Sin
embargo, los componentes bsicos (los de nivel ms bajo) de
cualquier tipo estructurado son datos simples. Dentro de este
grupo de datos se encuentran: arreglos, cadenas de caracteres,
registros y conjuntos.
Identificador
Dato simple

Identificador
Dato estructurado

Datos numricos: Dentro de los datos numricos encontramos los


enteros y los reales.

Los enteros son nmeros que pueden estar precedidos del signo +
o -, y que no tienen parte decimal. Por ejemplo: -120
1528
-714 7856.
Los reales son nmeros que pueden estar precedidos del signo
o -, y que tienen una parte decimal. Por ejemplo: 7.5 128.0
-37.865 -1.5.

Datos Alfanumricos: dentro de este tipo de datos encontramos


los e tipo carcter (simple) y cadena de caracteres
(estructurado). Son datos cuyo contenido puede ser letras del
abecedario (a, b, c,, etc.), dgitos (0, 1, 2,,9) o smbolos
especiales (#, $, &, ^, *, %, /,, etc.), y que van encerrados
entre comillas o dobles comillas dependiendo del lenguaje de
programacin. Debemos remarcar que aunque este tipo de datos
pueden contener nmeros, no pueden ser utilizados para realizar
operaciones aritmticas.
Un dato de tipo carcter contiene un solo carcter. Por ejemplo:
`a

`B

`$

`9

`-

`#

Un dato tipo cadena de caracteres contiene un conjunto de


caracteres. La longitud de una cadena depende de los lenguajes
de programacin, aunque normalmente se acepta una longitud
mxima de 255. `abcde
`$9#7 `Carlos Gmez
`Rosario
`754-27-22
Datos lgicos: dentro de este tipo de datos encontramos los
booleanos. Son datos que solo pueden tomar dos valores:
verdadero (true) o falso (false).
Identificadores:
Los datos procesar por una computadora, ya sean simples o
estructurados, deben almacenarse en casillas o celdas de memoria
para su posterior utilizacin. Estas casillas o celdas de
memoria para su posterior utilizacin. Estas casillas o celdas
de memorias (constantes o variables) tienen un nombre que
permite su identificacin. Llamaremos identificador al nombre
que se le da a las casillas e memoria. Un identificador de forma
de acuerdo a ciertas reglas (las mismas pueden tener alguna
variante dependiendo del lenguaje de programacin utilizando):
El primer carcter que forma un identificador debe ser una
letra (a, b, c,,z).

Los dems caracteres pueden ser letras (a, b, c,,z ),


dgitos (0, 1, 2,,9) o el siguiente smbolo especial:_.
La longitud del identificador es iguala 7 en la mayora de
los lenguajes de programacin, aunque puede variar.
Constantes:
Las constantes son datos que no cambian durante la ejecucin de
un programa. Para nombrar las constantes utilizamos los
identificadores que mencionamos anteriormente. Existen tipos de
constantes como tipos de datos, por lo tanto puede haber
constantes enteras, reales, carcter, cadena de caracteres,
booleanas, etc.
MEMORIA

IDENTIFCADOR

NUM
DATO 5

Memo

N.REAL
COSTO
7.25

8.69

Observe que en la figura anterior las constantes se encuentran


representadas en la memoria estas constantes no cambiaran su
valor durante ejecucin de un programa. Es muy importante que
los nombres de las constantes sean representativas de la funcin
que tiene las mismas en el programa.
Variables:
Las variables son objetos que pueden cambiar su valor durante
la ejecucin de un programa. Para nombrar las variables
utilizaremos los identificadores que hemos aplicado con
anterioridad. Al igual que las constantes, pueden existir tipos
de variables como tipos de datos.
MEMORIA

IDENTIFICADOR

X
SUMA 0

TOTAL
0
COSTO

Observe que en la figura anterior las variables se encuentran


representadas en la memoria, las variables numricas tendrn un
valor inicial de 0 (enteras o reales) siempre y cuando no se
determinen de otra forma, estas variables cambiaran su valor
durante la ejecucin del programa.
DESARROLLO DE LOS DIAGRAMAS DE FLUJO.
DIAGRAMAS DE FLUJO.
La realizacin de trabajos mediante computadora, como cualquier
otra actividad (ingeniera, arquitectura, etc.) requiere de
mtodo que explique de un modo ordenado y secuencial hasta los
ltimos detalles a realizar por la mquina.
El conjunto de todas las fases necesarias para el complemento
desarrollo de una aplicacin informtica recibe el nombre de
anlisis y analista s ele denomina as a la persona encargada de
realizarla.
El anlisis de sistemas se encarga del funcionamiento de un
sistema
Informtico, incluyendo en l, todos los medios informticos
materiales
(hardware/software)

humanos, as como de la organizacin que


controla
Su funcionamiento.

El analista de sistemas es la persona encargada de controlar


todo el sistema
Informtico y estudiar la necesidad de nuevos medios humanos o
informticos,
Cuidando el buen funcionamiento de los existentes.
As pues, centraremos nuestra atencin en la metodologa de la
programacin que a grandes rasgos se compone de las siguientes
etapas.

(a)
Toma de datos: el analista o programador deber recibir
una descripcin clara y detallada de la aplicacin que debe
desarrollar y en caso de no percibir suficiente informacin,
debe solicitarla en la medida necesaria para el desarrollo
de su trabajo.
(b)
Modularizacion: Esta fase consiste en la descomposicin
sucesiva del problema en mdulos o subproblemas cada vez ms
concretos y detallados.
Estos mdulos normalmente se programaran y desarrollaran
independientemente y luego se enlazaran.
(c)
Representacin grfica de las operaciones a realizar:
En esta etapa se realizara una representacin grfica clara
y detallada que refleje la secuencia en que deben ser
ejecutadas las diferentes operaciones por la mquina. Estas
representaciones graficas son las herramientas utilizadas
para el anlisis de la programacin. Se clasifican en tres
grandes bloques: diagramas de flujo u organigramas,
Pseudocdigos y tablas de decisin.
(d)
Codificacin en un lenguaje de programacin: Una vez
que el diagrama de flujo o el algoritmo de resolucin del
problema est ya definido se pasa a la fase de codificacin
del programa en el lenguaje elegido y la obtencin del
programa de fuente.
(e)
Preparacin de un conjunto de datos: Es necesario un
conjunto de datos que permitan probar el programa cuando se
ejecute.
(f)
Ejecucin y correccin de errores del programa: Segn
sea el tipo de lenguaje elegido as realizaran las
diferentes fases de la traduccin del programa a lenguaje o
cdigo ,maquina (programa objeto)
(g)
Puesta a punto final del programa: El programa se
considera terminado cuando se la han realizado a pruebas, y
ensayada a su fiabilidad con los conjuntos de datos
seleccionados y otros nuevos que se quieran elegir y no se
encuentra errores de ningn tipo.
(h)
documentacin de programa: La documentacin de un
programa es todo el material escrito que se ha ido
produciendo simultneamente a la elaboracin del programa.
La apuesta a punto final del programa debe ir siempre igual
con la documentacin del mismo.

Un diagrama de flujo representa la esquematizacin grafica de un


algoritmo en realidad muestra grafica mente los pasos o procesos
a seguir para alcanzar importante porque, a partir del mimo se
escribe el programa en algn lenguaje de programacin. Si el
diagrama de flujo est completo o correcto el paso del mismo a
un lenguaje de programacin es relativamente simple y directo.
Smbolos utilizados en los diagramas de flujo:
Los diagramas que realizan durante el desarrollo de una
aplicacin informtica deben ser claros, concisos, esquemticos
y especialmente independientes del lenguaje de programacin que
se vaya a utilizar. As mismo debe de ser comprensibles para
cualquier analista o programador que los examine procurando no
presente excesiva complejidad.
El instituto
de normalizacin americano
(ANSI) (American
National) (stndard institute) ha diseado un conjunto de
smbolos y signos estndar que prcticamente ha sido adoptado
internacionalmente.
Los ordinogramas o diagramas de flujo de detalle y de
microprocesador deben mostrar las operaciones que realizan un
programa
con
el
detalle
necesario
para
que
una
vez
confeccionados se puede realizar la etapa siguiente de la
programacin (codificada).
TERMINAL: Representa el comienzo inicio y el fin
de un
diagrama de flujo. Puede representar
tambin una parada o interrupcin programada que
sea necesario realizar en un programa.
ENTRADAS/SALIDA: Cualquier tipo de operacin de
introduccin de datos en la Memoria desde los
perifricos entrada o registro de la informacin
procesada en un perifrico salida.
PROCESO: cualquier tipo de operacin definida que
pueda
originar cambio de valor formato
o
posicin de la informacin almacenada en memoria
operaciones aritmticas de transferencia de datos.
DECISION: Smbolo utilizado para representar una
decisin en su interior se almacena una condicin y

dependiendo del resultado de la evaluacin de la


misma se sigue por una de las ramas o caminos
alternativos.
DECISIN MULTIPLE: En su interior se almacena un
lector
Dependiendo
del
valor
de
dicho
selector
y
dependiendo se sigue por una de las ramas o caminos
alternativos.
INPRESORA: Smbolo utilizado para representar
impresin de un resultado expresa escritura
ocasiones se utilizan en lugar de smbolo E/S.

la
en

CINECTOR: Sirve para enlazar dos partes cualesquiera


de un ordinograma a travs de un conector en salida
y otro conector en la entrada. Se refiere a la
conexin en la misma pgina del diagrama
LINEA DE FLUJO: Indica el sentido de ejecucin de
las operaciones.

LINEA CONECTORA: Sirve de unin entre dos smbolos.


CONECTOR DE PAGINA: Conexiones entre dos puntos del
organigrama situado en pginas diferentes.
LAMADA A SUBRUTINA: Una a subrutina es un mdulo
independiente del programa principal que recibe una
entrada procedente de dicho programa realiza una
tarea determinada y regresa al terminar el programa
principal.

PANTALLA: Se utiliza en ocasiones


smbolo de entrada y salida.

en

lugar

de

TECLADO: Se utiliza en ocasiones en lugar de smbolo


entrada / salida.

COMENTARIOS: Se utiliza para aadir comentarios


clasificadores a otros smbolos del diagrama del
flujo se puede dibujar a cualquier lado del smbolo
REGLAS PARA LA CREACION DE DIAGRAMAS
Debemos recordar que un diagrama de flujo debe ilustrar
grficamente los pasos o procesadores a seguir para alcanzar la
solucin de un problema. Los smbolos presentados colocados
adecuadamente permiten crear una escritura grafica reflexible
que ilustra los pasos a seguir para alcanzar un resultado
especifico.
Inicio

Fin

2- las lneas utilizadas para indicar la direccin del flujo del


diagrama deben ser rectas, verticales y horizontales.

No debe ser inclinada

Tampoco debemos cruzarlas

3- Todas las lneas utilizadas para indicar la direccin del


flujo del diagrama deben estar conectadas. La conexin puede ser
a un smbolo que exprese lectura, proceso, impresin, conexin o
fin del diagrama.
4- El diagrama de flujo debe ser construido de arriba hacia
abajo y de izquierda a derecha.
5- la notacin en el diagrama de flujo debe ser independiente
del lenguaje de programacin.
6- Es conveniente cuando realizamos una tarea compleja poner
comentarios que expresen o ayuden a entender lo que hicimos.
7- si el diagrama de flujo requiriera ms de una hoja para su
construccin debemos utilizar los conectores adecuados y
enumerar las pginas convenientemente.
8- No puede llevar ms de una lnea a un smbolo.

No valido

PSEUDOCODIGO

Valido

Otra herramienta muy til en el anlisis de la programacin en


el pseudocdigo. Parado o seudo significa <<falso>>,
<<imitacin>>y cdigo se refiere a las instrucciones escritas en
un lenguaje de propagacin, pseudocdigo no es realmente un
cdigo
DIAGRAMAS LINEALES
Son a aquellos en los que no existen instrucciones de
bifurcacin o condiciones, por consiguiente las instrucciones se
ejecutan en la misma secuencia en que han sido codificadas.
Estos diagramas se denominan tambin secuenciales, dado a que
siguen exactamente la misma secuencia especfica.
Es normal que estos diagramas consten de las siguientes fases.
* Lectura de datos
* Proceso de datos
* Salida o impresin de datos
Esquema grafico del diagrama lineal.

Ejercicios.
Construye un diagrama de flujo que permita reflejar la manera de cmo obtener el rea de un
tringulo, debe mostrar en pantalla el rea de triangulo.
INICIO

BASE, ALTURA,
AREA, Y

Y=BASE * ALTURA

AREA=Y/2

AREA

FIN

Se integra como dato el nmero de credencial, el nombre del alumno y 5 calificaciones obtenidas en el
semestre. Construye un diagrama de flujo que muestre la forma de cmo obtener el promedio general,
imprimir dicho promedio, el nmero de credencial y el nombre del alumno.

INICIO

Calcal1, cal2, cal3,


cal4. Cal5
Promedio, nombre,
crede

Suma=
cal1+cal2+cal3+cal4+cal
5

Promedio= suma/5

Promedio, nombre y
crede

Fin

Construye un diagrama de flujo que muestre la forma de cmo calcular el permetro y la superficie de un
rectngulo, debe mostrar en la pantalla el rea y el permetro de la figura.

Inicio

Base, altura, rea,


permetro, y

rea= base x altura

y=base + altura

Permetro= y x 2

rea y permetro

Inicio

Construye un diagrama de flujo que muestre la forma de cmo obtener el sueldo base de x trabajador, tomando en
cuenta el sueldo diario y los das trabajados. Debe mostrar en pantalla el sueldo base.

Inicio

Sdiario, dtraba, base

Base= sdiario x
dtraba

Base

Fin

En un Super mercado se obtiene el pago neto de 5 ventas realizadas, a la suma de estas 5 ventas se le agrega el 5%
de descuento que se aplica al total de las ventas. Debe mostrar en pantalla el subtotal y el total de las ventas. Debe
construir un diagrama de flujo que muestre la forma de cmo solucionar el problema.

incio

V1, v2, v3, v4, v5, sub,


des, total

Sub=v1+v2+v3+v4+
v5

Des=sub x 0.05

Total= sub - des

Sub, des y total

Inicio

DIAGRAMAS SELECTIVAS.
Los diagramas selectivos se encuentran en la mayora de la
solucin algortmica de casi todo tipo de problemas. Las
utilizamos cuando en el desarrollo de la solucin de un problema
debemos tomar una decisin, para establecer un proceso o sealar
un camino alternativo a seguir.
Esta toma de decisin se (expresa en un rombo), se basa en la
evaluacin de una o ms condiciones que nos sealaran como
alternativa o consecuencia la rama a seguir.
Las estructuras de diagramas selectivas que se utilizan para la
toma de decisiones lgicas, se clasifican de la siguiente
manera.
1.- si entonces (estructura simple)
2.- si entonces si no (estructura doble)
3.- si mltiple (estructura casos)
Diagrama si entonces:
La estructura si entonces (if then), es un caso particular de si
entonces si no y significa si la condicin es verdadera
entonces hacer una o varias acciones; en caso contrario no hacer
nada.

Condicin

Si condicin
Proceso

Entonces
Acciones
Fin_ si

Ejercicios.
En una empresa deciden realizar un incremento de salarios para todos aquellos trabajadores que
perciban menos de 1000 pesos como sueldo base, el incremento se har del 10% en este caso
debe mostrar en pantalla el nuevo sueldo de trabajador.
inicio

Sueldo, incre, nsuel

Sueldo > 1000

Incre= sueldo x
0.10

Falso

Nsuel= sueldo +
incre
Nsuel

Fin

Se integra en pantalla 3 calificaciones obtenidas de x alumno en el semestre si el promedio de estas 3


calificaciones es mayor o igual a 7 mostrar un mensaje en pantalla alumno promovido y el promedio
obtenido.

inicio

Cal1, cal2, cal3, y, prome

Y= cal1+cal2+cal3

Prome= y / 3

Prome > = 7

Prome,
promovido

Fin

DIAGRAMA DE FLUJO QUE MUESTRE EN PANTALLA SI EL NUMERO INTEGRADO ES POSITIVO.

Inicio

SI A > 0

POSITIVO

FIN

UN CLIENTE REALIZA UNA COMPRA, SI LA COMPRA DEL ARTICULO ES MAYOR A $500, APLICAR UN DESCUENTO DEL
5%. DEBE MOSTAR EN PANTALLA EL SUBTOTAL, EL TOTAL Y EL ARTCULO.
W = PRE
X = NOMBRE

INICIO

W, DESC, SUBT,
TOTAL, X

SI W > 500
VERDADERO

DESC =W + 0.05

TOTAL = W - DESC
FALSO

X, SUBT. TOTAL

FIN

Diagrama si entonces si no:


La estructura selectiva alternativa permite que el flujo de un
programa bifurque a una de dos posibles acciones.
Esta estructura funciona del siguiente modo; si la condicin es
verdadera, ejecutar la accin A o conjunto de bloques de
acciones, y si la condicin es falsa ejecutar la accin B o
conjunto de bloques de acciones.

Condicin

Procesos

Procesos

SI condicin entonces
Accin A
Sino
Accin B
Fin_ si

EJERCICIOS.
EN UN ESTACIONAMIENTO SE COBRA $ 15.00 LA HORA DEL SEVICIO DE ESTACIONAMIENTO. SI LOS USUARIOS
SUPERAN LA HORA SE LES HACE UN COBRO ADICIONAL DE $ 5.00 POR HORA. DEBE IMPRIMIR EN PANTALLA LA
CNTIDA QUE DEBE PAGAR POR EL SERVICIO DE ESTACIONAMIENTO.

INICIO

TIEMPO, CUOTA, COBROY


TOTAL

SI TIEMPO = 1 HORA

15 PESOS

CUOTA = 5 + y

COBRA =y > 15

TOTAL = COBRA +
CUOTA

TOTAL

FIN

En una empresa realizan un incremento de salario. El incremento se realiza tomando en cuenta


el salario del trabajador, si el salario en mayor a $800.00 el incremento es del 15% en caso
contrario es del 7% debe mostrar en pantalla el nuevo sueldo del trabajador.
INICIO

SALARIO, INCRE,
SUELDO

SI SALARIO < 800

INCRE = SALARIO
*0.15

INCRE = SALARIO
*0.07

N SUELDO = SALARIO
+INCRE

N SUELDO = SALARIO +
INCRE

N SUELDO

N SUELDO

FIN

UNA LLANTERA REALIZA LAA SIGUIENTE PROMOCION SI LA COMPRA DE MAS DE 2 LLANTAS APLICA UN DESCUENTO
DEL 9% AL TOTAL, SI ES MENOR DE 2 NO APLICA DESCUENTO. DEBE MOSTRAR EL PAGO Y EL PORCENTAJE DE
DESCUENTO.

INICIO

COMPRA,DESC
NLLANTA Y,X,Z

SI N LLANTA>2

PAGO = Y Z

X=Y*Z

DESC = X * 0.09

PAGO

P
PAGO = X - DESC

PAGO, 9 %

FIN

Diagrama segn/caso (case)


Es un diagrama alternativa mltiple, se evala una expresin y
en funcin del valor resultante se realiza una determinada
tarea. La estructura selectiva CASE permite que el flujo del
diagrama se bifurque por varias ramas en el punto de la toma de
decisin(es), esto en funcin del valor que tome el selector. A
s que, si el selector toma el valor 1 se ejecutara la accin 1,
si toma el valor 2 se ejecuta la accin 2, si toma el valor n,
se realiza la accin n, y si toma un valor distinto de los

valores comprendidos entre 1 y n, se continuara con el flujo


normal del diagrama realizando la accin n + 1.

Selector

Accin 2

Accin 1

Accin N

Accin N + 1

EJERCICIOS.
En una empresa deciden realizar un incremento de salarios basndose a la categora del trabajado r. para presentar este diagrama se
proporciona la siguiente tabla.
CATEGORIA

INCREMENTO

1
2
3
4

15%
12%
10%
9%
INICIO
CATEGO, INCRE,
SALARIO, N SUELDO

CATEGO

INCRE = SALARIO *
0.015

N SUELDO =INCRE
+ SALA

CATEG 1, N
SUELDO

INCRE = SALARIO
0.12

N SUELDO =INCRE
+ SALARIO

CATEG 2, N SUELDO

INCRE = SALARIO *
0.10

N SUELDO = INCRE
+ SALARIO

CATEG 3, N
SUELDO

INCRE = SALARIO *
0.09

N SUELDO = INCRE
+ SALARIO

CATEG 4, N SUELDO

FIN

CANTIDAD
1
2
3
4

DESCUENTO
2%
5%
7%
10%
INICIO

Cantidad, desc,
compra, subt, total

Cantidad

Desc=compra x
0.02

Desc=compra x
0.05

Desc=compra x
0.07

Total=compra desc

FIN

Desc=compra x
0.10

INICIO

PRIM, VERANO, OTOO.


INVIERNO, ESTACION

Estacin

Primavera

Otoo

Verano

Invierno

FIN

Diagrama que permita mostrar el nombre de una de las estaciones de ao.

Estructuras algortmicas
repetitivas

CONTADORES

En los procesos repetitivos se necesita normalmente contar los sucesos o


acciones internos del bucle, como puede ser: registros o elementos de un
fichero o nmero de iteraciones a realizar por el bucle. Para realizar esta
tarea se utilizan los contadores, cuya construccin es una de las tcnicas ms
usadas en la realizacin de cualquier diagrama de flujo.
Un contador es un campo de la memoria que est destinado a contener los
diferentes valores que se va incrementando o decrementando en cada iteracin.
El campo contendr las sucesivas repeticiones. El incremento en las sumas
parciales es siempre constante, pudiendo ser positivo o negativo, es decir el
contador se ir incrementando o decrementando. El contador se representara en
un programa con una variable.
En las instrucciones de preparacin del bucle se realiza la iniciacin del
contador o contadores. La inicializacin de un contador consiste en poner el
valor inicial de la variable que representa al contador.
N = 0

I = 3

P = 5

Por consiguiente, el contador se representara por una instruccin de asignacin


del tipo.
N = N + 1

I = I + 1

P = P + 1

Siendo 1 el incremento del contador.

N=0

SI

SALIDA DEL
BUCLE

N = 11

NO

ACCION 1

ACCION 2

N=N+1

ACUMULADORES

Un acumulador o totalizador es un campo o zona de memoria cuya misin es


almacenar cantidades variables resultantes de sumas sucesivas. Realizar la
funcin de un contador con la diferencia que el incremento o decremento de cada
suma es variable en lugar de constante como el caso del contador.
Se representa por S = S + N donde N es una variable y no constante.
El diagrama de flujo lee un conjunto de datos numricos y obtiene la suma de
todos aquellos nmeros que sean positivos.

INICIO

N=0

LECTURA DE:
D (DATO)

N=N+D

IMPRESIN DE:
N
LECTURA DE:
OP

SI OP = S
NO
FIN

BIFURCACIONES

Las instrucciones del programa se ejecutan, como ya sabemos, de un modo


secuencial. Sin embargo, en numerosas ocasiones es precioso rompe el orden
secuencial de las instrucciones y bifurcar, saltar o transferir en el control a
otras instrucciones del programa que no sean consecutivas a las que es ese
momento se ejecutan.
Las instrucciones que siguen a la que se salta se volvern a ejecutar
secuencialmente hasta la aparicin de otra instruccin de bifurcacin o el fin
del programa. Como se ver posteriormente en el caso de las subrutinas, en el
caso de las instrucciones de bifurcacin es posible conservar la direccin de
retorno al programa principal, tras ejecutar las instrucciones a donde se haya
transferido el control. Los saltos o transferencias de control pueden ser
positivas (hacia delante) o negativas (hacia atrs), lo que puede implicar la
no ejecucin de instrucciones saltos positivos o repeticin de
instrucciones- saltos negativos-.

Existen dos tipos de bifurcaciones:

Condicional: la bifurcacin depende del cumplimiento de una


determinada condicin: cuando se cumple la condicin el control del
programa bifurca a la instruccin especificada; si la instruccin
es falsa el programa contina ejecutndose en la siguiente
instruccin en el orden secuencial previsto.
Incondicionales: la bifurcacin se realiza siempre que el programa
pase por la instruccin sin el cumplimiento de ninguna condicin.

Condicional

Incondicional

ACCION A1

ACCION
A1
Salto
positivo

ACCION A2

Salto
negativo

ACCION A2
ACCION

ACCION AN

ACCION AN

Estructuras especiales GOTO

En los apartados anteriores hemos visto cmo utilizar if-then-else y el bucle que
genera para crear caminos alternativos en el clculo. En ocasiones, es
conveniente una estructura con una larga y controvertida historia, la sentencia o
estructura goto.
En un programa sin bucles o estructuras IF, las estructuras el programa- se
ejecutan en secuencia y se dice que el flujo es normal. A veces, se rompe el
flujo normal por la transferencia o bifurcacin a otra instruccin que no est en
secuencia, como es el caso de los bucles, o bien, transfiriendo el control
directamente a alguna instruccin especifica. Para expresar este caso se
necesitan: (1) una estructura para ejecutar la transferencia de control y (2) un
medio de referencia de esta estructura en el programa. Este segundo requisito se
satisface permitiendo que la instruccin sean numeradas o etiquetadas con
palabras.
El primer requisito es la estructura GOTO (goto).
GOTO
Es una estructura (enunciado simple lo denominado Wirth, el padre del pascal)Que
indica que el proceso adicional debe continuarse en alguna otra parte del
programa.
El formato de la estructura GOTO (ir a) es:
GOTO

GOTO numero de
lnea

Se produce la transferencia a la instruccin cuya etiqueta o nmero de lnea se


da en el formato. A partir de ese punto se reanuda el flujo normal del contr0ol
del proceso.
Su uso indiscriminado de GOTO en los programas es nocivo porque dificulta su
legibilidad. Si existen muchas bifurcaciones con GOTO ser necesario recurrir a
numerosas etiquetas o nmeros de lnea y ello puede producir errores, por
duplicado, ausencia de etiquetas, etc.
De hecho, los buenos programadores necesitan utilizar la estructura GOTO muy
raramente. Algunos incluso llegan a decir que no se debe utilizar nunca, sin
embargo esta idea nos parece excesiva.

ESTRUCTURAS REPETITIVAS

E
s muy comn encontrar en los algoritmos operaciones que se deben ejecutar un
nmero repetido de veces. Si bien las instrucciones son las mismas, los datos
sobre los que se opera varan. El conjunto de instrucciones que se ejecuta
repetidamente se llaman ciclo.
Todo ciclo debe terminar de ejecutarse luego de un nmero finito de veces, por lo
que es necesario en cada interacion del mismo, evaluar las condiciones necesarias
para decidir si debe seguir ejecutndose o debe detenerse. En todo el ciclo,
siempre debe existir una condicin de parada o fin de ciclo.
En algunos algoritmos podemos establecer la prioridad para que el ciclo se repita
un nmero definido de veces que ha de ejecutarse el ciclo, si no que este nmero
depender de las proposiciones dentro del mismo. Llamaremos repetir a la
estructura algortmica repetitiva que se ejecuta un nmero definido de veces.
Por otra parte, en algunos algoritmos no podemos establecer la prioridad en el
sentido del nmero de veces que a de ejecutarse el ciclo, si no que este nmero
depender de las proposiciones dentro del ciclo. Llamaremos mientras a la
estructura algortmica repetitiva que se ejecuta mientras la condicin evaluada
resulta verdadera.
Una tcnica muy potente, fundamental en toda programacin, es la construccin y
uso de bucles o lazos para implementar acciones que se deben ejecutar
repetidamente. La base de esta tcnica es hacerla posible mediante una secuencia
de instrucciones que se ejecutan una y otra vez evitando la necesidad de copias
sucesivas de cada repeticin de acciones.
Las tres estructuras repetitivas mas importantes son:
Desde (FOR o bien DOFOR)
Mientras (WHILE o bien DOWHILE)
Repetir (REPEAT o bien DOUNTIL)
Un bucle o lazo es un conjunto de instrucciones que se repiten un nmero
determinado/indeterminado de veces hasta que se cumple una condicin especifica.
Estructura mientras (WHILE o DOWHILE)
La condicin est situada al principio del bucle y las instrucciones interiores
al bucle se repetirn mientras sea cierta la condicin.

ACCION
CONDICI

CONDICIO

ACCIONES

MIENTRAS
CONDICION

WHILE CONDICION
DO

DO WHILE CONDICION

ACCIONES

ACCIONES

END DO

FIN_MIENTRAS

END DO

ACCIONES

NOTRA: Las acciones del interior del bucle pueden no realizarse si la condicin
no se cumple la primera vez que se comprueba o se ejecuta mientras.
EJEMPLO 1: Supongamos que debemos obtener la suma de los gastos que hicimos en
nuestro ltimo viaje, pero no sabemos exactamente cuntos fueron. Los datos son
expresados en forma:
Datos:

Gasto1, Gasto 2,, -1

Dnde:
,

Gasto 1 es una variable de tipo real, que representa el gasto


nmero 1.

A continuacin presentamos la solucin del problema.


INICIO
ESTRUCTURA REPETITIVA
MIENTRAS

SUMGAS=

GASTO

GASTO <>
-1

NO

SI

SUMGAS =
SUMGAS
+ GASTO
GASTO

SUMGAS: es una variable


de tipo real, es un
acumulador. Acumula los
gastos efectuados.
GASTOS: es una variable
de tipo real. Su valor en la
primera lectura debe ser
verdadero, es decir
distinto de -1. Su valor se
modifica en cada vuelta
del ciclo. Cuando gasto
tome el valor de -1,

SUMA_GASTOS
SUMGAS

FIN

1. Hacer SUMGAS = 0
2. Leer GASTO

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