Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORMATICA
La información es el elemento a tratar y se define como todo aquello que permite adquirir
cualquier tipo de conocimiento, por tanto existirá información cuando se da a conocer algo
que se desconoce para que se trate la información es necesario transmitirla y para que exista
la transmisión es necesario tres elementos:
EMISOR O RECEPTOR O
CANAL
RECEPTOR EMISOR
Trasmisión de la información
RECOGIDA DE DATOS
ENTRADA DEPURACION DE DATOS
ALMACENAMIENTO
TRATAMIENTO
DE LA ARITMETICO
PROCESO Y/O LÓGICO
INFORMACIÓN
DATOS
EJECUCION EJECUCION
PROGRAMA PROGRAMA PROGRAMA PROGRAMA
FUENTE COMPILADO OBJETO OBJETO
LENGUAJE
PROGRAMADOR MAQUINA
LENGUAJE COMPUTADOR
RESULTADO
LLL
NATURAL
ALGORITMOS
“Las computadoras hacen lo que se les indica que hagan, que no siempre es
necesariamente lo que el usuario quiere que haga”
TIPOS DE DATOS.-
Según 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:
ENTEROS
NUMERICOS 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
INDICAN REALES
CANTIDAD
CHART un caracter
ALFABETICOS A, b, c, d,
TIPO ALFANUMERICOS STRING uno o
DE NUMERICOS
DATOS INDICAN
varios caracteres
0, 1, 2, 3, 4, 5, 6,.......
POSICION
IDENTIFICADORES.-
Ejemplo es o no un
identificador.
A – si
A5 – si
5A – no
6 – no
Ejemplo - si
Ejemplo-2 - si
OPERACIÓN DE ASIGNACION.-
VARIABLE.-
Es un identificador que parte al inicio del programa con un valor mientras se ejecuta el
programa hasta finalizarlo, va tomando varios valores, almacenando en él ultimo valor Ej.
C=A+B
C=C*B
C=C/A
C en la primera instrucción tomaría el valor de 5, en la segunda el valor de 8 y por ultimo
el valor de C quedaría en 4.
CONSTANTE.-
OPERACIÓN DE ACUMULACION.-
Ejemplo
Acu = 0
Acu = Acu + 3
En la primera ejecución se deberá sumar 0 + 3 y el valor nuevo del acumulador será 3, en
una segunda ejecución el valor nuevo pasa a ser el valor actual del acumulador y sumado
3, el valor nuevo del acumulador será 6, y de esta forma se repite todo el proceso hasta que
cumpla una cierta condición.
CONTADOR.-
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.
CLASES DE OPERACIONES.-
Dependiendo de los datos que se tenga se puede realizar diferentes tipos de operación, se
puede considerar entre las operaciones básicas las siguientes.
+
ARITMETICAS
-
*
/
AND
LOGICAS NOR
OPERADORES
NOT
=
<
RELACION
>
<>
OPERADORES ARITMETICOS.-
Generalmente trabaja con los datos numéricos que son los únicos con los que se realizan
operaciones. Los Operadores Aritméticos más usados como base para las operaciones, son
la suma, resta, multiplicación, división que unidas con los diferentes datos numéricos se los
representa así
NOTA : Para la división de solo valores enteros y para tener un resultado entero se utiliza
dos funciones de biblioteca que son: DIV y MOD; cada una tiene su cualidad en el
momento de operar.
Operador 1 operador 2
Residuo cociente
124 DIV 6 = 20
124 MOD 6 = 4
E=7 D=4
JERARQUÍA DE LAS OPERACIONES
Cuando hay más de una operación, una a continuación de la otra que tenga
la misma jerarquía, se opera de izquierda a derecha.
S = 2+5/2.5+(7 (2+3*8/6-4) (7-3)/2
S = 2405
OPERADORES LOGICOS.-
Este tipo de operadores permiten realizar por medio de un bloque de condición varias
preguntas, utilizando cualquier tipo de datos. Como operadores bases entre los lógicos se
tiene el operador AND (Y), que escogerá como condición verdadera si todas las preguntas
son verdaderas, si por lo menos una es falsa ira por la opción falsa. El otro es el operador
OR, que tiene un concepto contrario al anterior, es decir opta por la condición como
verdadera si por lo menos una de las varias preguntas es verdadera, y es la condición falsa
cuando todas las condiciones son falsas. Mientras que el operador lógico NOT niega lo que
es verdadero y viceversa.
Al igual que los otros tipos de operadores los de comparación tienen operadores bases
como son: > (mayor que), < (menor que), él = (igual que).
CLASES DE ALGORITMOS.-
CUALITATIVOS.- Describen cada uno de los eventos que se realizan para llegar a la
solución, y como su nombre lo dice usando las cualidades de cada evento para lo cual se
utiliza las palabras propias de quien los resuelve.
En ambos casos cada uno de los pasos debe ir enumerados. De igual manera un mismo
problema se puede resolver con las dos clases de algoritmos, debiéndose indicar que de los
dos tipos nombrados anteriormente él más importante es el algoritmo cuantitativo, sin
desmerecer al algoritmo cualitativo se utilizara en algunos ejercicios.
1. Realizar un algoritmo que indique cuantos minutos existen en una cantidad x leída
en horas para minutos.
CUALITATIVO.- CUANTITATIVO.-
1. Inicio 1. Inicio
2. Leer el número de horas. 2. Leer x
3. Multiplicar número de horas por 60 3. R = x * 60
minutos.
4. Imprimir el resultado. 4. Imprimir R
5. Fin 5. fin
CUALITATIVO 5. Fin
1. Inicio
2. Leer la altura y la base
3. Multiplicar altura por base y dividir
para dos.
4. Imprimir el resultado.
5. Fin
CUANTITATIVO
1. Inicio
2. Leer (b y h)
3. A = (b * h)/2
4. Imprimir A
Cuando en algún ejercicio se debe tomar una de varias alternativas como solución, se
deberá usar una estructura de condición la que permitirá seleccionar uno de dos o más
caminos existentes, con diferentes soluciones cada uno, para lo cual se toma el
siguiente esquema:
CONDICION
PROCESO SI NO PROCESO SI
CUMPLE LA CUMPLE LA
CONDICION CONDICION
( S.N ) = (SI NO) ( S.S. ) = (SI SI )
1. Inicio
2. Leer X
3. C = X MOD 2
4. Si C = 0 entonces
SS. ir a 5
SN. Ir a 7
5. Imprimir (X “es un numero par”)
10
6. Ir a 9.
7. Imprimir (X “es un numero impar”)
8. Ir a 9.
9. Fin.
1. Inicio
2. Leer X
3. Si X mod 2 = 0 entonces
SS. ir a 5
SN. Ir a 7
4. Imprimir (X “es un numero par”)
5. Ir a 9.
6. Imprimir (X “es un numero impar”).
7. Fin
1. Inicio
2. Leer AN y AA
3. Si AA >= AN entonces
SS. ir a 4
SN ir a 7.
4. E = AA – AN
5. 6.- Imprimir( “La edad que tiene es”, E)
6. Ir a 8
7. Imprimir (“Datos mal ingresados”)
8. Fin
11
1. Inicio
2. Leer AN y AA
3. E = AA – AN
4. Si E >= 0 entonces
SS. ir a 5
SN ir a 7
5. Imprimir( “La edad que tiene es”, E)
6. Ir a 8
7. Imprimir (“Datos mal ingresados”)
8. Fin
De la misma forma el momento de imprimir los resultados se debe tomar en cuenta que
existe una parte encerrada entre comillas y otra no, la primera parte significa que la
información que este encerrada entre comillas sé imprimirá textualmente es decir sirve
para imprimir mensajes textuales. Mientras que lo que no se encuentra encerrado entre
comillas, son identificadores en donde están almacenados resultados que se han
calculado por lo tanto cuando se ejecute en una computadora no se vera ningún
identificador sino un valor.
Así por ejemplo si se tiene IMPRIMIR (A, “ es el resultado”)y si A tiene un valor de 26,
una vez ejecutado en la máquina se tendrá como resultado 26 es el resultado.
1. Inicio 1. Inicio
2. Leer (x, y) 2. Lectura de los dos datos
3. Si x>= y entonces 3. Se pregunta si el primer datos es mayor o
SS. ir a 4 igual al segundo, en el caso de que diga si
SN. ir a 9 se tiene dos alternativas que sea mayor o
4. Si x > y entonces solamente igual, por lo que se pregunta
SS. ir a 5 por una de las dos (paso 4) y según se la
SN. ir a 7 condición la una podrá ser mayor y la otra
5. Imprimir (x,” mayor que ” y) igual.
6. Ir a 10 9. En el caso de que en la primera condición
7. Imprimir (x,” igual que ” y) no cumpla entonces como se pregunto si
8. Ir a 10 era mayor o igual y como dice no,
9. Imprimir (x,” menor que ” y) entonces lo que quedará como resultado
10. Fin es que el primero es menor que el segundo
12
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 repetición.
1. Inicio.
1. Inicio. 2. Leer la cantidad de valores pares que se va a
2. Leer (N) imprimir
3. I=1 3. Se inicia el contador I en 1 para que indique en
4. J=2 que posición de número se esta trabajando
5. Mientras I =< N repetir 4. Se inicia el contador J en dos por que es el
SS. Ir a 6 identificador que va ir tomando los valores pares
SN. ir a 10 5. Se repite el proceso mientras el contador sea <=
6. Imprimir J N
7. I = I + 1 6. Imprime el valor par que corresponda
8. J = J + 2 7. Incrementa el contador I en uno para la siguiente
posición
8. Incrementa el contador J en dos para el siguiente
valor par. 13
9. Regresa a preguntar.
10. Fin
Downloaded by andres achote (cristian18.andres.ap@gmail.com)
lOMoARcPSD|20159660
9. Ir a 5
10. Fin
8. - Realizar un algoritmo que sume los N primeros números pares (Al ejercicio
anterior se tiene que aumentarse dos pasos, el ( 4 ) que es el dar un valor inicial al
acumulador, asi como también el paso ( 7 ) que realiza la sumatoria de los números
pares. Y por último el paso ( 11 ) que se encuentra fuera del bloque de repetición por lo
que se va ha ejecutar una sola vez, ya que como pide el resultado de la sumatoria es uno
solo.
1. Inicio
2. Leer (N)
3. I=1
4. S=0
5. J=2
6. Mientras I=<N repetir
SS. Ir a 7
SN. Ir a 11
7. S=S+J
8. I=I+1
9. J=J+2
10. Ir a 6
11. Imprimir S
12. Fin.
1. Inicio
2. Leer (N)
3. I=1
4. S=0
5. Mientras I=<N repetir
SS. Ir a 7
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.
14
1. Inicio
2. Leer (N)
3. I=1
4. CP=0
5. CN=0
6. Mientras I=<N repetir
SS. ir a 7
SN. Ir a
7. Leer X
8. Si X>=0 entonces
SS. Ir a 9
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 dígitos tiene un número que se
supone que es entero positivo (Para la resolución tomando en cuenta que el número ya
es entero positivo, la forma mas práctica es ir dividiendo para 10 ya que de esta forma
se va separando los dígitos y para el resultado se suma la cantidad de divisiones
realizadas.)
1. Inicio
2. Leer (X)
3. C=0
4. Mientras x<>0 Repetir
4. 1 X=X DIV 10
4. 2 C=C+1
4. 3 Ir a 4
5. Imprimir C
15
6. Fin
PROGRAMACION ESTRUCTURADA
Conocida como programación modular ya que las instrucciones se ejecutan una tras de
otra y de la misma manera será más conveniente realizar cualquier modificación.
Entendiendo por modificación añadir, quitar, o cambiar algún bloque de proceso.
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 también una estructura puede estar a continuación de otra.
ESTRUCTURA
SECUENCIAL
ESTRUCTURA DE B. SIMPLE
CLASIFICACION BIFULCACION O B. ANIDADA
ESTRUCTURAS CONDICION B. COMPUESTA
B. MULTIPLE
16
DIAGRAMAS DE FLUJO.
17
ESTRUCTURA SECUENCIAL
Bloque 1 INICIO
Bloque 2 LECTURA DE
DATOS
Bloque 3 PROCESO
Bloque 4 SALIDA DE
DATOS
Bloque 5
FIN
1. - Inicio INICIO e t V
B1 20 5 4
2. - Leer (e, t) e, t B2
V= e B3
3. - V= e / t t
B4
4. - Imprimir ( V ) V
B5
FIN
5. - fin
18
12. - Realizar en diagrama de flujo que transforme una cantidad X dada en horas
a minutos. ( Como guía el presente ejercicio ya se resolvió como algoritmo en el
ejercicio No. 1)
INICIO h m
1 60
3 180
h
m= h*60
FIN
INICIO INICIO
A B C D E
3 2 5 4 20 A B C D E
A, B A,B,D 4 6 10 2 20
C = A+B
C=A+B
E=C*D
C
D C, E
E=D*C
FIN
E
FIN
19
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
aritméticas. 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, perdiéndose 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
INICIO INICIO A B C
A B 3 2 3
3 6 2 3
9 3 A,B A,B
6
A = A+B C=A
B = A-B A=B
A = A-B B=C
A,B A,B
FIN FIN
ESTRUCTURA DE BIFURCACIÓN
1.- El primer formato es cuando tanto por el camino que cumple y no cumple la
condición, existe un proceso diferente, ademas cumple que tiene una sola entrada y una
sola salida.
20
NO SI
CONDICI. Si cumple la condición
IF< condición > Then
PROCESO 2 PROCESO 2
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 condición realiza un proceso, caso contrario existe el camino de salida
pero sin ningún proceso, de la misma manera cumple la regla de una sola entrada y una
sola salida.
NO SI
CONDIC Si cumple <condición> entonces
IÓN IF<coNDICIÓN> THEN
Proceso.
PROCESO
3.- El tercer formato es especial ya que se presenta en algunos casos, a pesar de que en
algunos lenguajes de programación no existe su codificación ya que no permite que
exista un proceso cuando la condición no cumple sin antes exista un proceso cuando la
condición cumple, por lo que en el presente texto también se lo elimina, pero dando dos
soluciones:
NO SI SOLUCIÓN
CONDIC
IÓN CONDICIÓN COMPLEMENTO
PROCESO NO = ≠ ó <>
< < ó <=
EXISTE
> > ó =>
21
INICIO
INICIO
N
6 Positivo N
N - 10 negativo
NO SI
NO SI N<0
N>0
N, positivo N, negativo
N,negativ N, positivo
o
FIN
FIN
INICIO
N
N 3 Impar
8 Par
R = N mod 2
SI NO
R=0
N”Impar” N”par”
FIN
22
INICIO INICIO
X N
R = X mod 2 R = X mod 2
NO R=0 SI R=0
X = X+1 X = X+1 X
X
X
FIN
FIN
23
El primer caso sería el no valido para lo cual se daría la solución 2 donde se crea un
proceso, en este caso se divide un proceso que sería en vez de que se imprima en una
parte general se imprima parcialmente en cada alternativa de la condición con lo que
estaría resulto en el segundo caso. O como el tercer caso donde se utiliza la primera
solución utilizando la operación complementaria en la condición que seria del operador
igual, el complemento el operador diferente.
INICIO
R = X mod 2
SI
R<>0
X = X+1
FIN
24
BIFURCACIÓN ANIDADA
E1
no
si
CONDICI
ÓN 1
E4
PROCESO 1
NO SI
E2
CONDICI
ÓN 4 NO SI
CONDICI
PROCESO 5 ÓN 2 E3
NO SI
CONDICI
PROCESO 4 ÓN 3
S4
PROCESO 3 PROCESO 2
S2
S1
S3
25
Se puede notar en el ejercicio anterior que cada entrada tiene su salida, de la misma
manera la condición uno contiene a la condición 2 y 4, mientras que la condición 2
contiene a la condición3.
18.- Realizar un diagrama de flujo que calcule el mayor valor de tres números
leídos (no se considera para este ejercicio los números iguales en vista de que pide
solamente el mayor valor).
INICIO
A,B,C
SI
A>B
SI SI
B>C A>C
FIN
26
INICIO A B C D
3 2 5 4
2 3 5 4
A,B,C
SI
A>B
SI SI
NO
B>C A>C
B>D
NO
SI
C>D A>D
C>D
D C D B D C D A
mayor mayor mayor mayor mayor mayor mayor mayor
FIN
El ejercicio anterior para encontrar el número mayor de 4 números usa demasiadas
condiciones, no se diga si se pidiera el mayor de 5 o 6 números se debería utilizar de 15
a 30 condiciones, que sería ya exagerado, mucho cuidado no mal sino que se debe
resolver de una manera que no ocupe mucha memoria en la computadora ni que
tampoco se demore mucho el programa en su ejecución. Para solucionar este problema
se deberá usar una técnica de SOBREPOSICION DE VALORES.
SOBREPOSICION DE VALORES.- El proceso consiste en utilizar o las mismas
variables de lectura u otras variables auxiliares, la finalidad es la de en una condición
sin importar por que alternativa opte, el resultado parcial hasta el total ir asignando a
una misma variable o identificador, además la bifurcación con sobreposición de valores
significa utilizar la misma bifurcación simple o anidada.
INICIO
A,B,C
A>B
May = B May = A
C > May
May = C
27
May
Downloaded by andres achote (cristian18.andres.ap@gmail.com)
lOMoARcPSD|20159660
INICIO
A>B
May = B May = A
C > May
May = C
D > May
May = D
May
FIN
28
BIFURCACION COMPUESTA
(Bifurcación simple)
INICIO
NO SI
X>0
NO SI
X = ENT (X)
“No”
“No”
“Si”
FIN
(Bifurcación compuesta)
INICIO
X > 0 AND
X= ENT (X) SI
“No” “Si”
29
23.- Realizar un diagrama de flujo que lea un número entre 1 y 999, para formar
un nuevo número donde los dígitos se encuentren del último al primero.(
Primeramente se debe controlar que el número sea mayor a 0 y menor a 1000, es decir
máximo de tres dígitos y a la vez entero. Para separar los dígitos se divide el número
para 10 usando las funciones de biblioteca y los resultados se van almacenando de
acuerdo a la posición de donde se encuentra el dígito, entre Unidad, Decena y Centena,
existiendo una variable Auxiliar. Una vez separado los dígitos, 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 > 0) AND
SI
(X<1000) AND
(ENT(X)= X)
No
U = X MOD 10
cumple
A = X DIV 10
C = A MOD 10
D = A MOD 10
S = (U*100)+(D*10)+C
FIN
INICIO
INICIO
X
X
X MOD 5 = 0 M = X MOD 5
AND SI
P = X MOD 2
X MOD = O
“No “Si
Cumple” Cumple” M=0
and
P=0 30
“No” “Si”
Downloaded by andres achote (cristian18.andres.ap@gmail.com)
lOMoARcPSD|20159660
BIFURCACIÓN MULTIPLE
También conocida como estructura tipo CASE o MENU, se fundamenta en los formatos
de la bifurcación simple, anidada teniendo como características que por medio de una
condición que se ejecuta automáticamente permite seleccionar uno de varios caminos
posibles, cada uno de estos contiene un proceso diferente. Así también como otra
característica 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
opción
Seleccionada
OPCION = ?
1 2 ELSE
3 N
4 5
El formato anterior presenta una estructura de bifurcación múltiple con varios caminos,
el funcionamiento consiste en que una vez leída la opción seleccionada, el lenguaje de
programación va buscando de camino en camino en orden, cual es la opción
seleccionada, si no encuentra entonces opta por irse por un camino else (sino), donde se
puede enviar un mensaje indicando que la opción seleccionada no existe.
25.- Realizar un diagrama de flujo que calcule individualmente cada uno de los
parámetros del Movimiento rectilíneo uniforme. ( Los parámetros 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 continuación se lee el numeral o literal que preceda al
proceso a ejecuta, por medio de la condición y en una forma automática se selecciona la
alternativa y procede a ejecutarse. Ejecuta una sola de las tantas opciones existentes).
31
INICIO
1. Espa
2. Veco
3. Tiem
OP
1
OP=? NO
2 3
V.T NO EXISTE
E.T V.E
E = V*T
V = E/T T = E/V
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 están representados por diferentes variables entonces también las impresiones
deben ser individuales.
26.- Realizar un diagrama de flujo que calcule el área de las siguientes figuras
geométricas: Cuadrado, rectángulo, triángulo 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 debería imprimir debajo de cada proceso, pero como en
el ejemplo se presenta en un mismo identificador, entonces se puede realizar una
impresión para todos los procesos.
32
INICIO
X=?
NO EXISTE
C B,H
B,H r
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 más dependiendo de la
región de donde provienen con las siguientes condiciones.
- Proviene del oriente gana un 40% más el sueldo básico
- Región insular 50%
- Costa 30%
- Sierra 20%
33
INICIO
1. R insular
2. R oriente
3. R costa
4. R sierra
OP;SB
OP = ?
NO EXISTE
SB + 50 SB + 40 SB + 30 SB + 20
ST=SB+ ST=SB+ ST=SB+ ST=SB
100 100 100 100
ST
FIN
En este caso es algo particular ya que al decir que el sueldo básico ( SB ) es igual para
todos los empleador, entonces no hace falta leer en cada alternativa sino uno solo antes
de la condición, 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
impresión
Se podría concluir diciendo que cada alternativa que existe en una bifurcación múltiple
es como tener un programa independiente.
34
Este tipo de estructura permite realizar varias veces un mismo proceso considerando
siempre el estado que presenta la condición que es la que permite repetir un proceso.
Por lo general una estructura de repetición contiene 4 parámetros fundamentales por lo
general pero no necesariamente. Estos parámetros son las siguientes.
Donde < condición > significa que puede realizarse cualquier condición o pregunta, en
tanto que < VI > quiere decir un valor inicial, y < VF > será reemplazado por valor
final. Los formatos de cada una de estas estructuras se estudiara a continuación ya que
tienen sus características propias:
ESTRUCTURA WILE < CONDICION > DO
CONDICIÓN SI
PROCESO
NO
Modificación
de uno de los 2
parámetros
35
Características.
PROCESO
Modificación
de uno de los 2
parámetros de
condición
NO
CONDICIÓN
SI
Características
EST. FOR < Valor Inicial > TO < Valor Final > DO
VI;VF; INCREMT.
PROCESO
36
Características.
INICIO N I IMPRIME
0 1
N 2 1 1
2 2
3
I=1
SI
I<N
NO “PRUEBA”
FIN
I = I=1
37
INICIO N I IMPRIME
0 1
2
N 2 1
2
3
I=1
“PRUEBA”
I = I=1
I>N NO
SI
FIN
INICIO N I IMPRIME
0 1
3 1
N 2
3
4
I = 1; N = 1
“PRUEBA”
FIN
Como se puede ver el mismo ejercicio se resuelve utilizando las tres estructuras de
repetición, pero no siempre se va a poder realizar esta tarea.
38
29.- Realizar un diagrama de flujo que imprima los N primeros números impares.
(El ejercicio se resolverá con las tres estructuras de repetición, además 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 sería, en vez de empezar en 2 el un contador ( P )
ahora empezar en uno por ser el primer número impar. )
INICIO
I=1
P=1
I<N
FIN
P= P+2
I = I+1
INICIO INICIO
N
N
P=1
I=1
P=1
I = 1; N = 1
P P
P=p+2 I=I+1
P = P+ 2
FIN I >N
39
30.- Realizar un diagrama de flujo que imprima los N primeros números impares,
pero utilizando un solo contador. (Basándose 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 números impares se debería multiplicar por 2 y se tendría 2,
4, 6, etc. Y de ahí a cada valor se debería restar uno y se tendría 1, 3, 5, etc.)
INICIO
I=1
I<N SI
A = 2+I
I = I+1
FIN
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
40
31.- Realizar un diagrama de flujo que imprima cada uno de los términos de la
siguiente serie. S = 2, 5, 8, 11, 14, .........., (3N-1).( Lo principal en las serie es fijarse en
la formula del enésimo término, 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 cambiaría ( 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
N N
I=1
I=1; N; 1
I<N SI T=3*I-1
T
NO T = 3*I-1
I=I+1
FIN
FIN
T
INICIO
I=1
T = 3*I-1
I=I+1
NO
I>N
SI
FIN
41
Se debe aclarar que la formula trabaja solamente para calcular el valor y no el signo del
término.
32.- Imprimir cada uno de los términos de la serie S = 2, 9, 16, 2 ................ (7N - 5)
INICIO
I=1
I<N SI
NO T = 7*I-5
I=I+1
FIN
En este ejemplo se puede notar que tiene la misma solución del anterior con la
diferencia de la formula del enésimo término, por lo que cuando se trate de una serie,
sed tomaría el diagrama anterior como plantilla.
32.- Imprimir cada uno de los términos de la siguiente serie S = 2, -4, 6, -8, 10, -12,
......... (2N). ( La diferencia con el ejercicio anterior es de que los términos van con un
signo intercalado de positivo a negativo, existiendo diferentes maneras de resolver,
viendo a continuación 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 término es negativo el
42
identificador SIG deberá empezar en –1, pero si el primer término es positivo deberá
comenzar en 1 positivo)
INICIO INICIO
N N
Sig = 1
I=1 Sig = 1
R = (2*1)*Sig I = 1; N;1
Sig = Sig(-1)
I = I+1
T T = (2*1) * Sig
Sig = Sig(-1)
NO
I>N T
SI SI
FIN FIN
INICIO
I=1
I<N SI
T = (2*I)*(-1)↑ (i+1)
I=I+1
FIN
T
43
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 algún
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
MAY = 0
I=1
I<N
NOTA
MAY
NOTA>MAY
FIN
MAY = SI
NOTA
I=I+1
44
INICIO INICIO
N 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
MAY
FIN FIN
Si se quisiera calcular la nota menor los cambios sería, en la variable may no empezar
en cero sino en 20, y cambiar el signo de la bifurcación en vez de NOTA > MAY, iría
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).
45
INICIO
I=1
I<N SI
NO
X
MAY
NO
I=1 SI
MAY = X
FIN
NO
X >MAY SI
MAY = X
I=I+1
Este ejercicio puede funcionar también para calcular el menor elemento leído,
solamente cambiando el signo de la segunda bifurcación.
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.
46
INICIO
I=1
I=1
MAY = X
X > MAY
MAY = X
I=I+1
I >N
MAY
FIN
47
INICIO
C=0
X<>0 SI
C=C+1
C
X = X DIV IO
FIN
INICIO
C=0
C=C+1
X = X DIV 10
X<>0
48
FIN
INICIO
AA; AN
AA>AN
E = AA - AN
FIN
49
INICIO
(X>0) AND ( NO
ENT( X)= X)
SI
P=1
I = 1; X;1
P=P*I
FIN
50
INICIO INICIO
X X
SI
I=1 I=1
P=1 P=1
P = P*I
I=I+1 I<X SI
P = P*I
I>X NO
I=I+1
P
P
FIN
FIN
Se puede notar en el ejercicio anterior que esta resuelto de las tres formas de repetición,
pero la parte del control se notara que no cambia en nada, sino solo la parte del proceso
mismo.
51
38.- Realizar un diagrama de flujo que lea 2 números 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 SI
NO S=S+B
I=I+1
S
FIN
52
INICIO
A,B
(A>0) AND
(A>B) AND
(ENT A=A)AND
(ENT B = B)
INICIO
I=1
S=O
A,B
S=S+B
I=I+1
(A>0) AND
(A>B) AND
I >A (ENT A=A) AND
(ENT B = B)
S
SI
S=0
FIN
I = 1; A;1
S=S+B
FIN
53
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 continuación de otro en
posiciones no iguales, de esta manera permite ubicar en cualquier momento un dato.
Los arreglos se dividen en: UNIDIMENSIONALES, BIDIMENSIONALES
Posición Contenidos
1 Casa
2 50
. A5
. Ejemplo
N Elemento
Para identificar un vector se usa al igual que las variables un carácter o un conjunto de
caracteres y a continuación encerrados entre paréntesis un subíndice que por lo general
es el contador que se utiliza en el diagrama, ya que recorre desde la primera posición
hasta la última posición del vector, notando con esto que para cualquier proceso
(lectura, escritura o instrucción se utilizará por lo menos una estructura de repetición
para que realice el recorrido).
Se estaría 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 más fácil, utilizando vectores.
Como se dijo anteriormente para todo proceso con vectores se necesita una estructura de
repetición y además se debe conocer el Número de elementos o la dimensión del vector
aunque no es necesario lo último. Ej.
54
INICIO
INICIO
N
N
I=1
I=1
V(I)
I<N
I=I+1
V(I)
NO
I<N
I=I+1
I=1
I=1
I<N
V(I)
V(I)
I=I+1
NO
FIN I=I+1
I<N
FIN
55
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 subíndices de los vectores cuando en la lectura se lee cada uno de los elementos
sobre la base de un contador, en algún otro proceso como puede ser la escritura de cada
uno de los elementos, también no es necesario trabajar con el mismo subíndice de la
lectura sino con otro como indica el formato anterior, en la primera resolución tanto en
la lectura como en la escritura se utiliza el subíndice I, mientras que en la segunda
resolución en la lectura se lee con el subíndice I, en la escritura se utiliza el subíndice K,
esto no significa que se hable de otro vector, es el mismo, sería otro vector cuando en
vez de el nombre V, se encuentre otro nombre.
56
INICIO
INICIO
N
N
I=1
I=1 S=0
S=0
V(I)
I<N
I=I+1
V(I)
NO
I<N
I=I+1
I=1
I=1
I<N
S=S+V(I)
I=I+1
S
NO
S=S +V(I) I<N
I=I+1
FIN
S
FIN
57
2 FORMA
INICIO INICIO
N N
S=0
S=0
I = 1, N , 1
I = 1, N , 1
V(I)
V(I)
S=S+V(I)
I = 1, N , 1
S=S+V(I)
V(K)
FIN
FIN
58
INICIO
I = 1; N; 1
V(I)
MAY = V( 1 )
I=1,N,1
NO V(I)>MAY 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 posición 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 posición, y por
último se compara todos los elementos.
59
INICIO
I = 1, N , 1
V(I)
I=1
MAY = V( I )
V(I) >MAY
MAY = V( I )
MAY
FIN
60
41.- Realizar un D.F que lea 2 vectores de igual dimensión 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 numérico sino alfanumérico, así también como leer más de
un vector, de otra parte el ejercicio de encontrar el mayor valor de un grupo de números
leídos ya se resolvió en el ejercicio No 40)
INICIO
I NOTA NOMB
1 16 Luis
N
2 18 María
3 17 Vero
I = 1, N , 1
NOTA( I )
NOM$( I )
I=1
MAY = NOTA( I )
PER$ = NOM$ (I )
NOTA(I)>MAY
MAY = NOTA( I )
PER$ =NOMB$(I)
MAY,
PER$
FIN
61
Inicio
Inicio
N1 X1 P
N1 X1 P
NO NO
(P>1) AND
(P < N)
(P>1)AND
(P< N)
I = 1;N;1
I = 1;N;1
V (I)
V (I)
V (I+1) = V(I)
I = 1;N + 1;1
V(P) = X
V(J)
I = 1;N+1;1
V (I)
FIN
62
Inicio V
I
1 6
2 -4
N 3 +2
4 10
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
63
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 solución es
cambiar solamente el signo de la condición 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
64
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 están en orden, se supone que el primer elemento esta el primera
posición y el mayor elemento el la última posición, 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)
65
FIN
Downloaded by andres achote (cristian18.andres.ap@gmail.com)
lOMoARcPSD|20159660
Inicio
I NOM NOTA
1 B 16
2 C 17
N
3 A 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)
66
2.1
3.1
Para identificar a una matriz se utiliza el nombre de la matriz encerrado entre paréntesis
el subíndice de la fila y el subíndice de la columna.
La dimensión 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 cuadrática
67
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
68
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
69
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
70
Realizar un DF que lea una matriz cuadrática y que intercambie sus valores de la
siguiente manera
- El primero con el último el segundo con el penúltimo, 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
71