- FASES EN EL DESARROLLO DE UN PROGRAMA FIEE Ing. José Antonio Poma G.

Download Report

Transcript - FASES EN EL DESARROLLO DE UN PROGRAMA FIEE Ing. José Antonio Poma G.

2013
-
FASES EN EL DESARROLLO
DE UN PROGRAMA
FIEE
Ing. José Antonio Poma G.
FIEE
-
2013
Fases: Resolución de un Problema
 El proceso de resolucion de un problema con una
computadora conduce a la escritura (codificacion)
de un programa y a su ejecucion.
1. Análisis del Problema.
2. Diseño de Algoritmo.
3. Transformación del Algoritmo en
programa.
a)
b)
c)
d)
e)
Codificación.
Compilación, enlace y ejecución.
Verificación.
Depuración.
Documentación.
FIEE
-
2013
Análisis del Problema
 En esta fase se debe contemplar exactamente lo
que debe hacer el programa y el resultado o
solucion deseado.
 Presisando especificaciones detalladas de entrada
y salida respondiendo a las siguientes Preguntas.
1. Que entrada se requiere?
2. Cuál es la salida deseada?
3. Que metodo produce la
deseada?
salida
FIEE
-
2013
Diseño de un Algoritmo
DIAGRAMA DE FLUJO.
 Es una re presentacion grafica de un algoritmo
utilizando simbolos normalizados por el ANSI
(American National Standards Institute).
PSEUDOCODIGO
 Es una Herramienta de programacion en la que
instrucciones se escriben en palabras similares al
ingles o espanol, que facilitan tanto la escritura como
la codificacion de programas.
CARTA N-S (Nassi - Schneider)
 Es una Herramienta de programacion que permite la
representacion grafica de un algoritmo. Este es el
prototipo
de
los
programas
estructurados
(Programacion anti-goto).
FIEE
-
2013
ALGORITMO: Definición
 Es un conjunto de pasos
