INF206 Tema 03aBET

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 65

INF-206

Tema
03a
INTRODUCCIÓN
A LA ESCRITURA DE
ALGORITMOS If you cannot describe what you are doing as
a process, you don't know what you're doing.
COMPUTACIONALES W. Edwards Deming
USANDO ESPAÑOL
LLANO.

Ferreiras introducción a la escritura de 1


algoritmos computacionales
OBJETIVOS DEL TEMA
CONSTRUIR LOS CONCEPTOS DE:

 Algoritmo;
 Declaración del problema;
 Análisis-Dominio del problema;
 Enfoque E-P-S
 Secuencia de pasos; 
 Selección de paso;
 Repetición de pasos;
Ferreiras introducción a la escritura de 2
algoritmos computacionales
EXPLORACIÓN DEL TEMA

Escribir y enumerar los pasos para


usted llegar a la clase INF-207 los
Sábados a las 2:00pm. Suponer que
usted se acostó en la noche y durmió sin
problemas 8 hrs mínimo y que tiene
todos los recursos requeridos para
transportarse.

Ferreiras introducción a la escritura de 3


algoritmos computacionales
INICIO 7.- Estudiar
1.- despertar 8.- almorzar
2.- levantar 9.- transportar
3.- depositar 10.- ingresar
4.- bañar 11.- sentar
5.- vestir FIN
6.- desayunar Considerando que estos 11
pasos son los que haría una
persona “normal” y “promedio”

Ferreiras 4
CONCEPTO DE ALGORITMO
INICIO
 SECUENCIA DE
PASO1
INSTRUCCIONES,
PASO A PASO, PARA PASO2
LA EJECUCIÓN DE PASO3
UNA TAREA.

PASO_n-1
PASO_N

Ferreiras introducción a la escritura de


FIN 5
algoritmos computacionales
 CARACTERÍSTICAS DE UN ALGORITMO

 TIENE UN INICIO Y UN FINAL;


 CADA PASO NO GENERA UNA
AMBIGÜEDAD;
 CADA PASO DEFINE CON
CLARIDAD UNA ACCIÓN A
EJECUTAR;

Ferreiras introducción a la escritura de 6


algoritmos computacionales
 DEBE TRANSMITIR ALGUNA
INFORMACIÓN O MENSAJE;
 DEBE TENER SENTIDO;
 ALGUIEN DEBE SER CAPAZ DE
ENTENDERLO;

Ferreiras introducción a la escritura de 7


algoritmos computacionales
 NO SER AMBIGUO: EL
COMPUTADOR NO ACEPTA
AMBIGÜEDAD;

 GENERALIDAD: RESUELVE UNA


CLASE DE PROBLEMAS;

 EXACTITUD: RESUELVE
CORRECTAMENTE EL PROBLEMA
DADO;

Ferreiras introducción a la escritura de 8


algoritmos computacionales
 FINITO: SIEMPRE DEBE
TERMINAR;

 EFICIENTE: RECONOCIMIENTO DE
QUE DISPONE DE RECURSOS DE
COMPUTACIÓN FINITOS ( MEMORIA,
CICLOS DE CPU, …);

Ferreiras introducción a la escritura de 9


algoritmos computacionales
 ENTRE EL INICIO Y EL FIN ESTA LA
SECUENCIA DE PASOS QUE SON LA
SOLUCION DEL PROBLEMA;

 ES UNA RECETA , ENTENDIDA


POR LOS HUMANOS, QUE
REPRESENTA LA RESOLUCIÓN DE
UN PROBLEMA;

Ferreiras introducción a la escritura de 10


algoritmos computacionales
 USUALMENTE, ESTÁ
EXPRESADO EN UNA MEZCLA DE
LENGUAJE NATURAL, NOTACIÓN
MATEMÁTICA Y NOTACIÓN DE
PROGRAMACIÓN
COMPUTACIONAL;

Ferreiras introducción a la escritura de 11


algoritmos computacionales
 CUANDO SE IMPLEMENTA EN UN
LENGUAJE DE PROGRAMACIÓN ES
ENTENDIDO SOLAMENTE POR EL
COMPUTADOR;

 ES LA CLAVE DEL ÉXITO DE LA


SOLUCIÓN. TÓMESE SU TIEMPO
PARA ESCRIBIRLO;

Ferreiras introducción a la escritura de 12


