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

Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice • Metodología de  la programación • Programación estructurada Depart
Author:  Roberto Araujo

10 downloads 67 Views 308KB Size

Recommend Stories


TEMA 2: PROCESOS DE CONDICIONAMIENTO: FUNDAMENTOS
TEMA 2: PROCESOS DE CONDICIONAMIENTO: FUNDAMENTOS 2.1.- Condicionamiento instrumental (CI) El condicionamiento instrumental (CI) constituye uno de los

TEMA 1: CONCEPTOS BÁSICOS
Departamento de Tecnología IES Carmen Conde Tecnologías de la Información y la Comunicación TEMA 1: CONCEPTOS BÁSICOS Curso 2013/2014 TEMA 1: CONCE

Tema 4. Fundamentos de programación de VB.NET
Desarrollo de Aplicaciones Informáticas – Diseño y realización de servicios de presentación en entornos gráficos Tema 4. Fundamentos de programación

TEMA 2. El archivo. 2.1 Concepto. BLOQUE I. CONCEPTOS FUNDAMENTALES
BLOQUE I. CONCEPTOS FUNDAMENTALES  2013‐2014   TEMA 2. El archivo. Se trata del otro de los objetos de la archivística. Ya hemos mencionado que uno

Story Transcript

Tema 2 Conceptos básicos de programación

Fundamentos de Informática

Índice •

Metodología de  la programación



Programación estructurada

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

2

Metodología de la Programación •

Pasos a seguir para el desarrollo de un programa (fases): – Análisis del problema. – Diseño de el/los algoritmos. – Codificación del programa. – Compilación. – Verificación/depuración. – Documentación.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

3

Metodología de la Programación – Análisis del problema

ANÁLISIS DEL PROBLEMA

DATOS DE ENTRADA

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

DEFINICIÓN PROBLEMA

Tema 2:  Conceptos básicos de programación

DATOS DE SALIDA (Resultados)

4

Metodología de la Programación – Análisis del problema •

Ejemplo  – Leer el radio de un círculo y calcular e imprimir su superficie y la longitud de  la circunferencia.



Análisis – Entradas: Radio del círculo (variable RADIO). – Salidas: Superficie del círculo (variable AREA), Circunferencia del círculo  (variable CIRCUNFERENCIA). – Variables: RADIO, AREA, CIRCUNFERENCIA (tipo real).

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

5 5

Metodología de la Programación •

Diseño de el/los algoritmos – – – – –

Conjunto preescrito de operaciones (reglas o instrucciones) bien definidas para resolver un problema en un número finito de pasos Un algoritmo:  Finito (Resultado en el tiempo),  Definido (No puede ser  ambiguo), Preciso (ejecución paso a paso). El diseño del algoritmo es bastante independiente del lenguaje de  programación (sí depende del enfoque) Definir paso a paso con detalle Diseño descendente o modular: División del problema en subproblemas PROBLEMA

DATOS DE ENTRADA

DATOS DE SALIDA

DEFINICIÓN PROBLEMA Problema 1

Dato 1.

Dato 2.

Salida 1. Subproblema 1. 1

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Subproblema 1.2

Tema 2:  Conceptos básicos de programación

6

Salida 2.

Metodología de la Programación • Diseño de el/los algoritmos

INICIO

Diagrama de flujo Acumuladores a cero s=0

Contador a cero n=0

Introducir un número en a

a=0

SI

NO

Promedio p=s/n

Contarlo n=n+1

Imprimir Promedio

Acumulativo s=s+a

Introducir un número Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

FIN Tema 2:  Conceptos básicos de programación

7

Metodología de la Programación • Diseño de el/los algoritmos Diagrama de flujo TERMINAL

ENTRADA-SALIDA

PROCESO

SI

DECISIÓN

NO

CONECTOR

COMENTARIOS

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

8 8

Metodología de la Programación • Diseño de el/los algoritmos Diagrama de flujo

SUBRUTINA

PANTALLA

IMPRESORA

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

9 9

Metodología de la Programación •

Diseño de el/los algoritmos Pseudocódigo Se trata de un lenguaje imitación del de un ordenador. No está estandarizado. • Cada programador tiene el propio. • Mezcla de lenguaje natural, símbolos, términos y características de varios lenguajes de programación. Ejemplo: Definición de variables_componentes. Inicio Escribir_texto (‘entrada de dato’); Leer_Dato(dato); Proceso salida = dato * 2; Escribir_resultado_proceso (salida); Fin

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

