ALGORITMOS Y PROGRAMACIÓN

Slides:



Advertisements
Presentaciones similares
Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
Advertisements

Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Introducción a los Algoritmos
Lenguajes de programación
Resolución de Problemas Algoritmos y Programación
Enero 26-31/2004 Escuela de Sistemas 1-1 FACULTAD DE MINAS Escuela de Sistemas.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Introducción a la Estadística Informática
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
M.S.C. Ivette Hernández Dávila
METODOLOGIA DE LA PROGRAMACION
ESTRUCTURAS DE CONTROL
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
SEMANA Introducción.
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
Programación de Computadores
Academia de Informática
Curso de Verano 2010 para el ITSSMT
Cálculo Diferencial e Integral de una variable.
Programación en Matlab
Fundamentos de programación
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Algoritmos ¿Que es un algoritmo?
LENGUAJE DE PROGRAMACIÓN
Introducción al lenguaje de programación SLE 2
Análisis y Diseño Orientado a Objetos utilizando UML
Ing. Santiago Figueroa Lorenzo
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
120 AÑOS DE TRABAJO Y RECTITUD 12/05/ FUNDAMENTOS DE PROGRAMACIÓN Escuela de Sistemas.
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Programación de Computadores (IWI-131)
Representación de Algoritmos
TALLER DE INFORMATICA 1  UNIDAD 1 EXCEL 1.1 INTRODUCCION.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
INTRODUCCIÓN INGENIERIA DE SISTEMAS
Presentación del cursoUniversidad de AntioquiaInformática I Sesión 01: Presentación del Curso Departamento de Ingeniería Electrónica y de Telecomunicaciones.
Metodología de la programación
DEV- C++ ·include <iostream> Int x x=x+2(x)
COMPLETA LOS ESPACIOS CON LA PALABRA ADECUADA 1.LOS _______________________ SE DEFINEN COMO LA _________________LÓGICA DE _________PARA SOLUCIONAR UN.
UNIVERSIDAD CAPITÁN GENERAL GERARDO BARRIOS FACULTAD DE CIENCIA Y TECNOLOGIA LICENCIATURA EN COMPUTACIÓN MÓDULO I: DISEÑO GRAFICO DOCENTE: ING. EDWIN ROLANDO.
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
Metodología de la programación
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Informática (34159) Presentación del curso Grado en Matemáticas
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Modelo de procesos de software
Conalep 150 Tehuacán inmi 309 soma
Presenta: Dr. Jorge Rodríguez Arce.
33 Evaluación y bibliografía: propuesta de evaluación del curso y la bibliografía a emplear a lo largo del semestre. 22 Objetivos y contenido: descripción.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
Entregables del Proyecto
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Introducción a la Programación Ing. Juliana Jaramillo Ospina.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

3004578 - ALGORITMOS Y PROGRAMACIÓN Universidad Nacional de Colombia Facultad de Minas Facultad de Minas 120 años 3004578 - ALGORITMOS Y PROGRAMACIÓN Clase #1: Introducción. Algoritmos. Estructuras básicas. Escuela de Sistemas 13/04/2017

Introducción Semestre 02-2007 Importancia de la computación Presentación del Curso Metodología de Trabajo. Métodos eficientes de Estudio. Conceptos Básicos de Algoritmos y Programación Estructuras automáticas básicas Semestre 02-2007 13/04/2017

Importancia de la computación Los computadores y las redes de computadores se han convertido en la herramienta imprescindible en toda área técnica y de ingeniería. Todo técnico y profesional debe manejar y aplicar eficientemente dicha herramienta, en sus áreas propias de profesión. 13/04/2017

Necesidad de la computación para los ingenieros Las necesidades y exigencias de las empresas, de los negocios, de las sociedades actuales, requieren que los ingenieros sean más eficientes en sus labores. Las herramientas computaciones, computadores, entornos y lenguajes, permiten lograr mayores niveles de eficiencia en el desarrollo técnico personal. 13/04/2017