algoritmos computacionales
ESCRITURA DE ALGORITMOS
COMPUTACIONALES
EN ESTE CURSO
USAREMOS ESTOS
 ESPAÑOL LLANO; DOS MÉTODOS
SOLAMENTE Y EN
 PSEUDOCÓDIGO; ESE ORDEN.

 DIAGRAMA DE FLUJO;
 CÓDIGO DE UN LENGUAJE DE
PROGRAMACIÓN;
 
Ferreiras introducción a la escritura de 13
algoritmos computacionales
ESCRITURA DE ALGORITMOS
USANDO ESPAÑOL LLANO
 La metodología usada se basa en el
enfoque de que "si usted no puede
describir textualmente, en su lenguaje
simple, el algoritmo de la solución de un
problema, entonces no podrá expresar
dicha solución usando un método más
formal y estructurado" ;

Ferreiras introducción a la escritura de 14


algoritmos computacionales
 El prerrequisito en el estudiante
principiante para este enfoque es SU
APTITUD y sus habilidades INNATAS
para el razonamiento, ESTA ÚLTIMA
ES UNA DE LAS COMPETENCIAS
REQUERIDAS PARA ESTUDIAR
INFORMÁTICA;

Ferreiras introducción a la escritura de 15


algoritmos computacionales
 EL FORMATO GENERAL A USAR ES LA
“DESCRIPCIÓN TEXTUAL SECUENCIAL”,
LA QUE SE COMPONE DE LOS
SIGUIENTES ELEMENTOS:

 VERBOS Y PALABRAS CLARAS Y


CONCISAS PARA EXPLICAR LA
ACCIÓN DE UN PASO;

 NUMERACIÓN DE LOS PASOS;

Ferreiras introducción a la escritura de 16


algoritmos computacionales
 DIRECCIÓN DE LOS PASOS USANDO
FLECHAS:

 CONEXIONES USANDO EL SÍMBOLO

X X

Conector de salida: sigue Conector de entrada:


en X; Viene de X;

Ferreiras introducción a la escritura de 17


algoritmos computacionales
 COMENTARIOS
Permiten documentar el algoritmo, si
se considera necesario, comentariando
uno o más pasos de éste:
...
Aquí se escribe
descripción del paso el texto que explicará
este paso del algoritmo

...

Ferreiras introducción a la escritura de 18


algoritmos computacionales
PROB001, Declaración del problema:
 
Supóngase que usted es el encargado del área de
preparación de sándwiches en una cafetería; Los
sándwiches que usted prepara tienen la
característica relevante de TENER O NO TENER
pimienta espolvoreada como uno de sus
ingredientes; A usted le pasan la orden para la
preparación y despacho de los sándwiches en la
cual se especifica SI ES O NO ES con pimienta.
Considere como irrelevante los otros detalles de los
sándwich (tipo de pan, otros ingredientes); Escriba
en forma "Secuencia y Textual" el algoritmo de la
solución de este problema.

Ferreiras introducción a la escritura de 19


algoritmos computacionales
Ferreiras introducción a la escritura de 20
algoritmos computacionales
PROB002, Declaración del problema: (Continuamos con la del ejemplo
anterior con algunos requerimientos adicionales, para los objetivos de la
clase):
 
Supóngase que usted es el encargado del área de preparación de
sándwiches en una cafetería; Los sándwiches que usted prepara tienen la
característica relevante de TENER O NO TENER pimienta espolvoreada
como uno de sus ingredientes; Por cada sándwich a usted le pasan una
orden para su preparación y despacho, en la cual se especifica SI ES O NO
ES con pimienta. Considere como irrelevante los otros detalles de los
sándwich (tipo de pan, otros ingredientes); Por cada sándwich que usted
despacha inserta la orden en un clavo colocado a la derecha en la ventana
despachadora. Esto le permite CONTAR, en cualquier momento, la cantidad
de sándwiches despachados; Además, la cantidad de sándwiches que usted
puede elaborar se la informan al inicio de sus labores. Esto último implica
que ANTES de tomar una orden por un sándwich más usted debe verificar la
cantidad despachados. Escriba en forma "Secuencia y Textual" el algoritmo
para este proceso suyo, iniciando con la capacidad total diaria disponible
para el despacho.

Ferreiras introducción a la escritura de 21


algoritmos computacionales
Ferreiras introducción a la escritura de 22
algoritmos computacionales
DESDE EL PROBLEMA HASTA
ALGORITMO DE SU SOLUCIÓN
1) EL PROBLEMA
2) ANÁLISIS-DOMINIO DEL PROBLEMA
3) DECLARACIÓN DEL PROBLEMA O NARRATIVA;

