Anda di halaman 1dari 26

Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia Sede Medelln

Fundamentos de Programacin Clase 1


Contenido Introduccin Presentacin del curso y cronograma del semestre Metodologa de trabajo Conceptos bsicos de programacin
Profesores: Jovani Alberto Jimnez Builes William lvarez Montoya Guillermo Gonzlez Danilo Bedoya

Importancia de la computacin
Los computadores y las redes de computadores se han convertido en una herramienta imprescindible en toda rea tcnica y de ingeniera. ingeniera. Todo tcnico y profesional debe manejar y aplicar eficientemente dicha herramienta, en sus reas propias de profesin. profesin.

Objetivos del curso


Desarrollar capacidades lgico - abstractas para el anlisis, implementacin y solucin de problemas, mediante un enfoque algortmico. algortmico. Incentivar el aprendizaje de un lenguaje de programacin especfico: Visual Basic for especfico: Applications (VBA). (VBA).

Contenido del curso


Introduccin Entrada y salida de datos Secuenciamiento Condicionales Iteracin definida Iteracin indefinida Vectores Tipos de datos definidos por el usuario Matrices Funciones y subprogramas

Metodologa
Clases magistrales (Auditorio 12-204). 12-204) Clases prcticas (Sala de cmputo 41-214) 41-214) Tareas extraclase Talleres y asesoras semanales Seguimiento de la pgina del curso Aprendizaje va ejemplos y aprendizaje activo. activo. Requisitos: Requisitos: matemticas bsicas
Sobre tcnicas bsicas de estudio ver el documento: Cmo estudiar y aprender una disciplina, por Richard Paul y Linda Elder, de la Fundacin para El Pensamiento Crtico, 2003, www.criticalthinking.org

Bibliografa y referencias
Brassard, Brassard G. y Bratley, P.: Fundamentos de ALGORITMIA, Prentice Hall International, Madrid (Espaa), 1997. Oviedo, Oviedo Efram: Lgica para programacin, ECOE ediciones, Agosto 2004. (para la primera parte del curso), Caps.: 1, 2, 3, 4, 5, 6, 7, 8. Lopez, Lopez Leobardo: Programacin Estructurada, un enfoque algortmico, 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, McGraw21, 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/documentpreview.aspx?doc_id=1659168) captulos: 3, 7, 10, 14, 15, 16, 17, 22.

Pgina Web del curso


http://virtual2.unalmed.edu.co/moodle Facultad de minas Fundamentos de programacin Clases prcticas y tericas Ejemplos interactivos Problemateca Talleres online Foros y chat Documentos, manuales y enlaces de inters Tcnicas de estudio

Didctica del curso


Clase Terica
Antes: Leer gua Repasar conceptos previos Durante: Prestar atencin y tomar apuntes Guardar proyecto (en la prctica) Formular preguntas. Despus: Realizar tareas Contrastar con lo aprendido anteriormente Antes: Repasar conceptos vistos en clase

Clase Prctica

Talleres y asesoras

Trabajo personal

Durante: Prestar atencin y tomar apuntes Formular preguntas Despus: Hacer los ejercicios de nuevo por si mismos Realizar tareas

Problemateca Talleres en lnea Libros de texto No dejar acumular contenidos

Para que el computador?


Clculos Repetitivos Grandes volmenes de informacin Complejidad clculos Velocidad de proceso y de respuesta Precisin
En el diseo y clculo de la estructura de un edificio, por ejemplo, se tardara meses hacer las operaciones matemticas manualmente. El computador, mediante los programas respectivos, realiza tales procesos en pocos minutos. En las empresas, los procesos de inventarios, por ejemplo, con decenas de miles de artculos. Otros ejemplos son los procesos de nmina, contables, financieros, de facturacin, de proveedores, etc. El software, a travs de los computadores, puede manejar procesos complejos de tipo lgico y matemtico. Ejemplos: Inteligencia Artificial, Sistemas Expertos, etc.

A todo nivel organizacional se requieren respuestas en tiempo real. Las mquinas (los computadores), en general, suelen ser ms precisas que las personas. Esta capacidad de las mquinas es especialmente til en los clculos de Ingeniera.

El concepto de algoritmo
Qu es un algoritmo? Es una secuencia de procesos (tareas, operaciones) ordenada lgicamente que permite obtener ciertos resultados a partir de ciertos datos.