Objetivos del curso Desarrollar capacidades lógico - abstractas para el análisis, implementación y solución de problemas, mediante un enfoque algorítmico. Incentivar el aprendizaje de un lenguaje de programación con entorno gráfico, visual e interactivo: Visual Basic. 13/04/2017

Contenido - Primera Parte (6 semanas) Introducción al curso. Entorno de programación. Estructuras básicas para representación de algoritmos: secuencia, selección lógica, iteración. El concepto de PROYECTO en Visual Basic y sus componentes. Selección lógica. Iteración definida, acumulador/contador; Técnicas de integración numérica. Iteración indefinida, técnicas para encontrar raíces de funciones. Primera evaluación (25%) 13/04/2017

Contenido - Segunda Parte (5 semanas) Vectores y subprogramas. Archivos de texto. Ejercicios con vectores, archivos y subprogramas. Graficación en VB. Búsqueda y ordenamiento en vectores Segunda evaluación(25%) 13/04/2017

Contenido - Tercera Parte (5 semanas) Matrices. Ejercicios con matrices y vectores. Solución de sistemas de ecuaciones lineales simultáneas. Métodos para calcular la inversa de una matriz. Mínimos cuadrados para el ajuste de curvas. Tercera evaluación (25%) 13/04/2017

Evaluación 3 Exámenes escritos del 75%: 2 Exámenes prácticos del 25%: Semana 7, (25%), Lunes 12 de Marzo 4 .p.m. Semana 12, (25%), Lunes 16 de Abril, 4 p.m. Semana 16, (25%), Lunes 14 de Mayo 2 Exámenes prácticos del 25%: Semana 8 (12%), hora práctica Semana 16 (12%), hora práctica 13/04/2017

PROGRAMA CALENDARIO - SEM.01-2007 HORARIO ALGORITMOS Y PROGRAMACIÓN SEMESTRE II-2007   Horas Lunes Martes Miércoles Jueves Viernes Sábado 6 am - 8 am Luis Fernando Ochoa (T) William Álvarez (T) 8 am -10 am Taller Erika (M8-102) William Álvarez 10 am -12 am Andrea Mesa 12 m -2 pm Soraida Aguilar Roberto Manjarrés 2 pm - 4 pm Carlos Mario Soto  ¿TALLER? 4 pm - 6 pm Yris Olaya (T) Luis Felipe Restrepo Carlos Jaime Franco (T) Gustavo Acosta 6 pm - 8 pm 13/04/2017

PROGRAMA CALENDARIO - SEM.01-2007 SEMANA Sesión Fecha inicio Fecha final EXÁMENES CONTENIDO 1 lun-13-ago vie-17-ago   Motivación, introducción, ejemplos, elementos del lenguaje, If…, Introducción Subíndices 2 lun-20-ago vie-24-ago For, next, acumulado, contador, Funciones (Utilizar Subíndices) 3 lun-27-ago vie-31-ago Repaso, Integración numérica 4 lun-03-sep vie-07-sep Do… Loop 7 lun-10-sep vie-14-sep Repaso Do, Raíces (Newton, Etc.) 6 lun-17-sep vie-21-sep Jornadas Universitarias 20-21-22 5 lun-24-sep vie-28-sep Taller de repaso previo al examen 1 EXAMEN 1: Lunes 1 de octubre 4 pm. lun-01-oct vie-05-oct Vectores, Matrices 8 lun-08-oct vie-12-oct Archivos, ejemplos de vectores y archivos - TDU 9 lun-15-oct vie-19-oct EXAMEN PRÁCTICO 1 Ordenamiento y búsqueda 11 10 lun-22-oct vie-26-oct Taller de repaso previo al examen 2 EXAMEN 2: Lunes 29 de octubre 4 pm. 12 lun-29-oct vie-02-nov Sistemas de ecuaciones lineales - Gaussiana 13 lun-05-nov vie-09-nov Inversa Gauss – Jordan 14 lun-12-nov vie-16-nov Sistemas de ecuaciones lineales – Jacobi 15 lun-19-nov vie-23-nov Taller de repaso previo al examen 3 EXAMEN 3: Lunes 26 de noviembre 4 pm. SUPLETORIO: miércoles 28 de noviembre 2 pm. 16 lun-26-nov vie-30-nov EXAMEN PRÁCTICO 2 17 lun-03-dic vie-07-dic Reclamos y entrega de notas finales 13/04/2017

