Está en la página 1de 36

PRINCIPIOS DE

ALGORITMOS
SEMANA 1

Jhon Paul Anampa García


Ejemplo de algoritmo

Algoritmo para
cambiar la llanta de un auto
• Aflojar los pernos
• Levantar el auto con la gata
• Sacar los pernos de la llanta
• Quitar la llanta
• Colocar la llanta de repuesto
• Colocar y apretar los pernos
• Bajar la gata
Algoritmo: características

Se muestran 6 características.
Las 5 primeras fueron planteadas por Donald Knuth.

Si se sigue
Al realizar
varias veces el
Cada paso seguimiento Todas las
algoritmo,
debe estar del algoritmo, El algoritmo operaciones
Un algoritmo ingresando los
especificado debe finalizar, tiene cero o a realizar
tiene una o mismos datos,
con claridad, es decir, debe más entradas. deben ser
más salidas. se debe
sin tener un suficienteme
obtener los
ambigüedad número finito nte básicas.
mismos
de pasos.
resultados.

Preciso Finito Entrada Salida Eficacia Definido


Eficiencia y Eficacia de un algoritmo

Algoritmo eficiente Algoritmo eficaz

Cuando logra
alcanzar el objetivo Cuando alcanza o
empleando la menor logra el objetivo
cantidad de recursos, planteado de forma
pasos y esfuerzos prioritaria.
humano.

Un algoritmo puede ser eficaz al resolver un problema, pero no eficiente pues emplea demasiados recursos,
lo ideal es obtener un algoritmo que sea conjuntamente eficiente y eficaz.
Fortaleza o robustez de un algoritmo

• Un algoritmo debe contemplar diversos escenarios de


un problema a resolver.
• Un algoritmo robusto controla los giros inesperados en
un problema.
• En conclusión, es flexible a cambios.
• Sirven para resolver un tipo de
problema específico.
• Son consecuencias de pasos

Algoritmos
concretos.
• Requiere la definición de la
entrada y la salida.
• Adecuados para ser ejecutados
por un computador
Fases en el desarrollo de un algoritmo
Consiste en la metodología aplicada para la resolución de problemas.

Implementación del
Análisis del problema Diseño del algoritmo
algoritmo
Descripción ordenada de la
secuencia de pasos (sin Expresar el algoritmo como un
Revisar los detalles del ambiguedades) que conducen a programa en el lenguaje de
problema hasta la solución de problemas dado programación adecuado.
comprender la tarea que (Análisis del problema y
se desea resolver. desarrollo del algoritmo). Ejecución y validación del
Realizar prueba de escritorio. programa de computadora.
Corregir errores y volver a
realizar pruebas.

La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.


Ejemplo: La receta de un postre.
Fases en el desarrollo de un algoritmo
Consiste en la metodología aplicada para la resolución de problemas.

Implementación del
Análisis del problema Diseño del algoritmo
algoritmo

La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.


Ejemplo: La receta de un cebiche.
Algoritmos presentes en la vida diaria

Entradas Proceso Salida


¿Qué hacer para ver una película Star Wars?

Algoritmo general
Ir al cine Comprar la entrada Ver la película Regresar a casa
Algoritmo: refinar el anterior
Agregar más pasos importantes,
especificar algunos, etc.
Algoritmos de la vida cotidiano

Describa los Describa los pasos


pasos para cruzar la calle. para cambiar un foco quemado.

Describa los pasos Describa los pasos para


para llevar a un(a) amigo(a) al cine. cambiar la llanta de una bicicleta.
Complete:

• Fase del desarrollo de un algoritmo:


..................., ……………… y …………..

Resumiendo
• Algoritmo: secuencia ordenada de ……………..
• Características del algoritmo: …………………..,
………………, ……………, ……………………, ………………..
Y ………………
Fases en el desarrollo de un algoritmo
Consiste en la metodología aplicada para la resolución de problemas.

Implementación del
Análisis del problema Diseño del algoritmo
algoritmo

La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.


Ejemplo: La receta de un cebiche.
Estructura de un Algoritmo

Entrada Proceso Salida

Es el conjunto de
Es la introducción operaciones a Son los resultados
de datos para ser realizar para dar obtenidos a través
transformados solución al del proceso.
problema.
Solucionar Problemas
Algoritmo

Procesador

Entradas Instrucciones Salidas


Diseño de algoritmos
Alternativas de solución

Es la forma de representar la secuencia lógica de ejecución de


instrucciones.

Esta puede ser a través de:


1) Diagramas de flujo
2) Pseudocódigo
PSEUDOCÓDIGO

Pseudocódigo
Es un lenguaje de especificación (descripción) de algoritmos . El pseudocódigo tiene
que traducirse posteriormente a un lenguaje de programación.
Es empleado para representar la solución de un algoritmo empleando lenguaje natural
escrito estableciendo la secuencia de pasos sin imprecisiones y de manera clara.

Ventajas:
• Se enfoca en la lógica del programa y no en las reglas de un lenguaje específico.
• Se puede traducir fácilmente a lenguajes estructurados (Pascal, C, C++).
Diagrama de
Flujo Proceso sumas

← ← ← ← ← ←
Definir n1, n2, suma Com…
Es empleado para representar
la solución de un algoritmo ‘Ingrese dos números’
empleando figuras
n1, n2
geométricas, donde cada una
de ellas representa en Suma ← n1 + n2
particular una tarea específica
que realizar. ‘Suma: ’ ,suma