Disear un buen algoritmo exige un buen nivel de abstraccin, lgica, imaginacin, creatividad, dominio de las tcnicas de programacin, y algo de dominio del rea del problema que se intenta resolver.

Por esta razn es que disear un algoritmo se considera tanto ciencia como arte.

Diseo de algoritmos
Estructuras bsicas 1. Entrada y salida de datos 2. Secuencia 3. Seleccin lgica 4. Iteracin
Un algoritmo se elabora (construye) mediante ciertos componentes bsicos llamados estructuras Por esta razn, este tipo de programacin se conoce como programacin estructurada Todo algoritmo tiene cero o ms entradas y debe mostrar uno o ms resultados

Todo algoritmo es una secuencia lgica de ciertas operaciones

Permite elegir una de dos o ms vas de accin (alternativas)

Es la repeticin de una o ms operaciones. De antemano, puede conocerse o no cuntas veces se repetirn las operaciones (iteracin definida o indefinida)

Diseo de algoritmos

ENTRADA
Datos de entrada

PROCESAMIENTO
Clculos matemticos y lgicos

SALIDA
Muestran Resultados Graban Imprimen Transmiten

Esquema genrico de un algoritmo secuencial

Diseo de algoritmos
Ejemplo Disear un algoritmo para calcular el rea de un tringulo Anlisis: Anlisis: Cules son los datos de entrada? Cules son los datos de salida? Qu clculos/procesos deben llevarse a cabo?

Diseo de algoritmos
DATOS DE ENTRADA Base, Altura

PROCESAMIENTO

rea = (Base*Altura)/2

DATOS DE SALIDA

rea

Representacin de algoritmos
Pseudocdigo INICIO Leer Base, Altura Area = (Base*Altura)/2 Mostrar Area FIN Diagrama de caja
INICIO Leer Base, Altura Area = (Base*Altura)/2 Mostrar Area FIN

Diseo de algoritmos
Ejemplo 2 Disear un algoritmo para calcular el permetro de un crculo Anlisis: Anlisis: Cules son los datos de entrada? es dato de entrada? Cules son los datos de salida? Qu clculos/procesos deben llevarse a cabo?
INICIO Leer Radio Prm = 2*Pi*Radio Mostrar Prm FIN

Diseo de algoritmos
Ejemplo 3
Suponga que se necesita un algoritmo para realizar la factura en un almacn 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%.

Anlisis? Anlisis?
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 trminos algoritmo y programa tienden a confundirse y en algunos casos a utilizarse indiferentemente. Recordemos que el trmino algoritmo se refiere a la secuencia de pasos para resolver un problema, pero independiente del lenguaje de programacin que se utilice, mientras que programa se refiere propiamente a la codificacin de un algoritmo en algn lenguaje de programacin.

Un conjunto de programas con un fin especfico constituye un software.

Lenguajes y entornos de programacin


Basic / Visual Basic C / C++ Java Pascal Fortran / Visual Fortran PHP

Metodologa general de trabajo


1. Anlisis del problema
Entender el problema. Identificar las variables (de entrada, de salida e intermedias) y las constantes Identificar las restricciones y relaciones matemticas y lgicas entre variables y constantes Representar la secuencia de pasos (operaciones, o procesos) de manera lgica, mediante una forma apropiada (pseudocdigo, diagrama de caja, diagrama de flujo flujo). Realizar prueba de escritorio al algoritmo para validar que haga lo que debe hacer Elaborar la interfaz grfica del usuario (si se trata de un lenguaje de programacin visual). Escribir los procedimientos pertinentes. Ejecutar y depurar el cdigo

2. Diseo de una solucin 3. Validacin de la solucin 4. Codificacin en un lenguaje de programacin

Tareas
1. Ingresar a la pgina del curso y resolver el primer cuestionario 2. Elaborar algoritmos (en pseudocdigo o diagrama de caja) para los problemas 1 a 6 de la Problemateca 1. 3. Efectuar una lectura previa de la clase terica 2 y prctica 1

Importante
Las clases prcticas comienzan la prxima 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 Programacin Clase 1

FIN DE LA CLASE
Gracias por la atencin
Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia Sede Medelln

Anda mungkin juga menyukai