jueves, 6 de noviembre de 2008

PSEUDOCODIGO

DEFINICION DE ALGORITMOS
Existen muchas definiciones referentes a algoritmos, entre las cuales tenemos :
  1. Un algoritmo es un conjunto de instrucciones las cuales le dicen a la computadora como ejecutar una tarea especifica
  2. Un algoritmo es un conjunto ordenado y finito de instrucciones que conducen a la solucion de un problema
  3. "Una lista de instrucciones donde se especifica una sucesion de operaciones necesarias para resolover cualquier problema de un tipo dado"

Un algoritmo esta compuesto por tres elementos esenciales :

  • Cabecera :donde se da el nombre del algoritmo y se declaran las variables
  • Cuerpo: donde se realizan todas las acciones del programa
  • Final: donde se da finalizacion,porque debe ser finito

Estructuras de seleccion

Las estructuras de seleccion son estructuras de control utilizadas para la toma decisiones dentro de un programa. A estas estructuras se conocen tambien como estructuras selectivas o estructuras de decision y son las siguientes :

  • La estructurada de seleccion simple (SI)
  • La estructura de seleccion doble (SI-SONO)
  • Estructura de seleccion doble en cascada SI-SINO-SI

EJERCICIOS

1) Cuadrado

  1. algoritmo cuadrado de un numero
  2. var
  3. x cuadrado :entero;
  4. inicio
  5. escriba("x")
  6. lea (x)
  7. cuadrado =x.x;
  8. escriba("el resultado es ",cuadrado);
  9. fin

2)

  1. algoritmo si un numero es positivo o negativo
  2. var
  3. x:entero;
  4. inicio
  5. escriba ("ingrase #")
  6. lea (x)
  7. si(x>0)
  8. escriba ("el numero es positivo ");
  9. si_no
  10. escriba ("el numero es negativo");
  11. fin_si
  12. fin

3)

  1. algoritmoleer una temperatura en grados centigrados y convertirla en grados fahreheit
  2. var
  3. C°,F°:entero
  4. inicio
  5. escirba ("ingrese un cantidad en grados centigrados")
  6. lea (C°)
  7. F°=C°*(9/5)+32;
  8. escriba ("F°");
  9. fin

4)

  1. algritmo deconvercion
  2. var
  3. m,km,cm,pies,pulgadas:entero;
  4. inicio
  5. escriba("porfavor ingrese una cantidad en m");
  6. lea (m);
  7. cm=m*100;
  8. escriba ("la convercion a cebtimetros es":cm);
  9. km=m/1000;
  10. escriba("la convercion a kilometros es ":km);
  11. pies=m*3.3
  12. escriba ("la convercion a pies es ":pies)
  13. pulgadas=m*39.37
  14. escriba ("la convercion a pulgadas es ":pulgadas);
  15. fin

5)

  1. algortmo determinas el area y volumen de un cilindro
  2. var
  3. R,H,V,A:reales;
  4. inicio
  5. escriba ("ingrese el Radio");
  6. lea (R);
  7. escriba ("ingrese la altura");
  8. lea(H);
  9. A=2*pi R *H;
  10. escriba ("el area es:",A);
  11. V=pi*R2 *H;
  12. escriba("el volumen es:",V);
  13. fin

6)

  1. algoritmo servidiomilitar
  2. var
  3. edad:estero;
  4. genero, nacionalidad:caracter;
  5. inicio
  6. escriba("ingrese la edad ");
  7. lea (edad);
  8. escriba ("ingrese genero");
  9. lea (genero);
  10. escriba("ingrese nacionalidad");
  11. loea(nacionalidad);
  12. si(edad>18 y <25)
  13. si (genero =masculino)
  14. si(nacionalidad=colombiano);
  15. escriba (es apto);
  16. si no
  17. escriba("no es apto");
  18. fin_si
  19. fin_si
  20. fin_si
  21. fin.

