Técnicas de Programación

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

Introducción a la programación

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

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

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

Qué es un programa informático?

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Tema V Generación de Código

Computadora y Sistema Operativo

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

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

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

1. Computadores y programación

Metodología para la solución de problemas programables

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

Fundamentos de programación y Bases de Datos

Tema III: Semestre: A-2011

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

P L A N I F I C A C I O N

Construcción de tablas de análisis sintáctico LL(1)

LÓGICA DE PROGRAMACIÓN

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

INTRODUCCION A LA PROGRAMACION

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

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

1

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

Algoritmos y Lenguajes de Programación

Objetos de aprendizaje: Computadora

Anexo. Control de errores

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

Software de Gestión y Programación

Guía práctica de estudio 05: Diagramas de flujo

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

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

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

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

Principios de Computadoras II

FUNCIONAMIENTO DEL ORDENADOR

Procesadores de Lenguaje

Lenguaje binario. Código ASCII. Medidas de la información

ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C

Principios de Programación en Java

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

FUNDAMENTOS DE INFORMÁTICA

1-Componentes Físicos y Lógicos de un Ordenador.

Lenguaje de Programación

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.

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

INICIACIÓN A LA PROGRAMACIÓN I

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

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

Introducción a la Operación de Computadoras Personales

I.S.F.T. Nº 38 Programación I página 1

Diseño Estructurado de Algoritmos

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

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

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

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Módulo: ENTORNOS DE DESARROLLO C.F.G.S. : DESARROLLO DE APLICACIONES WEB. Marca el profesor que tengas asignado: Fran [ ] José Luis [ ]

Java para no Programadores

LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B)

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

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

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java

ESCUELA DE INFORMÁTICA

Administración Informática. Unidad I. Tipos de sistemas y su clasificación A) Sistemas de información.

Universidad de Managua

: Algorítmica y Estructura de Datos I

PROGRAMACIÓN UNIDADES

Iniciación a la informática

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Construyendo Programas más Complejos

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013

MODULO II! LOS NUEVOS DERECHOS DE AUTOR Y CONEXOS SOFTWARE

Definición: Dispositivo mecánico-electrónico que procesa Información (numérica, alfanumérica )

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA

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

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

Administración de la producción. Sesión 9: Hojas de cálculo (Microsoft Excel)

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Formato para prácticas de laboratorio

Pruebas de escritorio

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

Computación Paralela Móvil

Introducción a la Computación

3. TÉCNICAS DE DISEÑO

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Tema: Excel Formulas, Funciones y Macros

Estructuras de Control

Ejercicio ejemplo resuelto: verificar el algoritmo de resolución de una ecuación de segundo grado. (CU00237A)

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

Algoritmos y Programas

PROGRAMACIÓN DE AULA: OBJETIVOS CONTENIDOS MATERIALES y RECURSOS MODULO MATEMATICAS-TECNOLOGÍA

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

Transcripción:

Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia de operaciones: Información de entrada: Conjunto de datos de partida necesarios para la resolución del problema. Algoritmo de resolución: Instrucciones necesarias para obtener los datos de salida a partir de los datos de entrada. Información de salida: Información que se desea obtener tras procesar la información de entrada. Cuando hemos hablado de información nos referimos tanto a instrucciones como a datos. Las instrucciones son la información que indica a la máquina lo que hay que hacer. Un conjunto de instrucciones convenientemente ordenadas y encadenadas es un programa de ordenador. Los datos son la información sobre la que actúan las instrucciones. A veces ocurre que los datos de salida sirven a su vez como datos de entrada a otro programa e incluso al mismo. Esto se conoce como realimentación o feedback. 1

Introducción Si vamos a usar un ordenador para resolver un problema este deberá realizar las operaciones con los datos para obtener los resultados. Para ello debemos proporcionar al ordenador un algoritmo de resolución, es decir, debemos indicarle los pasos y operaciones que debe realizar. Es el algoritmo expresado en un lenguaje de programación lo que constituye un programa. En una primera fase de diseño podemos utilizar una notación que nos resulte más fácil de interpretar, como puede ser pseudocódigo u ordinogramas, pero posteriormente debemos codificarla en un lenguaje de programación como, por ejemplo, en lenguaje C y finalmente debemos traducirla a lenguaje máquina que es el único que entiende el ordenador. Lenguajes de programación Existen muchos lenguajes de programación y cada uno utiliza su propio conjunto de símbolos y reglas. De entre ellos podemos destacar: Lenguaje máquina: Un ordenador solamente es capaz de reconocer las instrucciones que damos al procesador en binario o lenguaje máquina, por tanto todo programa debe finalmente estar escrito en lenguaje máquina, pero este nos resulta prácticamente ilegible para nosotros, aunque resulta el más eficiente desde el punto de vista de la máquina, presentando como principales inconvenientes los siguientes: Las instrucciones se dan como cadenas binarias, octales o hexadecimales y solamente realizan operaciones simples. El lenguaje máquina es específico de cada microprocesador y por tanto sus instrucciones tienen un formato particular para cada uno. No es un lenguaje estructurado sino adaptado a la circuiteria del ordenador. No se pueden utilizar nombres de variables sino que hay que asignar memoria para variables y constantes. No existen los comentarios por lo que no se puede documentar el programa. 2

