Documente Academic
Documente Profesional
Documente Cultură
Conceptos bsicos de
programacin
Fundamentos de
Informtica
ndice
Metodologa de la
programacin
Programacin estructurada
Departamento de Sistemas
Informticos Escuela Tcnica
Superior de Ingeniera ICAI
Metodologa de la Programacin
Anlisis del
problema
ANLISIS DEL
PROBLEMA
Anlisis
Entradas: Radio del crculo (variable RADIO).
Salidas: Superficie del crculo (variable AREA),
Circunferencia del crculo (variable CIRCUNFERENCIA).
Variables: RADIO, AREA, CIRCUNFERENCIA (tipo real).
5
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 2
Superior de Ingeniera ICAI
Metodologa de la Programacin
Diseo de el/los algoritmos
Conjunto preescrito de operaciones (reglas o
instrucciones) bien definidas para resolver un
problema en un nmero finito de pasos
Un algoritmo: Finito (Resultado en el tiempo), Definido
(No puede ser ambiguo), Preciso (ejecucin paso a paso).
El diseo del algoritmo es bastante independiente
del lenguaje de programacin (s depende del
enfoque)
Definir paso a paso con detalle
Diseo descendente o modular:
Divisin del problema en subproblemas
DATOS DE DEFINICIN
PROBLEMA DATOS DE
ENTRADA PROBLEMA SALIDA
Problema 1
algoritmos
Diagrama de flujo Acumuladores a cero s=0
Introducir un nmero en a
a=0 NO
SI
Introducir un nmero
Departamento de Sistemas
FIN
Tema 2:Conceptos bsicos de
Informticos Escuela Tcnica programacin 2
Superior de Ingeniera ICAI
Metodologa de la Programacin
Diseo de el/los Diagrama de
algoritmos flujo
TERMINAL
ENTRADA-SALIDA
PROCESO
SI
DECISIN
NO
CONECTOR
COMENTARIOS
8
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 8
Superior de Ingeniera ICAI
Metodologa de la Programacin
Diseo de el/los Diagrama de
algoritmos flujo
SUBRUTINA
PANTALLA
IMPRESORA
9
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 9
Superior de Ingeniera ICAI
Metodologa de la Programacin
Diseo de el/los algoritmos
Pseudocdigo
Se trata de un lenguaje imitacin del de un ordenador.
No est estandarizado.
Cada programador tiene el propio.
Ejemplo:
Definicin de variables_componentes.
Inicio
Escribir_texto (entrada de dato);
Leer_Dato(dato);
Proceso
salida = dato * 2;
Escribir_resultado_proceso (salida);
Fin
La salida dePROLOG
la fase de codificacin son los programas fuente
(que todava no se pueden ejecutar directamente sobre el
ordenador)
Un programa se compone de un conjunto de instrucciones
Departamentoque indican las operacionesTema
de Sistemas elementales a ejecutar
2: Conceptos bsicos de
1 y la
Informticos Escuela Tcnica programacin
Superior de manera en que se encadenan.
Ingeniera ICAI 1
Metodologa de la Programacin
Compilacin y enlace
Salvo que el programa se escriba directamente
en lenguaje mquina (muy improbable)
siempre debe existir un traductor.
La fase de compilacin 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
Departamento e Sistemas
d Informticos Tema 2: Conceptos bsicos de programacin
Escuela Tcnica Superior de 1
Ingeniera ICAI 2
Metodologa de la Programacin
PROGRAMA
FUENTE
Compilaci
n
Analizador
Fases de Morfolgico
un
Analizador
compilad Sintctico
or
Analizador
Semntico
Programa en
lenguaje
intermedio
Optimizador
Generador de
Cdigo
Programa Objeto
Programa
Ejecutable
Verificacin/depuracin
Errores en tiempo de ejecucin
divisin por cero, apertura de ficheros
inexistentes,...
Errores lgicos (los ms difciles de
detectar)
Resultados incorrectos
Optimizacin del algoritmo.
Errores de ejecucin
Errores lgicos Programa
Ejecutable
Verificacin y
Resultados Depurado
Correctos
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 1
Superior de Ingeniera ICAI 3
Metodologa de la Programacin
Documentacin
Se genera a lo largo de todas la fases
Debe permitir acceder al programa a una
persona distinta al programador.
Interna:
Cdigo de programa fuente
Comentarios
Externa:
Especificacin de requisitos
Listado de programa fuente
Explicacin de los algoritmos (CLARO y
CONCISO)
Diagramas de flujo o pseudocdigo.
Especificacin de datos, formatos de
pantalla,...
...
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 1
Superior de Ingeniera ICAI 3
Metodologa de la Programacin:
Fases Definicin del Divisin modular
Problema Problema del Problema
Anlisis Diseo (Pseudocdigo,
Datos de Entrada
Diagrama de Flujo)
Datos de Salida
DE, DS
Codificacin
Programa
Fuente
Documentacin Errores de
Programa fuente Compilacin Compilar y
Pseudocdigo Enlazar
Diagrama de Flujo Errores de Ejecucin Programa
Manual de Usuario Errores de Lgica Ejecutable
Especificacin de
los Datos
... Verificar y
Depurar
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 1
Superior de Ingeniera ICAI 3
Programacin Estructurada
Un programa estructurado se basa en la aplicacin sistemtica de las
siguientes reglas:
Diseo modular: descomponer un mdulo complejo en otros
submdulos ms simples Diseo Descendente
Programar cada mdulo de manera lo ms 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 mdulo puede ser programado por personas diferentes
Utilizacin de una metodologa de programacin disciplinada
Favorece el trabajo en equipo
Problema: No existe un mtodo estndar para dividir en
mdulos un programa
Teorema de la Programacin Estructurada
Departamento de Todo
Sistemasalgoritmo puede ser
Tema descrito utilizando
2: Conceptos bsicos de
1
solamente
Informticos Escuela Tcnica programacin
tresICAI
Superior de Ingeniera tipos de estructuras de control: secuencial, 3
alternativa, y repetitiva.
Programacin Estructurada
Secuencia
Todas las acciones se Accin 1
ejecutan sucesivamente,
una a continuacin de otra
sin posibilidad de Accin 2
bifurcaciones.
Una estructura
Sentencias alternativa
Alternativa
bifurca el flujo de un Accin 3
algoritmo segn se cumplan
una o varias condiciones.
Falso Cierto
Falso Cierto
Condicin Condicin
Falsa
ndices
Cierta
Accin
HACER MIENTRAS
MIENTRAS
Falso
Accin
Condicin
Cierta Cierta
Condicin
Accin
Falsa
NO
a!= 0
SI
SI DECISIN NO
b*b >4*a*c
No ecuacin
de 2 grado Datos ctos
Incorr
x1=(-b+sqrt(b*b-4*a*c))/2*a
e
FIN x2=(-b-sqrt(b*b-4*a*c))/2*a
Salida
FIN
x1, x2
D
epartamento de Sistemas Informticos
FIN Tema 2: Conceptos bsicos de programacin
Es 24
c uela Tcnica Superior de Ingeniera ICAI
Ejemplo (opcin 1):
Ecuacin de Segundo Grado Pseudocdigo
Algoritmo Ecuacin de segundo grado
{Clculo de una ecuacin 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) /*Condicin para evitar la raz 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 /* Raz negativa */
Escribir (Datos Incorrectos);
fin_si
sino
Escribir ( No se trata de una ecuacin de 2 grado)
fin_si
Fin
Departamento de Sistemas Tema 2: Conceptos bsicos de
Informticos Escuela Tcnica programacin 2
Superior de Ingeniera ICAI 5
Escuela Tcnica Superior de
Ingeniera 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