7)

  1. algoritmo prestamo
  2. var
  3. prestamo,knt,mont:entero;
  4. inicio
  5. escriba("ingrese valor del prestamo");
  6. lea (prestamo)
  7. int=prestamo*1.8/100;
  8. mont=int*12;
  9. escriba("el monto total es :",mont);
  10. fin

8)

  1. algoritmo desendente
  2. var
  3. a,b,c:estero;
  4. inicio
  5. escriba ("ingrese el primer numero");
  6. lea(a)
  7. escriba("ingrese el segundo numero");
  8. lea(b)
  9. escriba("ingrese el tercer numero");
  10. lea(c)
  11. si (a>b y a>c)
  12. escriba ("el numero es ":,a);

9)

  1. algoritmo de comicion de vendedor
  2. var
  3. venta, c:entero;
  4. escriba ("ingrese venta");
  5. lea (venta);
  6. si (venta <1000000)
  7. c=venta *3%
  8. escriba ("comicion es ":c);
  9. si_no
  10. c=venta*5%
  11. escriba ("comicion es ":c);
  12. fin si
  13. fin

10)

  1. algoritmo calculadora
  2. var
  3. x,y,operación,S,M,R,D,:entero ;
  4. inicio
  5. escriba ("ingrese el primer numero");
  6. lea (x);
  7. escriba ("ingrese el segundo numero");
  8. lea(y);
  9. escriba ("ingrese la operación");
  10. lea (operación);
  11. si (operación =Suma )
  12. S=x+y;
  13. escriba ("la suma es :",S);
  14. si_no si (operación =resta)
  15. R=x-y;
  16. escriba ("la resta es :",R);
  17. si_no si (operación = multiplicación)
  18. M=x*y;
  19. escriba("multiplicaciones:",M);
  20. sino si (operación =division)
  21. D=x/y;
  22. escriba("la division es :",D)
  23. fin_si
  24. fin_si
  25. fin_si
  26. fin_si
  27. fin

ESTRUCTURAS DE SECUENCIA CICLOS O BUCLES

Este tipo de estructuras marcan como orden de ejecucion la reiteracion de una serie de acciones basandose en un bucle.

"Un BUCLE(loop, en ingles )" es un trozo de algoritmo cuyas instrucciones son repetitivas un cierto numero de veces, mientras se cumple una cierta ondicion que ha de ser claramente espesificadas. La condicion podra ser verdadera o falsa, y se comprobara en cada paso o iteracon de bucle.

Basicamente, existen tres tipos de estructuras epetitivas :

DESDE O PARA:este tipo de ciclo es ideal cuando se conoce la cantidad de veces que se desea ejecutar una accion.

MIENTRA QUE:este tipo de ciclo se ejecuta mientras se cumpla una determinada condicio, en este caso la condicion se evalua al inicio del ciclo.

REPITA..... HASTA QUE:este ciclo es similar al anterio, solo que en este tipo de ciclo, la condicion es evaluada al final,permitiendo que el bucle se ejecute por lo menos una vez.

Una forma de controlar un bucle es mediante una variable llamada CONTADOR,cuyo valor se incrementa o decremento en un cantidad constante en cada repeticion que se produzca.

Tambien en los bucles suele haber otro tipo de variables lamadas ACOMULADOR, cuya mision es almacenar un cantidad variable resultante de operaciones sucesivas y repetidas. Es como un contador, con la diferencia que el incremento /decremento es variable.

TALLER

1) Dado un tiempo en cegundos calcular los segundos restantes que le correspondan para convertirse en minutos

2) dado un tiempo en minutos calcular los dias , horas y minutos que le coresponden.

3) calcular mediante un algoritmo repetitivo la suma de los n primeros numeros naturales

4)realizar un algoritmo que permita pedir 50 numeros naturales y determine e imprima cuantos son pares,impares,positivos y negativos


SOLUCION