10

Metodología de la Programación •

Codificación del programa – –

Escribir el algoritmo en un lenguaje de programación • Permite  ser leído y ejecutado por el ordenador. Tipos de lenguajes: • De bajo nivel (dependen de la máquina sobre la que se ejecuta):  – –



De alto nivel (no dependen de la máquina): –



– –

Lenguaje Máquina (escritura en binario) Ensambladores: (escritura simbólica) Imperativos: Estructurados • FORTRAN • C • PASCAL Declarativos:   • LISP / PROLOG

Orientados a Objeto i Java i C++ i Ada 95

La salida de la fase de codificación son los programas fuente (que todavía no se  pueden ejecutar directamente sobre el ordenador) Un programa se compone de un conjunto de instrucciones que indican las  operaciones elementales a ejecutar y la manera en que se encadenan.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

11

Metodología de la Programación •

Compilación y enlace –





Salvo que el programa se escriba directamente en lenguaje  máquina (muy improbable) siempre debe existir un  traductor. La fase de compilación y enlace permite leer el programa  escrito en lenguaje de alto nivel y traducirlo a lenguaje  maquina. Hay tres tipos de traductores: – – –

Compiladores. Interpretes.  Ensambladores Traductor

PROGRAMA FUENTE

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Compilador

PROGRAMA OBJETO

Tema 2:  Conceptos básicos de programación

12

Metodología de la Programación PROGRAMA



FUENTE

Compilación Fases de un  compilador

Analizador Morfológico Analizador Sintáctico Analizador Semántico Programa en lenguaje intermedio

Optimizador Generador de Código

Programa Objeto Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

13

Metodología de la Programación Compilación y enlace Errores de Compilación (léxicos, sintácticos y semánticos)

Programa Fuente (texto)

Archivos de Biblioteca

Archivos incluídos

Compilador

Programa Objeto

Enlazador

Otros programas objetos Programa Ejecutable Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

14

Metodología de la Programación •

Verificación/depuración – – –

Errores en tiempo de ejecución • división por cero, apertura de ficheros inexistentes,... Errores lógicos (los más difíciles de detectar) • Resultados incorrectos Optimización del algoritmo.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

15

Metodología de la Programación Compilación y enlace + Verificación y depurado Errores de Compilación (léxicos, sintácticos y semánticos)

Programa Fuente (texto)

Compilador

Archivos de Biblioteca

Archivos incluídos Programa Objeto

Enlazador

Errores de ejecución Errores lógicos

Resultados Correctos Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Verificación y Depurado Tema 2:  Conceptos básicos de programación

16

Programa Ejecutable

Metodología de la Programación •

Documentación – – –



Se genera a lo largo de todas la fases Debe permitir acceder al programa a una persona distinta al  programador. Interna: – Código de programa fuente – Comentarios Externa:



Especificación de requisitos Listado de programa fuente  Explicación de los algoritmos (CLARO y CONCISO) Diagramas de flujo o pseudocódigo. Especificación de datos, formatos de pantalla,...



...

• • • •

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

17

Metodología de la Programación: Fases Problema

Análisis

Definición del Problema Datos de Entrada Datos de Salida

Diseño

División modular del Problema (Pseudocódigo, Diagrama de Flujo) DE, DS

Codificación Documentación Programa fuente Pseudocódigo Diagrama de Flujo Manual de Usuario Especificación de los Datos ... Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Programa Fuente Errores de Compilación

Compilar y Enlazar

Errores de Ejecución Errores de Lógica

Programa Ejecutable

Verificar y Depurar Tema 2:  Conceptos básicos de programación

18

Programación Estructurada •

Un programa estructurado se basa en la aplicación sistemática de las siguientes reglas: – Diseño modular: descomponer un módulo complejo en otros submódulos más  simples → Diseño Descendente – Programar cada módulo de manera lo más independiente posible – Razonamiento de lo general a lo particular. – Ventajas: • • • • • • •





Mejora la legibilidad del programa Facilita el entendimiento del programa Simplifica el mantenimiento Minimiza la complejidad Cada módulo puede ser programado por personas diferentes Utilización de una metodología de programación disciplinada Favorece el trabajo en equipo

