Está en la página 1de 22

ALGORÍTMICA Y PROGRAMACIÓN

Unidad 1. Algoritmos y Programas

Prof. Dianela Dávila


Programa Nacional de Formación en Informática
Algoritmos
La palabra algoritmo procede del matemático árabe
Mohamed Inb al-Khwarizmi.

Según RAE se refiere al conjunto ordenado finito de


operaciones que permite hallar la solución de un problema.

Por lo tanto, un algoritmo es una secuencia ordenada de pasos


que conduce a la solución de un problema concreto en un
tiempo finito.

Ing. Dianela Dávila Unidad 1 2


Programa vs. Aplicación
■ Un programa es el conjunto de
instrucciones ejecutables por un
ordenador. ■ Una aplicación es el software
formado por uno o más programas,
■ Según RAE es el conjunto unitario de documentación de los mismos y
instrucciones que permite a un archivos necesarios para su
ordenador realizar funciones diversas funcionamiento.
como: tratamiento de textos, diseño
de gráficos, resolución de problemas
matemáticos, entre otros.

Entenderemos la aplicación como el software que cumple la función completa para la que
fue diseñado y programa como el resultado de ejecutar un cierto código entendible por un
ordenador.

Ing. Dianela Dávila Unidad 1 3


Lenguaje de Programación

Lenguaje algorítmico Lenguaje de programación

• Es aquel que implementa • Sirve para escribir


una solución teórica a un programas que permiten la
problema indicando las comunicación
operaciones a realizar y el usuario/máquina.
orden en que deben
efectuarse.

Ing. Dianela Dávila Unidad 1 4


Compilador

Los compiladores En instrucciones escritas en


Programas especiales como
convierten las instrucciones lenguajes máquina, es decir,
traductores (compiladores o
escritas en lenguajes de 0 y 1 bits que éstas puedan
intérpretes)
programación entender

Ing. Dianela Dávila Unidad 1 5


Tipos de Lenguajes de Programación
Lenguaje de Lenguaje de Lenguaje de
máquina bajo nivel alto nivel
Diseñados para que las
Escritos en lenguajes Conocido como ensamblador.
personas escriban y entiendan
inteligibles por la Son instrucciones conocidas
los programas de un modo
computadora, ya que sus como nemotécnicas, por
mucho más fácil que los
instrucciones son cadenas ejemplo: ADD(suma),
lenguajes máquinas y
binarias (dígitos 0 y 1). SUB(resta) y DIV(división).
ensambladores.

Un programa escrito en
lenguaje ensamblador se
Por ejemplo :C, C++, Pascal,
Se conoce como código denomina Programa Fuente y
Java, SQL, HTML, XML,
binario. el programa traducido en
Visual, PHP, etc.
lenguaje máquina se conoce
como Programa Objeto.

Ing. Dianela Dávila Unidad 1 6


Partes de un Algoritmo

• Datos iniciales que


Proceso • Datos que obtiene
posee el algoritmo finalmente el
antes de ejecutarse. • Acciones que lleva a algoritmo
cabo el algoritmo
(cálculos necesarios
para encontrar la
solución del

Entrada problema)
Salida

Ing. Dianela Dávila Unidad 1 7


Partes de un Algoritmo

Ejemplo: Escriba el algoritmo para preparar una taza de té


■ Entrada: Taza, Té (Bolsita), Agua, Recipiente
■ Salida: Taza de Té
■ Proceso: ¿ ?

Datos de Entrada Datos de Salida


ALGORITMO

Ing. Dianela Dávila Unidad 1 8


Ejemplo
1. Inicio
2. Tomar un recipiente
3. Llenarlo de agua
4. Encender la estufa de la cocina
5. Colocar el recipiente en el fuego
6. Esperar que hierva el agua
7. Verter el agua en la taza
8. Introducir la bolsita de té
9. Esperar un minuto
10. Retirar la bolsita de té
11. Fin

Ing. Dianela Dávila Unidad 1 9


Características de un Algoritmo
Debe producir
un resultado.
Finito
• Debe terminar en
Definido algún momento.
• Si se sigue un
Preciso algoritmo 2 veces,
Optimización
se obtendrá el
• Los resultados
mismo resultado. • Dar respuesta de si el
deben ser exactos,
de manera Eficiencia algoritmo diseñado
rigurosa. para resolver el
• Dar solución en un problema es el mejor.
Validez tiempo razonable.
En términos de
calidad: • Hace exactamente lo
que se pretende
hacer.

Ing. Dianela Dávila Unidad 1 10


