FUNDAMENTOS DE PROGRAMACIÓN. Algoritmos y Programas

Documentos relacionados
Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Programación de Ordenadores

Tema 2 Introducción a la Programación en C.

Introducción a la programación: Contenido. Introducción

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Metodología de Desarrollo de Programas

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

Técnicas de Programación

Introducción a la programación

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

Fundamentos de Informática 3. Construcción de Software

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD I. ALGORITMOS Y PROGRAMAS. Características y elementos para construir un algoritmo

Algoritmos y Lenguajes de Programación

TEMA 3: El proceso de compilación, del código fuente al código máquina

1. Computadores y programación

Evolución del software y su situación actual

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL

Tema III: Introducción al lenguaje de programación

Algoritmos y la Resolución de problemas

7.3. Estructura de un programa

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

MÓDULO 1: Sistemas de Cómputo

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Unidad 2. Introducción Lenguajes y Compiladores

Unidad II: Análisis semántico

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid

Programación I.

Facultad de Ingeniería Industrial y de Sistemas v1.1 Pre Maestría LENGUAJES DE PROGRAMACION

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Tema 2. Concepto de Algoritmo

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Pruebas de escritorio

ESTRUCTURA DE ASIGNACIÓN

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

Computadora y Sistema Operativo

Conceptos y definiciones básicos en computación

UNIDAD NO. 01 CONCEPTOS INFORMÁTICOS BÁSICOS

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

TEMA 1: Algoritmos y programas

Proceso de información en la computadora

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

Diseño Estructurado de Algoritmos

Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005)

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Metodología para la solución de problemas programables

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación

Tema 5. Soporte lógico de computadoras.

Tema II: Metodología para la construcción de programas

Introducción a la programación

Objetos de aprendizaje: Computadora

Estructura de un programa. Algoritmos - Universidad Francisco de Vitoria 2

Procesadores de lenguaje Tema 1 Introducción a los compiladores

INICIACIÓN A LA PROGRAMACIÓN I

Principios de Algoritmia

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

FUNCIONAMIENTO DEL ORDENADOR

Programación Estructurada

Diseño de Compiladores I. Estructura General de un Compilador

Introducción a la programación: Algoritmos

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

Tema V Generación de Código

Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

Tema 5. Diagramas de flujo. Computacion - FA.CE.NA.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Introducción a la Programación.

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño

Qué es un programa informático?

Organización de una computadora. EIF200 Fundamentos de Informática Prof. Marlene DL I ciclo 2012

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

TIPOS DE SOFTWARE. A grandes rasgos, se puede decir que existen tres tipos de software:

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

INTRODUCCIÓN Y CONCEPTOS GENERALES

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Unidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Transcripción:

FUNDAMENTOS DE PROGRAMACIÓN Algoritmos y Programas

Dato La palabra proviene del latín datum, forma del verbo dare dar, que significa Lo que es dado Representación de una información de manera adecuada para su tratamiento por un ordenador

Dato Son representaciones simbólicas de objetos, hechos, instituciones, conocimientos. Ejemplos 15 25º C 25 m 31-10-2005 Febrero María Pérez

Información Los datos organizados o procesados adquieren significado y proporcionan conocimiento o desencadenan un comportamiento sobre los hechos u objetos que lo originaron La información se resumen en : Datos + significado

Información Un grupo de datos es información Datos: 19- Marzo Maria 20 ptos. Información: El 19 de marzo se publicó en acta la calificación de 20 ptos para María El principal objetivo de la información consiste en aumentar el conocimiento o reducir la incertidumbre.

Información Ejemplos Juan tiene 15 años 25º C fue la temperatura de esta mañana. El edificio Robles mide 25 m de altura La fecha de hoy es 31-10-2005 Febrero tiene 28 días y 29 si el año es bisiesto. María Pérez es un nombre muy común

Problema Es un asunto o un conjunto de cuestiones que se plantean para ser resueltas. La naturaleza de los problemas varía con el ámbito o el contexto: problemas matemáticos, químicos, filosóficos, etc. Es importante que al abordar un problema se tenga una descripción simple y precisa del mismo, de lo contrario resultaría complejo modular, simular, o programar su solución en un ordenador.

Problema Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático Problema Diseño Algoritmo Análisis Programa

Problema Algunos de los pasos para solucionar un problema son: Análisis: consiste en el estudio detallado del problema. Se debe identificar los datos de entrada, de salida y la descripción del problema. Diseño del algoritmo, que describe la secuencia ordenada de pasos que conduce a la solución de un problema dado. Expresar el algoritmo como un programa en un lenguaje de programación adecuado (Fase de Codificación) Ejecución y validación del programa por el computador