4) ENFOQUE E-P-S
5) DISEÑO Y ESCRITURA DEL ALGORITMO
6) PROBAR EL ALGORITMO

Ferreiras introducción a la escritura de 23


algoritmos computacionales
EL PROBLEMA (1)

ES ALGO QUE
REQUIERE DE UNA
SOLUCIÓN
COMPUTACIONAL

Ver el último tema de esta presentación:


(1)

“CONCEPTOS BREVES DE LA TEORÍA DE


SOLUCIÓN DE PROBLEMAS”

Ferreiras introducción a la escritura de 24


algoritmos computacionales
EL ANALISIS-DOMINIO DEL PROBLEMA

IMPLICA
..
IDENTIFICAR
EXACTAMENTE
QUÉ ES LO
REQUERIDO A
SOLUCIONAR

PARA LO CUAL
DEBEMOS

Ferreiras introducción a la escritura de 25


algoritmos computacionales
LEER
EL
PROBLEMA !!

Ferreiras introducción a la escritura de 26


algoritmos computacionales
 HACER LECTURAS
COMPRENSIVAS DEL PROBLEMA
HASTA COMPLETAMENTE
ENTENDER LO QUE ES
REQUERIDO A SOLUCIONAR;

Ferreiras introducción a la escritura de 27


algoritmos computacionales
SI ES NECESARIO,
CONSULTE
OTRAS
FUENTES QUE
LES EXPLIQUEN
EL PROBLEMA

Ferreiras introducción a la escritura de 28


algoritmos computacionales
 CONSULTAR OTRAS
FUENTES (EXPERTOS
EN EL ÁREA DEL
PROBLEMA, FOROS, …);

Ferreiras introducción a la escritura de 29


algoritmos computacionales
RELEA EL
PROBLEMA
HASTA
ENTENDERLO
COMPLETAMENTE.

Ferreiras introducción a la escritura de 30


algoritmos computacionales
¡¡ YA
ENTENDIÓ EL
PROBLEMA !!
Yahoo! I've won!

Ferreiras introducción a la escritura de 31


algoritmos computacionales
DECLARACIÓN DEL PROBLEMA

Ferreiras introducción a la escritura de 32


algoritmos computacionales
 ES UNA DESCRIPCIÓN CLARA,
CONCISA, PRECISA Y ESPECÍFICA
DE UN PROBLEMA,
ESTABLECIENDO EL PROPÓSITO
ESPECÍFICO A SER LOGRADO POR
LA SOLUCIÓN Y ENFOCADA A UN
ASUNTO EN PARTICULAR, SIN
VAGUEDAD.

Ferreiras introducción a la escritura de 33


algoritmos computacionales
 ES CONSTRUIDA A PARTIR DEL
PROBLEMA MANIFESTADO A SER
RESUELTO;
 DESCRIBE LOS SINTOMAS DEL
PROBLEMA A SER RESUELTO;
 DEBE SER CLARA Y BREVE;
 SOLO ES DE INTERES
COMPUTACIONAL SI TIENE SOLUCION
POR UN METODO ALGORITMICO.

Ferreiras introducción a la escritura de 34


algoritmos computacionales
 ES ESPECÍFICA Y ENFOCADA A UN
ASUNTO EN PARTICULAR;
 NO DEBE LLEVAR A RIESGO DE
CONFUNCIONES;
 ES RESTRICTIVA Y DEBE EXPRESAR
LA MEJOR IDEA DEL ASUNTO;

Ferreiras introducción a la escritura de 35


algoritmos computacionales
ENFOQUE E-P-S
 DIVIDE EL PROBLEMA EN TRES
COMPONENTES SEPARADOS:

 LAS ENTRADAS
 EL PROCESO
 LAS SALIDAS

Ferreiras introducción a la escritura de 36


algoritmos computacionales
 LAS ENTRADAS SERÁN LAS FUENTES
DE DATOS, NORMALMENTE
CAPTURADOS POR EL TECLADO;

 EL PROCESO SERAN LAS ACCIONES A


REALIZAR SOBRE LOS DATOS PARA
PRODUCIR LOS RESULTADOS
REQUERIDOS;

 LAS SALIDAS SERÁN LA


PRESENTACIÓN DE LOS RESULTADOS,
NORMALMENTE POR PANTALLA;