Representación de un Algoritmo
Lenguaje natural Pseudocódigo Diagrama de flujo

• No es suficientemente • Mezcla de lenguaje de • Representación gráfica de


preciso programación y español un algoritmo
• Permite ambigüedades • Permite expresar la • Forma gráfica de cómo
• Descripción no solución de un problema deben realizarse los pasos
satisfactoria mediante un algoritmo en la computadora para
escrito en palabras producir resultados
normales de un idioma • Varios símbolos se
• Lenguaje de relacionan entre sí
especificaciones de un mediante líneas que
algoritmo indican el orden en que se
deben ejecutar los procesos

Ing. Dianela Dávila Unidad 1 11


Pseudocódigo

■ Es la representación narrativa de los ■ Inicio


pasos que debe seguir un algoritmo
Escribir: Escribir un dato por pantalla
para dar solución a un problema
determinado. Leer: Leer un dato del teclado
■ Utiliza palabras que indican el ...
proceso a realizar. Es común
encontrar palabras como: Inicio,
Escribir, Leer, Imprima, Divide, ■ Fin
Suma, Calcule, Fin

Ing. Dianela Dávila Unidad 1 12


Diagrama de Flujo
■ Están compuestos por una serie de símbolos unidos con flechas, donde cada símbolo
representa una acción distinta y las flechas el orden de realización de las acciones.
■ En la representación es conveniente seguir las siguientes reglas:

Se debe
El flujo de las
El comienzo Los símbolos guardar cierta Se evitarán los
operaciones
del programa de comienzo y simetría en la cruces de
será de arriba
figurará en la fin deberán representación líneas de flujo,
abajo y de
parte superior aparecer una de utilizando
izquierda a
del diagrama. única vez. bifurcaciones y conectores.
derecha.
bucles.

Ing. Dianela Dávila Unidad 1 13


Símbolos de Diagrama de Flujo

Fuente: Joyanes Aguilar, Fundamentos de Programación

Ing. Dianela Dávila Unidad 1 14


Símbolos de Diagrama de Flujo

Fuente: Joyanes Aguilar, Fundamentos de Programación

Ing. Dianela Dávila Unidad 1 15


Símbolos de Diagrama de Flujo

Fuente: Joyanes Aguilar, Fundamentos de Programación

Ing. Dianela Dávila Unidad 1 16


Símbolos de Diagrama de Flujo

Fuente: Joyanes Aguilar, Fundamentos de Programación

Ing. Dianela Dávila Unidad 1 17


Símbolos de Diagrama de Flujo

Fuente: Joyanes Aguilar, Fundamentos de Programación

Ing. Dianela Dávila Unidad 1 18


Consejos prácticos

■ Para la realización de un algoritmo se ■ De igual manera se sigue una


deben seguir los siguientes pasos: secuencia en el flujo normal en su
desarrollo:
1. Se debe escribir de arriba hacia
abajo,de izquierda a derecha. 1. Un inicio
2. Siempre se utilizan flechas verticales 2. Una lectura o entrada de datos.
y horizontales. 3. Procesamiento de datos.
3. Cada paso expresa una acción 4. Una salida de información.
concreta.
5. Un final.

Ing. Dianela Dávila Unidad 1 19


Ejercicio 1:
Escriba un algoritmo en pseudocódigo y diagrama de flujo para verificar si una
persona es mayor de edad.

■ Inicio
– Escribir “Cuál es tu edad”
– Lea “Edad”
– Si Edad es mayor o igual a 18
■ Escribir “Es mayor de edad”
– Sino
■ Escribir “Es menor de edad”
■ Fin

Ing. Dianela Dávila Unidad 1 20


Traza de un Algoritmo (Corrida en frío)

■ La traza de un algoritmo indica la Iteración Valor Acción Salida


secuencia de acciones de su (i)
ejecución, así como, el valor de las 1 … … …
variables del algoritmo después de 2 … … …
cada acción.

¿Cuál sería la corrida en frío para el ejercicio 1?

Ing. Dianela Dávila Unidad 1 21


Ejercicios Propuestos

1. Escriba un algoritmo en pseudocódigo y diagrama de flujo para verificar


si un número es positivo o negativo.
2. Escriba un algoritmo en pseudocódigo y diagrama de flujo que calcule el
promedio de cinco notas de un estudiante.
3. Escriba un algoritmo en pseudocódigo y diagrama de flujo para calcular
la edad de una persona a partir del año actual y su año de nacimiento.

Descargar Guía de Ejercicios Propuestos

Ing. Dianela Dávila Unidad 1 22

También podría gustarte