FinProceso
Diagrama de Flujo

Diagrama de flujo Pseudocódigo


Símbolos Significado Palabras reservadas

Inicio / Fin Inicio / Fin

Lectura / Escritura Leer / Escribir

Proceso +-*/←

Selectiva Si – entonces

Proceso repetitivo Mientras / desde / repetir

Dirección o flujo
Lenguajes de Programación

Algoritmo Programación Instrucción


Expresa los algoritmos
Se expresa como Son pasos que se
en forma de ejecutan en un
Programa
Se escribe con un

Lenguaje de
Programación
Se clasifica como:

Lenguaje de Lenguaje de Lenguaje de


Máquina Bajo Nivel Alto Nivel
Lenguajes de Programación

• Programación: Actividad que


consiste en expresar un
algoritmo en forma de
programa.
• Instrucción: Es cada uno de los
pasos que se ejecutan en el
programa.
Lenguajes de Programación

Principales lenguajes utilizados en la actualidad:

• Lenguaje de máquina: combinación de ceros (0) y unos (1) que crean


instrucciones entendibles por el hardware para lleva a cabo operaciones.
• Lenguaje de bajo nivel: entre ellos es lenguaje ensamblador, un intermedio
entre el lenguaje máquina y el natural. Usa abreviaturas de letras y números
que son nemotécnicas.
• Lenguaje de alto nivel: lenguajes más cercanos a nuestro lenguaje natural.
Por ejemplo: Java
Tipos de datos

Caracteres que
Ejemplo: a, v, 3, $,
Caracteres reconoce el
ñ
computador

Enteros (sin
Ejemplo: 1, 4, -2, 0
decimales)
Tipos de datos Numérico
Reales (con
Ejemplo: 1.3, 34,1
decimales)

Contiene valores Ejemplo: verdadero


Lógicos
lógicos y falso
Variable

Permite almacenar de forma temporal un valor y el cual puede cambiar durante la


ejecución del algoritmo o programa.
Toda variable tiene un nombre que sirve para identificarla.

Ejemplo:
prom <- (calf1+calf2+calf3)/3´

* Las variables son: prom, calf1, calf2, calf3.


Declarando una variable

Declaración de variables: Estas deben ser declaradas previamente, indicando de


cada una de ellas:
• Nombre
• Tipo de dato

Ejemplo:
• Edad
• Precio
¿Qué tipo de dato son las variables?

• Edad: Entero

• Precio: Real

• Altura: Real
Variable

• Posición de memoria que posee valor, tipo, nombre (identificador), tamaño.

• Identificador de variable: inicia con letra minúscula, sigue con letra, dígito,
guion bajo ( _ ).

• Si el identificador tiene más de una palabra, la primera letra a partir de la


segunda palabra se escribirá con mayúscula.

• Identificador debe ser significativo.


Las palabras reservadas

Son aquellas palabras que no podemos utilizar para • LEER


nombrar a una variable. • ESCRIBIR
Estas palabras le sirven al computador para interpretar • PROCESO
lo que deseamos codificar por ejemplo: • SI
• Si queremos ingresar el valor de una variable, antes del • PARA
nombre de la variable colocamos la palabra reservada LEER • MIENTRAS
Leer nota
• SEGÚN
• Si queremos mostrar un mensaje colocamos la palabra
ESCRIBIR antes del mensaje • HACER
Escribir “hola” • SINO
• REAL
Operadores
Operación Operador en PseInt Ejemplo
Además, PseInt nos
Adición + 10 + 2 = 12
permite definir un
Sustracción - 10 - 2 = 8 número trascendental
Multiplicación * 10 * 2 = 20 muy usado que es Pi,
División / 10 / 2 = 5 para usarlo solo
Potencia ^ 10 ^ 2 = 100 debemos escribir PI:
RAIZ
Raíz RAIZ(100) = 10
RC Ejemplo: Si queremos
Residuo
% 10 % 2 = 0 calcular el doble de PI
mod 10 mod 3 = 1 colocamos: 2*PI
TRUNC(10 / 3) = 3
Parte entera TRUNC
TRUNC(2.34) = 2
Operador de asignación

Para asignarle un valor a una variable (que la variable almacene el


valor que le indicamos) no se emplea el signo “=”, sino la combinación
de: “<“ y “-”

nombre <- “Utp”


edad <- 25
Ejemplo 1

Entrada: ingresamos dos números


Datos: a, b
Proceso: sumamos los números y el Proceso Operadores
Definir a,b, suma Como Real
resultado se guarda en suma Escribir "Ingrese dos
suma=a+b números"
Salida: mostramos el valor en pantalla Leer a, b
suma <- a+b
Resultado: suma Escribir "La suma es ", suma
FinProceso
Escriba seudocódigo para calcular el promedio de
tres números
Ejercicio propuesto
Complete:

• Para plantear la solución al problema debe considerarse

Resumiendo
tres etapas: Entrada, ………… y ……………
• Un algoritmo se puede representar de manera escrita
mediante: ………………………………….……..
• Un algoritmo se puede representar de manera gráfica
mediante: …………………………………….……
Resumiendo

• ¿El seudocódigo funciona en la computadora?

Resumiendo
• ¿Cómo denominamos a la actividad que consiste en
expresar un algoritmo en forma de programa?
Gracias

También podría gustarte