Documente Academic
Documente Profesional
Documente Cultură
EMISOR O
RECEPTOR
CANAL
RECEPTOR O
EMISOR
Trasmisin de la informacin
ENTRADA
TRATAMIENTO DE
LA INFORMACIN
PROCESO
SALIDA
RECOGIDA DE DATOS
DEPURACION DE DATOS
ALMACENAMIENTO
ARITMETICO
Y/O LGICO
RECOGIDA DE DATOS
DISTRIBUCION DE RESULTADOS
DATOS
EJECUCION
PROGRAMA
PROGRAMA
FUENTE
COMPILADO
PROGRAMADOR
LENGUAJE
NATURAL
LLL
COMPUTADOR
PROGRAMA
OBJETO
EJECUCION
PROGRAMA
OBJETO
LENGUAJE
MAQUINA
RESULTADO
ALGORITMOS
Las computadoras hacen lo que se les indica que hagan, que no siempre es
necesariamente lo que el usuario quiere que haga
se debe evitar la repeticin de procesos o de instrucciones que se le proporciona al
computador.
En la solucin de cualquier problema mediante la computadora existen 2 fases:
FASE DE SOLUCION.- Se concentra el programador para disear un algoritmo que
resuelva esta fase es independiente de los lenguajes la solucin elaborada puede traducirse
al lenguaje que se desee o ms adecuado segn su aplicacin.
FASE DE INSTALACION.- Consiste en la traduccin del algoritmo elaborado en
lenguaje de alto nivel.
ALGORITMO.- Es una secuencia ordenada de pasos donde queda marginada la repeticin
de procesos que lleva a la solucin de un problema en un tiempo finito, tiene varias
propiedades.
1. Los pasos de un Algoritmo deben ser simples.
2. Seguir un orden establecido.
3. Los Algoritmos deben ser efectivos en un nmero finito de pasos.
CARACTERISTICAS DE LOS ALGORITMOS
1.
2.
3.
TIPOS DE DATOS.Segn los procesos que se vaya a realizar en un programa se debe ingresar los datos
necesarios para lo cual se los clasifica de la siguiente manera:
NUMERICOS
INDICAN
CANTIDAD
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
REALES
ALFABETICOS
TIPO DE
DATOS
ENTEROS
ALFANUMERICOS
NUMERICOS
INDICAN
POSICION
SIMBOLOS ESPECFICOS
A, b, c, d, e,......
CHART un caracter
caracteres
,;.:-_[]{}
IDENTIFICADORES.Es un carcter o conjunto de caracteres que como funcin tiene la de representar algn
valor o informacin que se le asigne a este. El identificador debe cumplir con algunas
caractersticas para que se llame as:
1. Siempre debe empezar con un carcter alfabtico.
2. Entre un carcter y otro nunca debe existir espacios en blanco.
3. A continuacin del primer carcter alfabtico puede ir otro carcter cualesquiera Eje.
Ejemplo
A
A5
5A
6
Ejemplo
Ejemplo-2
es o no un
identificador.
si
si
no
no
- si
- si
OPERACIN DE ASIGNACION.-
Se basa en el acumulador con sus mismas reglas pero limitado las operaciones que se
puede realizar y que al ser contador como su nombre lo dice el valor con el que se opera
debe ser constante.
1. - VALOR INICIAL DEL CONTADOR
2. - CONTADOR = CONTADOR (OPERACIN) VALOR CONSTA
NUEVO
ACTUAL
+, - ,
CLASES DE OPERACIONES.Dependiendo de los datos que se tenga se puede realizar diferentes tipos de operacin, se
puede considerar entre las operaciones bsicas las siguientes.
ARITMETICAS
OPERADORES
LOGICAS
RELACION
+
*
/
NOR
NOT
=
<
>
<>
OPERADORES ARITMETICOS.Generalmente trabaja con los datos numricos que son los nicos con los que se realizan
operaciones. Los Operadores Aritmticos ms usados como base para las operaciones, son
la suma, resta, multiplicacin, divisin que unidas con los diferentes datos numricos se los
representa as
OPERACION
SUMA
RESTA
OPERADOR 1
ENTERO
ENTERO
REAL
ENTERO
ENTERO
REAL
OPERADOR 2
ENTERO
REAL
REAL
ENTERO
REAL
REAL
RESULTADO
ENTERO
REAL
o Entero o Real
ENTERO
REAL
o Entero o Real
MULTIPLICACIN
DIVISION
ENTERO
ENTERO
REAL
ENTERO
ENTERO
REAL
ENTERO
REAL
REAL
ENTERO
REAL
REAL
ENTERO
Entero o real
o Entero o Real
Entero o real
Entero o real
Entero o real
Operador 1
Operador 1
operador 2
Residuo
cociente
DIV
MOD
operador 2
operador 2
=
=
COCIENTE
RESIDUO
124 DIV 6 = 20
124 MOD 6 = 4
Ejemplo 2. - 17.5 dividido para 5. No se puede utilizar en este ejemplo las
funciones de biblioteca DIV o MOD por no ser los dos operadores enteros
Dependiendo del ejercicio del que se va a realizar, o se usa el DIV o se usa el
MOD los dos; no existe ninguna jerarqua entre los 2 operadores.
Otra funcin de Biblioteca es el INT (X); siendo X un dato entero o real,
indicando la funcin que toma la parte entera del nmero o parmetro X.
C = INT (3,5)
C= 3
E = INT (7,9)
D = INT (4)
E=7
D=4
JERARQUA DE LAS OPERACIONES
1. Destruccin de parntesis
2. Potencia y Radical
3. Multiplicacin y Divisin
4. Suma y Resta
2+5*42+6 2+1*7
2 + 5 * 4 * 36 + 1 * 7
2 + 20 72 + 7
- 43
2+5 / 2.5 + (7
(2+4-4)
S=
2+5 / 2.5 + (7
(2 ) (2)
S=
(2)
S = 2405
OPERADORES LOGICOS.Este tipo de operadores permiten realizar por medio de un bloque de condicin varias
preguntas, utilizando cualquier tipo de datos. Como operadores bases entre los lgicos se
tiene el operador AND (Y), que escoger como condicin verdadera si todas las preguntas
son verdaderas, si por lo menos una es falsa ira por la opcin falsa. El otro es el operador
OR, que tiene un concepto contrario al anterior, es decir opta por la condicin como
verdadera si por lo menos una de las varias preguntas es verdadera, y es la condicin falsa
cuando todas las condiciones son falsas. Mientras que el operador lgico NOT niega lo que
es verdadero y viceversa.
OPERADORES DE RELACION O COMPARACION.
Al igual que los otros tipos de operadores los de comparacin tienen operadores bases
como son: > (mayor que), < (menor que), l = (igual que).
CLASES DE ALGORITMOS.-
CUANTITATIVO.1. Inicio
2. Leer x
3. R = x * 60
4. Imprimir R
5. fin
5. Fin
4. Imprimir A
9
CONDICION
PROCESO SI NO
CUMPLE LA
CONDICION
( S.N ) = (SI NO)
PROCESO SI
CUMPLE LA
CONDICION
( S.S. ) = (SI SI )
1. Inicio
2. Leer el numero con el que se trabajara
3. Preguntar si el numero es => a 0
Si cumple pasar al punto 4
Sino pasar al punto 6.
4. Imprimir que el numero es positivo.
5. Pasar al fin, ya que dio el resultado pedido.
6. Imprimir que el numero es negativo.
7. Pasar al fin, ya que dio el resultado pedido,
pudiendo eliminar este punto ya que del punto
6 podra irse directamente al fin.
8. fin
Inicio
Leer X
C = X MOD 2
Si C = 0 entonces
SS. ir a 5
SN. Ir a 7
5. Imprimir (X es un numero par)
6.
7.
8.
9.
Ir a 9.
Imprimir (X es un numero impar)
Ir a 9.
Fin.
1.
2.
3.
4.
5.
6.
7.
8.
Inicio
Leer AN y AA
E = AA AN
Si E >= 0 entonces
SS. ir a 5
SN ir a 7
Imprimir( La edad que tiene es, E)
Ir a 8
Imprimir (Datos mal ingresados)
Fin
1. Inicio
2. Lectura de los dos datos
3. Se pregunta si el primer datos es mayor o
igual al segundo, en el caso de que diga si se
tiene dos alternativas que sea mayor o
solamente igual, por lo que se pregunta por
una de las dos (paso 4) y segn se la
condicin la una podr ser mayor y la otra
igual.
9. En el caso de que en la primera condicin no
cumpla entonces como se pregunto si era
mayor o igual y como dice no, entonces lo
que quedar como resultado es que el
primero es menor que el segundo
Existen ejercicios donde un proceso se necesita repetir varia veces para conseguir los
resultados que se espera, para lo cual se debe utilizar una estructura de repeticin.
Para representar un algoritmo con estructura de repeticin por lo general se necesita de
cuatro parmetros que son:
8. J = J + 2
9. Ir a 5
10. Fin
8. - Realizar un algoritmo que sume los N primeros nmeros pares (Al ejercicio
anterior se tiene que aumentarse dos pasos, el ( 4 ) que es el dar un valor inicial al
acumulador, asi como tambin el paso ( 7 ) que realiza la sumatoria de los nmeros
pares. Y por ltimo el paso ( 11 ) que se encuentra fuera del bloque de repeticin por lo
que se va ha ejecutar una sola vez, ya que como pide el resultado de la sumatoria es uno
solo.
1.
2.
3.
4.
5.
6.
Inicio
Leer (N)
I=1
S=0
J=2
Mientras I=<N repetir
SS. Ir a 7
VVSN. Ir a 11
7. S=S+J
8. I=I+1
9. J=J+2
10. Ir a 6
11. Imprimir S
12. Fin.
Otra manera de resolver los dos ejercicios anteriores es la siguiente, basndose en l
ultimo problema.
1.
2.
3.
4.
5.
Inicio
Leer (N)
I=1
S=0
Mientras I=<N repetir
SS. Ir a 7
WW SN. Ir a 11
6. P=I*2
7. S=S+P
8. I=I+1
9. Ir a 6
10. Imprimir S
11. Fin.
Se notara que existen dos casos, el identificador S se inicia en 0, mientras que el
identificador P no se inicia en ningn valor, es por el hecho que el primero es una
operacin sucesiva es decir el valor anterior mas una cantidad, mientras que el segundo
opera entre dos valores nuevos.
Inicio
Leer (N)
I=1
CP=0
CN=0
Mientras I=<N repetir
SS. ir a 7
XXSN. Ir a
7. Leer X
8. Si X>=0 entonces
SS. Ir a 9
YY SN. Ir a 11
9. CP=CP+1
10. Ir a 12
11. CN=CN+1
12. I=I+1
13. Ir a 6
14. Imprimir CP y CN
12. Fin
10. Realizar un algoritmo que cuente cuantos dgitos tiene un nmero que se
supone que es entero positivo (Para la resolucin tomando en cuenta que el nmero ya
es entero positivo, la forma mas prctica es ir dividiendo para 10 ya que de esta forma
se va separando los dgitos y para el resultado se suma la cantidad de divisiones
realizadas.)
1.
2.
3.
4.
Inicio
Leer (X)
C=0
Mientras x<>0 Repetir
4. 1 X=X DIV 10
4. 2 C=C+1
4. 3 Ir a 4
5. Imprimir C
6. Fin
PROGRAMACION ESTRUCTURADA
Conocida como programacin modular ya que las instrucciones se ejecutan una tras de
otra y de la misma manera ser ms conveniente realizar cualquier modificacin.
Entendiendo por modificacin aadir, quitar, o cambiar algn bloque de proceso.
REGLAS PARA UTILIZAR LA PROGRAMACIN ESTRUCTURAL
1. Siempre un programa debe tender a ser general y considerar todos los posibles casos
que se pueden presentar.
2. Todas las estructuras deben poseer una sola entrada y una sola salida
3. Las estructuras son independientes entre s indicando que cada estructura puede
trabajar con otros datos.
4. Entre todas las estructuras se pueden combinar, o una estructura puede contener a
otra, o tambin una estructura puede estar a continuacin de otra.
PASOS PARA LA RESOLUCION DEL PROBLEMA
1. Conocer a fondo y claramente el problema.
2. Una vez conocido el problema analizar si se tiene o no las herramientas para
resolver el problema.
3. Trazar un plan o una metodologa a seguir para resolver el problema.
CLASIFICACION DE LAS ESTRUCTURAS DE PROGRAMACION
ESTRUCTURA
SECUENCIAL
CLASIFICACION
ESTRUCTURAS
ESTRUCTURA DE
BIFULCACION O
CONDICION
ESTRUCTURA
ITERACION O
REPETICION
B. SIMPLE
B. ANIDADA
B. COMPUESTA
B. MULTIPLE
EST. WHILE<CONDICION>DO
EST. REPEAT<CONDICIO>UNTIL
EST. FOT<VI>TO<VF>DO
DIAGRAMAS DE FLUJO.
Un diagrama de flujo es un paso intermedio entre el algoritmo y el lenguaje de
programacin, que se basa en un algoritmo ya que utiliza las mismas reglas, con la
diferencia que en vez de utilizar palabras para representar una instruccin, en el
diagrama de flujo se utiliza bloques, como los que se detalla a continuacin
BLOQUES UTILIZADOS PARA LA DIAGRAMACION
BLOQUE
NOMBRE
TERMINAL
ENTRADA DE
DATOS
ASIGNACION O
PROCESO
SALIDA DE
RESULTADOS
CONDICION
REPETICIN
CONECTOR
LINEAS DE
FLUJO
FUNCION
Indica el inicio o fin de un
diagrama de flujo para lo cual
dentro del bloque debe ir la palabra
inicio o fin respectivamente. En un
D: F: debe existir un solo inicio y
un solo final.
Utilizando cualquier medio o
perifrico de entrada permite el
ingreso de informacin, dentro de
este bloque debe ir identificadores
y no valores.
Indica la ejecucin de cualquier
proceso ejecutable asignacin de
Informacin.
Utilizando cualquier medio o
perifrico de salida permite dar a
conocer los resultados obtenidos de
los procesos, en este bloque se
debe visualizar identificadores
Utilizando por lo menos una
pregunta aparecen dos o ms
alternativas cada una de estas
ejecutando un proceso diferente,
debiendo ejecutarse un solo de
estos procesos.
Controlada por una pregunta o
condicin permite ejecutar un
proceso varias veces hasta que la
condicin diga lo contrario.
Permite seguir el flujo del
diagrama de una posicin a otra
por lo que se utiliza dos conectores.
Uno donde se corta la secuencia y
el segundo donde continua el
proceso anterior dentro de la
circunferencia debe ir un
identificador siendo igual en ambos
conectores.
Indica la secuencia en la que se
ejecutara cada una de las
instrucciones del diagrama.
ESTRUCTURA SECUENCIAL
Es la estructura donde las instrucciones se ejecutan una a continuacin de otra sin
repetir ninguna de ellas o saltar de un lugar a otro, esta estructura es la base para las
dems estructuras en vista de que existen cinco bloques que conforman la estructura y
estos cinco bloques tendrn que encontrarse en las otras estructuras sin que sea factible
la eliminacin o el cambio de posicin de cada uno de los bloques, lo que si puede
suceder es que se aumente el nmero de bloques.
Bloque 1
Bloque 2
Bloque 3
Bloque 4
Bloque 5
INICIO
LECTURA DE
DATOS
PROCESO
SALIDA DE
DATOS
FIN
INICIO
2. - Leer (e, t)
e, t
3. - V= e / t
V= e
t
4. - Imprimir ( V )
5. - fin
B1
B2
B3
B4
FIN
B5
e
20
t
5
V
4
12. - Realizar en diagrama de flujo que transforme una cantidad X dada en horas a
minutos. ( Como gua el presente ejercicio ya se resolvi como algoritmo en el ejercicio
No. 1)
INICIO
h
h
1
3
m
60
180
m= h*60
m
FIN
A B
3 2
C
5
D
4
E
20
INICIO
A, B
C = A+B
C
D
INICIO
A,B,D
C=A+B
E=C*D
C, E
E=D*C
E
FIN
FIN
A B C D
4 6 10 2
E
20
14. - Realizar en diagrama de flujo que lea 2 valores, y como resultado imprima los
2 valores cambiando de variable (El ejercicio es muy practico ya que permite
intercambiar de valores a las variables. Se puede resolver de dos maneras, la primera sin
utilizar una variable auxiliar, es decir que se trabaje solamente con los dos
identificadores de entrada, para lo cual se utiliza artificios como son las operaciones
aritmticas. En el segundo caso si se utiliza una variable auxiliar, es decir un
identificador que no se lee que en este caso es el identificador C.
No se puede decir solamente que A=B y B=A, porque los dos identificadores quedaran
con el mismo valor, perdindose el uno, ya que cada identificador puede almacenar
varios valores, pero de uno en uno, es decir al entrar un nuevo valor se pierde el
anterior
A B
3 6
9 3
6
INICIO
INICIO
A,B
A,B
A = A+B
B = A-B
A = A-B
C=A
A=B
B=C
A,B
A,B
FIN
FIN
A
3
2
B
2
3
C
3
ESTRUCTURA DE BIFURCACIN
La estructura de bifurcacin conocida tambin como estructura de condicin, ya que
permite seleccionar una de dos o ms alternativas, en las cuales existen diferentes
procesos, utilizando para esto un bloque de condicin. La bifurcacin se divide en
bifurcacin simple, anidada, compuesta y mltiple.
Bifurcacin Simple: Permite seleccionar 1 de 2 alternativas posibles, presentndose
esta bifurcacin con los siguientes formatos.
1.- El primer formato es cuando tanto por el camino que cumple y no cumple la
condicin, existe un proceso diferente, ademas cumple que tiene una sola entrada y una
sola salida.
NO
CONDI
CI.
SI
PROCESO 2
PROCESO 2
Si cumple la condicin
IF< condicin > Then
SI NO
Proceso 1
Else SINO
Proceso 2
2.- El segundo formato es similar al anterior, es decir existe las dos alternativas, pero
cuando cumple la condicin realiza un proceso, caso contrario existe el camino de salida
pero sin ningn proceso, de la misma manera cumple la regla de una sola entrada y una
sola salida.
NO
COND
ICIN
SI
PROCESO
3.- El tercer formato es especial ya que se presenta en algunos casos, a pesar de que en
algunos lenguajes de programacin no existe su codificacin ya que no permite que
exista un proceso cuando la condicin no cumple sin antes exista un proceso cuando la
condicin cumple, por lo que en el presente texto tambin se lo elimina, pero dando dos
soluciones:
NO
PROCESO
COND
ICIN
NO
EXISTE
SI
SOLUCIN
CONDICIN
=
<
>
COMPLEMENTO
<>
< <=
> =>
15.- Realizar un
INICIO
INICIO
N
6 Positivo
- 10 negativo
N
N>
0
NO
N,negativ
o
N
NO
SI
N<
0
N, positivo
N, positivo
SI
N, negativo
FIN
FIN
INICIO
N
3 Impar
8 Par
N
R = N mod 2
SI
R=
0
NImpar
NO
Npar
FIN
INICIO
INICIO
R = X mod 2
NO
R=
0
X = X+1
R = X mod 2
R=
0
SI
X = X+1
X
X
FIN
FIN
El primer caso sera el no valido para lo cual se dara la solucin 2 donde se crea un
proceso, en este caso se divide un proceso que sera en vez de que se imprima en una
parte general se imprima parcialmente en cada alternativa de la condicin con lo que
estara resulto en el segundo caso. O como el tercer caso donde se utiliza la primera
solucin utilizando la operacin complementaria en la condicin que seria del operador
igual, el complemento el operador diferente.
INICIO
X
R = X mod 2
R<
>0
SI
X = X+1
FIN
BIFURCACIN ANIDADA
E1
no
si
CONDI
CIN 1
E4
NO
PROCESO 1
SI
CONDIC
IN 4
E2
NO
SI
CONDIC
IN 2
PROCESO 5
E3
NO
S4
SI
CONDIC
IN 3
PROCESO 4
PROCESO 3
PROCESO 2
S2
S1
S3
Se puede notar en el ejercicio anterior que cada entrada tiene su salida, de la misma
manera la condicin uno contiene a la condicin 2 y 4, mientras que la condicin 2
contiene a la condicin3.
18.- Realizar un diagrama de flujo que calcule el mayor valor de tres nmeros
ledos (no se considera para este ejercicio los nmeros iguales en vista de
que pide solamente el mayor valor).
INICIO
A,B,C
SI
A>B
SI
SI
B>C
C mayor
A>C
B mayor
C mayor
A mayor
FIN
A B C
3 2 5
2 3 5
INICIO
A,B,C
D
4
4
SI
A>B
SI
B
>
C
B>
D
C>
D
D
mayor
NO
C
mayor
D
mayor
A
>
C
NO
C>
D
B
mayor
D
mayor
SI
C
mayor
D
mayor
A>
D
SI
A
mayor
FIN
A>B
May = B
May = A
C>
May
May = C
May
FIN
INICIO
A,B,C,D
A>B
May = B
May = A
C>
May
May = C
D>
May
May = D
May
FIN
BIFURCACION COMPUESTA
Es representado por la bifurcacin simple o anidada con la diferencia de que en vez de
utilizar una sola pregunta en el bloque de condicin puede utilizar 2 o ms preguntas en
un solo bloque, unidas estas preguntas por medio de los operadores lgicos AND y OR,
los que tienen como caracterstica trabajar con 2 o ms preguntas, cada una de estas
preguntas pudiendo ser verdadera o falso. Para tener el resultado final se debe
considerar lo descrito en la parte de los operadores lgicos (pag 12).
22.- Realizar un diagrama de flujo que indique si un nmero X ledo cumple o no
las siguientes condiciones, que sea entero y positivo. (Un nmero es positivo si es
mayor o igual a cero, mientras que para ser entero, se utiliza la funcin de biblioteca
ENT. Del nmero, tomando la parte entera del nmero, este resultado se compara con el
mismo nmero y si es igual, entonces el valor ledo es entero, caso contrario no lo es.)
El ejercicio se resuelve de dos maneras la primera usando bifurcacin simple para lo
cual se utiliza dos condiciones. La segunda ya se utiliza la bifurcacin mltiple dndose
cuenta que en una sola condicin se realiza las dos preguntas.
(Bifurcacin simple)
INICIO
X
NO
SI
X>0
NO
SI
X = ENT
(X)
No
No
Si
FIN
(Bifurcacin compuesta)
INICIO
X
X > 0 AND
X= ENT (X)
No
SI
Si
FIN
23.- Realizar un diagrama de flujo que lea un nmero entre 1 y 999, para formar
un nuevo nmero donde los dgitos se encuentren del ltimo al primero.
( Primeramente se debe controlar que el nmero sea mayor a 0 y menor a 1000, es decir
mximo de tres dgitos y a la vez entero. Para separar los dgitos se divide el nmero
para 10 usando las funciones de biblioteca y los resultados se van almacenando de
acuerdo a la posicin de donde se encuentra el dgito, entre Unidad, Decena y Centena,
existiendo una variable Auxiliar. Una vez separado los dgitos, se procede a unir los
mismos pero tomando desde el ltimo hasta el primero y multiplicando por su valor
respectivo de 100, 10 y 1, para terminar sumando estos resultados.
INICIO
X
(X > 0) AND
(X<1000)
AND
(ENT(X)= X)
And
X<100
No
cumple
SI
U = X MOD 10
A = X DIV 10
C = A MOD 10
D = A MOD 10
S = (U*100)+(D*10)+C
S
FIN
X MOD 5 = 0
AND
X MOD = O
No
Cumple
M = X MOD 5
P = X MOD 2
SI
Si
Cumple No
FIN
M=0
and
P=0
Si
FIN
BIFURCACIN MULTIPLE
Tambin conocida como estructura tipo CASE o MENU, se fundamenta en los formatos
de la bifurcacin simple, anidada teniendo como caractersticas que por medio de una
condicin que se ejecuta automticamente permite seleccionar uno de varios caminos
posibles, cada uno de estos contiene un proceso diferente. As tambin como otra
caracterstica se acostumbra por lo general antes de cualquier proceso desplazar en un
bloque el men o las operaciones con las que trabajar. Tanto el ingreso de datos como
la salida de resultados puede darse uno solo para todo el proceso o una diferente para
cada uno como se presenta el esquema.
OPCIONES
DEL MENU
1. ..
2. ..
3. ..
N..
Lectura de
la opcin
Seleccionad
a
OPCION = ?
ELSE
2
3
PROCE 1
PROCE 2
4
PROCE 3
PROCE 4
5
PROCE 5
PROCE N
MENSAJE
El formato anterior presenta una estructura de bifurcacin mltiple con varios caminos,
el funcionamiento consiste en que una vez leda la opcin seleccionada, el lenguaje de
programacin va buscando de camino en camino en orden, cual es la opcin
seleccionada, si no encuentra entonces opta por irse por un camino else (sino), donde se
puede enviar un mensaje indicando que la opcin seleccionada no existe.
25.- Realizar un diagrama de flujo que calcule individualmente cada uno de los
parmetros del Movimiento rectilneo uniforme. ( Los parmetros son el Espacio,
Velocidad y Tiempo, como se vera lo primero que se visualiza en el diagrama es los
procesos que se puede realizar, a continuacin se lee el numeral o literal que preceda al
proceso a ejecuta, por medio de la condicin y en una forma automtica se selecciona la
alternativa y procede a ejecutarse. Ejecuta una sola de las tantas opciones existentes).
INICIO
1. Espa
2. Veco
3. Tiem
OP
1
OP=?
2
NO
3
V.T
E.T
V.E
V = E/T
T = E/V
NO EXISTE
E = V*T
FIN
En este caso los datos deben ser individuales ya que cada proceso es diferente, de la
misma manera como el resultado primeramente tiene diferentes unidades de medida, y
luego estn representados por diferentes variables entonces tambin las impresiones
deben ser individuales.
26.- Realizar un diagrama de flujo que calcule el rea de las siguientes figuras
geomtricas: Cuadrado, rectngulo, tringulo y circunferencia. (Como en el caso
anterior, los procesos son diferentes por lo tanto la lectura de los datos se debe realizar
en cada camino de las alternativas, el resultado puede tener dos opciones si se almacena
en diferentes identificadores se debera imprimir debajo de cada proceso, pero como en
el ejemplo se presenta en un mismo identificador, entonces se puede realizar una
impresin para todos los procesos.
INICIO
1. Area del cuadrado
2. Area del rectngulo
3. Area del tringulo
4. Area de circunferencia
X=?
C
A=L*L
B,H
A=B*H
B,H
A=B*H/2
NO EXISTE
r
A=2.r2
FIN
27.- En una empresa que contrata solo emplea nacional todos los emplea gana un
mismo sueldo con la diferencia de que ganan un porcentaje ms dependiendo de la
regin de donde provienen con las siguientes condiciones.
-
INICIO
1. R insular
2. R oriente
3. R costa
4. R sierra
OP;SB
OP = ?
NO EXISTE
ST=SB+
ST=SB+
ST=SB+
ST=SB
ST
FIN
En este caso es algo particular ya que al decir que el sueldo bsico ( SB ) es igual para
todos los empleador, entonces no hace falta leer en cada alternativa sino uno solo
antes de la condicin, de la misma manera como se esta calculando el sueldo total (
ST ), en todas las opciones y se almacena en una misma variable entonces se realiza
una sola impresin
Se podra concluir diciendo que cada alternativa que existe en una bifurcacin mltiple
es como tener un programa independiente.
CONDICIN
SI
PROCESO
NO
Modificacin
de uno de los 2
parmetros
Caractersticas.
a)
b)
c)
d)
PROCESO
Modificacin
de uno de los 2
parmetros de
condicin
NO
CONDICIN
SI
Caractersticas
a)
b)
c)
d)
Se ejecuta primero el proceso y luego la condicinSe repite el proceso hasta que la condicin sea verdadera o dicho en otras
palabras mientras la condicin sea falso.
Si el contador = 1 la condicin podra ser >
Si el contador = 0 la condicin podra ser >
El nmero mnimo de veces que se repite el proceso es 1 veces y el nmero
mximo N veces.
EST. FOR < Valor Inicial > TO < Valor Final > DO
VI;VF; INCREMT.
PROCESO
Caractersticas.
a)
b)
c)
d)
e)
N
0
2
INICIO
N
I=1
SI
I<N
NO
PRUEBA
FIN
I = I=1
I
1
1
2
3
IMPRIME
1
2
INICIO
N
0
I
1
2
1
2
3
IMPRIME
I=1
PRUEBA
I = I=1
I>N
NO
SI
FIN
INICIO
N
N
0
3
I
1
1
2
3
4
IMPRIME
I = 1; N = 1
PRUEBA
FIN
Como se puede ver el mismo ejercicio se resuelve utilizando las tres estructuras de
repeticin, pero no siempre se va a poder realizar esta tarea.
29.- Realizar un diagrama de flujo que imprima los N primeros nmeros impares.
(El ejercicio se resolver con las tres estructuras de repeticin, adems esta ya resuelto
en el ejercicio No. 7 con la diferencia que son los pares, y en este ltimo pide los
impares para lo cual el nico cambio sera, en vez de empezar en 2 el un contador ( P )
ahora empezar en uno por ser el primer nmero impar. )
Estructura WHILE < CONDICION > DO
INICIO
N
I=1
P=1
I<N
P
FIN
P= P+2
I = I+1
Estructura FORTO DO
INICIO
N
N
P=1
I=1
P=1
I = 1; N = 1
P=p+2
FIN
I=I+1
P = P+ 2
I >N
FIN
30.- Realizar un diagrama de flujo que imprima los N primeros nmeros impares,
pero utilizando un solo contador. (Basndose en el ejercicio anterior se puede resolver
el nuevo ejercicio, tomando como parte del resultado que el contador que se use va ir de
uno en uno y para sacra los nmeros impares se debera multiplicar por 2 y se tendra 2,
4, 6, etc. Y de ah a cada valor se debera restar uno y se tendra 1, 3, 5, etc.)
INICIO
N
I=1
I<N
SI
A = 2+I
I = I+1
FIN
A
INICIO
INICIO
N
N
I=1
I = 1; N = 1
A=I+2
A=I*2
I=I+1
A
A
FIN
I >N
FIN
31.- Realizar un diagrama de flujo que imprima cada uno de los trminos de la
siguiente serie. S = 2, 5, 8, 11, 14, .........., (3N-1).( Lo principal en las serie es fijarse en
la formula del ensimo trmino, ya que de ah va saliendo cada uno de los valores, por
ejemplo del ejercicio planteado, al tener (3N-1), si N se le reemplaza por el contador
que es I, el mismo que tomara valores de 1 hasta N, entonces cuando I vale uno en la
formula se cambiara ( 3*1-1= 2), cuando sea I=2 (3*2-1=5), si I=3, (3*3-1=8), de esta
manera, se obtiene todos los valores. En el diagrama de flujo cuando toque el punto de
calcular el termino solamente se pone 3*I-1).
INICIO
INICIO
I=1
I=1; N; 1
I<N
NO
FIN
T=3*I-1
SI
T = 3*I-1
I=I+1
FIN
T
INICIO
N
I=1
T = 3*I-1
I=I+1
NO
I>N
SI
FIN
ENESIMO =
TERMINO
VALOR DEL
POSICION
INTERVALO * DEL
ENTRE DOS
TERMINO
VALORES
CONSECUTIVOS
VALOR DEL
VALOR
PRIMER
- DEL
TERMINO
INTERVALO
Se debe aclarar que la formula trabaja solamente para calcular el valor y no el signo del
trmino.
32.- Imprimir cada uno de los trminos de la serie S = 2, 9, 16, 2 ................ (7N - 5)
INICIO
N
I=1
I<N
NO
FIN
SI
T = 7*I-5
I=I+1
En este ejemplo se puede notar que tiene la misma solucin del anterior con la
diferencia de la formula del ensimo trmino, por lo que cuando se trate de una serie,
sed tomara el diagrama anterior como plantilla.
32.- Imprimir cada uno de los trminos de la siguiente serie S = 2, -4, 6, -8, 10,
-12, ......... (2N). ( La diferencia con el ejercicio anterior es de que los trminos van con
un signo intercalado de positivo a negativo, existiendo diferentes maneras de resolver,
viendo a continuacin los siguientes. En este caso se utiliza un identificador cualquiera
asignado aqu con el nombre SIG, que debe empezar en el valor de 1, por que una
cantidad multiplicado por 1 da la misma cantidad, entonces no cambia de valor, lo que
interesa es cambiar el signo, para lo cual si el primer trmino es negativo el
INICIO
INICIO
Sig = 1
I=1
Sig = 1
R = (2*1)*Sig
Sig = Sig(-1)
I = I+1
I = 1; N;1
T = (2*1) * Sig
Sig = Sig(-1)
NO
I>N
SI
SI
FIN
FIN
INICIO
N
I=1
I<N
SI
T = (2*I)*(-1)(i+1)
I=I+1
FIN
T
33.- Realizar un diagrama de flujo que de un curso de n estudiantes lea una nota
por cada uno suponiendo que las notas va de 0 a 20 se desea encontrar la mayor
nota obtenida en el curso.(Para este ejercicio donde existe un rango de valores como
datos que se va a ingresar se debe considerar que se debe iniciar una variable en algn
valor para tener con que comparar el primer dato ingresado, ahora con que valor se
compara el primer dato?, si esta pidiendo el mayor valor ingresado, se deber comparar
con el menor valor del rango de datos dados, y en el otro caso viceversa).
INICIO
N
MAY = 0
I=1
I<N
NOTA
MAY
NOTA>MA
Y
FIN
MAY = SI
NOTA
I=I+1
INICIO
INICIO
N
MAY = 0
MAY = 0
I=1
I = 1; N; 1
NOTA
NOTA
NOTA>M
AY
MAY = NOTA
NOTA>M
AY
MAY = NOTA
I >N
MAY
FIN
MAY
FIN
Si se quisiera calcular la nota menor los cambios sera, en la variable may no empezar
en cero sino en 20, y cambiar el signo de la bifurcacin en vez de NOTA > MAY, ira
NOTA <MAY, incluso si se desea cambiar el identificador MAY por MEN.
34.- Realice un diagrama de flujo que lea N valores diferentes que pueden ser solo
positivos, o solo negativos o combinados, y calcule cual es el valor mayor ingresado.
(En el presente caso no tiene un rango de valores en el cual va ser ingresado los datos
como en el caso anterior, el problema se presenta cuando el primer dato ingresado con
que valor se va ha comparar sino no hay rangos, entonces lo mas factible ser comparar
el primer valor con si mismo, ahora cuando es el primer valor ingresado?, cuando el
contador utilizado sea igual a uno, que va ser una sola vez).
INICIO
N
I=1
SI
I<N
NO
MAY
X
NO
I=1
SI
MAY = X
FIN
NO
X >MAY
SI
MAY = X
I=I+1
Este ejercicio puede funcionar tambin para calcular el menor elemento ledo,
solamente cambiando el signo de la segunda bifurcacin.
El ejercicio No. 33 puede ser resuelto con el diagrama No.34, lo que no ocurre con el
ejercicio 34, no se puede resolver con el diagrama No.33.
I=1
MAY = X
X > MAY
MAY = X
I=I+1
I >N
MAY
FIN
C=0
SI
X<>0
C=C+1
X = X DIV IO
FIN
INICIO
X
C=0
C=C+1
X = X DIV 10
X<>0
FIN
AA>AN
E = AA - AN
FIN
(X>0) AND
( ENT( X)= X)
SI
P=1
I = 1; X;1
P=P*I
FIN
NO
INICIO
INICIO
X > 0 AND
ENT X = X
X>0
AND ENT X =
X
NO
SI
I=1
P=1
P = P*I
I=I+1
I=1
P=1
I<X
NO
I>X
SI
P = P*I
I=I+1
P
FIN
FIN
Se puede notar en el ejercicio anterior que esta resuelto de las tres formas de repeticin,
pero la parte del control se notara que no cambia en nada, sino solo la parte del proceso
mismo.
38.- Realizar un diagrama de flujo que lea 2 nmeros enteros positivos, para
obtener el resultado de multiplicar dichos 2 valores, pero realizando procesos de
sumas solamente.
INICIO
A,B
(A>0) AND
(A>B) AND
(ENT
A=A)AND
ENT B = B
I=1
S=0
I<A
NO
SI
S=S+B
I=I+1
FIN
INICIO
A,B
(A>0) AND
(A>B) AND
(ENT
A=A)AND
(ENT B = B)
I=1
S=O
INICIO
A,B
S=S+B
I=I+1
I >A
(A>0) AND
(A>B) AND
(ENT A=A)
AND
(ENT B = B)
SI
S=0
FIN
I = 1; A;1
S=S+B
FIN
ARREGLOS
A diferencia de una variable simple en donde puede tomar varios valores, pero que
queda almacenada 1 y que es el ltimo ingresado, en un arreglo de igual manera se
puede ingresar muchos valore que se almacenan uno a continuacin de otro en
posiciones no iguales, de esta manera permite ubicar en cualquier momento un dato.
Los arreglos se dividen en: UNIDIMENSIONALES, BIDIMENSIONALES
ARREGLO UNIDIMENSIONAL.- Tambin conocido como vector, almacena la
informacin ingresada en orden de 1 en 1, se representa por una tabla que se divide en
dos. La primera parte representa a la posicin del elemento dentro del vector. La
segunda parte indica el contenido de cada uno de los elementos del vector,
Horizontalmente se divide en N partes o en N elementos que contienen el vector, los
elementos o datos de un vector deben ser del mismo tipo. Solo nmericos, o solo
alfanumericos. A s
Posicin Contenidos
1
2
.
.
N
Casa
50
A5
Ejemplo
Elemento
Para identificar un vector se usa al igual que las variables un carcter o un conjunto de
caracteres y a continuacin encerrados entre parntesis un subndice que por lo general
es el contador que se utiliza en el diagrama, ya que recorre desde la primera posicin
hasta la ltima posicin del vector, notando con esto que para cualquier proceso
(lectura, escritura o instruccin se utilizar por lo menos una estructura de repeticin
para que realice el recorrido).
Nombre (Subndice)
V (I)
V (I)
Arreglo
X
Variable simple
Se estara leyendo el vector V en las posiciones I. Se debe indicar que todos los
ejercicios resueltos hasta este punto o sin utilizar vectores, se los puede resolver y de
una manera ms fcil, utilizando vectores.
LECTURA Y ESCRITURA DE UN VECTOR
Como se dijo anteriormente para todo proceso con vectores se necesita una estructura de
repeticin y adems se debe conocer el Nmero de elementos o la dimensin del vector
aunque no es necesario lo ltimo. Ej.
INICIO
INICIO
N
N
I=1
I=1
V(I)
I<N
V(I)
I=I+1
NO
I=1
I=I+1
I<N
I=1
I<N
V(I)
V(I)
I=I+1
FIN
I=I+1
NO
I<N
FIN
INICIO
INICIO
N
N
I = 1, N , 1
I = 1, N , 1
V(I)
V(I)
I = 1, N , 1
K = 1, N ,
1
V(I)
V(K)
FIN
FIN
En los subndices de los vectores cuando en la lectura se lee cada uno de los elementos
sobre la base de un contador, en algn otro proceso como puede ser la escritura de cada
uno de los elementos, tambin no es necesario trabajar con el mismo subndice de la
lectura sino con otro como indica el formato anterior, en la primera resolucin tanto en
la lectura como en la escritura se utiliza el subndice I, mientras que en la segunda
resolucin en la lectura se lee con el subndice I, en la escritura se utiliza el subndice K,
esto no significa que se hable de otro vector, es el mismo, sera otro vector cuando en
vez de el nombre V, se encuentre otro nombre.
INICIO
INICIO
N
N
I=1
S=0
I=1
S=0
V(I)
I<N
V(I)
I=I+1
NO
I=1
I=I+1
I<N
I=1
I<N
S=S+V(I)
I=I+1
S
S=S +V(I)
I=I+1
FIN
NO
I<N
FIN
2 FORMA
INICIO
S=0
I = 1, N , 1
V(I)
INICIO
N
S=0
I = 1, N , 1
V(I)
S=S+V(I)
I = 1, N , 1
S=S+V(I)
V(K)
S
FIN
FIN
INICIO
N
I = 1; N; 1
V(I)
MAY = V( 1 )
I=1,N,1
NO
V(I)>MA
Y
SI
MAY = V(I)
MAY
FIN
En el ejercicio que se acaba de presentar se debe notar lo siguiente, primero se lee todos
los elementos del vector, seguido a una variable auxiliar en este caso MAY, se le asigna
la primera posicin del vector, por el hecho de que un vector para ser un arreglo, debe
tener por lo menos un elemento, el mismo que estar en la primera posicin, y por
ltimo se compara todos los elementos.
INICIO
N
I = 1, N , 1
V(I)
I=1
MAY = V( I )
V(I)
>MAY
MAY = V( I )
MAY
FIN
41.- Realizar un D.F que lea 2 vectores de igual dimensin en los cuales, primer
vector se ingresa el nombre de cada uno de los estudiantes del curso y en el
segundo una nota por cada estudiante. Se desea encontrar cual es la nota mayor y
a quien pertenece. (El presente ejercicio trae consigo algunas instrucciones nuevas
como son: un vector ya no numrico sino alfanumrico, as tambin como leer ms de
un vector, de otra parte el ejercicio de encontrar el mayor valor de un grupo de nmeros
ledos ya se resolvi en el ejercicio No 40)
INICIO
INOTANOMB1
2
3
16
18
17Luis
Mara
Vero
N
I = 1, N , 1
NOTA( I
)
NOM$
(I)
I=1
MAY = NOTA( I )
PER$ = NOM$ (I )
NOTA(I)>MA
Y
MAY = NOTA( I )
PER$ =NOMB$(I)
MAY,
PER$
FIN
SEGUNDA FORMA
Inicio
Inicio
N1 X1 P
N1 X1 P
NO
NO
(P>1) AND
(P < N)
(P>1)AN
D
(P< N)
I = 1;N;1
I = 1;N;1
V (I)
V (I)
V(N+1) = V (P)
V (P) = x
I = 1;N
-1;1
V (I+1) = V(I)
I = 1;N +
1;1
V(P) = X
V(J)
I = 1;N+1;1
V (I)
FIN
FIN
Inicio
I
1
2
3
4
I = 1;N;1
V (I)
I = 1;N;1
si
V(I) <0
J=I;N-1;1
V (J) = V (J+1)
N = N-1
I = I -1
FIN
6
-4
+2
10
44. Realizar un diagrama de flujo que ordene un vector. (El siguiente ejemplo es la
base para cualquier ordenamiento y con cualquier tipo de datos, no se especifica
en que orden se desea ordenar por que simplemente sino as de esa manera la
solucin es cambiar solamente el signo de la condicin y ya se tiene ordenado de
la otra manera.)
Inicio
I = 1;N;1
V (I)
I=1;N;1
J= I+1;N;1
NO
si
V(I) >V(J)
AUX = V(I)
V(I) = V(J)
V(J) = AUX
I=1;N;1
V (I)
FIN
45.- Realizar un D.F que un vector que sea un vector que lea el elemento mayor y
menor. (Se demuestra que no necesariamente se realiza un diagrama para encontrar el
mayor y menor elemento de un vector, con el diagrama anterior del ordenamiento, como
ya todos los elementos estn en orden, se supone que el primer elemento esta el primera
posicin y el mayor elemento el la ltima posicin, o viceversa.
Inicio
I = 1;N;1
V (I)
I=1;N;1
J= I+1;N;1
NO
si
V(I) >V(J)
AUX = V(I)
V(I) = V(J)
V(J) = AUX
V(1)
V(N)
FIN
I
1
2
3
NOM
NOTA
B
C
A
16
17
18
I = 1;N;1
NOTA(I), NOM$(I)
I=1;N;1
J= I+1;N;1
NOM$(I) >NOM$(J)
A$ = NOM$(J)
NOM$ (J) = NV$(J)
NOM$(J)=A$
B=NOTA(I)
NOTA(I)=NOTA(J)
NOTA(J)=B
I=1;N;1
NOM$(I)
NOTA$(I)
FIN
1.1
1.2
1.3
1.4
2.1
3.1
Para identificar a una matriz se utiliza el nombre de la matriz encerrado entre parntesis
el subndice de la fila y el subndice de la columna.
La dimensin de una matriz viene dada por l numero de filas y por l numero de
columnas N*M
De igual forma cuando el numero de filas es igual al numero de columnas se dice que la
matriz es cuadrtica
Ejemplos:
Leer una matriz de orden NxM y calcule cual es el elemento mayor de cada fila.
INICIO
N,M
I=1,N,1
J=1,M,1
A[I,J]
I=1,N,1
MAY= A[I,1]
J=1,M,1
A[I,J]>MAY
MAY= A[I,J]
MAY
FIN
INICIO
X=SQRT(N)
ENT(X)=X
C=1
I=1,X,1
J=1,X,1
A[I,J]=V[C]
C=C+1
I=1,X,1
J=1,X,1
A[I,J]
FIN
INICIO
N,M
I=1,N,1
J=1,M,1
A[I,J]
X=N*M
C=1
I=1,N,1
J=1,M,1
V[C]= A[I,J]
C=C+1
I=1,X,1
V[I]
FIN
Realizar un DF que lea una matriz cuadrtica y que intercambie sus valores de la
siguiente manera
- El primero con el ltimo el segundo con el penltimo, siguiendo el mismo orden
hasta terminar de intercambiar la matriz
INICIO
X=SQR(N)
ENT (X)=X
I=1,X,1
J=1,X,1
A[I,J]
I=1,X,1
J=1,X,1
AUX=A[I,J]
A[I,J]=A[(X+1-I),(X+1-J)]
A[(X+1-I),(X+1-J)]=AUX
I=1,X,1
J=1,X,1
A[I,J]
FIN
di