Metodología Exposiciones magistrales (auditorio,12-202). Uso del computador / Software (PC’s, 41-214), o en Minas Bloque M7, 5º piso. Talleres // Asesorías // Tareas extraclase. Aprendizaje “vía ejemplos”; “aprendizaje activo”. “Construccionismo Cognitivo”. Requisitos: Algebra Lineal; matemáticas básicas; Métodos eficientes de estudio. 13/04/2017

BIBLIOGRAFÍA Y REFERENCIAS/Teoría Algoritmos Chapra, Steven C. & Canale, Raymond P.: «Numerical Methods for Engineers», McGraw-Hill, 2002, Caps.: 1, 2, 5, 6, 8, 9, 12, 17, 20, 21, 22, 24. Brassard, G. y Bratley, P.: «Fundamentos de ALGORITMIA», Prentice Hall International, Madrid (España), 1997. 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, Leobardo: “Programación Estructurada, un enfoque algorítmico”, AlfaOmega, 2002 Cairó, oswaldo: «Metodología de Programación», Tomos I, II, AlfaOmega Editorial, 2002. (documemtación web)Alvarez-Montoya, William, 2006 (caps. 1, 2, 4, 5, 6), http://www.unalmed.edu.co/~walvarem 13/04/2017

BIBLIOGRAFÍA Y REFERENCIAS/Programación García, Javier, et al.: “Aprenda Visual Basic 6.0 como si estuviera en primero” (pdf, en internet). Aguilar, Joyanes: «Visual Basic 6.0, Iniciación y Referencia». McGraw-Hill, 2001. (incluye CD-ROM, con los ejercicios de los capítulos y una versión de aprendizaje de Visual Basic 6.0). Ceballos, Francisco Javier: «Programación Visual Basic 6.0» 2002, AlfaOmega Editorial, incluye CD. Algoritmos & Programación con Visual Basic (documemtación web)Alvarez-Montoya, William (cap. 3), http://www.unalmed.edu.co/~walvarem Aplicaciones en Métodos Numéricos (documemtación web)Alvarez-Montoya, William (caps. 3,4,5,6,8), http://www.unalmed.edu.co/~walvarem 13/04/2017

BIBLIOGRAFÍA Y REFERENCIAS/Prácticas García, Javier, et al.: “Practique Visual Basic 6.0 como si estuviera en primero”, Universidad de Navarra, Junio 2003 (pdf, en página web, contiene 7 prácticas). (documentación web) Alvarez-Montoya, William, «Guías de Prácticas», http://xue.unalmed.edu.co/~walvarem Página de la asignatura en la Escuela de Sistemas: http://pisis.unalmed.edu.co/cursos/algoritmos 13/04/2017

http://www.unalmed.edu.co/~walvarem DOCUMENTACIÓN ADICIONAL WEB/1 Problemas resueltos (formato html). Problemateca (serie de problemas, en html). Proyectos de ejemplo (formato HTML). Algunos ejercicios de autoevaluación. Exámenes anteriores resueltos (html). Referencias y enlaces (documentación online). Manuales que se pueden descargar (formatos: htm, zip, pdf). Técnicas de Estudio (indicaciones básicas). 13/04/2017

