Você está na página 1de 37

Principios de Algoritmos

Agenda

• Introducción
• Recordando
• Ejemplos
• Actividad en aula
• Recapitulación

2
Ejercicio 01:

Se desea calcular la distancia recorrida (m) por un móvil que tiene un velocidad
constante (m/s) durante un tiempo T (s), considerar que es un MRU (Movimiento
Rectilíneo Uniforme).

1. Inicio
2. Inicializar las variables V y T
3. Solicitar ingresar los valores de V y T
4. Calcular la distancia (D =V*T)
5. Mostrar la distancia
6. Fin
Ejercicio 02:

Desarrolle un algoritmo que permita leer dos valores distintos,


determinar cual de los dos valores es el mayor y escribirlo.

1. Inicio
2. Solicitar la introducción de dos valores distintos
3. Leer los dos valores
4. Asignarlos a las variables A y B
5. Si A>B Entonces Mostrar A, “Es el mayor”
6. De lo contrario: Mostrar B, “Es el mayor”
7. Fin_Si
8. Fin
Ejercicio 03:

Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las


variables A, B y C respectivamente. El algoritmo debe imprimir cual es el
mayor y cual es el menor. Recuerde constatar que los tres valores
introducidos por el teclado sean valores distintos. Presente un mensaje de
alerta en caso de que se detecte la introducción de valores iguales.

1. Inicio 13. Fin_Si


2. Declarar las variables A, B y C 14. Fin_Si
3. Ingresar las variables A, B y C 15. Si A < B y A < C Entonces
4. Si a=b o a=c o b=c 16. Mostrar A “Es el menor”
5. Mostrar “No debe ser iguales” 17. Sino
6. Ingresar las variables A, B y C 18. Si B < A y B < C Entonces
7. Si A > B y A > C Entonces 19. Mostrar B “Es el menor”
8. Mostrar A “Es el mayor” 20. Sino
9. Sino 21. Mostrar C “Es el menor”
10. Si B > A y B > C Entonces 22. Fin_Si
11. Mostrar B “Es el mayor” 23. Fin_Si
12. Sino 24. Fin
13. Mostrar C “Es el mayor”
Ejercicio 04

Desarrolle un algoritmo que realice la sumatoria de los números


enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 +
…. + 10.

1. Inicio
2. Declaración de variables: N= 0, Suma = 0
3. Asignación Contador : N = N + 1
4. Asignación Acumulador: Suma = Suma + N
5. Si N = 10 Entonces
6. Mostrar la Suma
7. De lo contrario, Repetir desde el paso 3
8. Fin_Si
9. Fin
Ejercicio 05

Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de


sus dos catetos. Desarrolle el algoritmo correspondiente.

1. Inicio
2. Declaración de Variables: CatA= 0, CatB=0
3. Leer el valor de cada cateto
4. Almacenarlo en la variable CatA y CatB
5. Calcular el valor de Hip con la formula indicada
6. Escribir el valor de la Hipotenusa
7. Fin
Ejercicio 06

Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro


dado su radio (R) y altura (H).

1. Inicio
2. Declaración de variables: R = 0, H = 0
3. Leer el valor de Radio (R) y Altura (H)
4. Calcular el Volumen aplicando la fórmula
5. Calcular el valor del área aplicando la fórmula respectiva
6. Escribir el valor del Área y del Volumen
7. Fin
Ejercicio 07

Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si dicho


número es par o impar.

1. Inicio
2. Declaración de variables: N
3. Leer un número
4. Asignarlo a la variable N
5. Si el residuo de dividir a N entre 2 es igual a cero
6. Si es Si: Entonces: Escribir “ Es par”
7. Sino: Escribir “Es impar”
8. Fin_Si
9. Fin
Ejercicio 08

Desarrolle un algoritmo que permita convertir calificaciones numéricas, según la


siguiente tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1
hasta el 9. Se asume que la nota está comprendida entre 1 y 20.

1. Inicio
Inicio 11. NuevaNota= “C”
2. Declaración
Declarar de variables:
la variable 12. Si no (De lo contrario)
NuevaNota
Asignar para= colocar
Carácternota 13. Si Nota>=10 AND Nota<=12
3. Leer registros
Colocar la nota hasta fin de archivo Entonces
4. Si Nota>=19
Debe AND
Salir la nota en Nota<=20
la letra que 14. NuevaNota= “D”
Entonces
le corresponda 15. Si no (De lo contrario)
5.
FinNuevaNota= “A” 16. Si Nota>=1 AND Nota<=9
6. Si no (De lo contrario) Entonces
7. Si Nota>=16 AND Nota<=18 17. NuevaNota= “E”
Entonces 18. Si no (De lo contrario)
8. NuevaNota= “B” 19. Fin_Si
9. Si no (De lo contrario) 20. Fin
10. Si Nota>=13 AND Nota<=15
Entonces
Ejercicio 09

Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a


mayor, si es el caso.

1. Inicio
2. Declaración de Variables:
A = 0, B = 0, Temporal = 0
3. Leer A y B
4. Si A<B Entonces
5. Asignar a Temporal = B
6. Asignar a B = A
7. Asignar a A = Temporal
8. Si no (De lo contrario)
9. Fin_Si
10 Escribir “Orden = “, A, B
11. Fin
Ejercicio 10

Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si


es primo o no.

1. Inicio 9. Fin del ciclo mientras


2. Declaración de variables: J = 2, 10. Si S = 0 Entonces
S =0 11. Escribir N “es primo”
3. Leer N 12. Sino (De lo contrario)
4. Mientras J<= N / 2 hacer 13. Escribir N “no es primo”
5. Si N / J =0 14. Fin_Si
6. S=S+1 15. Fin
7. J=J+1
8. Fin_Si
Ejercicio 11