Problema: No existe un método estándar para dividir en módulos un programa

Teorema de la Programación Estructurada Todo algoritmo puede ser descrito utilizando solamente tres tipos de  estructuras de control: secuencial, alternativa, y repetitiva.

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

19

Programación Estructurada •

Secuencia –



Todas las acciones se ejecutan  sucesivamente, una a continuación  de otra sin posibilidad de  bifurcaciones. 

Acción 1

Acción 2

Sentencias Alternativa  –

Una estructura alternativa bifurca el  flujo de un algoritmo según se  cumplan una o varias condiciones.

Falso

Cierto

Falso

Cierto Condición

Condición Acción

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Acción 3

Acción 1

Acción 2

Tema 2:  Conceptos básicos de programación

20

Programación Estructurada •

Sentencias Repetitivas: –

Una estructura de control repetitiva permite ejecutar una o varias  acciones un número de veces que puede estar definido a priori o  indefinido hasta que se cumpla una determinada condición.

Tipos de sentencias de control repetitivas: – – – –

PARA: El nº de repeticiones se conoce antes de iniciar el bucle. MIENTRAS: Repite las acciones mientras la condición se cumple. HACER MIENTRAS: Se realiza siempre una vez la acción y luego se  vuelve a realizar mientras la condición se cumpla REPETIR HASTA: Repite las acciones mientras la condición sea  falsa (no existe en C)

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

21

Programación Estructurada PARA Falsa

Índices Cierta

Acción

HACER MIENTRAS

MIENTRAS

Falso Acción

Condición Cierta

Cierta

Condición

Acción

Falsa Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

22

Ejemplos •

Diseñar un algoritmo que resuelva una ecuación de segundo grado: – Datos de entrada: • –

Datos de salida: •



Coeficientes a,b,c Soluciones de la ecuación si las hay

Nota: • •

El algoritmo únicamente resolverá la ecuación en el  caso de existir 2 soluciones diferentes (opción 1) En cualquier otro caso mostrara un mensaje de error.

Diseñar el algoritmo para hacer una tortilla de patata • Diseñar el algoritmo que resuelva la ecuación de segundo grado  dando todas las posibles soluciones (opción 2). •

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

23

Ejemplo (opción 1): Ecuación de Segundo Grado – Diagrama de flujo

INICIO Entrada de datos: a , b , c NO

a!= 0 SI

DECISIÓN

SI

NO

b*b >4*a*c

No ecuación de 2º grado

Datos Incorrectos

x1=(-b+sqrt(b*b-4*a*c))/2*a

FIN

x2=(-b-sqrt(b*b-4*a*c))/2*a

FIN

Salida x1, x2

Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

FIN

Tema 2:  Conceptos básicos de programación

24

Ejemplo (opción 1): Ecuación de Segundo Grado – Pseudocódigo Algoritmo ‘Ecuación de segundo grado’ {Cálculo de una ecuación de segundo grado} Variables a, b, c; /*Introducir las constantes con sus signos*/ x1, x2 /*Valores de Salida*/ Inicio Escribir (“Introduzca dato A:”); /*Entrada de Datos*/ Leer (a); Escribir (“Introduzca dato B:”); Leer (b); Escribir (“Introduzca dato C:”); Leer (c); Si (a != 0) entonces Si (b2-4*a*c > 0) /*Condición para evitar la raíz cuadrada de un nº negativo*/ x1:=(-b+sqrt((b*b)-(4*a*c)))/(2*a); x2:=(-b-sqrt((b*b)-(4*a*c)))/(2*a); Escribir (‘Valor x1=‘,x1,’y Valor x2=‘,x2); sino /* Raíz negativa */ Escribir (“Datos Incorrectos”); fin_si sino Escribir (“ No se trata de una ecuación de 2º grado”) fin_si Fin Departamento de Sistemas Informáticos Escuela Técnica Superior de Ingeniería ICAI

Tema 2:  Conceptos básicos de programación

25

Escuela Técnica Superior de Ingeniería ICAI Alberto Aguilera 25 28015 Madrid Tel +34 91 542 28 00 Fax + 34 91 542 31 76 Iwww.icai.upcomillas.es

www.upcomillas.es

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.