Después ingresar con password: galaxia2007. DOCUMENTACIÓN ADICIONAL WEB/2 http://ciencias.unalmed.edu.co/moodle Escoger: facultad de minas / Algoritmos y Programación. Inscribirse llenando el formato (Nombre usuario; contraseña). Después ingresar con password: galaxia2007. Interactuar con la plataforma MOODLE. Primera tarea: GLOSARIO FORO: Miércoles 10 a.m. – 12 m. (preguntas). 13/04/2017

ACTITUDES DIDÁCTICA DE ACTIVIDADES SEMANALES ALGORITMOS & PROGRAMACIÓN Métodos eficientes de estudio Objetivos Aprendizaje ACTITUDES Proyecto de Vida Actitud PROACTIVA Asistir a clases Saber fijar atención Tomar apuntes Estudio extraclase Lectura rápida Mejorar memoria Nutrición eficiente 13/04/2017

DIDÁCTICA DE ACTIVIDADES SEMANALES Durante la clase TEÓRICA: Saber fijar la atención. Toma creativa de apuntes Formular preguntas. Utilizar memoria asociativa ¿Qué tareas se plantean?. 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, que también está en la página web de la documentación: http://www.unalmed.edu.co/~walvarem CLASE TEÓRICA Centrar atención Tomar apuntes Estudiar contenidos CLASE PRÁCTICA Estudiar talleres, relizar proyecto Realimentación Después de la clase TEÓRICA: Estudiar más detallada y profundamente los contenidos, ojalá el mismo día. No dejar acumular contenidos. Resolver las preguntas que surgieron. Realizar las tareas, ejercicios, proyectos, talleres. Asistir a un taller adicional. Después de la clase TEÓRICA: Estudiar más detallada y profundamente los contenidos, ojalá el mismo día. No dejar acumular contenidos. Resolver las preguntas que surgieron. Realizar las tareas, ejercicios, proyectos, talleres. Asistir a un taller adicional. Durante la clase PRÁCTICA: Centrarse en la elaboración del proyecto respectivo. Saber conceptualizar y diferenciar las etapas de elaboración del proyecto. Saber grabar el proyecto.. ¿Qué tareas se plantean?. Después de la clase PRÁCTICA: Estudio del proyecto; etapas de elaboración (ojalá el mismo día) Repasar proyecto(s) en página web. Realizar otro proyecto en computador Asistir a un taller adicional. ¿Qué preguntas puede plantearse?. 13/04/2017

Sábados , 12 a 2 p.m. (¿taller teórico, AULA ?). (por definir) HORARIOS ATENCIÓN ESTUDIANTES OFICINA: M8-A-214 (MINAS) Sábados , 12 a 2 p.m. (¿taller teórico, AULA ?). (por definir) Atención Estudiantes: Miércoles, Jueves, 4p.m. a 6p. m.; FORO: Miércoles 10 a.m.-12m. E-mail: walvarem@unalmed.edu.co 13/04/2017

Evolución del computador (Cap. 1) Culturas de China, Mesopotamia.. Desde 5000 años A.C. Operaciones simples de Aritmética. Primer artefacto de cómputo El ábaco, antigüedad. Calculadoras mecánicas. Electromecánicos. Electrónicos. Supercomputadores. El PC, redes de PC, Internet, 1980- Atribuídas a Blas Pascal y Godofredo Leibnitz. Siglo XVI. Pascal: primera sumadora mecánica. Leibnitz: incluye multiplicación Desde finales del siglo XIX. 1890: Censo en Estados Unidos y Europa. Inicios S.XX: proceso de datos en empresas. Siglo XX, desde 1940’s. 1940’s: primera computadora electromecánica. 1950’s: proceso de datos en empresas; transistor. Siglo XX, desde 1960’s. Grandes empresas, países más indudtrializados. Investigación; industria aeroespacial. Oct. 1981: “Revolución de los PC’s. Microelectrónica. Computadores personales. Red mundial. Tecnologías de programación. Internet 2 (desde año 2000)... Nanotrónica... 13/04/2017