13
Ejercicio 12

Elabore un algoritmo que permita ingresar un número entero


(1 a 10) y muestre su equivalencia en romano.

14
Ejercicio 12

Leer tres números que denoten una fecha (día, mes, año).
Comprobar que es una fecha válida. Si no es válida escribir un
mensaje de error. Si es válida escribir la fecha cambiando el
número del mes por su nombre. Ej. si se introduce 1/2/2006,
se deberá imprimir “1 de febrero de 2006”. El año debe ser
mayor que 0. (Recuerda la estructura según sea).

15
Ejercicio 13

Calcular las calificaciones de un grupo de alumnos. La nota


final de cada alumno se calcula según el siguiente criterio: la
parte práctica vale el 10%; la parte de problemas vale el 50%
y la parte teórica el 40%. El algoritmo leerá el nombre del
alumno, las tres notas, escribirá el resultado y volverá a pedir
los datos del siguiente alumno hasta que el nombre sea una
cadena vacía. Las notas deben estar entre 0 y 20, si no
lo están, no imprimirá las notas, mostrara un mensaje de
error y volverá a pedir otro alumno.

16
Agenda

• Introducción
• Recordando: Estructuras de control Repetitivas
• Subprogramas
• Procedimiento
• Ejemplos
• Actividad en aula
• Recapitulación

17
Logro de aprendizaje

Al final de la sesión el alumno elabora


seudocódigos básicos empleando
subprogramas tipo procedimiento.

18
Recordando …

¿Cuándo se debe usar un acumulador?


¿Cuándo se debe usar un contador?
Señale diferencia entre estructura Repetir y
estructura Mientras.

19
¿Qué ideas te genera esta imagen?

20
Introducción

21
Programación Modular

La programación modular es una metodología de


programación que consiste en organizar un
programa en módulos.
En la etapa de diseño de un programa se aplica la
estrategia “Divide y vencerás”.
En la etapa de implementación, cada uno de los
subproblemas se implementa a través de un
módulo.
Los módulos más simples son los procedimientos y
funciones.

22
Abstracción
(Divide y vencerás)

Coursehero. Fundamentos de Informática. Tema 7. Diseño descendente: subprogramas. Recuperado de: https://www.coursehero.com/file/9433701/Tema-7/

23
Subprogramas

Subprogramas: bloques de
código que llevan a cabo una
tarea concreta (= resuelven un
subproblema concreto)

Permiten reutilizar Ayudan a que el


Tienen un
código de manera código del programa
propósito
sencilla y segura principal sea

Legible: Ordenado:

24
Subprogramas

25
Subprogramas

26
Subprogramas

Procedimientos

Subprogramas

Funciones

27
Ejemplo 1

Hallar las raíces de la ecuación cuadrática,


mostrando previamente nombre del curso y
seudocódigo.
SubProceso mostrar( )
Escribir "****************************"
Escribir "* Ejemplo de Procedimiento *"
Escribir "* Junio 2016 *"
Escribir "* Principios de algoritmos *"
Escribir "****************************"
FinSubProceso
28
SubProceso cuadratica(a, b, c, x1 Por Referencia,
x2 por Referencia)
x1<-(-b+(b*b-4*a*c)^0.5)/(2*a)
x2<-(-b-(b*b-4*a*c)^0.5)/(2*a)
FinSubProceso

29
Proceso Principal
Definir a, b, c, x1, x2 como Real
Escribir "Digite a "
Leer a
Escribir "Digite b "
Leer b
Escribir "Digite c " Escribir "Raiz 1 ", x1
Leer c Escribir "Raiz 2 ", x2
mostrar( ) FinProceso
cuadratica(a,b,c,x1,x2)
30
Procedimiento: Ejemplo
Parámetros
SubProceso cuadratica(a, b, c, x1 Por Referencia, x2 por Referencia)
x1<-(-b+(b*b-4*a*c)^0.5)/(2*a)
x2<-(-b-(b*b-4*a*c)^0.5)/(2*a)
FinSubProceso
Proceso Principal
Definir a, b, c, x1, x2 como Real
Escribir "Digite a "
Leer a
Escribir "Digite b "
Leer b
Escribir "Digite c "
Leer c
mostrar( )
Llamadas a procedimientos
cuadratica(a,b,c,x1,x2)
Escribir "Raiz 1 ", x1
Escribir "Raiz 2 ", x2
FinProceso
31
Ejemplo: Procedimiento

Parámetros

Llamadas a procedimientos

32
Procedimiento

Son subprogramas que realizan una tarea determinada y


generan 0 o más de un valor. Se utilizan para estructurar un
programa y mejorar su claridad y generalidad.

Sus parámetros pueden ser:


- de ENTRADA: Sólo se utilizan para que los subprogramas que
llaman al procedimiento le pasen datos.
- de ENTRADA/SALIDA: Se utilizan por parte de los
subprogramas que llaman, para pasarle datos al procedimiento,
y por parte del procedimiento para pasar los resultados
obtenidos al subprograma que lo ha llamado.

33
Actividad en aula

• Elabore un pseudocódigo y use procedimiento


para el siguiente caso:
• Intercambiar los valores de dos variables. El valor de
la primera debe guardarse en la segunda y viceversa

34
Ejercicio

• Elabore un pseudocódigo y use procedimiento


para el siguiente caso:
• Ingresar dos números enteros y devolverlos ordenados
ascendentemente.

35
Preguntas

36
Recapitulando …

Un Procedimiento se caracteriza por…………..


La llamada o invocación la hace …………………
Los parámetros van entre …………………..
Finalmente, se elaboró un pseudocódigo
empleando procedimientos.

37

Você também pode gostar