algoritmos y programación
TRANSCRIPT
•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
•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.
•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.
• 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
•
• 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
•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?
• DATOS DE • ENTRADA
• Base, Altura
• PROCESAMIENTO • Área = (Base*Altura)/2
• DATOS DE • SALIDA
• Área
•Diseño de algoritmos
•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
• 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
• 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
•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.
• Basic / Visual Basic• C / C++• Java• Pascal• Fortran / Visual Fortran• …
•Lenguajes y entornos de 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
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
• 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
•Algoritmica y Programación
FIN DE LA CLASE
Gracias por la atención