EVOLUCIÓN HARDWARE/SOFTWARE Microelectrónica,Programación Año 2007 13/04/2017

Arquitectura de computadores - interna 13/04/2017

Arquitectura de computadores - externa 13/04/2017

Para que el computador? Cálculos Repetitivos. Grandes volúmenes Resolver Problemas Técnicos y de Ingeniería: 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. Cálculos Repetitivos. Grandes volúmenes de información. Complejidad cálculos. Velocidad de proceso y de respuesta. Precisión. En las empresas, los procesos de inventarios, por ejemplo, con decenas de miles de artículos. Igualmente, los procesos de nómina, contables, financieros, de facturación, de proveedores, etc. En el Estado los impuestos, datos de población, etc. El software, a través de los computadores, puede manejar procesos complejos de tipo lógico y matemático. Las transacciones basadas en redes de computadores (locales, regionales, nacionales, internacionales). Inteligencia Artificial, Sistemas Expertos, etc. A todo nivel organizacional se requieren respuestas a tiempo real. Telecomunicaciones. Control de procesos de fabricación, y de prestación de servicios, etc. 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. Igualmente, en las labores científicas, financieras, etc. 13/04/2017

EL ENFOQUE ALGORÍTMICO Potenciando, así, el enfoque meramente ecuacional. La Aritmética, el Álgebra y demás áreas matemáticas se aunan en los algoritmos implementados en software. Que sin ayuda de los computadores no se podrían resolver en términos prácticos de tiempo, costo, y demás recursos. Es una de las bases actuales en el desarrollo de las ciencias, las tecnologías, el conocimiento. Facilita obtener mejores soluciones a problemas más complejos. Permite resolver problemas complejos. Software. Hardware. Proyectos. Facilita resolver problemas de cálculos. El software es el conjunto de programas que permiten y facilitan la utilización de un computador. Se le denomina, también, la parte lógica de la máquina. Categorías de software: Sistema Operativo, Entornos de programación, Automatización de oficina, redes, etc.. Comprende la parte electrónica, electromecánica y mecánica de los computadores. También puede incluir programación. Microelectrónica. Chips. Memorias RAM, ROM. Un PROYECTO incluye deversidad de recursos que se aplican en el tiempo para obtener unos fines. En el ámbito de la asignatura, se trabajarán proyectos con el software Visual Basic. 13/04/2017

EL CONCEPTO DE ALGORITMO SECUENCIA de procesos (tareas, operaciones) ordenada lógicamente que permite obtener ciertos resultados a partir de ciertos datos. LOS ALGORITMOS estudiados en este curso son los SECUENCIALES. ¿Qué es un algoritmo? Permite el análisis lógico-conceptual de un problema y anticipar las posibles soluciones. En cierto sentido permite MODELAR la realidad, con el fín de poder modificarla, o adaptarla a determinadas necesidades. ¿Por qué es útil? ¿Cómo se aplica? Expresando la secuencia lógica de operaciones que llevan a la solución de un problema. Considerando todas las posibilidades lógicas del problema en custión. Considerando las relaciones y restricciones pertinentes al problema. Algoritmos y Programas Cuando un algoritmo se expresa mediante la sintaxis de un lenguaje de programación de computadores se llama, entonces, un PROGRAMA. Un conjunto de programas constituye un SOFTWARE. Tiene tanto de arte como de ciencia. Existe una teoría en crecimiento y todo un bagaje de experiencias. Hacer un buen algoritmo exige abstracción, lógica, imaginación, creatividad, dominio de las técnicas de programación, y dominio del área del problema que se intenta resolver. Elaborar algoritmos. 13/04/2017