Algoritmo Etimología: Proviene del nombre del matemático persa Mohammed Al-khowanzmi, cuyo apellido traducido al latín es Algorismus Conjunto de acciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un problema Los algoritmos son independientes tanto del lenguaje de programación como del computador que los ejecuta.

Algoritmo Finito: un algoritmo siempre debe terminar después de un número finito de pasos Definido: Preciso: si se sigue un algoritmo dos veces se debe obtener el mismo resultado indicar exactamente el orden de realización de las instrucciones

Algoritmo Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche

Algoritmo 1. Buscar herramientas, rueda de repuesto y triángulo de señalización 2. Ubicar el triángulo en el lugar adecuado 3. Ir al lugar de la rueda averiada 4. Sacar las tuercas 5. Colocar el gato 6. Levantar el coche

Algoritmo 7. Sacar la rueda 8. Colocar la rueda de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN

Algoritmo Fases de Desarrollo de un Algoritmo Fase Análisis Diseño Codificación Compilación Interpretación Pruebas Producto Especificación Algoritmo Programa Prog. Ejecutable Aplicación

Algoritmo Fase de Análisis: consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificación) en los cuales quedan totalmente definido el proceso a seguir en la automatización Estudio detallado Documentos de Especificación

Algoritmo Diseño: consiste en la realización del algoritmo que resuelve el problema de acuerdo a la especificación dada en la fase anterior. El algoritmo se representa mediante pseudocódigo. Algoritmo PRUEBA Inicio Variables A,B,C: entero Leer(A,B) C=A+B Escribir (C) Documentos de Especificación Fin

Algoritmo Codificación: consiste en la traducción del algoritmo a un programa escrito en un lenguaje de programación Algoritmo Sumar Inicio Variables A,B,C: entero Leer(A,B) C=A+B Escribir (C) Fin Programa escrito en un Lenguaje de Programación

Algoritmo Compilación/Interpretación: consiste en obtener el programa ejecutableobjeto a partir del programa fuente. Programa Ejecutable Programa fuente

Algoritmo Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de él. Programa Ejecutable Aplicación

Lenguajes de programación Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar información. Lenguaje de Programación: es un lenguaje que permite la traducción de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de ordenadores. Tipos de Lenguaje de Programación: Lenguaje de Máquina Lenguaje de Bajo Nivel (Ensamblador) Lenguaje de Alto Nivel

Lenguaje de máquina Son aquellos que están escritos en lenguaje directamente inteligibles por la máquina, ya que sus instrucciones son cadenas binarias (0 s,1 s) que especifican una operación. Las instrucciones en lenguaje máquina dependen del Hardware de la computadora, difiere de una PC a otra. La ventaja de los lenguajes máquina es que ofrecen mayor velocidad de ejecución. Existen algunas desventajas: dificultad y lentitud en la codificación, poca fiabilidad, los programas no son portables.

Ejemplo Lenguaje Máquina 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011 11001010 11001010 11110101 00101011 11001010 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011

Lenguaje de bajo nivel Son lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano. Son más fáciles de utilizar que los lenguajes de máquina, pero éstos también dependen de la máquina en particular. El mejor ejemplo es el lenguaje ensamblador Un programa escrito en lenguaje ensamblador requiere una fase de traducción. Entre las desventajas tenemos: que este lenguaje depende de la máquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las técnicas de programación así como el interior de la máquina

Lenguaje de alto nivel Son los más utilizados por los programadores Son independientes de la máquina Los programas escritos en estos lenguajes son portables Aumento de la ocupación de la memoria Las estructuras de los programas se basan en reglas sintácticas Ejemplos: C, C++, Visual C++, Visual Basic, Visual C#,Pascal, Ada, Delphi, Java, php...

Ejemplo Lenguaje alto nivel #include <stdio.h> int main(void) { printf("hola, Mundo\n"); }

Traductores de Lenguaje Traductores de Lenguajes: son programas que traducen a su vez los programas fuentes escritos en lenguajes de alto nivel a código máquina. Estos se dividen en intérpretes y compiladores.

Intérprete Intérprete: es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. (Basic, Smalltalk)

Compilación Compilador: es el proceso de traducción de programas fuentes a programas objetos. En este proceso se debe utilizar como paso intermedio un programa llamado enlazador (linker) el cual da como resultado un programa en lenguaje máquina directamente ejecutable.

Etapas de programación Modificación del programa fuente Errores lógicos Tiempo de pruebas Existen Errores Código Fuente Compilador APLICACIÓN Existen No BUENA PROGRAMACIÓN Errores Existen Errores No Pruebas Errores léxicos Tiempo de compilación Código objeto Linkado/ Interpretación Programa Ejecutable Errores de ejecución Tiempo de ejecución