Este documento presenta la didáctica de un curso de algoritmos y programación. Describe las clases teóricas, prácticas, talleres y asesorías. Explica los pasos a seguir antes, durante y después de las clases teóricas y prácticas. También cubre el trabajo personal, la problemática y recursos disponibles.
1. •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
2. •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.
3. •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. •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
•
5. •Esquema genérico de un algoritmo secuencial
•ENTRADA •PROCESAMIENTO •SALIDA
•Diseño de algoritmos
•Muestran
•Graban
•Imprimen
•Transmite
n
•Cálculos matemáticos y
lógicos
•Resultados•Datos de
entrada
6. •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?
9. •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
10. •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
11. •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.
12. • Basic / Visual Basic
• C / C++
• Java
• Pascal
• Fortran / Visual Fortran
• …
•Lenguajes y entornos de
programación
13. •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
14. 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
15. •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