CONSTRUCCIÓN DE ALGORITMOS Un algoritmo se elabora (construye) mediante ciertos componentes básicos llamados ESTRUCTURAS. Desde la década de 1960’s se vió que este enfoque, aunque sencillo, es muy útil para representar secuencias de procesos (tareas, actividades, operaciones). Estructuras básicas ¿Cuáles son? TODO ALGORITMO ES UNA SECUENCIA LÓGICA DE CIERTAS OPERACIONES (ó procesos, o tareas, o eventos). En la solución de un problema existe una secuencia general, y dentro de ella muchas otras secuencias más detalladas. SECUENCIA PERMITE ELEGIR UNA DE DOS O MÁS VÍAS DE ACCIÓN (ALTERNATIVAS). En un problema especifíco, el conjunto de ALTERNATIVAS puede ser muy extenso. SELECCIÓN LÓGICA ES LA REPETICIÓN DE UNA O MÁS OPERACIONES. De antemano, puede conocerse o no cuántas veces se repetirán las operaciones. El conjunto de operaciones que se repite se llama RANGO DE ITERACIÓN. ITERACIÓN 13/04/2017

CONSTRUCCIÓN DE ALGORITMOS ENTRADA PROCESAMIENTO Cálculos Relaciones lógicas SALIDA Datos capturados Muestran, Graban, Imprimen, transmiten Variables, constantes (DATOS) (RESULTADOS) Realimentación Esquema GENÉRICO de un ALGORITMO SECUENCIAL 13/04/2017

CONSTRUCCIÓN DE ALGORITMOS EJEMPLO #1 Solucionar ecuaciones cuadráticas de la forma: AX2 + BX + C = 0 Análisis: Conocer los coeficientes A, B, C. Se aplica la fórmula del Álgebra: ESTE ES EL ALGORITMO. Para este problema es trivial. MODELO DE UN PROBLEMA PRÁCTICO 13/04/2017

Este es el esquema (diagrama) genérico EJEMPLO#1: Ecuaciones cuadráticas DATOS DE ENTRADA A, B, C PROCESAMIENTO Cálculos Relaciones lógicas SALIDA (resultados) X1, X2 A 0, D  0 Este es el esquema (diagrama) genérico 13/04/2017

Diagrama libre REPRESENTACIÓN DE ALGORITMOS LEER A,B,C D=BB-4AC EXPRESA EL PROCESO LÓGICO Es decir, EL ALGORITMO que obtiene las raíces X1, X2 a partir de los datos de entrada A, B, C. En general, LEER implica obtener o conocer ciertos valores que son base para procesos posteriores. Los operadores son similares al ÁLGEBRA y la ARITMÉTICA. Sqr() significa “raíz cuadrada”. D=BB-4AC X1=(-B+sqr(D))/(2A) X2=(-B-sqr(D))/(2A) LEER A,B,C Diagrama libre 13/04/2017

Diagrama rectangular estructurado REPRESENTACIÓN DE ALGORITMOS ESTE TIPO DE REPRESENTACIÓN DIAGRAMÁTICA ES EL QUE SE SEGUIRÁ EMPLEANDO EN EL CURSO. Las características y ventajas de este tipo de diagrama se explican en el capítulo 2, sección 2.1 (véase la documentación del curso). El proceso de MOSTRAR implica visualización en la pantalla del computador. Los operadores utilizados son: * (asterisco) para multiplicar. + (signo más) para sumar. - (signo menos) para restar. / (diagonal) para división real. “ “ (comillas dobles) para texto. = (signo igual) para asignar memoria Diagrama rectangular estructurado 13/04/2017

ENTORNO DE PROGRAMACIÓN/1 Entorno Visual Basic. Entorno C (Visual C++). Entorno Java. Entorno Visual Fortran... Interfaz gráfica de usuario (GUI). Basados en objetos. (POO) Guiada por eventos Programación automática. Generación rápida de aplicaciones(RAD) Paradigmas tecnológicos sobre los que subyacen 13/04/2017

ENTORNO DE PROGRAMACIÓN/2 BARRA DE TÍTULO Y CONTROL BARRA DEL MENÚ PRINCIPAL BARRA DE HERRAMIENTAS VENTANA DE UBICACIÓN VENTANA DE PROPIEDADES FORMULARIO BASE DE DISEÑO CAJA DE CONTROLES EXPLORADOR DE PROYECTOS ESCRITORIO PRINCIPAL EN VISUAL BASIC 13/04/2017