lógicos
ordenados,
secuencialmente y finita,
escritos de tal forma que
permiten
visualizar
la
solución de un problema
determinado en un momento
específico.
CONCRETO
FINITO
FIEE
-
2013
ALGORITMO: Caracteríticas
LEGIBLE
Debe realizar las
Debe
Debe
Debe
Debe
generar
indicar
realizar
estarun
elbien
orden
mismo
las
Debe
Debe
operaciones
tener
estar
terminar
libre
con un
deen
funciones
de
resultado
estructurado
realización
usiempre
operaciones
para
de cada
que
su
mínimo
errores.
algún
de momento
utilización
(Validado)de
para
fácil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.
Debe ser...
EFICIENTE
NO
AMBIGUO
DEFINIDO
PRECISO
FIEE
-
2013
ALGORITMO: Nombre
• El nombre en latín de algoritmo
proviene de la traducción que realizó
Fibonacci, de la obra del matemático
árabe
Al'Khwarizmi
llamada
,
Algoritmi de Numero Indorum.
FIEE
-
2013
ALGORITMO: Estructura
Corresponden a los
Conforma
el la
grupo
Determinan
datos
requeridos
de
instrucciones
organización
para
realizar elde las
que
realizan
las
instrucciones
que
algoritmo
(datos
de
operaciones
los
deben ser
entrada)
y loscon
datos
datos.
realizadas.
que
son generados
(datos de salida)
Datos
Procesos
Estructuras de
Control
FIEE
-
2013
ALGORITMO: Elementos
Las instrucciones
que
se van a
Es necesario
realizar
deben
identificar
que
estar
datosbien
se necesitan
estructuradas
y
ingresar, cuales
tener
sirvenun
deorden
forma
lógico,
el fin se
auxiliarcon
y cuales
de
vanevitar
a generar.
inconsistencias en
el resultado.
Definición
de variables y constantes
Entrada
Proceso
Estructuras
de control
Cuerpo del algoritmo
Salida
Toda persona, implícitamente
y diariamente diseña y realiza
algoritmos, para dar solución
a situaciones cotidianas de
forma natural.
FIEE
-
2013
ALGORITMO: Quienes pueden hacer un Algoritmo
Como se hace?
Sin embargo el programador,
diseña el algoritmo conciente
de que al realizar cada paso
obtendrá la solución de un
problema específico.
2013
FIEE
ALGORITMO: Como se hace?
El no programador haría lo siguiente:
Buscar la página de cines
en el diario local y mirar si
ve la película anunciada.
Si laSupongamos
ve anunciada que
mira en
deseamos
al cine
a va
ver
qué
cine la ir
hacen
y se
alaverla.
Si no
la ve de La
tercera
película
anunciada,
espera
a los
Guerra delas
Galaxias,
estrenos
la semana
¿cómo de
procedemos?
que viene.
2013
ALGORITMO: Como se hace?
El programador sin embargo, lo haría de este
otro modo:
1
Buscar la página de cines en el diario
local, con fecha de hoy
-
2
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el
nombre del cine, su dirección y los horarios
FIEE
3
4
Si no se encuentra el título en la cartelera,
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
FIEE
-
2013
ALGORITMO: Ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
FIEE
-
2013
ALGORITMO: Requisitos
Seguir los pasos del
Por ejemplo:
algoritmo
debe sellevarnos
algoritmos
crean el
SiLos
se
requiere
hallar
la
No
debemos
omitir
aparalaresolver
resolución
del
velocidad
de
un
automóvil,
contexto de nuestros
problema.
problemas.
es
necesario, definir si la
algoritmos.
Siempre
que sea posible
Es
importante
juntoen
distancia
debeque
ser
Es
necesario
establecer
seguiremos
al
metros,
etc y
lo algoritmo,
que kilómetros,
se necesita
y
personalmente
los
pasos
claramente
eldescribamos
tiempo
estará
dado en
dónde
se
debe
comenzar.
de
nuestro que éste
algoritmo
el problema
segundos
u horas, ya nos
que
para comprobar
son
resolver.que puede
lapermite
velocidad
efectivamente correctos y
representarse en Km/h ó
conducen efectivamente a
mts/seg.
la solución esperada.
Debe Definirse del
problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigüedad
FIEE
-
2013
ALGORITMO: Técnicas de Diseño
Top Down
Está
Es una técnica
técnica de permite
diseño
dividir
el problema
descendente
donde se en
pequeñas
partes, a las
realiza un refinamiento
cuales
se que
les da
solución
sucesivo,
permite
por
luego se
darleseparado,
una organización
a
integran
las soluciones
las instrucciones,
en
para
el problema
formaresolver
de módulos
o
principal.
bloques.
Divide y vencerás
FIEE
-
2013
ALGORITMO: Técnicas de Presentación
Es una técnica que
permite representar
gráficamente las
operaciones y
estructuras que se van
a realizar, mediante una
simbología estándar,
con un único punto de
inicio y uno de
finalización.
Está técnica permite
representar el algoritmo
mediante un lenguaje
más
estructurado,
facilitando su posterior
codificación.
Diagrama de Flujo
Pseudocódigo
Inicio
Instrucción 1
Instrucción 2
Si condición entonces
Instrucción 3
..
.
Instrucción n
Fin
Cada instrucción que se va a realizar
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
1
Se debe mantener una identación o sangría
sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras
2
FIEE
-
2013
PSEUDOCÓDIGO: Cómo se Hace?
3
La representación de las estructuras son
similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
2013
PSEUDOCÓDIGO: Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables
desde un dispositivo estándar de entrada.
Imprimir : Representa la acción de enviar datos desde
FIEE
-
variables a un dispositivo estándar de salida.
Calcular : Denota la realización de cualquier operación
aritmética que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalización del algoritmo.
FIEE
-
2013
Diagrama de Flujo: Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite
indicar
la
Se
utiliza
para
Permite indicar la
realización
indicar
el punto
Entrada
de
datos
de un proceso
de
desde
matemático,
inicio y
un dispositivo
o una
operacióndel
de
finalización
estándar
asignación
diagrama
FIEE
-
2013
Diagrama de Flujo: Simbología
Conectores
Impresión
Decisión
Flujo
Permiten dar
Permite
Permiten
establecer
enlazaruna
los
continuidad al
símbolos
condición
derelacional
un sentido
ó
diagrama si la página o
único
lógicapueden
que puede
ser
área
de
trabajo
esta
Indica la realización de
tomar
horizontales
un salida
valorade
o
operacioneseldecírculo
un
llena,
se
verdadero
verticales.
o Estas
falso,
no
de
dispositivo
estándar
utiliza como
un
pueden
este
entrecruzarse
símbolo
se
y
(el monitor
o impresor.)
conector
dentro
de la
cada una
deducen
de ellas
2 flujos
debe
misma página, el otro
tener un único
alternativos
símbolo
de
símbolo se define
de partida yejecución.
un único
como un conector a
símbolo de destino.
otra página.
2013
Diagrama de Flujo: Simbología
Estructuras de Decisión (Condición)
Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
-
Si
No
No No
Si
No
Condición
Condición
No
Condición
Si
No
Condición
FIEE
Val1
Condición
Val2
Si Si
Condición
Val3
Otro
Caso
condición
Si
condición
entonces
Val1:
Si condición entonces
Instrucciones
Instrucciones
Si condición
entonces
Val2:
si condición
no
Instrucciones
Si
entonces
Instrucciones
Si condición entonces
si no
Instrucciones
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso
2013
Diagrama de Flujo: Simbología
Estructuras de Ciclo
Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta
FIEE
-
v=valini,v=valfinal, incremento
Instrucciones
Condición
Instrucciones
Si
Condición
Instrucciones
Si
No
No
..
..
.
Para
v=valini, v=valfinal, inc
.
Instrucciones
Repita
Mientras
Fin
Para que condición
.. Instrucciones
Instrucciones
. Hasta que condición
Fin Mientras
v:. variable
.
valini:
valor inicial
.
valfinal: valor final
inc: incremento
FIEE
-
2013
ALGORITMO: Fases del Diseño
Definición del problema
Análisis del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
FIEE
-
2013
ALGORITMO: Definición del Problema
Está dada por el enunciado del
problema, el cuál debe ser claro y
completo
Es importante que conozcamos
exactamente que se desea.
Mientras qué esto no se comprenda, no
tiene caso pasar a la siguiente etapa.
2013
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos
suministran
Recursos
Fórmulas
FIEE
-
Proceso
Entendido el problema para
resolverlo es preciso analizar
Área
de
Trabajo
Los datos de
salida o
resultados que
se esperan
FIEE
-
2013
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
La
que
produce
los Solución ..5
Analizado el problema
resultados
en el
Lo importanteEsperados
es determinar cuál
Posiblemente
tengamos
la mejor alternativa
menorestiempo
y al menor
varias formas de resolverlo
costo
Solución ..2
FIEE
-
2013
ALGORITMO: Diagramacion
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
problema
Plasmar la
solucion
mediante el
Pseudocódigo
FIEE
-
2013
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Se diferentes
utilizadatos de
para
Dar
Al realizar
anterior
setodos
puede
Dar diferentes
datos
entrada
y lo
considerar
corroborar
que
el
comprobar
si
el
algoritmo
es
de entrada al programa
los
posibles
casos,
algoritmo
plasmado
correcto
o aún los
de
o cualquier
no
si hay necesidad
enexcepción
de hacer
ajustes
esperados,
para
asegurar
seguir
la
secuencia
indicada
herramienta
presenta
al paso anterior)
que(volver
el programa
no
la
solución
al
produzca
errores en
problema
inicialse
ejecución
cuando
hasta
presentenobtener
estos casos.
los resultados
FIEE
-
2013
ALGORITMO: Conceptos
Tipo
Constante
Variable
Dato
de Dato
Corresponde al tipo de
Corresponde a un
Corresponde
valor
a un
Minima parte
de laque puede
espacio de memoria que
espacio
almacenarse
de memoria
enque
un
información.
almacena
un
dato
que
Se refiere
a los elementos
almacena
espacio
de
un memoria
dato que
que
dentro
del
programa
en
sedentro
utilizan en
algoritmos
definido
del
ylosa
programa
la cantidad
en
ejecución
mantiene
para realizar alguna operación
ejecución
de espacio
cambia
que requiere
o varía
sobresiempre
estos.
su contenido
parasualmacenar
contenidoun
(valor)..
valor.
(valor).
2013
ALGORITMO: Tipos de Datos
Boleano
cadena
Real
Lógicos
Caracter
-
Entero
FIEE
Numéricos
Carácter
Tipos
de
Datos
2013
ALGORITMO: Operadores
>=
<=
>
<
=
FIEE
-
Relacionales
!=
<>
+ Aritméticos
/ %
^
No
Y &&
O ||
Lógicos
 Para esto usaremos las variables a,b,c que
representarán la medida de la longitud de
cada lados del triángulo.
 La variable A para el area y
 P para su semiperimetro
FIEE
-
2013
Ejemplo: Calcular el Área de un triangulo dado sus
tres lados
𝐴 = √𝑝(𝑝 − 𝑎)(𝑝 − 𝑏)(𝑝 − 𝑐)
FIEE
-
2013
Pseudocodigos
leer a
leer b
leer c
Si el triangulo existe
calcular p
calcular A
sino
mostrar el mensaje “El triangulo no existe”
Fin de Si
2013
Diagrama de Flujo
I𝒏𝒊𝒄𝒊𝒐
𝒍𝒆𝒆𝒓 𝒂, 𝒃 𝒚 𝒄
𝑬𝒙𝒊𝒔𝒕𝒆 𝒆𝒍
𝒕𝒓𝒊á𝒏𝒈𝒖𝒍𝒐?
𝒔𝒊
-
𝒏𝒐
FIEE
𝑬𝒔𝒄𝒓𝒊𝒃𝒊𝒓:
"𝑵𝒐 𝒕𝒓𝒊á𝒏𝒈𝒖𝒍𝒐"
𝑝=
𝑎+𝑏+𝑐
2
𝐴 = √𝑝(𝑝 − 𝑎)(𝑝 − 𝑏)(𝑝 − 𝑐)
𝑬𝒔𝒄𝒓𝒊𝒃𝒊𝒓 𝑨
𝑭𝒊𝒏
2013
Escritura de un Programa en C++
Codigo
Fuente
FIEE
-
Compilador
Codigo
Objeto
Objeto
Archivos
Bibliotecas
Otros
Enlazador
Programa
Ejecutable
FIEE
-
2013
Elementos del lenguaje
 Un programa en C++ es una secuencia de
caracteres que se agrupan en
componentes léxicos (elementos del
lenguaje) que comprenden el vocabulario
básico del lenguaje.
 A estos componentes léxicos se les
denomina “tokens”
 los identificadores.
 Las palabras reservadas. (p.claves)
 Las constantes
 Las constantes de cadena
 Los operadores y
 Los signos de puntuación.
FIEE
-
2013
Identificadores
 Son secuencias de caracteres: letras, digitos y
subrayados (_).
 Que sirven para dar nombres a las variables,
constantes, tipos, funciones, clases,y etiquetas de un
programa.
1. Un identificador es una secuencia arbitraria de letras y
dígitos.
nombres
direccion
Telefono
2. El primer caracter del identificador debe ser una letra o
subrayado.
el_unico
_fiee2012
3. El caracter subrayado (_) se trata como una letra.
FIEE
-
2013
Identificadores
4. Los identificadores que comienzan con dos subrayados
estan reservadas para el uso interno del compilador
C++.
__MSDOS__
__BORLANDC__
5. Las letras mayúsculas y minúsculas se tratan como
caracteres diferentes.
uni
UNI
unac2012
6. Un identificador definido por el usuario no puede
tener el mismo nombre de una palabra reservada.
FIEE
-
2013
Palabras Reservadas
1. Son identificadores predefinidos que tienen un
significado especial para el compilador C++.
asn
continue
float
new
signed
try
auto
default
for
operator
sizeof
typedef
break
delete
friend
private
static
union
case
do
goto
protected
struct
unsigned
catch
double
if
public
switch
virtual
char
else
include
register
template
void
class
enum
int
return
this
volatile
const
extern
long
short
throw
while
FIEE
-
2013
Constantes
1. Una constante es un valor que no cambia en un
programa durante su ejecucion, este es fijado
por el compilador.




Constante literal
Constantes definidas
Constantes enumeradas
Constantes declaradas.
FIEE
-
2013
Constantes literales
Se clasifican el 4 grupos:
 Constantes enteras.
123// formato decimal
0264//formato octal
0xBE3F//formato hexadecimal
1132U// constante entera unsigned int (U)
1302//constante entera de tipo long (L)
 Constantes reales
13.23 7773.2233123 3.141592654
.23
1.24E6 notación cientifica del numero 1.24 x𝟏𝟎𝟔
 Constantes de un solo caracter
‘M’
‘E’
‘\n’
‘\r’
 Constantes de caracteres (cadena).
“FIEE 2012” tiene 9 caracteres.
“unac 2012”
2013
Constantes Definidas (simbólicas)
Son identificadores asociados a una cadena o
valor mediante directivas del procesador #define.
A estos identificadores se les denomina macros.
La forma general de la directiva es:
FIEE
-
#define nombre_macro valor

#define CIERTO 1
#define FALSO 0
#define pi 3.141592
El compilador C++ sustituye los valores 1, 0 y 3.141592 cuando
encuentre las macros CIERTO, FALSO y pi respectivamente
cout<< “El valor de pi es” <<pi;
Mostrara en la pantalla
El valor de pi es 3.141592
FIEE
-
2013
Constantes Enumeradas
Son un conjunto de constantes enteras enumeradas en orden
ascendente (0,1,…) asociadas cada una a un identificador en el
orden que son puestas, con la finalidad de crear listas de
elemtos afines.
enum nombre_enumeracion{lista_de_enumeracion} lista_de_variables

El siguiente fragmento de codigo define una enumeracion llamada
dias y declara ultimodia del tipo dias.
enum dias{lunes,martes,miercoles,jueves,viernes,sabado,domingo};
//definicion del tipo enumerado dias
dias ultimodia;
//declaracion de la variable ultimodia del tipo dias
ultimodia = domingo;
//ultimodia toma el valor entero 6
Tipo const
Permiten especificar valores que no pueden ser cambiados durante la
ejecucion del programa.
const tipo nombre=valor
const int Semana=7;
const char curso[]=“Lenguaje de Programación C++”
const float e=2.718282;
-
2013
Constantes Declaradas
FIEE
Tipo volatile
Permiten especificar un valor que puede cambiar por medios no
explicitamente especificados por el programa, es decir por ninguna
sentencia. Su uso se da cuando alguna optimizacion puede cambiar el
orden de evaluacion de una expresion durante el proceso de
compilacion.
Const volatile tipo nombre=valor
-
#include <iostream>
int main(){
using namespace std;
cout<< "Hola Uni..."
cout<< endl;
cout<< "Bienvenidos"<< endl;
FIEE
2013
Ejemplo
system ("pause")
return 0;
}