Lenguajes de programación Lenguaje ensamblador: Es el lenguaje de bajo nivel más próximo al lenguaje máquina y lo que hace es sustituir las cadenas numéricas por nemotécnicos o códigos de tres o cuatro letras que las sustituyen. Se trata de abreviaturas en inglés de la operación que realizan, como por ejemplo JMP que indica SALTO. Presenta mayor facilidad de codificación que el lenguaje máquina y resulta más fácil de interpretar para el programador. Ya podemos usar direcciones simbólicas mediante un nombre de referencia en lugar de direcciones absolutas y se pueden incluir comentarios que el traductor eliminará para que no aparezca en el código máquina generado. Un programa en ensamblador necesita ser ensamblado o traducido a lenguaje máquina para que el ordenador lo pueda ejecutar. Este traductor se denomina ensamblador. Los lenguajes de bajo nivel como el máquina y el ensamblador reducen su aplicación a situaciones y equipos muy concretos, como el control de procesos, trabajo en tiempo real o programación de micro controladores. Lenguajes de alto nivel: Permiten usar simbología que los acerca al lenguaje humano y los programas pueden funcionar en diferentes ordenadores. Para que el ordenador los pueda interpretar necesitan ser traducidos a lenguaje máquina. Entonces el programa a traducir se denomina programa fuente y el obtenido programa objeto. Del mismo modo que cuando se trabaja con idiomas existen dos formas de traducir un programa fuente: a posteriori o todo lo que se va a traducir de una vez y traducción simultánea. Por este motivo vamos a tener dos tipos de traductores: Compilador, que es un programa que traduce a posteriori todo el programa fuente en un programa de lenguaje de bajo nivel o ejecutable. Ejemplos de estos son C++ Builder, Visual C++, etc. Interprete, que es un programa que traduce simultáneamente, es decir realiza la traducción de una sentencia e informa al microprocesador de lo que debe hacer para posteriormente seguir con otra sentencia. Ejemplos de estos son Java, Javascrpts, php, etc. 3

Fases de la programación y posibles errores De una forma genérica la programación la podemos dividir en cuatro fases: 0.- Fase de edición. Consiste en escribir el programa fuente con la ayuda de un programa editor y grabarlo en el ordenador. Debemos ser especialmente cuidadosos para evitar errores que hagan al proceso inservible, pero evidentemente nos resultará imposible, sobre todo al principio, no cometerlos. 1.- Fase de compilación. Ahora se traduce el programa fuente a lenguaje máquina para obtener el programa objeto. Para hacerlo se usan programas compiladores (o interpretes) que además comprueban la correcta sintaxis del código fuente. En esta fase se detectan los errores correspondientes al incumplimiento de las reglas sintácticas del lenguaje, como por ejemplo no finalizar una sentencia con ; en C. Se trata de errores fáciles de corregir ya que los detecta el compilador indicándonos donde están y de que tipo son mostrándonos un mensaje de error. 2.- Linkado. En esta fase se añaden al programa rutinas del sistema y/o programas externos lo que se hace con un programa linker. 3.- Ejecución. Se trata de realizar la prueba del programa en todas sus facetas para garantizar su correcto funcionamiento. En esta fase se producen errores debidos a operaciones no permitidas (dividir por cero o introducir un dato incorrecto) y se detectan porque se aborta la ejecución del programa por el sistema. Son más difíciles de detectar y corregir que los de sintaxis ya que no se detectan en la fase de compilación. Otro tipo de error que se comete son los denominados lógicos que consisten en la obtención de resultados erróneos o no esperados a partir de unos datos determinados. Son muy dificles de corregir y la única forma de hacerlo es la ensayo/error comparando los resultados obtenidos por el programa con los que deberíamos obtener a mano. 4

Técnicas o métodos de programación En metodología de la programación existen cinco posibles formas: 0.- Programación modular, descendente o top-down. Se basa en la descomposición sucesiva del algoritmo inicial en módulos para realizar tareas concretas. 1.- Programación estructurada. Se utiliza de forma exclusiva un estructura secuencial para controlar el flujo de ejecución de instrucciones. Estos programas son muy fáciles de verificar, depurar y mantener. 2.- Programación Orienta a Objetos (OPP, Object Oriented Programming). Este sistema unifica los datos y el código que actúa sobre ellos. 3.- Programación Orientada a Eventos. Este tipo se base en hacer que el código se adapte al usuario en lugar de realizar acciones preestablecidas. 4.- Programación Visual. Consiste en realizar aplicaciones para trabajar en un entorno visual como el de Windows sin necesidad de conocer profusamente su funcionamiento interno. Se trata de hacer funcionar nuestro programa con las técnicas habituales de clicar con el ratón o arrastrar y soltar. Se basan, al igual que Windows y cada vez más Linux, en crear aplicaciones que contienen objetos con unas determinadas propiedades características y unas líneas de código para realizar determinadas acciones. De las cinco formas posibles la que posiblemente resulte más fácil a la hora de crear una determinada aplicación es la Visual, razón por la que será la que adoptemos para este curso, aunque se darán pinceladas de las otras en momentos determinados (cuando resulte necesario para las explicaciones). En concreto hemos adoptado una aplicación para realizar estas tareas que no es otra que C++ Builder de la firma Borland, aunque se podrían adoptar otras aplicaciones. 5

Fin de la presentación 6