SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Escuela de Sistemas, Facultad de Minas
 Universidad Nacional de Colombia – Sede Medellín


Fundamentos de Programación
         Clase 1
Contenido

  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
Importancia de la computación
• Los computadores y las redes de computadores se
han convertido en una herramienta imprescindible
en toda área técnica y de ingeniería.
                          ingeniería.
• Todo técnico y profesional debe manejar y aplicar
eficientemente dicha herramienta, en sus áreas
propias de profesión.
           profesión.
Objetivos del curso
Desarrollar capacidades lógico - abstractas para
el análisis, implementación y solución de
problemas, mediante un enfoque algorítmico.
                                 algorítmico.

Incentivar el aprendizaje de un lenguaje de
programación específico: Visual Basic for
                específico:
Applications (VBA).
             (VBA).
Contenido del curso
Introducción
Entrada y salida de datos
Secuenciamiento
Condicionales
Iteración definida
Iteración indefinida
Vectores
Tipos de datos definidos por el usuario
Matrices
Funciones y subprogramas
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ásicas

Sobre técnicas básicas de estudio ver el documento: «Cómo estudiar
y aprender una disciplina», por Richard Paul y Linda Elder, de la
Fundación para El Pensamiento Crítico, 2003, www.criticalthinking.org
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 enfoque
algorítmico”, AlfaOmega, 2002
    Chapra, Steven C. & Canale, Raymond P.: «Numerical Methods
for 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 Programming
for DUMMIES», Wyley Publishing, Inc., 2007. (puede leerse online en
http://www.docstoc.com/docs/document-
preview.aspx?doc_id=1659168) capítulos: 3, 7, 10, 14, 15, 16, 17, 22.
Página Web del curso

       http://virtual2.unalmed.edu.co/moodle
Facultad de minas – Fundamentos de programación


Clases prácticas y teóricas
Ejemplos interactivos
Problemateca
Talleres online
Foros y chat
Documentos, manuales y enlaces de interés
Técnicas de estudio
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 tareas
Talleres 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
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 operaciones
Cá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, puede
Complejidad 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 en
y 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 útil
Precisión              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.
Diseño de algoritmos
                         • Un algoritmo se elabora (construye) mediante ciertos
                         componentes básicos llamados estructuras
Estructuras básicas      • Por esta razón, este tipo de programación se conoce
                         como programación estructurada

1. Entrada y salida de   • Todo algoritmo tiene cero o más entradas y debe mostrar
                         uno o más resultados
datos
                         • Todo algoritmo es una secuencia lógica de ciertas
2. Secuencia             operaciones


                         • Permite elegir una de dos o más vías de acción
3. 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)
Diseño de algoritmos


ENTRADA          PROCESAMIENTO                      SALIDA

 Datos de        Cálculos matemáticos y    Muestran Resultados
 entrada                 lógicos            Graban
                                           Imprimen
                                          Transmiten




   Esquema genérico de un algoritmo secuencial
Diseño de algoritmos

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

Aná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?
Diseño de algoritmos

  DATOS DE
                Base, Altura
  ENTRADA



PROCESAMIENTO         Área =
                  (Base*Altura)/2


  DATOS DE
                Área
   SALIDA
Representación de algoritmos
Pseudocódigo                Diagrama de caja

INICIO                      INICIO
   Leer Base, Altura        Leer Base, Altura
   Area = (Base*Altura)/2   Area = (Base*Altura)/2
   Mostrar Area
                            Mostrar Area
FIN
                            FIN
Diseño de algoritmos
Ejemplo 2
Diseñar un algoritmo para calcular el perímetro de un
círculo

Aná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 Prm
llevarse a cabo?
                                    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?
Análisis?
 INICIO
     Leer numero_unidades
     Impuestos = numero_unidades* $700.000 * 0.16
     Total = numero_unidades* $700.000 + Impuestos
     Mostrar Total, Impuestos
 FIN
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.
Lenguajes y entornos de
               programación
