Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN ALGORÍTMICA
Los paradigmas de programación
• Declarativo: por ejemplo la programación funcional, la programación lógica, o la combinación lógico-funcional. está basado en el
desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones,
ecuaciones o transformaciones que describen el problema y detallan su solución.
- Funcional: está representado por Scheme o Haskell. Esta basado en la utilización de funciones aritméticas que no maneja datos
mutables o de estado.
- Lógico: está representado por Prolog. La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia artificial o
relacionadas: sistema experto|Sistemas expertos, donde un sistema de información imita las recomendaciones de un experto sobre
algún dominio de conocimiento.
• Orientado a objetos: está representado por Smalltalk, un lenguaje completamente orientado a objetos. La programación orientada a
objetos es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución. Un objeto es una
abstracción de algún hecho o ente del mundo real que tiene atributos que representan sus características o propiedades y métodos
que representan su comportamiento o acciones que realizan. Ej: C++ , Visual Basic, Fortran, Java
Python es un lenguaje multiparadigma, esto significa que combina
propiedades de diferentes paradigmas de programación. Principalmente
es un lenguaje orientado a objetos, todo en Python es un objeto, pero
también incorpora aspectos de la programación imperativa, funcional,
procedural y reflexiva.
Qué es un programa de computador?
1 Análisis del problema Conducen al diseño detallado por medio un pseudocódigo escrito en forma de un algoritmo y
creación de un diagrama de flujo
2 Diseño de algoritmo y
diagramación
A continuación en la figura podemos observar las etapas que debemos seguir para la
solución de un problema
Problema
1. Encabezado.- todo algoritmo debe tener un encabezado como identificación, el cual debe
empezar con la palabra Algoritmo seguida por una descripción del problema a resolver.
2. Inicio.- todo algoritmo debe empezar con la etiqueta 1, que marca el inicio del mismo.
3. Declaraciones.- después de marcar el inicio se debe hacer las declaraciones que se
necesiten como: variables, constantes, tipos de datos, etc.
4. Leer, calcular e imprimir.- los siguientes pasos pueden consistir en acciones tales como:
leer datos, calcular algunas expresiones aritméticas e imprimir datos tantas veces como se
requiera y en el orden apropiado para resolver el problema en cuestión.
5. Fin del algoritmo.- el último paso del algoritmo consiste en incluir la indicación fin.
Ejemplo No 1
Calcular e imprimir el sueldo de un empleado, se pedirá la clave del empleado, las horas trabajadas y el
pago por hora trabajada.
1. Inicio
2. Declaración de variables:
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo = ht * pht
5. Imprimir cve, sueldo
6. Fin
Ejemplo No 2
Desarrollar un algoritmo que permita leer un número en radianes e imprima su
equivalencia en grados; así mismo, leer un número en grados e imprima su equivalencia
en radianes.
1. Inicio
2. Declaración de variables:
PI = 3.145926536: real (flotante)
rad, grad, numrad, numgrad: real (flotante)
3. Leer rad, grad
4. numgrad = rad * (180 / PI)
5. numrad = grad * (PI / 180)
6. Imprimir numgrad, numrad
7. Fin
Ejemplo No 3
Desarrollar un algoritmo para calcular el promedio de un estudiante, se pedirá la
matricula del estudiante y cuatro calificaciones de los exámenes. Se imprimirá la
matricula del estudiante y el promedio.
1. Inicio
2. Declaración de variables
matest: entero
cal1, cal2, cal3, cal4, calfin: real (flotante)
3. Leer matest, cal1, cal2, cal3, cal4
4. calfin = (cal1 + cal2 + cal3 + cal4) / 4
5. Imprimir matest, calfin
6. Fin
Diagramas de flujo
Debemos recordar que un diagrama de flujo debe ilustrar
gráficamente los pasos o procesos a seguir para alcanzar la
solución de un problema.
inicio
cve, ht
pht
sueldo = ht * pht
cve fin
sueldo
Diagrama de flujo Ejemplo 2
inicio
rad
grad
numgrad
numrad = grad * (PI / 180) fin
numrad
Diagrama de flujo Ejemplo 3
inicio
matest, cal1
cal2, cal3
cal4
matest fin
calfin
Contadores y acumuladores en programación
Contadores: algunas veces en programación se requiere tener un
control de las iteraciones que efectúa un programa, se puede contar
tanto incrementando Ejemplo: I=I+1 o decreciendo N=N-1, tenga en
cuenta que el igual es una asignación no una ecuación matemática.
1. Inicio
2. Declaración de variables
N, i, suma: entero “Se crean las variables a usar en el programa”
3. Leer N “Entrada de datos al programa”
4. suma=0 “arranque del acumulador”
5. i=1 “Arranque del contador”
6. Si i>N al paso 8 “Criterio de parada”
7. Si no suma= suma +i “Proceso iterativo, incrementa el acumulador”
i=i+1 pasar al paso 6 “Aumenta el contador y va a 6”
8. Imprima suma “Imprime resultados del programa con mensajes”
9. fin
Inicio
Si
i>N
Ciclo o bucle
suma
No
suma=suma + i
i = i +1
Fin
Inicio
N
Con contador decreciente
suma=0
Si
N=0
suma
No
suma=suma + N
N=N-1
Fin
Inicio
suma=0
No
N<>0
suma
Si
suma=suma + N
N=N-1
Fin
Ejemplo 5
Crear un algoritmo y un Diagrama de flujo que permita
escribir los 100 primeros pares
Algoritmo 5: Escribe los 100 primeros pares
1. Inicio
2. Declaración de variables
N, p: entero
3. N=100
p=0
4. Si N>0
imprima p
p=p+2
N=N-1 pasar al paso 4
5. Si no pasar al siguiente
6. fin
INICIO
N=100
p= 0
Con contador decreciente
No
N>0 Fin
Si
Prueba de escritorio
Para los 3 primeros p
pares
N= 3 2 1 0
P= 0 2 4 6
p=p + 2
N=N-1
INICIO
N=100
p= 0
i=1 Con contador creciente
No
i<=N Fin
Si
Prueba de escritorio
Para los 3 primeros p
pares
N= 3
P= 0 2 4
i=1 2 3 4
p=p + 2
i=i+1
Prueba de escritorio
Para los 3 primeros pares
P= 0 2 4 6
i= 1 2 3 4
Ejemplo 6
Crear un algoritmo y un Diagrama de flujo que pida 3
números y diga cual es el mayor
Algoritmo 6: Determina cual es el mayor de 3 números
1. Inicio
2. Declaración de variables
a,b,c,mayor: entero
3. Leer a,b,c
4. mayor=a
5. Si mayor>b
Si mayor>c
6. imprima “a es el mayor” pasar 11
7. Si no imprima “c es el mayor” pasar 11
8. Si no, haga mayor=b
9. Si mayor>c
11. fin
Encuentra el mayor de N números
1. Inicio
2. Declaración de variables
N,a,b,c: entero
3. Leer N
4. Si N<=2
5. imprimir 1 pasar al paso 10
6. Si no
a=1
b=1
7. c=a+b
a=b
b=c
N=N-1
8. Si N=2 imprimir b pasar al paso 10
9. Si no pasar al paso 7
10. fin
Inicio
Si No
N<=2 a=1
b=1
c=a+b
a=b
b=c
N=N-1
1 Si No
b N=2
Fin
Si No
N=3
a112
B123
C23
I234
Ejemplo 8
Hacer un algoritmo y un diagrama de flujo
que lea N números y escriba la suma de
los pares y el producto de los impares
Algoritmo 8:Determina la suma de pares y producto de impares de N
números
1. Inicio
2. Declaración de variables
N,sp,pi, A: entero
3. Leer N
4. sp=0
5. pi=1
6 leer A
sp=sp+A pasar 9
8.Si no pi=pi*A
9. N=N-1
10. Si N=0
imprimir sp, pi pasar 12
11. Si no pasar al paso 6
12. fin
Inicio
sp=0
pi=1
A
Si No
A MOD 2=0
sp=sp+A pi=pi*A
N=N-1
No
N=0
Si
sp,pi
Fin
Inicio
sp=0
pi=1
i=0
A
Si No
A MOD 2=0
sp=sp+A pi=pi*A
i=i+1
No
N<=i
Si
sp,pi
Fin
Ejemplo 9
Hacer un algoritmo y un diagrama de flujo
para calcular AB , siendo B un entero,
nótese que B puede ser cero o negativo.
No se puede emplear logaritmos. No se
debe usar el símbolo de potenciación.
Algoritmo 9: Calcular AB
1. Inicio
2. Declaración de variables
A,B,p: entero
3. Leer A,B
4. p=1
5. Si B=0 pasar 12
6. Si no
Si B>0 pasar a 8
7. Si no
A=1/A
B=-B
8. p=p*A
9. B=B-1
10. Si B=0 pasar 12
11 Si no pasar 8
12.imprimir p
13. fin
Inicio
A,B
p=1
B=0
No Si
B>0
No Si
A=1/A
B=-B
p=p*A
B=B-1
No B=0
Si
p
Fin
Ejemplo 10
Hacer un algoritmo y un diagrama de flujo
para calcular el factorial de N (N!
=1*2*3*….*N)
Algoritmo 10: Calcular Factorial de N
1. Inicio
2. Declaración de variables
N,p: entero
3. Leer N
4. p=1
5. Si N>1
p=p*N
N=N-1 pasar al paso 5
6. Si no imprimir p
13. fin
Inicio
P=1
i=1
No P
i<=N
Si
P=P*i
Fin
i=i+1