Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia – Sede MedellínFundamentos de Programación        ...
Importancia de la computación• Los computadores y las redes de computadores sehan convertido en una herramienta imprescind...
Objetivos del cursoDesarrollar capacidades lógico - abstractas parael análisis, implementación y solución deproblemas, med...
Contenido del cursoIntroducciónEntrada y salida de datosSecuenciamientoCondicionalesIteración definidaIteración indefinida...
Metodología• Clases magistrales (Auditorio 12-204).                                12-204)• Clases prácticas (Sala de cómp...
Bibliografía y referencias   Brassard,   Brassard G. y Bratley, P.: «Fundamentos de ALGORITMIA»,Prentice Hall Internationa...
Página Web del curso       http://virtual2.unalmed.edu.co/moodleFacultad de minas – Fundamentos de programaciónClases prác...
Didáctica del curso                                      Antes:   Clase Teórica                        Leer guía          ...
Para que el computador?                       • En el diseño y cálculo de la estructura de un edificio,                   ...
El concepto de algoritmo¿Qué es un algoritmo?Es una secuencia de procesos (tareas, operaciones)ordenada lógicamente que pe...
Diseño de algoritmos                         • Un algoritmo se elabora (construye) mediante ciertos                       ...
Diseño de algoritmosENTRADA          PROCESAMIENTO                      SALIDA Datos de        Cálculos matemáticos y    M...
Diseño de algoritmosEjemploDiseñar un algoritmo para calcular el área de untriánguloAnálisis:Análisis:¿Cuáles son los dato...
Diseño de algoritmos  DATOS DE                Base, Altura  ENTRADAPROCESAMIENTO         Área =                  (Base*Alt...
Representación de algoritmosPseudocódigo                Diagrama de cajaINICIO                      INICIO   Leer Base, Al...
Diseño de algoritmosEjemplo 2Diseñar un algoritmo para calcular el perímetro de uncírculoAnálisis:Análisis:               ...
Diseño de algoritmosEjemplo 3Suponga que se necesita un algoritmo para realizar la factura en un almacénque vende televiso...
Algoritmo, Lenguaje y ProgramaLos términos “algoritmo” y “programa” tienden aconfundirse y en algunos casos a utilizarsein...
Lenguajes y entornos de               programación• Basic / Visual Basic• C / C++• Java• Pascal• Fortran / Visual Fortran•...
Metodología general de trabajo1. Análisis del            • Entender el problema.                           • Identificar l...
Tareas1. Ingresar a la página del curso y resolver el primer   cuestionario2. Elaborar algoritmos (en pseudocódigo o   dia...
ImportanteLas clases prácticas comienzan la próximasemana.semana.Se recomienda llevar memoria USB para grabarlos trabajos ...
Fundamentos de Programación         Clase 1   FIN DE LA CLASE  Gracias por la atención        Escuela de Sistemas, Faculta...
Clase 01
Clase 01
Clase 01
Próxima SlideShare
Cargando en…5
×

Clase 01

236 visualizaciones

Publicado el

prueba de carga

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
236
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
2
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Clase 01

  1. 1. Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia – Sede MedellínFundamentos de Programación Clase 1Contenido Introducción Presentación del curso y cronograma del semestre Metodología de trabajo Conceptos básicos de programación Profesores: Jovani Alberto Jiménez Builes William Álvarez Montoya Guillermo González Danilo Bedoya
  2. 2. Importancia de la computación• Los computadores y las redes de computadores sehan convertido en una herramienta imprescindibleen toda área técnica y de ingeniería. ingeniería.• Todo técnico y profesional debe manejar y aplicareficientemente dicha herramienta, en sus áreaspropias de profesión. profesión.
  3. 3. Objetivos del cursoDesarrollar capacidades lógico - abstractas parael análisis, implementación y solución deproblemas, mediante un enfoque algorítmico. algorítmico.Incentivar el aprendizaje de un lenguaje deprogramación específico: Visual Basic for específico:Applications (VBA). (VBA).
  4. 4. Contenido del cursoIntroducciónEntrada y salida de datosSecuenciamientoCondicionalesIteración definidaIteración indefinidaVectoresTipos de datos definidos por el usuarioMatricesFunciones y subprogramas
  5. 5. Metodología• Clases magistrales (Auditorio 12-204). 12-204)• Clases prácticas (Sala de cómputo 41-214) 41-214)• Tareas extraclase• Talleres y asesorías semanales• Seguimiento de la página del curso• Aprendizaje vía ejemplos y aprendizaje activo. activo.Requisitos:Requisitos: matemáticas básicasSobre técnicas básicas de estudio ver el documento: «Cómo estudiary aprender una disciplina», por Richard Paul y Linda Elder, de laFundación para El Pensamiento Crítico, 2003, www.criticalthinking.org
  6. 6. Bibliografía y referencias Brassard, Brassard G. y Bratley, P.: «Fundamentos de ALGORITMIA»,Prentice Hall International, Madrid (España), 1997. Oviedo, Oviedo Efraím: “Lógica para programación”, ECOE ediciones,Agosto 2004. (para la primera parte del curso), Caps.: 1, 2, 3, 4, 5, 6,7, 8. Lopez, Lopez Leobardo: “Programación Estructurada, un enfoquealgorítmico”, AlfaOmega, 2002 Chapra, Steven C. & Canale, Raymond P.: «Numerical Methodsfor Engineers», McGraw-Hill, 2002, Caps.: 1, 2, 5, 6, 8, 9, 12, 17, 20, McGraw-21, 22, 24. Walkenbach, J.: «Microsoft Office Excel 2007 VBA Programmingfor DUMMIES», Wyley Publishing, Inc., 2007. (puede leerse online enhttp://www.docstoc.com/docs/document-preview.aspx?doc_id=1659168) capítulos: 3, 7, 10, 14, 15, 16, 17, 22.
  7. 7. Página Web del curso http://virtual2.unalmed.edu.co/moodleFacultad de minas – Fundamentos de programaciónClases prácticas y teóricasEjemplos interactivosProblematecaTalleres onlineForos y chatDocumentos, manuales y enlaces de interésTécnicas de estudio
  8. 8. Didáctica del curso Antes: Clase Teórica Leer guía Repasar conceptos previos Durante: Prestar atención y tomar apuntes Clase Práctica Guardar proyecto (en la práctica) Formular preguntas. Después: Realizar tareasTalleres y asesorías Contrastar con lo aprendido anteriormente Antes: Repasar conceptos vistos en clase Trabajo personal Durante: Prestar atención y tomar apuntes Formular preguntas Problemateca Después: Talleres en línea Hacer los ejercicios de nuevo por si mismos Libros de texto Realizar tareas No dejar acumular contenidos
  9. 9. Para que el computador? • En el diseño y cálculo de la estructura de un edificio, por ejemplo, se tardaría meses hacer las operacionesCálculos Repetitivos matemáticas manualmente. • El computador, mediante los programas respectivos, realiza tales procesos en pocos minutos.Grandes volúmenes • En las empresas, los procesos de inventarios, por ejemplo, con decenas de miles de artículos.de información • Otros ejemplos son los procesos de nómina, contables, financieros, de facturación, de proveedores, etc. • El software, a través de los computadores, puedeComplejidad cálculos manejar procesos complejos de tipo lógico y matemático. • Ejemplos: Inteligencia Artificial, Sistemas Expertos, etc.Velocidad de proceso • A todo nivel organizacional se requieren respuestas eny de respuesta 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 útilPrecisión en los cálculos de Ingeniería.
  10. 10. El concepto de algoritmo¿Qué es un algoritmo?Es una secuencia de procesos (tareas, operaciones)ordenada lógicamente que permite obtener ciertosresultados a partir de ciertos datos.Diseñar un buen algoritmo exige un buen nivel deabstracción, lógica, imaginación, creatividad, dominio delas técnicas de programación, y algo de dominio del áreadel problema que se intenta resolver.Por esta razón es que diseñar un algoritmo se consideratanto ciencia como arte.
  11. 11. Diseño de algoritmos • Un algoritmo se elabora (construye) mediante ciertos componentes básicos llamados estructurasEstructuras básicas • Por esta razón, este tipo de programación se conoce como programación estructurada1. Entrada y salida de • Todo algoritmo tiene cero o más entradas y debe mostrar uno o más resultadosdatos • Todo algoritmo es una secuencia lógica de ciertas2. Secuencia operaciones • Permite elegir una de dos o más vías de acción3. Selección lógica (alternativas) • Es la repetición de una o más operaciones.4. Iteración • De antemano, puede conocerse o no cuántas veces se repetirán las operaciones (iteración definida o indefinida)
  12. 12. Diseño de algoritmosENTRADA PROCESAMIENTO SALIDA Datos de Cálculos matemáticos y Muestran Resultados entrada lógicos Graban Imprimen Transmiten Esquema genérico de un algoritmo secuencial
  13. 13. Diseño de algoritmosEjemploDiseñar un algoritmo para calcular el área de untriánguloAnálisis:Análisis:¿Cuáles son los datos de entrada?¿Cuáles son los datos de salida?¿Qué cálculos/procesos deben llevarse a cabo?
  14. 14. Diseño de algoritmos DATOS DE Base, Altura ENTRADAPROCESAMIENTO Área = (Base*Altura)/2 DATOS DE Área SALIDA
  15. 15. Representación de algoritmosPseudocódigo Diagrama de cajaINICIO INICIO Leer Base, Altura Leer Base, Altura Area = (Base*Altura)/2 Area = (Base*Altura)/2 Mostrar Area Mostrar AreaFIN FIN
  16. 16. Diseño de algoritmosEjemplo 2Diseñar un algoritmo para calcular el perímetro de uncírculoAnálisis:Análisis: INICIO¿Cuáles son los datos de entrada?¿π es dato de entrada? Leer Radio¿Cuáles son los datos de salida? Prm = 2*Pi*Radio¿Qué cálculos/procesos deben Mostrar Prmllevarse a cabo? FIN
  17. 17. Diseño de algoritmosEjemplo 3Suponga que se necesita un algoritmo para realizar la factura en un almacénque vende televisores al por mayor (suponiendo que de un solo tipo). La facturadebe mostrar el valor total a pagar y el valor de los impuestos. El costo porunidad de los televisores es de $700.000 y el impuesto aplicado es del 16%.Análisis?Análisis? INICIO Leer numero_unidades Impuestos = numero_unidades* $700.000 * 0.16 Total = numero_unidades* $700.000 + Impuestos Mostrar Total, Impuestos FIN
  18. 18. Algoritmo, Lenguaje y ProgramaLos términos “algoritmo” y “programa” tienden aconfundirse y en algunos casos a utilizarseindiferentemente. Recordemos que el término“algoritmo” se refiere a la secuencia de pasos pararesolver un problema, pero independiente del lenguajede programación que se utilice, mientras que“programa” se refiere propiamente a la codificación deun algoritmo en algún lenguaje de programación.Un conjunto de programas con un fin específicoconstituye un software.
  19. 19. Lenguajes y entornos de programación• Basic / Visual Basic• C / C++• Java• Pascal• Fortran / Visual Fortran• PHP•…
  20. 20. Metodología general de trabajo1. Análisis del • Entender el problema. • Identificar las variables (de entrada, de salidaproblema e intermedias) y las constantes • Identificar las restricciones y relaciones matemáticas y lógicas entre variables y constantes2. Diseño de una • Representar la secuencia de pasos (operaciones, o procesos) de manera lógica,solución mediante una forma apropiada (pseudocódigo, diagrama de caja, diagrama de flujo flujo).3. Validación de la • Realizar prueba de escritorio al algoritmo para validar que haga lo que debe hacersolución4. Codificación en un • Elaborar la interfaz gráfica del usuario (si se trata de un lenguaje de programación visual).lenguaje de programación • Escribir los procedimientos pertinentes. • Ejecutar y depurar el código
  21. 21. Tareas1. Ingresar a la página del curso y resolver el primer cuestionario2. 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
  22. 22. ImportanteLas clases prácticas comienzan la próximasemana.semana.Se recomienda llevar memoria USB para grabarlos trabajos o emplear el servicio de ftp que estádisponible para todos los estudiantes. estudiantes.
  23. 23. Fundamentos de Programación Clase 1 FIN DE LA CLASE Gracias por la atención Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia – Sede Medellín

×