Los ciclos repetitivos son estructuras siclicas, es decir, que se repiten.
ciclo para(desde en SLE2)(for en C++)
El ciclo para tiene la siguiente estructura o la siguiente sintaxis:
paea i=1 hasta n
fpara-> sing. fin para
iteración: 1 repeticióm.
para--> desde j=hasta n
fpara-->}
Ejercicio modelo
Diseñe un algoritmo que calcule el promedio de los números e imprima el resultado.
n=5
j=1,2,3,4,5,6
var
n,j,num,sum,prom:numerico
inicio
----cls()
----imprimir("Digite el número de estudiantes: ")
----leer(n)
----sum=0
----desde j= 1 hasta n{
----imprimir(" Digite la nota definitiva: ")
---leer(num)
---sum=sum+nota
}
prom=sum/n
imprimir(" El promedio es: ",prom)
fin
PRUEBA DE ESCRITORIO
Una prueba de escritorio es un seguimiento lógico de las variables en el estricto orden en que van apareciendo dentro del algoritmo, con el objetivo de verificar si el algoritmo está bueno o está malo.
TALLER
Primer ejercicio
Diseñe un algoritmo que cuente cuantos números pares hay entre los primero n números.
Var
n,cp,j:numerico
inicio
----cls()
-------imprimir(" Digite la cantidad de números: ")
------leer(n)
------cp=0
------desde j=1 hasta n{
------si(j%2==0){
----------cp=cp+1
-------}
}
imprimir( "La cantidad de números pares es: ",cp)
fin
Segundo ejercicio
Diseñe un algoritmo que cuente cuantos número s impares hay entre los primeros n números.
var
n,ci,j:numerico
inicio
----cls()
-----imprimir(" Digite la cantidad de números: ")
-----leer(n)
----ci=0
----desde j=1 hasta n{
-----------si(j%2==0){
-----------------ci=ci
-----------sino
---------------ci=ci+1
------------}
----}
imprimir( "La cantidad de números impares es: ",ci)
fin
Tercer Ejercicio
Dado una serie de números diga cuanto son pares y cuantos son impares
var
n,j,num,p,i:numerico
inicio
----cls()
-----imprimir(" Digite la cantidad de números: ")
------leer(n)
------desde j=1 hasta n{
----------imprimir(" Digite el número: ")
----------leer(num)
-----------si(num%2==0){
--------------p=p+1
-----------sino
-------------i=i+1
-----------}
---}
imprimir( "\nLa cantidad de números pares es: ",p)
imprimir( "\nLa cantidad de números impares es: ",i)
fin
Cuarto ejercicio
En un salón que cuenta con n estudiantes, calcule el promedio de la asignatura de tecnología e informática, conociendo de esta la nota definitiva para cada estudiantes, e imprima el resultado.
var
n,j,nota,sum,prom:numerico
inicio
cls()
imprimir("Digite el número de estudiantes: ")
leer(n)
sum=0
desde j= 1 hasta n{
imprimir(" Digite la nota definitiva: ")
leer(nota)
sum=sum+nota
}
prom=sum/n
imprimir(" El promedio es: ",prom)
fin
Ejercicio del Exámen:
En un salón que cuenta con n estudiantes, calcule el promedio del curso, conociendo la nota definitiva para cada estudiantes,además diga la cantidad de estudiantes por encima de 3.5 e imprima el resultado.
var
n,j,nota,sum,num,prom:numerico
inicio
---cls()
---imprimir(" Digite la cantidad de setudiantes: ")
---leer(n)
---sum=0
---num=0
---desde j=1 hasta n{
----------imprimir("Digite la nota definitiva: ")
---------leer(nota)
---------sum=sum+nota
---------si(nota>3.5){
------------num=num+1
---------}
----}
prom=sum/n
imprimir("\nLa cantidad de estudiantes por encima de 3.5 es: ",num)
imprimir("\nEl promedio del curso es: ",prom )
fin
Taller de Nivelación
Escoger 10 ejercicios similares a los trabajados en clase de la página: enriquebarrueto1.tripod.com/alcantara.txt, y pasarllo a lenguaje SLE2
1. Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos.
var
p,in,pos,ne,x,n:numerico
inicio
cls()
p=0
in=0
pos=0
ne=0
desde x= 1 hasta 5{
imprimir(" Digite un numero natural: ")
leer(n)
si(n%2==0){
p=p+1
sino
in=in+1
}
si(n>0){
pos=pos+1
sino
ne=ne+1
}
}
imprimir("pares:",p,"\nimpares:",in,"\npositivos:",pos,"\nnegativos:",ne)
fin
2. Desarrollar un algoritmo para calcular e
imprimir el factorial de un número.
var
f,n,x:numerico
inicio
cls()
imprimir("Digite un número: ")
leer(n)
f= 1
desde x= 1 hasta n{
f=f*x
}
imprimir(" El factorial de ", n," es: ",f)
fin
3. Hacer un programa que permita escoger en un conjunto de numeros naturales: l programa termina con el ingreso de un numero negativo y el numero de iteraciones debe ser 100.
· Cuales son menores que 15.
· Cuales son mayores de 50.
· Cuales estan comprendidos entre 25 y 50. E
var
n,I,num:numerico
inicio
cls()
desde I= 1 hasta 9{
imprimir("\ndigite el valor de n: ")
leer(n)
si(n<4){
imprimir("\nmenor que 4: ")
sino
si(n>7){
imprimir("\nmayor que 7 ")
sino
si(n>4){
si(n<7){
imprimir("\nComprendido entre 4 y 7: ")
}
}
}
}
}
n=n+1
si(n<0){
imprimir("\nerror de datos procesados")
}
Fin
4. El ing. De sistemas del banco de credito necesita conocer de una lista de 2500 cuentas cual es la que posee mayor y menor cantidad de dinero (d)
Var
n,max,min,i:numerico
Inicio
Cls()
Leer(n)
Max=n
Min=n
Desde i=1 hasta 2500{
Leer(n)
Si(n>max){
Max=n
Sino
Si(n
Min=n
}
}
}
Imprimir( “MÁXIMO”, Max)
Imprimir(“MINIMO”, Min)
fin
5. Clasificar a 50 personas segun la edad y el sexo al final deberá visualizar la cantidad de personas
masculinas mayores de edad, la cantidad de personas femeninas menores de edad, cantidad de
personas mayores y menores. ademas debera indicar el porcentaje que representa las personas
mayores y menores de edad.
var
Nom,x,Ed,MMa,FMe,May,Men,C:numerico
Inicio
Cls()
MMa=0
Fme=0
May=0
Men=0
desdec=1 hasta 50 {
leer (Ed)
leer(Sx)
si (Ed>=18){
May=May+1
sino
Men=Men+1
}
si (sx="M"){
Si (Ed>=18){
MMa=MMa+1
}
sino
si (Ed<18){
FMe=FMe+1
}
}
}
PMa=may*100/50
PMe=Men*100/50
Imprimir(“MMA:”, MMa,”FME”FMe,”MAY”,May,”MEN”,Men,”PMA”PMa,”PME”PMe)
fin
6.Autogenerar el codigo del alumno tomando como datos los dos primeros caracteres del apellido paterno el segundo y tercer caracterde apellido materno los dos ultimos caracteres de los nombres mas el numero que le corresponde en la lista. Ademas se deberá pedir dos notas para calcular su promedio del curso de matematica. se sabe que en el aula son 36 alumnos y ademas deberá mostrar al final la cantidad de alumnos desaprobados.
VAR
Nom,pat,Mat,Cod,N1,N2,Prom,A,D,C:Numerico
Inicio
CLS()
A=0
D=0
Desde C=1 hasta 36
Leer( Nom)
-------leer(Pat)--------Leer(Mat)
--------Leer(N1)
--------Leer(N2)
cod(c)=Left+Mid+Rig+STR(c)
Prom(c)=(N1(c))+N2(c))/2
Imprimir(“ cod”,c, “prom”,c)
si (prom>=10.5){
A=A+1
sino
D=D+1
}
}
Imprimir( “aprobados”, A, “desaprobados”,D)
Fin
7.De una lista de 100 números determinar simultaneamente
el máximo y mínimo número.
var
I,MAX, MIN, NÚMERO: numerico
Inicio
Cls()
Leer( NUMERO)
MAX =NUMERO
MIN= NUMERO
desde I =2 hasta 100 {
leer (NUMERO)
si (NUMERO > MAX){
MAX =NUMERO
sino
si (NUMERO < MIN){
MIN= NUMERO
}
}
}
escribir ("máximo", MAX, "mínimo", MIN)
fin
8.Calcular el número mayor de una lista de números.
Var
UM, MAX, I, N:numerico
Inicio
Cls()
leer( N)
leer (NUM)
MAX =NUM
desde I= 2 hasta 100 {
leer( NUM)
si (NUM > MAX ){
MAX = NUM
}
}
fin
9. De una lista de 10 números calcular la media y determinar cuantos son mayores que 10.5, cuantos son iguales y cuántos son menores.
Var
Num,S,M,I,C1,C2 , C3:numeric
Inicio
Cls()
S=0
M=0
C1=0
C2=0
C3=0
Desde i = 1 hasta 10
Leer( Num )
}
desde i = 1 hasta 10
S =S + Num
}
M= 10
Para i = 1 hasta 10
Si (Num = 10.5){
C1= C1 + 1
}
Si (Num > 10.5)
C2= C2 + 1
}
Si( Num < 10.5){
C3 = C3 + 1
}
}
Imprimir("Media" , M )
Imprimir( "Iguales que l10.5" , C1 )
Imprimir( "Mayores que 10.5", C2 )
Imprimir( "Menores que 10.5" , C3)
Fin
10. Leer 200 números y obtener cuantos son positivos, negativos e iguales a cero.
var
N,C1, C2 , C3,i :numeric
Inicio
Cls()
Desde i= 1 hasta 20{
Leer( N)
Si (N > 0){
C1 « C1 + 1
Si (N < 0) {
C2 « C2 + 1
Si (N = 0){
C3 « C3 + 1
}
}
}
Fin