ALGORITMOS Y PROGRAMACIÓN GRADO DÉCIMO TEMA 1: CONCEPTOS BÁSICOS Un algoritmo es una secuencia, finita y ordenada de instrucciones que han de seguirse para resolver.
Download ReportTranscript ALGORITMOS Y PROGRAMACIÓN GRADO DÉCIMO TEMA 1: CONCEPTOS BÁSICOS Un algoritmo es una secuencia, finita y ordenada de instrucciones que han de seguirse para resolver.
Slide 1
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 2
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 3
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 4
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 5
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 6
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 7
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 8
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 9
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 10
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 11
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 12
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 13
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 14
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 15
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 16
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 17
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 18
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 19
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 20
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 21
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 22
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 23
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 24
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 25
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 26
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 27
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 28
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 29
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 30
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 31
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 32
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 33
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 34
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 35
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 36
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 2
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 3
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 4
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 5
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 6
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 7
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 8
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 9
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 10
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 11
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 12
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 13
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 14
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 15
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 16
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 17
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 18
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 19
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 20
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 21
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 22
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 23
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 24
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 25
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 26
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 27
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 28
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 29
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 30
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 31
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 32
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 33
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 34
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 35
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones
Slide 36
ALGORITMOS Y
PROGRAMACIÓN GRADO
DÉCIMO TEMA 1:
CONCEPTOS BÁSICOS
Un algoritmo es una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa, etc.
ALGORITMO: Nombre
El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra del
matemático
árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO
• Es el método para resolver problemas. Es
una serie de operaciones detalladas a
ejecutar paso a paso y que conducen a la
resolución de un problema. Conjunto de
reglas o la forma de describir la solución
del problema. Es una descripción de
acciones que deben ser ejecutadas y una
descripción de los datos que son
manipulados por esas acciones.
ALGORITMO: Características
CONCRETO
FINITO
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e
Información
• 2.- Proceso: Elaboración
o Desarrollo
• 3.- Salida: Resultado y
Terminación
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) y
los datos que son generados
(datos de salida)
Conforma el grupo de
instrucciones que
realizan las operaciones
con los datos.
Determinan la
organización de las
instrucciones que
deben ser realizadas.
Datos
Procesos
Estructuras de
Control
ALGORITMO: Elementos
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lógico, con el fin de
evitar
inconsistencias en
el resultado.
Es necesario identificar que
datos se necesitan ingresar,
cuales sirven de forma auxiliar
y cuales se van a generar.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
ALGORITMO: Quienes
pueden hacer un algoritmo?
Toda persona,
implícitamente y
diariamente diseña y
realiza algoritmos, para
dar solución a
situaciones cotidianas
de forma natural.
Sin embargo el programador, diseña el
algoritmo consiente de que al realizar
cada paso obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de
este otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Los algoritmos se crean para resolver
problemas.
Es importante que junto al algoritmo,
describamos claramente el problema que éste
nos permite resolver.
ALGORITMO:
Requisitos
Por ejemplo:
Si se requiere hallar la velocidad de un
automóvil, es necesario, definir si la distancia
debe ser en metros, kilómetros, etc y el tiempo
estará dado en segundos u horas, ya que la
velocidad puede representarse en Km/h ó
mts/seg.
No debemos omitir el contexto de
nuestros algoritmos.
Es necesario establecer lo que se
necesita y dónde se debe comenzar.
Seguir los pasos del algoritmo debe
llevarnos a la
resolución del problema.
Siempre que sea posible seguiremos
personalmente los pasos de nuestro
algoritmo para
comprobar que son
efectivamente correctos y conducen efectivamente a la
solución esperada.
Debe Definirse el
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
ALGORITMO: Técnicas de Representación
Está técnica permite representar el
algoritmo mediante un lenguaje más
estructurado, facilitando su posterior
codificación.
Es una técnica que permite
representar gráficamente las
operaciones y estructuras que se
van a realizar, mediante una
simbología estándar, con un único
punto de inicio y uno de finalización.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO:
Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Se utiliza
para
Permite
realización
indicar
la
indicar
el punto
de
de un
Entrada
proceso
de matemático,
datos
desde
inicio
y finalización
del
un
dispositivo
o una
operación
estándar
de
diagrama
asignación
DIAGRAMA DE FLUJO:
Simbología
Conectores
Impresión
Decisión
Flujo
Permiten enlazar los
Permiten
Permitedar
establecer
continuidad
una
símbolos de un sentido
al condición
diagrama relacional
si la página
ó
único pueden ser
lógica
o área
que
dela
puede
trabajo
tomar
esta
Indica
realización
de
horizontales
o
verticales.
operaciones
salida a se
un
un
llena,
valor de verdadero
eldecírculo
o
Estas
no
pueden
dispositivo
estándar
falso,
utilizade
como
este
un
símbolo
conector
se
entrecruzarse
y
cada
una
(el deducen
monitor
dentro
deolaimpresor.)
2misma
flujos
de ellas debe tener un
página, el
alternativos
otro símbolo
de
único símbolo de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO:
Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
SIMBOLO, REPRESENTACIÓN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representación gráfica del algoritmo:
diagramas de flujo
Símbolo
Representación
Significado
Flechas o líneas de flujo
Indica el sentido de
ejecución de las acciones
Rectángulo
Proceso o acción a realizar
(por ejemplo, asignación)
Paralelogramo
Representa una entrada o
salida
Rombo
Representa el constructor de
selección (decisión lógica)
Rectángulo redondeado
Representa el inicio y fin del
diagrama
Círculo
Se usa como conector entre
dos partes del diagrama
ALGORITMO: Fases de Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
ALGORITMO: Definición del
Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Proceso
Entendido el problema para
resolverlo es preciso analizar
Fórmulas
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
algoritmo es
de entradasialelprograma
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir laalsecuencia
indicada
herramienta
paso presenta
anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos los
casos.
resultados
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valorlaque puede
a un
Minima parte
espacio dedememoria
que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
para realizar
alguna mantiene
ejecución
de espacio
cambia
queoperación
requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
ALGORITMO: Tipos de Datos
Boleano
Real
cadena
Lógicos
Entero
Caracter
Numéricos
Carácter
Tipos
de
Datos
ALGORITMO: Operadores
>=
<=
>
<
=
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
Programa de Aplicación
Programa que permite resolver la ecuación de primer grado
Programa
que permite
resolver la
ecuación de
primer grado
ax+b=0
a
?
b
x = -b / a
Algoritmo EC 1er Grado
Variables
a,b,x de tipo entero
Inicio
Escribir(“Ingrese valores de EC”)
Leer (a,b)
Si a = 0 entonces
escribir (“Error”)
sino
Inicio
x=-b/a
Escribir (“La solución es:”,x)
Fin
Escribir(“Fin programa”)
Fin
#include
int a,b,x;
main()
{
printf(“Ingrese valores de EC”);
scanf(“%d %d”,&a,&b);
if a ==0 printf (“error”);
else
{
x = -b / a;
printf(“La solución es %d:”,x);
}
printf(“Fin programa”);
}
EJEMPLO DE ALGORITMOS
Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo.
Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar el bus
(transporte)
Cálculo de la media aritmética de
dos números con una calculadora
1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con
cada elemento del arreglo hasta que se encuentra.
0
1
2
I
N
F
M
M
M
3
4
O
M
5
M
M
6
Á
7
T
8
I
9
C
A
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se
hundan y los mÁs livianos salgan a flote.
25
25
25
15
15
1
32
15
15
25
1
15
32
1
1
25
15
1
1
32
32
32
25
32
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
Datos de entrada: b y a (base y altura)
Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)
1.
2.
3.
4.
5.
6.
7.
Inicio
Leer base y altura (b, a)
ar ← b*a
pe ← 2*(b + a)
Escribir “Área del rectángulo: ”, ar
Escribir “Perímetro del rectángulo: ”, pe
Fin
Análisis resumido
del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN
EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar
en el cuaderno preguntas y respuestas)
http://www.creartest.com/hacertests-63959EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno
preguntas y respuestas) http://www.daypo.com/testlogica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y
respuestas) http://www.daypo.com/test-algoritmosdiagrama-flujo.html
GENERALIDADES SOBRE LOS
ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para cambiar un
bombillo quemado.
• Describa los pasos para llevar a una
amiga a cine.
• Describa los pasos para cambiar la
llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria,
Programación de computadoras, programador,
Programación estructurada, Lenguaje de
programación, Interprete, Compilador, Variable,
Constante, Diagrama de flujo, Diagramas de
flujo, Algoritmos, Toma de decisión, Ciclos,
Funciones