Académique Documents
Professionnel Documents
Culture Documents
Programación
1. Ciclo de vida del Software
2. Definición del Problema
3. Diseño del Algoritmo
¾ Concepto y Características
¾ Métodos de representación
¾ Diseño descendente. Refinamiento por pasos
4. Codificación
5. Programación Estructurada
6. Estilo de Programación
1
Ciclo de vida del Software
DEFINICIÓN
DESARROLLO
Fallos de definición
MANTENIMIENTO
Errores
Modificaciones y adaptaciones
• Estudio de:
2
Definición del Problema
3
Diseño del Algoritmo
Los elementos utilizados son de un determinado tipo
4
Pseudocódigo
• Operación de Asignación
Función: asocia un identificador de variable con un valor
Sintaxis: identificadorÅvalor
Observaciones: es destructiva
Ejemplos:
aÅ8
bÅa
aÅa*2+7-b
(a y b son identificadores de variable)
Pseudocódigo
• Operación de Entrada
Función: permite dar valor a las variables de
entrada
Sintaxis: LEER variable [, variable, …]
Ejemplos:
LEER a (a toma el valor introducido)
LEER a,b (a toma el primer valor introducido
y b el segundo)
5
Pseudocódigo
• Operación de Salida
Función: muestra resultados del algoritmo
Sintaxis: ESCRIBIR ’literal’/identificador
Ejemplos:
aÅ8
ESCRIBIR a
(8)
ESCRIBIR ‘El valor de a es’, a
(El valor de a es 8)
Pseudocódigo
Sintaxis Algoritmo
ALGORITMO Nombre
ENTRADAS: variable: tipo, descripción, restricciones;…
SALIDAS: variable: tipo, descripción, … / descripción
VARIABLES: variable: tipo
[CONSTANTES: cte=valor]
INICIO
Instrucciones
FIN
6
Estructuras de Control
Estructura Secuencial
ALGORITMO Area_rectangulo
ENTRADAS: base, altura: REAL, representan la medida de los
lados de un rectángulo; base>0 y altura>0
SALIDAS: area: REAL, el área del rectángulo
INICIO
LEER base, altura
areaÅbase*altura
ESCRIBIR area
FIN
Metodología y Tecnología de la Programación 14
7
Selección
• Selección Simple
F SI condición V
ENTONCES
sentencia1
sentencia2
…
[SI NO
sentencia1
sentencia2
…]
FIN_SI
Selección
• Selección Múltiple
EN CASO DE QUE variable VALGA
valor1: sentencia1
sentencia2
…
valor2: sentencia1’
sentencia2’
…
…
[EN OTRO CASO
sentencia1’’
sentencia2’’
…]
FIN_CASO
8
Ciclos
• Fijos
Inicialización Comparación
PARA variable=valor_inicial HASTA valor_final [CON
INCREMENTO valor_incremento] HACER
Incremento
sentencia1
Ejecución
sentencia2
…
FIN_PARA
Ciclo Fijo
Funcionamiento
Ejecución
Fin
9
Ciclos
• Condicionales
(1) MIENTRAS condición HACER
sentencia1
sentencia2
…
FIN_MIENTRAS
(2) REPETIR
sentencia1
sentencia2
…
HASTA condición
Funcionamiento
Comparación
F
V
Ejecución
Fin
10
Ciclo Condicional (2)
Funcionamiento
Ejecución
F
Comparación
V
Fin
Comparativa Ciclos
Fijo
I n ic ia liz a c ió n C o m p a r a c ió n I n c r e m e n to
F V
E je c u c ió n
F in Condicional (2)
Condicional (1) Ejecución
Comparación
F V
F
V
Comparación
Ejecución V
F
Fin Fin
11
Diseño descendente.
Refinamiento por pasos
+ Nivel Detalle
SP1 SP2 …… SPn
Subalgoritmos
• Tipos de Subalgoritmos:
– Funciones.
– Procedimientos.
• Parámetros o variables de enlace: permiten la comunicación entre
un subalgoritmo y un algoritmo (o subalgoritmo).
• Tipo de parámetros:
– Formales.
– Actuales.
• Tipo de paso de parámetros:
– Valor o copia.
– Variable o referencia.
• Ámbito de las variables:
– Globales.
– Locales.
12
Subalgoritmos
Algoritmo
(hace la llamada)
…
Parámetros actuales
… Parámetros formales
Subalgoritmo
Subalgoritmos
Algoritmo
(hace la llamada)
…
Parámetros actuales
Valor
… Parámetros formales
Subalgoritmo
13
Subalgoritmos
Sintaxis Función
FUNCION Nombre ([VAR] V1,[VAR] V2,…):TIPO
ENTRADAS: variable: tipo, descripción, restricciones;…
SALIDAS: descripción
VARIABLES: variable: tipo
[CONSTANTES: cte=valor]
INICIO
Instrucciones
DEVOLVER valor
FIN
Subalgoritmos
Sintaxis Procedimiento
PROCEDIMIENTO Nombre ([VAR] V1,[VAR] V2,…)
ENTRADAS: variable: tipo, descripción, restricciones;…
SALIDAS: variable: tipo, descripción;…
VARIABLES: variable: tipo
[CONSTANTES: cte=valor]
INICIO
Instrucciones
FIN
14
Subalgoritmos
Subalgoritmos
ALGORITMO Area_rectangulo
ENTRADAS: base, altura: REAL, representan la medida de
los lados de un rectángulo; base>0 y altura>0
SALIDAS: area: REAL, el área del rectángulo
INICIO
LEER base, altura
areaÅCalculo(base, altura)
ESCRIBIR area
FIN
15
Subalgoritmos
Subalgoritmos
ALGORITMO Area_rectangulo
ENTRADAS: base, altura: REAL, representan la medida de
los lados de un rectángulo; base>0 y altura>0
SALIDAS: area: REAL, el área del rectángulo
INICIO
LEER base, altura
Calculo(base, altura, area)
ESCRIBIR area
FIN
16
Codificación
Algoritmo Programa
Notación
Pascal
Pseudocódigo
17
Estilo de programación
18