SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Clase 01

Algoritmos y Programación
Algoritmos y ProgramaciónAlgoritmos y Programación
Algoritmos y ProgramaciónJuan Guadama
 
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 algoritmosJosé Antonio Sandoval Acosta
 
Guia de programación 10
Guia de programación 10Guia de programación 10
Guia de programación 10mariacepla
 
Programación algoritmica
Programación algoritmicaProgramación algoritmica
Programación algoritmicaMarí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.pdfkevinbriones15
 
Sesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.pptSesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.pptsamirvidal1
 
La Robotica y sus aplicaciones
La Robotica y sus aplicacionesLa Robotica y sus aplicaciones
La Robotica y sus aplicacionesManuelMuoz210
 
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 computadorAlex 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 computadorAlex Rommyo
 
Arquitectura del computador.
Arquitectura del computador.Arquitectura del computador.
Arquitectura del computador.franbrito94
 
Presentacion ii algoritmos_parte2
Presentacion ii algoritmos_parte2Presentacion ii algoritmos_parte2
Presentacion ii algoritmos_parte2ymendal
 

Similaire à 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
 

Dernier

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 

Dernier (20)

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

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