1. Instrucción de Repetición: PARA. . . FIN_PARA
Ejecuta en forma repetitiva una acción, un número predeterminado de veces
Formato: PARA var_ind DESDE val_ini HASTA val_fin PASO incr HACER
acción
FIN_PARA
donde:
var_ind: variable tipo índice que controla el número de repeticiones.
!!! NO DEBE MODIFICARSE !!!
val_ini: valor desde el cual inicia la variable índice.
val_fin: valor hasta el cual llega a ser válida la variable índice.
incr: valor que incrementa la variable índice. Puede ser positivo o negativo.
cuando es +1 se puede omitir y también la palabra PASO
acción: Una o más instrucciones secuenciales, de decisión y/o de repetición
2. C++
for ( var_ind=val_ini ; cond_final ; incr)
sentencia;
PARA var_ind DESDE val_ini HASTA val_fin PASO incr HACER
acción
FIN_PARA
donde:
var_ind: variable tipo índice que controla el número de repeticiones.
val_ini: valor desde el cual inicia la variable índice.
cond_final: valor hasta el cual llega a ser válida la variable índice.
valor hasta el cual llega a ser válido para la variable índice.
incr: valor que incrementa la variable índice. Puede ser positivo o negativo.
cuando es +1 se puede omitir y también la palabra PASO
acción: Una o más instrucciones secuenciales, de decisión y/o de repetición
3. Escribir un algoritmo para obtener los 10 primeros números naturales
Con la instrucción MIENTRAS 1 2 3 4 . . . 10
variables ENTERAS: natural
natural ← 1
MIENTRAS natural <= 10 HACER
ESCRIBIR: natural
natural ← natural + 1
FIN_MIENTRAS
Con la instrucción PARA
PARA natural DESDE 1 HASTA 10 PASO 1 HACER
ESCRIBIR: natural
FIN-PARA
4. 1.PARA x DESDE 1 HASTA 10 PASO 1 HACER
y ← 2 * x - 1
ESCRIBIR: y
FIN_PARA
1 3 5 . . . 19
2.PARA impar DESDE 1 HASTA 20 PASO 2 HACER
ESCRIBIR: impar
FIN_PARA
1 3 5 … 19
3.PARA a DESDE 10 HASTA 1 PASO -1 HACER
ESCRIBIR: a
FIN_PARA
10 9 8 … 1
5. 4.PARA x DESDE 20 HASTA 1 PASO -2 HACER
ESCRIBIR: x
FIN_PARA
20 18 16 . . . 2
1. Escribir un programa para obtener la población del Perú, para cada uno de los próximos
10 años, con una tasa de crecimiento anual y constante del 3%
Análisis del problema:
-Salida: Las poblaciones de los próximos 10 años
-Entrada: Población actual
-Proceso:
Algoritmo:
variables ENTERAS: pob_actual, pob_acumulada,años, año_act
LEER: pob_actual, año_act
ESCRIBIR: “ Año Población”
PARA años DESDE 1 HASTA 10 PASO 1 HACER
pob_actual ← pob_actual + pob_actual * 0.03
ESCRIBIR: año_act+años, pob_actual
FIN_PARA
6. 4.Escribir un algoritmo para graficar un triángulo, como se muestra en la figura tantas líneas
como un número N Ejm si N es 4 el resultado debe ser:
Análisis del problema:
-Salida:
-Entrada:
-Proceso:
Algoritmo:
variables ENTERAS:
7. 4.Un número entero positivo es Centro numérico cuando divide a un conjunto de números naturales consecutivos
que empiezan en el 1, en dos subconjuntos cuyas sumas de elementos es igual. Ejm El número 6 divide al
conjunto de números del 1 al 8, en dos subconjuntos; el primero del 1 al 5, cuya suma de elementos es 15,
(1+2+3+4+5=15) y el segundo del 7 al 8, cuya suma de elementos, también es 15, (7+8=15); por la tanto 6 es
un Centro Numérico. Escribir un programa para determinar si un número entero dado es Centro numérico o no
Análisis del problema:
-Salida: “El numero dado es Centro Numérico” ó “El numero dado no es centro Numérico”
-Entrada: Un número entero positivo
-Proceso:
Algoritmo:
variables ENTERAS: num, suma1, suma2, nat
LEER: num
suma1 ← 0
PARA nat DESDE 1 HASTA num – 1 PASO 1 HACER
suma1 ← suma1 + nat
FIN_PARA
nat ← num + 1
suma2 ← 0
MIENTRAS suma2 < suma1 HACER
suma2 ← suma2 + nat
nat ← nat + 1
FIN_MIENTRAS
SI suma1 = suma2 ENTONCES
ESCRIBIR: “El numero dado ES Centro Numérico”
SINO
ESCRIBIR: “El numero dado NO es Centro Numérico”
FIN_SI
8. 5.Un número entero positivo es Centro numérico cuando divide a un conjunto de números naturales consecutivos a partir de
1, en dos subconjuntos cuyas sumas de elementos es igual. Ejm El número 6 divide al conjunto de números del 1 al 8,
en dos subconjuntos; el primero del 1 al 5, cuya suma de elementos es 15, (1+2+3+4+5=15) y el segundo del 7 al 8,
cuya suma de elementos, también es 15, (7+8=15); por la tanto 6 es un Centro Numérico. Escribir un programa para
hallar los N primeros Centros numéricos
Análisis del problema:
-Salida: Los N primeros Centros numéricos
-Entrada: La cantidad N de centros numéricos
-Proceso:Probar si los números 2 ,3 , … son centros numéricos hasta completar la cantidad N
Algoritmo:
variables ENTERAS: num, nat, suma1, suma2, N, contador_de_centros
LEER: N
num ← 2
contador_de_centros ← 0
MIENTRAS contador_de_centros < N HACER
suma1 ← 0
PARA nat DESDE 1 HASTA num – 1 PASO 1 HACER
suma1 ← suma1 + nat
FIN_PARA
nat ← num + 1
suma2 ← 0
MIENTRAS suma2 < suma1 HACER
suma2 ← suma2 + nat
nat ← nat + 1
FIN_MIENTRAS
SI suma1 = suma2 ENTONCES
ESCRIBIR: num
contador_de_centros ←contador_de_centros +1
FIN_SI
num ← num +1
FIN_MIENTRAS
9. 6.Un triplete pitagórico está definido como un grupo de tres números a, b, c; que cumplen con
la siguiente relación a2 + b2 = c2 . Escribir un algoritmo para hallar los tripletes pitagóricos en
los cuales todos sus elementos no sean mayores que el número X.
Análisis del problema:
-Salida: Los tripletes pitagóricos
-Entrada: El número X
-Proceso:
Algoritmo:
variables ENTERAS: a,b,c,X
LEER: X
PARA a DESDE 1 HASTA X HACER
PARA b DESDE 1 HASTA X HACER
PARA c DESDE 1 HASTA X HACER
SI a↑2 + b↑2 = c↑2 ENTONCES
ESCRIBIR: “a: ”,a, “ b: ”, b, “ c: ”,c
FIN_SI
FIN_PARA
FIN_PARA
FIN_PARA
10. Arreglos:
Un arreglo es una estructura homogénea que se caracteriza porque:
-Todos sus elementos tienen el mismo nombre
-Todos sus elementos son del mismo tipo
- Para referirnos a un elemento particular se hace con el nombre del arreglo y con índices
encerrados entre corchetes [ ], los cuales indican la posición del elemento dentro del arreglo.
Arreglos Unidimensionales: vectores o listas
Tiene una dimensión o índice
En Algebra:
an = [ a1 a2 a3 . . . an ]
En algoritmos
a[N] = a[1] a[2] a[3]. . . a[N]
Declaración de vectores en algoritmos: a[1] . . . a[N]
Ejemplo de un vector de 4 elementos a
a[ 1 ] = 37
a[ 2 ] =4
a[ 3 ]= -8
a[ 4 ]= 12
37 4 -8 12
1 2 3 4
11. 1.Escribir un algoritmo para generar un vector de N elementos con los N primeros números
pares, luego imprimirlo.
Análisis del problema
Salida: Un vector de N elementos que contengan los N primeros números pares
N: 3 [ 2 4 6 ]
1 2 3
Entrada: La cantidad N de elementos
Proceso: 2n n=1, n=2 n=3 …
Algoritmo
variables ENTERAS: N, par[1] . . . par[N], num
LEER: N
PARA num DESDE 1 HASTA N PASO 1 HACER
par [ num ] ← 2 * num
ESCRIBIR: par [ num ]
FIN_PARA
Par [1] = 2
Par [2] = 4
Par [3] = 6
…
Par […
12. 2.Escribir un algoritmo para generar un vector de N elementos con los N primeros números primos, luego
imprimirlo. Asegúrese que el tamaño del vector no sea mayor a 100
Análisis del problema
Salida:
Entrada:
Proceso:
Algoritmo
13. 2.Escribir un algoritmo para ingresar números a un vector de N elementos y determinar ¿Cuál
es el mayor valor ingresado y que posición ocupa en el vector. Asegúrese que el tamaño del
vector no sea mayor a 100
Análisis del problema
Salida:
Entrada:
Proceso:
Algoritmo
14. 2.Escribir un programa para ingresar N números a un vector de N elementos, luego
intercambiar el elemento de mayor valor con el elemento de menor valor en el vector.
Ejm. Si N=6 y le vector es: [ 2 1.08 - 30 22 538 9 ]
el resultado debe ser: [ 2 1.08 538 22 -30 9 ]
Análisis del problema:
-Salida:
-Entrada:
-Proceso:
Algoritmo:
16. Busqueda secuencial
Consisten en comparar el valor buscado con cada uno, (de uno en uno), de los elementos del
vector
1.Escribir un algoritmo para ingresar N números a un vector de N elementos y luego
determinar si el número X está en el vector o no
-Salida:
-Entrada:
-Proceso:
Algoritmo
17. Ordenamiento de Vectores:
-Método de selección
-Método de Burbuja simple
-Método de burbuja doble
-Método de Quick Sort
-Método Shell
Método de selección:
Para ordenar un vector de N elementos en forma ascendente/descendente se realizan los
pasos siguientes:
1.Se busca o selecciona el mayor/menor valor dentro de los N elementos del vector
2. Se intercambia el elemento de mayor/menor valor con el elemento de posición N
3.Se repiten los pasos anteriores para los N – 1 elementos del vector, N-2 elementos del
vector, N-3 y así hasta completar todo el vector
18. 1.Se busca o selecciona el mayor/menor valor dentro de los N elementos del vector
2. Se intercambia el elemento de mayor/menor valor con el elemento de posición N
3.Se repiten los pasos anteriores para los N – 1 elementos del vector, N-2 elementos del
vector, N-3 y así hasta completar todo el vector
19. Método de burbuja simple:
Para ordenar un vector de N elementos en forma ascendente/descendente se realizan los
pasos siguientes:
1.Se compara el primer elemento con el segundo, si el primero es mayor/menor, se
intercambian
2. Se compara el segundo elemento con el tercero, si el segundo es mayor, se intercambian
3.Se continúa con los siguientes elementos hasta llegar al elemento N. Con esto se logra
poner en la posición N, el elemento de mayor/menor valor.
4. Se repiten los pasos anteriores para los N -1 elementos, para los N – 2 elementos, para los
N – 3 elementos y así sucesivamente hasta completar todo el vector.
20.
21. Arreglos Bidimensionales: Matrices o Tablas
Tienen dos dimensiones o índices ↓ ↓ ↓ Por columnas
En Algebra: Por filas → a1,1 a1,2 … a1,n
am,n = → a2,1 a2,2 … a2,n
. . .
→ am,1 am,2 … am,n
En Algoritmos declaración de Matrices:
a[m,n] = a[1,1] … a[m,n]
Lectura de matrices:
1.Lectura por filas
2.Lectura por columnas
Escribir un algoritmo para ingresar números a una matriz de m filas y n columnas, la lectura
debe hacerse por filas
22. Escribir un algoritmo para ingresar números a una matriz de m filas y n columnas, la lectura
debe hacerse por columnas
23. ESCRITURA DE MATRICES:
4 0 129 -0.27
5 35 8 6
1 22 601 19
a) Escritura por filas en formato de una fila
4 0 129 -0.27 5 35 8 6 1 22 601 19
b) Escritura por fila en formato de una columna
4 c) Escritura por filas en formato de matriz
0 4 0 129 -0.27
129 5 35 8 6
-0.27 1 22 601 19
5
35
8
6
1
22
601
19
24. ESCRITURA DE MATRICES:
4 0 129 -0.27
5 35 8 6
1 22 601 19
a) Escritura por columnas en formato de una fila
4 5 1 0 35 22 129 8 601 -0.27 6 19
b) Escritura por columnas en formato de una columna
4 c) Escritura por columnas en formato de matriz
5 4 5 1
1 0 35 22
0 129 8 601
35 -0.27 6 19
22
129
8
601
-0.27
6
19
25. Escribir un algoritmo para ingresar números a una matriz que tiene N filas y M columnas y
luego imprimirla. La lectura hacerla por filas y la escritura por filas en:
a) Formato de una fila
b) Formato de una columna
c) En formato de matriz
a) Formato de una fila
28. Escribir un algoritmo para ingresar números a una matriz que tiene N filas y M columnas y
luego imprimirla. La lectura hacerla por filas y la escritura por columnas en:
a) Formato de una fila
b) Formato de una columna
c) En formato de matriz
a) Formato de una fila