Interfaz gráfica en Visual Basic Programa genérico: A = Val(Text1) B = Val(Text2) C = Val(Text3) D = B^2 - 4 * A * C X1 = (-B + sqr(D)) / (2 * A) X2 = (-B - sqr(D)) / (2 * A) Text4 = Str(X1) Text5 = Str(X2) CONFORMAN UN PROYECTO EN VISUAL BASIC 13/04/2017

METODOLOGÍA GENERAL DE TRABAJO Identificación y entendimiento del problema. Identificación de variables y constantes (la estructura de datos de ENTRADA y SALIDA). Restricciones y relaciones matemáticas entre variables y constantes (fórmulas). 1. Análisis del problema Representando la secuencia de pasos (operaciones, o procesos), llamada algoritmo, mediante una herramienta apropiada. Puede ser con una forma diagramática (diagrama libre, diagrama estructurado). Puede ser con Pseudocódigo (P-código), o lenguaje natural estructurado. 2. Diseño de una estrategia de solución Elaborando la interfaz gráfica del usuario (formulario y demás objetos). Escribiendo los procedimientos pertinentes. Realizando la ejecución, depuración y correcciones del mismo. 3. Programa (proyecto), usando un lenguaja de programación SE AUNAN ENFOQUES: ECUACIONAL, ALGORÍTMICO 13/04/2017

EJEMPLO#2 (P107) El esfuerzo, en cierto tipo de columna, se calcula por medio de la fórmula mostrada: En un refino posterior del algoritmo, calcular el esfuerzo inducido para valores de F desde 12000 hasta 30000 lbf con incremento de 1000 lbf, permaneciendo los demás parámetros constantes. En otro refino, calcular el esfuerzo inducido para valores de L desde 15.5 in hasta 30.5 in con incrementos de 0.5 in, permaneciendo todos los demás parámetros constantes Determinar el esfuerzo inducido, en psi (unidades del Sistema Internacional) si se conocen los demás parámetros: N = 1; E = 3.0x107 psi; R = 4.2 x 104 psi; K = 0.29 in; L = 20.3 in; A = 17.5 in2; F = 12000 lbf Donde:  es el esfuerzo inducido (psi); F es la fuerza aplicada (lbf); A es el área de la sección de la columna (in2); L es la longitud de la columna (in); K es el radio de giro (in); R es el límite elástico del material (lbf/in2); E es módulo de elasticidad (lbf/in2); N es un coeficiente diferenciador de las condiciones finales (adimensional). 13/04/2017

Este es el esquema (diagrama) genérico EJEMPLO#2 (P107),cont. DATOS DE ENTRADA F, A, L, K, R, N, E, π SALIDA (resultados)  PROCESAMIENTO Cálculos Relaciones lógicas N0, A 0, K 0, E  0 Este es el esquema (diagrama) genérico 13/04/2017

EJEMPLO#2 (P107),cont. DIAGRAMA ESTRUCTURADO DE LÓGICA En este algoritmo sólo se considera un valor único de F (la fuerza). Para poder obtener los diferentes esfuerzos correspondientes a la variación de F de 12000 hasta 30000 libras, con incrementos de 1000 libras, es preciso emplear un proceso de repetición (iteración). DIAGRAMA ESTRUCTURADO DE LÓGICA 13/04/2017

EJEMPLO#2 (P107),cont. El proceso es automático. 13/04/2017 Esta estructura de iteración implica que la variable F recorre el intervalo [12000, 30000] incrementándose cada vez en 1000. El proceso es automático. 13/04/2017