1)



  1. Algoritmo segundo;

  2. var

  3. seg,min,f,s:entero;

  4. inicio

  5. escriba ("ingrese el valor en segundos ");

  6. lea(seg);

  7. si (seg<60)

  8. f=seg-60;

  9. escriba("lo que falta es ";,f);

  10. si_no

  11. min=seg/60

  12. s=seg mod 60;

  13. f=s-60

  14. escriba("los minutos son:",min);

  15. escriba ("lo que falta es ":,f);

  16. fin_si

  17. fin_si

  18. fin

2)



  1. algoritmo tiempo en dias, horas y minutos:entero;

  2. var

  3. tiempo,dias,horas,minutos;

  4. inicio

  5. escriba("ingrese tiempo");

  6. lea(tiempo);

  7. si dias =tiempo / 1440

  8. x =tiempo mod 1440

  9. horas =x /60

  10. minutos=x mod 60

  11. imprima

3)

  1. algoritmo suma de n numeros naturales
  2. var
  3. num,k,suma:entero
  4. inicio
  5. suma=0
  6. escriba("ingrese numero a sumar ");
  7. lea (num);
  8. para (k=1 hasta num)hacer
  9. suma =suma+k;
  10. fin_para
  11. escriba(el numero es;:,"suma)
  12. fin.

4)

  1. algoritmo 50numeros naturales
  2. var
  3. numero:entero;
  4. inicio
  5. para (k=1 hasta 50)hacer;
  6. escriba ("ingrese numero")
  7. lea (numero);
  8. si(num mod 2 =0);
  9. escriba ("el numero espar");
  10. si_no
  11. escriba("el numero es inpar ");
  12. fin_si
  13. si(num>0);
  14. escriba ("el numero es positivo");
  15. si_no
  16. escriba ("el nuimero es negativo");
  17. fin _si
  18. fin_para
  19. fin

EJERCIOS DE VERIFICACION

1)realizar un algoritmo que permita leer 20 temperaturas (grados C°) diferentes durante un dia , se debe iniciar cual fue la temperatura de ese dia.

  1. algoritmo temperatura promedio
  2. var
  3. temp,prom,k,tempt:entero;
  4. inicio
  5. temp=0
  6. para (k=1hasta20)hacer
  7. escriba("ingrese temperatura");
  8. lea(temp);
  9. tempt=tempt+temp;
  10. fin_para
  11. prom=tempt/K;
  12. escriba ("la temperatura promedio es:";prom)
  13. fin

2)se desea desarrollar un algoritmo que permita, desarrollar la tabla de multiplicar de un determinado numero (la tabla basica 1 a 9).

  1. algoritmo tabla basica del 1 al 9
  2. var
  3. num,k,tabla:entero;
  4. inicio
  5. escriba("ingrese el numero que desea hacer tabla ");
  6. lea(num);
  7. para (k=1 hasta 9) hacer
  8. tabla =num* k;
  9. escriba("k,"*",num,"=", tabla);
  10. fin_para
  11. fin

4)varicion del ejercicio anterior,se debe desarrollar un algoritmo que permita mostra la tabla del 1 al 9.

  1. algoritmo mostrar tabla del 1 al 9
  2. var
  3. k,j,tabla:entero;
  4. inicio
  5. para(k=1 hasta 9)hacer
  6. para(j=1hasta 9)hacer
  7. tabla=k*j;
  8. escriba("k,"+",j,"=",tabla);
  9. fin_para
  10. fin_para
  11. fin.

5)se desea cunstruir un algoritmo que permita imprimir el resultado del factorial de un numero dado (factorial=n)

  1. algoritmo de factorial
  2. var
  3. num,fac,k:entero;
  4. inicio
  5. fact=1;
  6. escriba("digite el num que desee conocer el factorial");
  7. lea (num);
  8. para (k=1 hasta num ) hacer
  9. fact=fact*K;
  10. fin_para
  11. escriba("el factorial es :";fact);
  12. fin.

No hay comentarios: