algoritmos y programación

16
•Didáctica del curso Clase Teórica Clase Práctica Talleres y asesorías • Antes: Leer guía Repasar conceptos previos • Durante: Prestar atención y tomar apuntes Guardar proyecto (en la práctica) Formular preguntas. • Después: Realizar tareas Contrastar con lo aprendido anteriormente Trabajo personal • Antes: Repasar conceptos vistos en clase • Durante: Prestar atención y tomar apuntes Formular preguntas • Después: Hacer los ejercicios de nuevo por si mismos • Problemateca Talleres en línea Libros de texto No dejar acumular contenidos

Upload: juan-guadama

Post on 16-Aug-2015

59 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Algoritmos y Programación

•Didáctica del curso

• Clase Teórica

• Clase Práctica

• Talleres y asesorías

• Antes:• Leer guía• Repasar conceptos previos

• Durante:• Prestar atención y tomar apuntes• Guardar proyecto (en la práctica)• Formular preguntas.

• Después:• Realizar tareas• Contrastar con lo aprendido

anteriormente

• Trabajo personal

• Antes:• Repasar conceptos vistos en clase

• Durante:• Prestar atención y tomar apuntes• Formular preguntas

• Después:• Hacer los ejercicios de nuevo por si

mismos• Realizar tareas

• Problemateca• Talleres en línea

• Libros de texto• No dejar acumular contenidos

Page 2: Algoritmos y Programación

•Para que el computador?

Cálculos Repetitivos

Grandes volúmenes de información

Complejidad cálculos

Velocidad de proceso y de respuesta

Precisión

• En el diseño y cálculo de la estructura de un edificio, por ejemplo, se tardaría meses hacer las operaciones matemáticas manualmente.

• El computador, mediante los programas respectivos, realiza tales procesos en pocos minutos.

• En las empresas, los procesos de inventarios, por ejemplo, con decenas de miles de artículos.

• Otros ejemplos son los procesos de nómina, contables, financieros, de facturación, de proveedores, etc.

• El software, a través de los computadores, puede manejar procesos complejos de tipo lógico y matemático.

• Ejemplos: Inteligencia Artificial, Sistemas Expertos, etc.

• A todo nivel organizacional se requieren respuestas a tiempo real.

• Las máquinas (los computadores), en general, suelen ser más precisas que las personas.

• Esta capacidad de las máquinas es especialmente útil en los cálculos de Ingeniería.

Page 3: Algoritmos y Programación

•El concepto de algoritmo

• ¿Qué es un algoritmo?• Es una secuencia de procesos (tareas, operaciones)

ordenada lógicamente que permite obtener ciertos resultados a partir de ciertos datos.

• Diseñar un buen algoritmo exige un buen nivel de abstracción, lógica, imaginación, creatividad, dominio de las técnicas de programación, y algo de dominio del área del problema que se intenta resolver.

• Por esta razón es que diseñar un algoritmo se considera tanto ciencia como arte.

Page 4: Algoritmos y Programación

• 4. Iteración

• Estructuras básicas

• 2. Secuencia

• 3. Selección lógica

• Un algoritmo se elabora (construye) mediante ciertos componentes básicos llamados estructuras

• Por esta razón, este tipo de programación se conoce como programación estructurada

• Permite elegir una de dos o más vías de acción (alternativas)

• Es la repetición de una o más operaciones.• De antemano, puede conocerse o no cuántas veces se

repetirán las operaciones (iteración definida o indefinida)•

• Todo algoritmo es una secuencia lógica de ciertas operaciones

•Diseño de algoritmos

• 1. Entrada y salida de datos

• Todo algoritmo tiene cero o más entradas y debe mostrar uno o más resultados

Page 5: Algoritmos y Programación

• Esquema genérico de un algoritmo secuencial

• ENTRADA • PROCESAMIENTO • SALIDA

•Diseño de algoritmos

• Muestran• Graban

• Imprimen• Transmit

en

• Cálculos matemáticos y lógicos

• Resultados• Datos de entrada

Page 6: Algoritmos y Programación

•Diseño de algoritmos

• Ejemplo• Diseñar un algoritmo para calcular el área de un

triángulo

• Análisis:• Cuales son los datos de entrada?• Cuales son los datos de salida?• Que cálculos/procesos deben llevarse a cabo?

Page 7: Algoritmos y Programación

• DATOS DE • ENTRADA

• Base, Altura

• PROCESAMIENTO • Área = (Base*Altura)/2

• DATOS DE • SALIDA

• Área

•Diseño de algoritmos

Page 8: Algoritmos y Programación

•Representación de algoritmos

• Pseudocódigo

• INICIO• Leer Base, Altura• Area = (Base*Altura)/2• Mostrar Area

• FIN

• Diagrama de caja

• INICIO

• Leer Base, Altura

• Area = (Base*Altura)/2

• Mostrar Area

• FIN

Page 9: Algoritmos y Programación

• Ejemplo 2• Diseñar un algoritmo para calcular el perímetro de un

círculo

• Análisis:• Cuales son los datos de entrada?• π es dato de entrada?• Cuales son los datos de salida?• Que cálculos/procesos deben

llevarse a cabo?

• INICIO

• Leer Radio

• Prm = 2*Pi*Radio

• Mostrar Prm

• FIN

•Diseño de algoritmos

Page 10: Algoritmos y Programación

• Ejemplo 3• Suponga que se necesita un algoritmo para realizar la factura en un almacén

que vende televisores al por mayor (suponiendo que de un solo tipo). La factura debe mostrar el valor total a pagar y el valor de los impuestos. El costo por unidad de los televisores es de $700.000 y el impuesto aplicado es del 16%.

• Análisis?• INICIO

• Leer numero_unidades• Impuestos = numero_unidades* $700.000 * 0.16• Total = numero_unidades* $700.000 + Impuestos• Mostrar Total, Impuestos

• FIN

•Diseño de algoritmos

Page 11: Algoritmos y Programación

•Algoritmo, Lenguaje y Programa

• Los términos “algoritmo” y “programa” tienden a confundirse y en algunos casos a utilizarse indiferentemente. Recordemos que el término “algoritmo” se refiere a la secuencia de pasos para resolver un problema, pero independiente del lenguaje de programación que se utilice, mientras que “programa” se refiere propiamente a la codificación de un algoritmo en algún lenguaje de programación.

• Un conjunto de programas con un fin específico constituye un software.

Page 12: Algoritmos y Programación

• Basic / Visual Basic• C / C++• Java• Pascal• Fortran / Visual Fortran• …

•Lenguajes y entornos de programación

Page 13: Algoritmos y Programación

•Metodología general de trabajo

• 1. Análisis del problema

• 2. Diseño de una solución

• 4. Codificación en un lenguaje de programación

• Elaborar la interfaz gráfica del usuario (si se trata de un lenguaje de programación visual).

• Escribir los procedimientos pertinentes.• Ejecutar y depurar el código

• Entender el problema.• Identificar las variables (de entrada, de

salida e intermedias) y las constantes• Identificar las restricciones y relaciones

matemáticas y lógicas entre variables y constantes

• Representar la secuencia de pasos (operaciones, o procesos) de manera lógica, mediante una forma apropiada (pseudocódigo, diagrama de caja, diagrama de flujo).

• 3. Validación de la solución

• Realizar prueba de escritorio al algoritmo para validar que haga lo que debe hacer

Page 14: Algoritmos y Programación

1.Ingresar a la página del curso y resolver el primer cuestionario

2.Elaborar algoritmos (en pseudocódigo o diagrama de caja) para los problemas 1 a 6 de la Problemateca 1.

3.Efectuar una lectura previa de la clase teórica 2 y práctica 1

•Tareas

Page 15: Algoritmos y Programación

• Las clases prácticas comienzan la próxima semana.

• Se recomienda llevar memoria USB para grabar los trabajos o emplear el servicio de ftp que está disponible para todos los estudiantes.

•Importante

Page 16: Algoritmos y Programación

•Algoritmica y Programación

FIN DE LA CLASE

Gracias por la atención