Ferreiras introducción a la escritura de 37


algoritmos computacionales
 PARA LOS OBJETIVOS DE ESTE
CURSO TRABAJAREMOS CON
PROBLEMAS SIMPLES, MUY SIMPLES,
PARA LOS CUALES EL ENFOQUE E-P-S
CUMPLE UN GRAN PAPEL COMO
“HERRAMIENTA DE ANÁLISIS”;

Ferreiras introducción a la escritura de 38


algoritmos computacionales
DISEÑO
Y
ESCRITURA
DEL
ALGORITMO

Ferreiras introducción a la escritura de 39


algoritmos computacionales
DISEÑO DEL ALGORITMO
 EL MUNDO REAL ESTA LLENO DE
PROBLEMAS CUYAS SOLUCIONES
REQUIEREN UN CUIDADOSO ENFOQUE
PASO A PASO. EL DISEÑO DE
SOLUCIONES A ESTOS PROBLEMAS
IMPLICA RAZONAMIENTO LÓGICO Y
CREATIVIDAD.

Ferreiras introducción a la escritura de 40


algoritmos computacionales
 EL DISEÑO DEL ALGORITMO
ES EL PROCESO DE ORIGINAR
Y DESARROLLAR UN ESQUEMA
PARA LA SOLUCIÓN DEL
PROBLEMA PLANTEADO; LO
CUAL REQUIERE DE MUCHO,
PERO MUCHO COCOTE

Ferreiras introducción a la escritura de 41


algoritmos computacionales
AMO
ESCRIBIR
ALGORITMOS

ESCRIBIR
EL
ALGORITMO

Ferreiras introducción a la escritura de 42


algoritmos computacionales
EJECUTAR EL ALGORITMO

Ferreiras introducción a la escritura de 43


algoritmos computacionales
VERIFICACIÓN & VALIDACIÓN
DE LOS RESULTADOS

Ferreiras introducción a la escritura de 44


algoritmos computacionales
¿ LOS RESULTADOS NO

SON OK?

SI

IR AL
ANÁLISIS Y
FIN DOMINIO
DEL
PROBLEMA,
DE NUEVO

Ferreiras introducción a la escritura de 45


algoritmos computacionales
MAS EJEMPLOS
 EN LOS SIGUIENTES EJEMPLOS, Y
LOS ANTERIORES, PARTIREMOS DE LA
DECLARACIÓN DEL PROBLEMA. EL
PROBLEMA AL QUE CORRESPONDE
ESTA IMPLÍCITO Y SE DEJA COMO
EJERCICIO AL ESTUDIANTE SU
IDENTIFICACIÓN. IGUAL PARA LOS
EJERCICIOS.

Ferreiras introducción a la escritura de 46


algoritmos computacionales
PROB003,
Declaración del
problema:
Explicar a un
marciano cómo
usted se cepilla
sus dientes.
Suponer que hay
agua.

Ferreiras introducción a la escritura de 47


algoritmos computacionales
PROB004:
Declaración del
problema:
Capturar la edad
de dos personas,
calcular la edad
promedio y
mostrarla como
resultado:

Ferreiras introducción a la escritura de 48


algoritmos computacionales
PROB005, Declaración del problema:
Considere que usted es el administrador
de un edificio con figura hexagonal en el
que cada una de las 6 caras
rectangulares tiene exactamente la
misma longitud y la misma altura. Se
requiere pintar algunas caras con un color
ya previamente seleccionado. De la
pintura se conoce su precio y el
rendimiento.
Ferreiras introducción a la escritura de 49
algoritmos computacionales
Ferreiras introducción a la escritura de 50
algoritmos computacionales
Ferreiras introducción a la escritura de 51
algoritmos computacionales
PROB006, Declaración del problema:
Considere la declaración del problema de
las edades ( PROB004) pero capturando
edades hasta que se supla una edad
cero. El promedio ahora a calcular y
mostrar será el promedio de las edades
capturadas. Obsérvese que no hay una
cantidad fija de edades a capturar, pero si
una condición para terminar sus capturas.

Ferreiras introducción a la escritura de 52


algoritmos computacionales
Conector de salida,
indica continua en
uno.

Ferreiras introducción a la escritura de 53


algoritmos computacionales
Conector de entrada,
indica viene de uno.

Ferreiras introducción a la escritura de 54


