martes, 4 de octubre de 2011

4 PERIODO

Ciclos repetitivos

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

No hay comentarios:

Publicar un comentario