ESTRUCTURAS AUTOMÁTICAS BÁSICAS Esta estructura de SECUENCIA es la estructura básica de todo ALGORITMO SECUENCIAL. EL ORDEN DE EJECUCIÓN de los procesos (operaciones) es de arriba hacia abajo y de izquierda a derecha. Primero se ejecuta el proceso 1; cuando este finaliza se ejecutará el proceso 2; y así hasta ejecutar el último proceso, el proceso n. PROC 1 PROC 2 .......... PROC n SECUENCIA Esta estructura de SELECCIÓN LÓGICA permite evaluar una condición lógica (Clógica). SI SU VALOR DE VERDAD es cierto, entonces se ejecuta el proceso Proc v. Si es falso, se ejecutará el proceso Proc f. Así es posible optar por una de dos alternativas. Se aplican las tablas de verdad de la Lógica Simbólica (ver sección 3.2) Clogica V F Proc v Proc f SELECCIÓN LÓGICA 13/04/2017

Mayor de una serie de enteross positivos ESTRUCTURAS AUTOMÁTICAS BÁSICAS Esta estructura de ITERACIÓN permite repetir muchas veces un cierto conjunto de operaciones. Dicho conjunto de operaciones se denomina el RANGO DE ITERACIÓN. La variable K es el índice de iteración. La variable N es el límite final de las iteraciones. K = 1, N PROC 1 PROC 2 .......... PROC n ITERACIÓN CON ESTE DIAGRAMA ESTRUCTURADO, empleando las tres estructuras básicas, se representa -en forma compacta- un algoritmo. El proceso LEER N obtiene el valor de N. Max = 0 inicializa la variable Max. Dentro del proceso repetitivo se lee un número entero, X, y se compara con el contenido de Max. N, K, Max, X son “casillas” de la memoria interna. (hacer el seguimiento lógico) ¿Qué pasa si los números no son enteros positivos? Mayor de una serie de enteross positivos 13/04/2017

TAREAS EXTRACLASE #1 2. Estudiar Capítulo 2, sección 2.1. Los conceptos básicos de la evolución histórica de los computadores y sus teorías y tecnologías conexas. Arquitectura de computadores. Sistema Operativo. 1. Estudiar Capítulo 1. En especial sección 1... Resolver quices interactivos. El concepto de ALGORITMO y sus aplicaciones. Las estructuras automáticas básicas para la construcción de algoritmos. Diagrama estructurado para representar algoritmos. 2. Estudiar Capítulo 2, sección 2.1. 3. Elaborar diagramas estructurados de lógica para los siguientes problemas de la problemateca: 2, 3, 4, 5, 30, 31, 32, 33, 34, 35, 39, 40. Aplicar las estructuras de SECUENCIA, SELECCIÓN LÓGICA, ITERACIÓN. Realizar prueba de escritorio de los algoritmos. Referirse a las secciones 2.1 y 3.2 de la documentación básica en la web. 13/04/2017

TAREAS EXTRACLASE #1 Esta actividad es fundamental como preparación de la clase práctica. Es preciso que el (la) estudiante se provea de un diskette para grabar en él los archivos del proyecto que se elabora en la clase. 4. Efectuar una lectura previa a la sección 3.1, que presenta el entorno de programación Visual Basic. Esta actividad es fundamental como preparación de la clase teórica siguiente. De esta manera no se acumulan los contenidos de las clases. EXIGE UNA ACTITUD PROACTIVA respecto a la labor de estudiar. 5. Tener impresión diapositivas Clase#2 para la próxima reunión (es material de trabajo en clase). 13/04/2017

LAS CLASES PRÁCTICAS SE REALIZAN EN EL AULA 41-214 ¡¡¡¡ ATENCIÓN !!!! LAS CLASES PRÁCTICAS SE REALIZAN EN EL AULA 41-214 (¿ESTA SEMANA?) 13/04/2017

Facultad de Minas ¡ FIN CLASE ! Universidad Nacional de Colombia 120 años ¡ FIN CLASE ! Escuela de Sistemas 13/04/2017

GRACIAS 13/04/2017