desarrollo de algoritmos1
Post on 14-Apr-2018
216 Views
Preview:
TRANSCRIPT
-
7/29/2019 Desarrollo de Algoritmos1
1/44
UNIVERSIDAD NACIONALPEDRO RUIZ GALLOFACULTAD DE INGENIERIA CIVIL, SISTEMAS
Y arquitectura
Curso:Programacin Bsica
DESARROLLO DE ALGORITMOS
Docente: Ing. Mg. Yrma Capuay Capuay
Lambayeque, ABRIL 2010
-
7/29/2019 Desarrollo de Algoritmos1
2/44
1.1.- Ciclo de Vida
Proceso que se sigue desde el
planteamiento de un problema otarea hasta que se tiene una solucininstalada en la computadora y en
funcionamiento por los usuariosfinales, mientras sea de utilidad.
-
7/29/2019 Desarrollo de Algoritmos1
3/44
Anlisis
Diseo
Codificacin
Problema
Especificaciones
Algoritmos
Programa
-
7/29/2019 Desarrollo de Algoritmos1
4/44
1.1.1.Fase de Anlisis
Consiste en el examen y descripcindetallada de los siguientes aspectosrelativos al problema:
Estudios de los datos de entrada Estudios de los datos de salidas o
resultados
Relacin entre la salida y la entrada. Descomposicin del problema en
mdulos
-
7/29/2019 Desarrollo de Algoritmos1
5/44
El resultado de esta fase es lo que sedenomina especificacin del problema.
Datos deentrada
Caja negra
P
Datos de salida
Resultados
-
7/29/2019 Desarrollo de Algoritmos1
6/44
Ejemplo:
Sumar 2 nmero enteros:
5P
12
-
7/29/2019 Desarrollo de Algoritmos1
7/44
radioP
rea delcrculo
-
7/29/2019 Desarrollo de Algoritmos1
8/44
1.1.2.- Fase de Diseo.- Consiste en eldiseo de la solucin al problemaplanteado en forma de algoritmo,
se debe abordar en formasistemtica.
-
7/29/2019 Desarrollo de Algoritmos1
9/44
El resultado es un algoritmo odescripcin del conjunto de accionesque debern ser realizadas por lacomputadora. Para su representacinse utilizan diferentes notaciones comopseudocdigo, diagrama de flujo,
etc.
-
7/29/2019 Desarrollo de Algoritmos1
10/44
1.1.3.-Fase de Codificacin.- En estafase se transcribe al algoritmoresultante de la fase anterior a unlenguaje de programacin concreto:En general es una tarea totalmentemecnica. Al resultado se le
denomina programa.
-
7/29/2019 Desarrollo de Algoritmos1
11/44
1.2.- Desarrollo y Diseo de algoritmos.
Todo problema se puede describirpor medio de un algoritmo.
La idea de algoritmo es natural comola vida misma vida, ya que siempreencierra una secuencia de pasos
exento de ambigedades que llegaa la solucin de un problema.
-
7/29/2019 Desarrollo de Algoritmos1
12/44
Se puede definir de la siguiente forma:
Es un procedimiento que paso a paso
solucionara un problema dado. Es la descripcin del conjunto de
acciones que va a realizarse por
computadora.
-
7/29/2019 Desarrollo de Algoritmos1
13/44
1.2.1. Pseudocdigo
Los programas deben ser escritos en unlenguaje que pueda entender lacomputadora. Es natural, por lo tantodescribir los algoritmos en un lenguajeque parezca ms al lenguaje utilizadopara escribir programas decomputadora, es decir un lenguaje de
pseudoprogramacin, una imitacin delcdigo de las computadoras o como seconoce un pseudocdigo.
-
7/29/2019 Desarrollo de Algoritmos1
14/44
El pseudocdigo es una mezcla delenguaje natural y smbolos, trminos y
otras caractersticas comnmenteutilizadas en uno o ms lenguajes dealto nivel.
-
7/29/2019 Desarrollo de Algoritmos1
15/44
Caractersticas: Son independientes de los lenguajes de
programacin.
Son independientes del modelo decomputadora en uso.
Se expresan a travs del lenguajenatural.
Debe ser finito (tener un INICIO y un FIN).
-
7/29/2019 Desarrollo de Algoritmos1
16/44
No ambiguo, conciso y legible (usarvariables representativas)
Eficaz y eficiente Preciso ( orden de realizar de cada
paso)
Definido ( obtener el mismo resultado sise realiza dos veces el mismo algoritmo).
-
7/29/2019 Desarrollo de Algoritmos1
17/44
Uso de maysculas (INICIO; FIN) yestructuras de control.
Indentacin ( justificar el algoritmo).
-
7/29/2019 Desarrollo de Algoritmos1
18/44
1.2.2.- Estructuras de control
Nos va a permitir controlar el flujo deejecucin de otras instrucciones:
1.2.2.1.- Secuencial.- Se ejecutan lasinstrucciones en el mismo orden en que
aparecen escritas.
-
7/29/2019 Desarrollo de Algoritmos1
19/44
1.2.2.2.- Alternativas.-
Simple.
SI < condicin > ENTONCES11; 12; .ln
FIN_SI
La condicin es una expresin booleana
-
7/29/2019 Desarrollo de Algoritmos1
20/44
Ejemplo:
Si nota > 11 ENTONCES
Escribir aprobadoFIN_SI
-
7/29/2019 Desarrollo de Algoritmos1
21/44
Doble
SI < condicin > ENTONCES111; 112; .1ln
SINO121; 122; .12ln
FIN_SI
-
7/29/2019 Desarrollo de Algoritmos1
22/44
Ejemplo:
Si nota < 11 ENTONCES
Escribir aplazadoSINO
Escribir aprobado
FIN_SI
-
7/29/2019 Desarrollo de Algoritmos1
23/44
MltipleSEGN SEA < condicin > HACER
C1; 11; 12; .lnC2; 11; 12; .ln
. . . .
. . . .Cn:
OTROS: 11, 12, .lnFIN_SI
-
7/29/2019 Desarrollo de Algoritmos1
24/44
1.2.2.3.- Repeticiones o bucles
En todo bucle hay una o varias accioneque han de repetir y una condicin que
determina el nmero de repeticiones delas mismas.
El valor de la condicin debe ser
afectado por las acciones paraasegurar la terminacin del bucle enalgn momento.
-
7/29/2019 Desarrollo de Algoritmos1
25/44
Segn que la evaluacin de lacondicin se realice al comienzo, al finalo dentro del bucle se tiene las siguientessentencias:
MIENTRAS
MIENTRAS < condicin > HACER11; 12; .ln
FIN_MIENTRAS
-
7/29/2019 Desarrollo de Algoritmos1
26/44
Se evala la condicin antes de iniciar elbucle y se repiten sucesivamente las
instrucciones 11; 12; ln, mientrassiga siendo cierto o V.
-
7/29/2019 Desarrollo de Algoritmos1
27/44
Ejemplo:
MIENTRAS (A = 0) HACER
Leer nota
SI nota > 0 ENTONCES
Suma Suma + nota
SINO
A 1
FIN_SIFIN_MIENTRAS
-
7/29/2019 Desarrollo de Algoritmos1
28/44
REPETIR
REPETIR11; 12; .lnHASTA QUE
Se evala la condicin despus de cada ejecucinde las instrucciones 11; 12; .ln, y se termina el
bucle si es Verdad.
-
7/29/2019 Desarrollo de Algoritmos1
29/44
Ejemplo:
REPETIR
Leer notaHASTA QUE: (nota = 0)
-
7/29/2019 Desarrollo de Algoritmos1
30/44
PARA
PARA Vc de Vi a Vf con incremento ln HACER11; 12; .ln
FIN_PARA
Se repiten las instrucciones 11, 12, . Ln, unnmero fijo de veces tantas como sucesivos
valores toma la variable de control Vc desdeinicialmente Vi, incrementndose en cadarepeticin en ln, hasta que el valor de vc supere Vf
-
7/29/2019 Desarrollo de Algoritmos1
31/44
Si el incremento es + 1, se obviar elincremento
PARA Vc de Vi de Vf HACER
11, 12, ln
FIN_PARA
-
7/29/2019 Desarrollo de Algoritmos1
32/44
Ejemplo:
PARA I de 1 a 6 HACERLeer nota
Suma suma nota
FIN_PARA
PARA V = 1 HASTA V=3 DE 1 HACER
X 4 + 2W x+2
FIN_PARA
-
7/29/2019 Desarrollo de Algoritmos1
33/44
Ejemplo:
1.- Escribir un algoritmo que lea 2nmeros y nos diga cual es el mayo o sison iguales.
INICIO
Leer A, B
SI A = B ENTONCES
Escribir A es el mayor
SINO
-
7/29/2019 Desarrollo de Algoritmos1
34/44
SI A > B ENTONCES
Escribir A y B iguales
SINOEscribir B es el mayorFIN_SI
FIN_SIFIN
-
7/29/2019 Desarrollo de Algoritmos1
35/44
2.- Construir un algoritmo que lea 2nmeros positivos y diga cual de ellos es
el mayorINICIO
REPETIR
Pedir A, BHASTA QUE ()A>0 AND B>0)
-
7/29/2019 Desarrollo de Algoritmos1
36/44
SI A > B ENTONCES
May A
Men B
SINO
SI A < B ENTONCES
May B
Men A
SINO
-
7/29/2019 Desarrollo de Algoritmos1
37/44
Escribir los nmeros son iguales
FIN_SI
FIN_SI
Escribir el mayor es: , may
Escribir el menor es: , men
FIN
-
7/29/2019 Desarrollo de Algoritmos1
38/44
3.- calcular el rea de un tringulo en funcinde la longitud de sus lados y mostrar el rea siesta es mayor que 20.
INICIO
REPETIR
Pedir a, b, c
HASTA QUE (a > 0 AND b>0 AND c >0)
P (a + b + c)
-
7/29/2019 Desarrollo de Algoritmos1
39/44
Area (P*(P a)(P-b)(P - c)^0.5
SI Area > 20 ENTONCES
escribir El rea del tringulo es, AreaFIN_ SI
FIN
-
7/29/2019 Desarrollo de Algoritmos1
40/44
1.2.3.- Elementos auxiliares de unprograma.
Son variables que utilizan un programa y
por la funcin que realiza dentro delmismo toman un nombre especial,modelizando su funcionamiento debidoa su frecuente utilizacin
-
7/29/2019 Desarrollo de Algoritmos1
41/44
Son variables que realizan funcionesespecficas dentro de un programa.
Son 3:
Contadores Acumuladores
Interruptores
NOTA.- Investigar en que consiste,funciones, caractersticas y aplicacionescon 10 ejemplos por cada variable
-
7/29/2019 Desarrollo de Algoritmos1
42/44
Es una variable (campo de memoria)cuyo valor se incrementa o decrementaen una cantidad fija positiva o negativa.
Se dice que est asociado a un bueleporque muchas veces se usa elcontador para contabilizar las acciones
internas del buele
-
7/29/2019 Desarrollo de Algoritmos1
43/44
Un contador toma un valor inicial antesde iniciar su funcin incrementndose su
valor cada vez que se realiza el suceso acontar.
En la mayora de los casos se inicia
-
7/29/2019 Desarrollo de Algoritmos1
44/44
top related