algoritmos computacionales
EJERCICIOS
PARA LA SOLUCIÓN DE LOS
EJERCICIOS REQUERIDOS
USTED DEBERÁ SEGUIR
ESTRICTAMENTE LA
METODOLOGÍA USADA HASTA
AHORA.

Ferreiras introducción a la escritura de 55


algoritmos computacionales
EJE001, Declaración del problema: hacer
un yaniqueque según información de receta.

Ingredientes:

4 tazas harina 
1 cdta polvo de hornear
1 taza agua
1 cdta. sal
1 Cda. mantequilla
aceite para freír

INF206_A1.doc

Ferreiras introducción a la escritura de 56


algoritmos computacionales
Preparación:
Cernir la harina con el polvo de hornear, mezclar el agua con la sal, se
une el agua salada con la harina poco a poco, igualmente la
mantequilla, a cual debe estar derretida, mientras se amasa un buen
rato.
Se hacen bolitas y se dejan descansar (puede ser un momento, varias
horas, y hasta un día para otro) cubiertos con una servilleta. Si es por
un momento se deja fuera del refrigerador, si es de un día para otro
dentro del refrigerador.
Para freír. Con la ayuda del bolillo se amasa cada bolita y se van
friendo en aceite caliente. Se ponen luego a escurrir. Aunque
normalmente se comen con sal, son muy sabrosos con miel de abejas o
azúcar. Esto se pone encima después de fritos en el momento de
comerlos y después que se han escurrido bien.

Ferreiras introducción a la escritura de 57


algoritmos computacionales
CONCEPTOS
BREVES DE LA
TEORÍA DE
SOLUCIÓN DE
PROBLEMAS:

Ferreiras introducción a la escritura de 58


algoritmos computacionales
¿ QUE ES UN PROBLEMA ?
 OBSTÁCULO QUE DIFICULTA EL
LOGRO DE UNA META DESEADA,
OBJETIVO O PROPÓSITO.
 SITUACIÓN, CONDICIÓN O
CUESTIÓN QUE AÚN ESTÁ SIN
RESOLVER.
 HAY INCERTIDUMBRE ACERCA DE
LA SOLUCIÓN.

Ferreiras introducción a la escritura de 59


algoritmos computacionales
 EXISTE UN AN
D O
F
SO
PROBLEMA FI LO

CUANDO UNA
PERSONA LLEGUE
A TENER
CONOCIMIENTO DE
UNA DIFERENCIA
SIGNIFICATIVA
ENTRE LO QUE
REALMENTE ES Y
LO QUE SE DESEA.

Ferreiras introducción a la escritura de 60


algoritmos computacionales
SOLUCIÓN DE PROBLEMAS

 TRATAR DE ENCONTRAR UNA


SOLUCIÓN A UN PROBLEMA SE
CONOCE COMO LA RESOLUCIÓN DE
PROBLEMAS;

 EL TIEMPO CONSUMIDO EN LA
SOLUCION DE UN PROBLEMA ES
UNA MEDIDA DE SU COMPLEJIDAD;

Ferreiras introducción a la escritura de 61


algoritmos computacionales
¿ QUE ES UN PROBLEMA
COMPUTACIONAL ?
 REPRESENTA UN PROBLEMA
GENERAL, INDEPENDIENTE DE SUS
ENTRADAS ESPECIFICAS;

 UN PROBLEMA CON UN CONJUNTO


ESPECIFICO DE ENTRADAS SE LLAMA
UNA INSTANCIA DEL PROBLEMA
COMPUTACIONAL;

Ferreiras introducción a la escritura de 62


algoritmos computacionales
 SI ES COMPUTABLE DEBE
PERMITIR INDENTIFICAR
ENTRADA, PROCESO Y SALIDA;

 ES COMPUTABLE SI HAY UN
ALGORITMO QUE SEA LA
SOLUCIÓN PARA TODAS Y CADA
UNA DE SUS INSTANCIAS;

Ferreiras introducción a la escritura de 63


algoritmos computacionales
 ES COMPUTABLE SI ES
REALIZABLE POR UN
PROGRAMA
COMPUTACIONAL ESCRITO
EN UN LENGUAJE DE
PROGRAMACION
COMPUTACIONAL (TEORIA
DE LA MAQUINA DE TURING);

Ferreiras introducción a la escritura de 64


algoritmos computacionales
GRACIAS.

Ferreiras introducción a la escritura de 65


algoritmos computacionales

También podría gustarte