• Basic / Visual Basic
• C / C++
• Java
• Pascal
• Fortran / Visual Fortran
• PHP
•…
Metodología general de trabajo
1. Análisis del            • Entender el problema.
                           • Identificar las variables (de entrada, de salida
problema                   e intermedias) y las constantes
                           • Identificar las restricciones y relaciones
                           matemáticas y lógicas entre variables y
                           constantes

2. 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 hacer
solución
4. 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
Tareas
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
Importante

Las clases prácticas comienzan la próxima
semana.
semana.
Se recomienda llevar memoria USB para grabar
los trabajos o emplear el servicio de ftp que está
disponible para todos los estudiantes.
                          estudiantes.
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

Más contenido relacionado

Similar a Clase 01

Guia de programación 10
Guia de programación 10Guia de programación 10
Guia de programación 10
mariacepla
 
Programación algoritmica
Programación algoritmicaProgramación algoritmica
Programación algoritmica
María C. Plata
 
SYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdf
SYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdfSYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdf
SYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdf
kevinbriones15
 
Pasos para realizar un problema en computador
Pasos para realizar un problema en computadorPasos para realizar un problema en computador
Pasos para realizar un problema en computador
Alex Rommyo
 
Pasos para realizar un problema en computador
Pasos para realizar un problema en computadorPasos para realizar un problema en computador
Pasos para realizar un problema en computador
Alex Rommyo
 

Similar a Clase 01 (20)

Algoritmos y Programación
Algoritmos y ProgramaciónAlgoritmos y Programación
Algoritmos y Programación
 
Introduccion.ppt
Introduccion.pptIntroduccion.ppt
Introduccion.ppt
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Clase 1
Clase 1Clase 1
Clase 1
 
Guia de programación 10
Guia de programación 10Guia de programación 10
Guia de programación 10
 
Programación algoritmica
Programación algoritmicaProgramación algoritmica
Programación algoritmica
 
Manual practica 3 control analogico
Manual practica 3 control analogicoManual practica 3 control analogico
Manual practica 3 control analogico
 
AlgoritmoSoluciondeProblema.pdf
AlgoritmoSoluciondeProblema.pdfAlgoritmoSoluciondeProblema.pdf
AlgoritmoSoluciondeProblema.pdf
 
INF-102
INF-102INF-102
INF-102
 
SYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdf
SYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdfSYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdf
SYLLABUS FUNDAMENTOS DE PROGRAMACIÓN FCMF 2022 CI.pdf
 
Sesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.pptSesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.ppt
 
La Robotica y sus aplicaciones
La Robotica y sus aplicacionesLa Robotica y sus aplicaciones
La Robotica y sus aplicaciones
 
Guia Aprendizaje Introduccion a la Programacion
Guia Aprendizaje  Introduccion a la ProgramacionGuia Aprendizaje  Introduccion a la Programacion
Guia Aprendizaje Introduccion a la Programacion
 
Pasos para realizar un problema en computador
Pasos para realizar un problema en computadorPasos para realizar un problema en computador
Pasos para realizar un problema en computador
 
Sesion 1.pptx
Sesion 1.pptxSesion 1.pptx
Sesion 1.pptx
 
Sesion 1 lbc
Sesion 1 lbcSesion 1 lbc
Sesion 1 lbc
 
Pasos para realizar un problema en computador
Pasos para realizar un problema en computadorPasos para realizar un problema en computador
Pasos para realizar un problema en computador
 
SILABO INF.102
SILABO INF.102SILABO INF.102
SILABO INF.102
 
Arquitectura del computador.
Arquitectura del computador.Arquitectura del computador.
Arquitectura del computador.
 
Presentacion ii algoritmos_parte2
Presentacion ii algoritmos_parte2Presentacion ii algoritmos_parte2
Presentacion ii algoritmos_parte2
 

Último

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 

Clase 01

  • 1. Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia – Sede Medellín Fundamentos de Programación Clase 1 Contenido 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. Importancia de la computación • Los computadores y las redes de computadores se han convertido en una herramienta imprescindible en toda área técnica y de ingeniería. ingeniería. • Todo técnico y profesional debe manejar y aplicar eficientemente dicha herramienta, en sus áreas propias de profesión. profesión.
  • 3. Objetivos del curso Desarrollar capacidades lógico - abstractas para el análisis, implementación y solución de problemas, mediante un enfoque algorítmico. algorítmico. Incentivar el aprendizaje de un lenguaje de programación específico: Visual Basic for específico: Applications (VBA). (VBA).
  • 4. Contenido del curso Introducción Entrada y salida de datos Secuenciamiento Condicionales Iteración definida Iteración indefinida Vectores Tipos de datos definidos por el usuario Matrices Funciones y subprogramas
  • 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ásicas Sobre técnicas básicas de estudio ver el documento: «Cómo estudiar y aprender una disciplina», por Richard Paul y Linda Elder, de la Fundación para El Pensamiento Crítico, 2003, www.criticalthinking.org
  • 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 enfoque algorítmico”, AlfaOmega, 2002 Chapra, Steven C. & Canale, Raymond P.: «Numerical Methods for 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 Programming for DUMMIES», Wyley Publishing, Inc., 2007. (puede leerse online en http://www.docstoc.com/docs/document- preview.aspx?doc_id=1659168) capítulos: 3, 7, 10, 14, 15, 16, 17, 22.
  • 7. Página Web del curso http://virtual2.unalmed.edu.co/moodle Facultad de minas – Fundamentos de programación Clases prácticas y teóricas Ejemplos interactivos Problemateca Talleres online Foros y chat Documentos, manuales y enlaces de interés Técnicas de estudio
  • 8.
  • 9.
  • 10.
  • 11. 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 tareas Talleres 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
  • 12. 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 operaciones Cá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, puede Complejidad 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 en y 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 útil Precisión en los cálculos de Ingeniería.
  • 13. 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.
  • 14. Diseño de algoritmos • Un algoritmo se elabora (construye) mediante ciertos componentes básicos llamados estructuras Estructuras básicas • Por esta razón, este tipo de programación se conoce como programación estructurada 1. Entrada y salida de • Todo algoritmo tiene cero o más entradas y debe mostrar uno o más resultados datos • Todo algoritmo es una secuencia lógica de ciertas 2. Secuencia operaciones • Permite elegir una de dos o más vías de acción 3. 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)
  • 15. Diseño de algoritmos ENTRADA PROCESAMIENTO SALIDA Datos de Cálculos matemáticos y Muestran Resultados entrada lógicos Graban Imprimen Transmiten Esquema genérico de un algoritmo secuencial
  • 16. Diseño de algoritmos Ejemplo Diseñar un algoritmo para calcular el área de un triángulo Aná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?
  • 17. Diseño de algoritmos DATOS DE Base, Altura ENTRADA PROCESAMIENTO Área = (Base*Altura)/2 DATOS DE Área SALIDA
  • 18. Representación de algoritmos Pseudocódigo Diagrama de caja INICIO INICIO Leer Base, Altura Leer Base, Altura Area = (Base*Altura)/2 Area = (Base*Altura)/2 Mostrar Area Mostrar Area FIN FIN
  • 19. Diseño de algoritmos Ejemplo 2 Diseñar un algoritmo para calcular el perímetro de un círculo Aná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 Prm llevarse a cabo? FIN
  • 20. 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? Análisis? INICIO Leer numero_unidades Impuestos = numero_unidades* $700.000 * 0.16 Total = numero_unidades* $700.000 + Impuestos Mostrar Total, Impuestos FIN
  • 21. 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.
  • 22. Lenguajes y entornos de programación • Basic / Visual Basic • C / C++ • Java • Pascal • Fortran / Visual Fortran • PHP •…
  • 23. Metodología general de trabajo 1. Análisis del • Entender el problema. • Identificar las variables (de entrada, de salida problema e intermedias) y las constantes • Identificar las restricciones y relaciones matemáticas y lógicas entre variables y constantes 2. 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 hacer solución 4. 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
  • 24. Tareas 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
  • 25. Importante Las clases prácticas comienzan la próxima semana. semana. Se recomienda llevar memoria USB para grabar los trabajos o emplear el servicio de ftp que está disponible para todos los estudiantes. estudiantes.
  • 26. 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