Sunteți pe pagina 1din 18

Metodología y Tecnología de la

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

Metodología y Tecnología de la Programación 1

Ciclo de vida del Software

Fases que se han de seguir para la construcción


de cualquier aplicación Software:

• Definición (Qué vamos a realizar)


~ Análisis ( del sistema, de requisitos Soft.)
• Desarrollo (Cómo lo vamos ha realizar)
~ Diseño, codificación, prueba
• Mantenimiento (Mejoras y Correcciones)
~ Mantenimiento

Metodología y Tecnología de la Programación 2

1
Ciclo de vida del Software

• Cada fase debe estar perfectamente documentada

• Relaciones entre las fases:

DEFINICIÓN

DESARROLLO
Fallos de definición

MANTENIMIENTO
Errores

Modificaciones y adaptaciones

Metodología y Tecnología de la Programación 3

Definición del Problema

• Estudio de:

ENTRADAS RELACIONES SALIDAS

• Una buena definición es esencial para obtener una


solución correcta.
Metodología y Tecnología de la Programación 4

2
Definición del Problema

Problema: Diseñar un algoritmo que calcule el área de un


rectángulo

Entradas: las medidas de los dos lados del rectángulo


Salidas: el área del rectángulo
Relación: el área se obtiene multiplicando ambos lados

Metodología y Tecnología de la Programación 5

Diseño del Algoritmo

• Algoritmo: conjunto finito de reglas que describen una


secuencia de operaciones para resolver un problema.
• Características:
- Finito
- Bien definido (sin ambigüedad)
• Elementos:
– Variable: Identificador
• Identificador
• Valor (puede ser cambiado)
– Constante: Valor
• Identificador
• Valor (no puede ser cambiado)
– Valor constante:
• Valor (no puede ser cambiado)
Valor
– Expresión
• Valor (resultado de evaluarla)

Metodología y Tecnología de la Programación 6

3
Diseño del Algoritmo
Los elementos utilizados son de un determinado tipo

Tipo de dato: conjunto de posibles valores y operaciones


(Ejemplo: REAL, ENTERO,…)
Declaración: proceso mediante el cual mediante el cual se
define cuál va a ser el tipo de los elementos con identificador
Inicialización: proceso mediante el cual se le asigna a los
elementos con identificador un valor inicial

Metodología y Tecnología de la Programación 7

Diseño del Algoritmo

• Métodos de representación de algoritmos


• Pseudocódigo
• Diagramas
• Diagramas de Flujo
• De Nassi-Schneiderman

Metodología y Tecnología de la Programación 8

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)

Metodología y Tecnología de la Programación 9

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)

Metodología y Tecnología de la Programación 10

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)

Metodología y Tecnología de la Programación 11

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

Metodología y Tecnología de la Programación 12

6
Estructuras de Control

• Definición: determinan el orden de ejecución de


las operaciones descritas en el algoritmo
• Secuencial: las operaciones se van realizando
una detrás de otra en el orden en que están
escritas.
• Selección: se realizan unas operaciones u otras
dependiendo de una condición.
• Ciclos: permiten ejecutar un conjunto de
operaciones varias veces.

Metodología y Tecnología de la Programación 13

Estructura Secuencial

Problema: Diseñar un algoritmo que calcule el área de un


rectángulo

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

Metodología y Tecnología de la Programación 15

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

Metodología y Tecnología de la Programación 16

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

Metodología y Tecnología de la Programación 17

Ciclo Fijo

Funcionamiento

Inicialización Comparación Incremento


F V

Ejecución

Fin

Metodología y Tecnología de la Programación 18

9
Ciclos

• Condicionales
(1) MIENTRAS condición HACER
sentencia1
sentencia2

FIN_MIENTRAS

(2) REPETIR
sentencia1
sentencia2

HASTA condición

Metodología y Tecnología de la Programación 19

Ciclo Condicional (1)

Funcionamiento

Comparación
F
V

Ejecución

Fin

Metodología y Tecnología de la Programación 20

10
Ciclo Condicional (2)

Funcionamiento
Ejecución

F
Comparación
V

Fin

Metodología y Tecnología de la Programación 21

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

Metodología y Tecnología de la Programación 22

11
Diseño descendente.
Refinamiento por pasos

• División de un problema en subproblemas y resolución con


subalgoritmos
• Combinación de soluciones parciales para obtener la solución
global
P

+ Nivel Detalle
SP1 SP2 …… SPn

S11 S12 S21 ……

Metodología y Tecnología de la Programación 23

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.

Metodología y Tecnología de la Programación 24

12
Subalgoritmos

Algoritmo
(hace la llamada)

Parámetros actuales

Coincidir: Tipo y Número


Correspondencia: Orden

… Parámetros formales

Subalgoritmo

Metodología y Tecnología de la Programación 25

Subalgoritmos

Algoritmo
(hace la llamada)

Parámetros actuales

Paso por Variable


Valor
o Referencia
Valor
Paso por Valor o Copia

Valor
… Parámetros formales

Subalgoritmo

Metodología y Tecnología de la Programación 26

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

Metodología y Tecnología de la Programación 27

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

Metodología y Tecnología de la Programación 28

14
Subalgoritmos

Problema: Diseñar un algoritmo que calcule el área de un


rectángulo, realizando el cálculo una función

FUNCION Calculo (lado1, lado2):REAL


ENTRADAS: lado1, lado2: REAL, representan
la medida de los lados de un rectángulo;
lado1>0 y lado2>0
SALIDAS: el área del rectángulo
VARIABLES: solucion: REAL
INICIO
solucionÅlado1*lado2
DEVOLVER solucion
FIN

Metodología y Tecnología de la Programación 29

Subalgoritmos

Problema: Diseñar un algoritmo que calcule el área de un


rectángulo, realizando el cálculo una función

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

Metodología y Tecnología de la Programación 30

15
Subalgoritmos

Problema: Diseñar un algoritmo que calcule el área de un


rectángulo, realizando el cálculo un procedimiento

PROCEDIMIENTO Calculo (lado1, lado2, VAR solucion)


ENTRADAS: lado1, lado2: REAL, representan
la medida de los lados de un rectángulo;
lado1>0 y lado2>0
SALIDAS: solucion: REAL, el área del rectángulo
VARIABLES: solucion: REAL
INICIO
solucionÅlado1*lado2
FIN

Metodología y Tecnología de la Programación 31

Subalgoritmos

Problema: Diseñar un algoritmo que calcule el área de un


rectángulo, realizando el cálculo un procedimiento

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

Metodología y Tecnología de la Programación 32

16
Codificación

• Paso del diseño a un programa


Diseño Codificación

Algoritmo Programa
Notación
Pascal
Pseudocódigo

Metodología y Tecnología de la Programación 33

Características de los programas

• Legibilidad: programa fácil de leer y entender.


• Portabilidad:
• Algoritmo: fácil codificación en cualquier lenguaje.
• Programa: ejecución en cualquier sistema.
• Modificabilidad: facilidad para hacer correcciones y
mejoras.
• Eficiencia: aprovechamiento de los recursos del
ordenador.
• Modularidad: división en módulos con funciones bien
definidas.
• Estructuración: se ha de cumplir con las reglas de la
Programación Estructurada.

Metodología y Tecnología de la Programación 34

17
Estilo de programación

• Objetivo: hacer el algoritmo/programa más legible.


• Elementos de Estilo:
– Uso de Comentarios.
– Código autodocumentado.
– Código con formato.
– Uso de constantes.

Metodología y Tecnología de la Programación 35

18

S-ar putea să vă placă și