Está en la página 1de 19

Universidad de Nariño

Ing. Esp. Alvaro Stid Bolaños Vásquez


Algoritmos y Programas
En algún momento de nuestra vida
programamos?
Algoritmos y Programas
La palabra Programación resulta muy
cercana y familiar; se puede relacionar
con un programa de televisión, con un
programa político, con la programación
de horas de estudio, entre otros.

Al fijarnos en los ejemplos anteriores,


vemos que todos ellos tienen algo en
común: intentan realizar una
actividad de un modo ordenado.
Cuando se especifican y determinan
los pasos que se deben dar, así como
el orden en que han de realizarse para
poder llevar a cabo cualquier actividad,
estamos especificando lo que se define
como algoritmo.
Algoritmos y Programas
Supongamos que queremos escuchar un
disco de música. Para hacer esto
necesitamos definir una serie de pasos
que constituirán el algoritmo:

1. Dirigirnos a la estantería.


2. Seleccionar el CD a escuchar.
3. Sacar el CD seleccionado de la
estantería.
4. Abrir la funda y extraer el CD.
5. Abrir la bandeja del reproductor de
CD.
6. Introducir en la bandeja el CD
seleccionado.
7. Cerrar la bandeja del reproductor.
8. Pulsar play.
Algoritmos y Programas

QUE ES UN ALGORITMO?
Algoritmos y Programas

ALGORITMO
Se puede definir un algoritmo
como la sucesión de pasos
que se deben realizar desde
que se plantea el problema
hasta que este queda
perfectamente resuelto.

EJEMPLO:
Una receta de un plato
típico.
Algoritmos y Programas

QUE ES UN PROGRAMA?
Algoritmos y Programas

PROGRAMA
Es similar a un algoritmo: la
gran diferencia es que los
pasos que permiten resolver
el problema deben escribirse
en un determinado lenguaje
de programación para que el
ordenador pueda ejecutarlos
y encontrar así la solución.
Algoritmos
Características de un algoritmo

Finito: debe tener un número finito de


pasos, por lo que debe estar limitado
tanto en tiempo de realización como
por el número de pasos que realiza
Definido: para los mismos datos de
entrada obtienen los mismos de salida
Preciso: debe indicarse el orden de
realización de cada paso
Independiente del lenguaje de
programación
Algoritmos

Resolución
de un
problema

Análisis del Diseño del Programació


problema algoritmo n del
algoritmo
Algoritmos Análisis del
Problema
Análisis de
Definición Especificaci Especificaci
Un problema del ones de ones de
problema entrada Salida
Elaborar el análisis para obtener el área y la longitud de una
circunferencia.

1.- Utilizar las fórmulas del área y la circunferencia en función del radio.

2.- Las entradas de datos se reducen al dato correspondiente al radio


del
círculo. Dada la naturaleza del mismo y el procesamiento al cual lo
someteremos, su tipo de dato debe ser un número real.

3.- Las salidas serán dos variables también reales: área y


circunferencia.

La finalización de la fase de análisis del problema nos llevaría al


siguiente
resultado:
Algoritmos
Diseño de un algoritmo
Diseñar un algoritmo puede ser una
tarea difícil y su aprendizaje no es
inmediato, ya que requiere una buena
dosis de experiencia y creatividad.

Un problema tiene varias formas de


solución. Así que un problema tiene “n”
algoritmos de solución, por esta razón es
necesario seleccionar el optimo de ellos,
(Se puede seleccionar según tiempo o
utilización de recursos).
Algoritmos
Para diseñar algoritmos hay que
tener presente los requisitos
siguientes:

 indicar el orden de realización de cada


paso,
 estar definido sin ambigüedad y
 ser finito
Algoritmos
Elementos de un algoritmo
Un algoritmo consta de datos y de
sentencias

Datos Se almacenan Variables y Son InvolucradasEn


Constantes Expresiones

Las sentencias describen las


acciones que pueden ser
ejecutadas.
En general realizan cálculos,
entradas/salidas y control de
flujo del algoritmo.

AYUDA TEXTUAL No. 1


Algoritmos
Ejemplo de diseño de algoritmo

PROBLEMA: Averiguar si un número es primo


o no, suponiendo que razonamos de la
siguiente forma: “Del análisis del hecho de que
un número N es primo si sólo puede dividirse
por sí mismo y por la unidad, un método que
nos puede dar la solución sería dividir
sucesivamente el número por 2, 3, 4..., etc. y,
según el resultado, podríamos resolver el
problema”.
Solución I 1
Algoritmos
EJERCICIOS: Realizar el algoritmo que resuelva:
Comprobar si un numero entero positivo
ingresado desde el teclado es par .

Cambiar la rueda de un automóvil.

Calcular el área de un triangulo.

Saber si tres números enteros ingresados por


teclado son consecutivos y mostrarlos de
menor a mayor.
algoritmos
Existen dos formas
 Pseudocódigo: es un lenguaje de especificación de
algoritmos (no de programación)

1. leer N
2. mientras N > 2 hacer
3. N N - 2
4. si N = 2 entonces escribe “es par”
5 .sino . escribe “es impar”

 Diagramas de flujo: Los organigramas o diagramas de flujo


son herramientas gráficas utilizadas tanto para representar
algoritmos, como en la ayuda en el diseño de programas.
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.
Estructuras de Control
 Secuenciales: Son aquéllas en las que una acción (instrucción)
sigue a otra de acuerdo con su orden de escritura

 Selectivas: Se produce cuando existen varias alternativas,


resultantes de la evaluación de una determinada condición:

* Simples
* Dobles
* Multiples

 Repetitivas: El computador está especialmente diseñado para


aplicaciones en las que una operación o un conjunto de ellas deben
repetirse muchas veces. En este sentido, definiremos bucle o lazo
(loop), como un segmento de un programa cuyas instrucciones se
repiten bien un número determinado de veces o mientras se
cumpla una determinada condición.

 AYUDARSE CON EL PROGRAMA PSeINT


Actividad en clase
PROBAR LOS ALGORITMOS RESULESTOS EN
EL PROGRAMA PSeINT