4. algoritmos (repaso2)
Post on 01-Mar-2018
216 Views
Preview:
TRANSCRIPT
-
7/25/2019 4. Algoritmos (repaso2)
1/39
ALGORITMOSPARTE II
-
7/25/2019 4. Algoritmos (repaso2)
2/39
Recordando
PROBLEMApasos:
para RESOLVER UN
consideramos los siguientes
PRUEBA DE ESCRITORIO
-
7/25/2019 4. Algoritmos (repaso2)
3/39
P
Leer y comprender else
Secuencia ordenada de pasosinstrucciones claras y finitas.Representacin de algoritmos:
oproblemaplantea.
que
Definir
entrada.
los datos de Diagramas de Flujo
PseudocdigoDiagramasNS Informacinde salida
requerida Se implementan la:
Mtodos y frmulas Estructura SecuencialEstructura CondicionalEstructura Repetitiva
paradatos
procesar los
DISEO DELALGORITMO
ANALISIS DELPROBLEMA
PRUEBA
DE
ESC
RITORIO
-
7/25/2019 4. Algoritmos (repaso2)
4/39
PRUEBA DE ESCRITORIOPara cerciorarnos de que el diagrama (y/o el pseudocdigo)est bien, y, para garantizar que el programa quecodifiquemos luego tambin funcione correctamente, esconveniente someterlo a una Prueba de Escritorio.
Consiste en que damos diferentes datos de entrada alprograma y seguimos la secuencia indicada en el algoritmohasta obtener los resultados.
El anlisis de estos nos indicar si el algoritmo esta correcto osi hay necesidad de hacer ajustes.
Se recomiendadar diferentes datos de entraday considerar
todos los posibles casos, aun los de excepcin o noesperados, para asegurarnos de que el programa no producirerrores en ejecucin cuando se presenten estos casos.
-
7/25/2019 4. Algoritmos (repaso2)
5/39
TABLA DE VARIABLESPRUEBA
ESCRITORIO
DE
Inicio
Entero b, h, a,
Leerb, h
a = b * h
p = 2 *(b + h)
p
EscribirArea:", a
Escribir Permetro:", pFin
b h a p Pantalla
10 3
30
26
Area: 30
Permetro: 26
-
7/25/2019 4. Algoritmos (repaso2)
6/39
Resumiendo la Tabla de Variables
para varias ejecuciones
Son correctas las salidas de las ejecuciones 4 y 5?
No deejecuciones
b h a p Pantalla
1. 10 3 30 26 Area: 30Permetro: 26
2. 5 7 35 24 Area: 35Permetro: 24
3. 1 0 0 2 Area: 0Permetro: 2
4. 5 2 10 6 Area:10Permetro: 6
5. 20 5 100 50 Area: 100Permetro: 50
-
7/25/2019 4. Algoritmos (repaso2)
7/39
B. ESTRUCTURA CONDICIONAL O DE
DECISION O SELECTIVA Permiten que el algoritmo tome decisiones y ejecute u
omita algunos procesos dependiendo del cumplimientode una condicin.
Se pueden manejar tres tipos de decisiones: simple,
doble, anidadas y mltiple.B1. ESTRUCTURA DE DECISIN SIMPLE Una decisin es simple, cuando solo se tiene determinado
los pasos (acciones) a seguir si el resultado de la condicin
(evaluacin de una expresin lgica) esverdadero,mientras que si esfalso, la ejecucin del algoritmocontina despus de la estructura condicional.La representacin en Pseudocdigo, Diagrama de Flujo yDiagrama NS se presenta a continuacin:
-
7/25/2019 4. Algoritmos (repaso2)
8/39
PSEUDOCODIGO
SI(condicin) ENTONCES
Accin Acciones
FIN SI
DIAGRAMA DE FLUJO Punto de entrada
condicin
Punto de salida
V
Accin Acciones
-
7/25/2019 4. Algoritmos (repaso2)
9/39
DIAGRAMA NS
Vcondicin
Accin
Acciones
-
7/25/2019 4. Algoritmos (repaso2)
10/39
Estructura CondicionalEJEMPLO 1: Disear un algoritmo paracalcular el rea y el permetro de un rectngulo.
PASO 1:
PASO 2:
Para
Definicin del problema (es el enunciado)
Anlisis del problema
desarrollar este problema es necesario conocer las
unlas
frmulas para obtener tanto el rea como el permetro derectngulo. Sea b = base, h = altura, a=rea y p=permetro,frmulas a utilizar son:
a = b * h y p = 2 * (b + h)
Pero si los datos de base (b) y altura(h) son cero o negativotendra sentido el rectngulo.
Datos de entrada: b y h (base y altura)
Datos de salida: a y p
no
Procesos: a = b * h y p = 2 * (b + h)
-
7/25/2019 4. Algoritmos (repaso2)
11/39
PASO 3: Diseo de la solucin oPSEUDOCODIGO
InicioEntero b, h, a, p
Leerb, h
//Estructura Condicional Simple
SI(b>0 Y h>0)ENTONCESa = b * h
p = 2 *(b + h)Escribir
Area:", aEscribir
Permetro:", p
FIN SI
Fin
del Algoritmo
-
7/25/2019 4. Algoritmos (repaso2)
12/39
PASO 3: Diseo de la solucin
INICIO
o del AlgoritmoDF
Entero b, h, a, p
Leer b, h
Punto de entradaV b>0 y
h>0
a = b * h
p=2*(b+h)
EscribirArea: , aPerimetro:, p
Punto de salida
FIN
-
7/25/2019 4. Algoritmos (repaso2)
13/39
No deejecuciones
b h b>0 y h>0 a p Pantalla
1. 10 3 V 30 26 Area: 30Permetro: 26
2. 5 7 V 35 24 Area: 35Permetro: 24
3. 1 0 F
4. 5 2 F
5. 20 5 F
-
7/25/2019 4. Algoritmos (repaso2)
14/39
PASO 3: Diseo de la solucin o del AlgoritmoDIAGRAMANS
IInicio
Entero b, h, a, p
Leer b, h
b>0 y h>0V
a = b*h
p = 2 *(b + h)
Escribir Area=,a
Escribir Permetro=,p
Fin
-
7/25/2019 4. Algoritmos (repaso2)
15/39
B2. ESTRUCTURA DE DECISIN DOBLE
Una decisin es doble cuando se tiene uncurso de accin para el caso que el resultadode la comparacin sea verdadero y otro paracuando sea falso.
-
7/25/2019 4. Algoritmos (repaso2)
16/39
SI(condicin) ENTONCESAccin Acciones
SINOAccin Acciones
FIN SI
PSEUDOCODIGO
DIAGRAMA DE FLUJO Punto de entrada
condicin
Punto de salida
V F
Accin Acciones
Accin Acciones
-
7/25/2019 4. Algoritmos (repaso2)
17/39
DIAGRAMA NS
V Fcondicin
Accin Acciones
Accin
AccionesAccin
Acciones
-
7/25/2019 4. Algoritmos (repaso2)
18/39
Estructura CondicionalEJEMPLO 1: Disear un algoritmo paracalcular
PASO 1:
PASO 2:
Para
el rea y el permetro de un rectngulo.
Definicin del problema (es el enunciado)
Anlisis del problema
desarrollar este problema es necesario conocer lasun
las
frmulas para obtener tanto el rea como el permetro de
rectngulo. Sea b = base, h = altura, a=rea y p=permetro,frmulas a utilizar son:
a = b * h y p = 2 * (b + h)
Pero si los datos de base (b) y altura(h) son cero o negativo notendra sentido el rectngulo por lo que los datos soninvlidos.
Datos de entrada: b y h (base y altura)
Datos de salida: a y p
Procesos: a = b * h y p = 2 * (b + h)
-
7/25/2019 4. Algoritmos (repaso2)
19/39
PASO 3: Diseo de la solucinPSEUDOCODIGO
InicioEntero b, h, a, p
Leer b, h
//Estructura Condicional Doble
SI(b>0 Y h>0)ENTONCESa = b * h
p = 2 *(b + h)
o del Algoritmo
Escribir
EscribirSINO
Escribir
FIN SI
Area:", a
Permetro:", p
Datos invlidos!!!"
Fin
-
7/25/2019 4. Algoritmos (repaso2)
20/39
PASO 3: Diseo de la solucin
INICIpO
o del AlgoritmoDF
Entero b, h, a, p
Leer b, h
Punto de entradaFV b>0 y
h>0
a = b * h
EscribirDatos invlidos!!!p=2*(b+h)
EscribirArea: , aPerimetro:, p
Punto de salida
FIN
-
7/25/2019 4. Algoritmos (repaso2)
21/39
No deejecuciones
b h b>0 y h>0 a p Pantalla
1. 10 3 V 30 26 Area: 30Permetro: 26
2. 5 7 V 35 24 Area: 35Permetro: 24
3. 1 0 F Datosinvlidos!!!
4. 5 2 F Datosinvlidos!!!
5. 20 5 F Datosinvlidos!!!
-
7/25/2019 4. Algoritmos (repaso2)
22/39
PASO 3: Diseo de la solucin o del AlgoritmoDIAGRAMANS
IInicio
Entero b, h, a, p
Leer b, h
b>0 y h>0V F
a = b*h
p = 2 *(b + h) Escribir Datos invlidos!!!
Escribir Area=,a
Escribir Permetro=,p
Fin
-
7/25/2019 4. Algoritmos (repaso2)
23/39
NOTA: EN PSEUDOCODIGO Y
CODIFICACION POSTERIORESTRUCTURA DE DECISIN SIMPLE: Al cumplirse la condicinentonces si se van a ejecutar dos o varias acciones es
esnecesario colocarOPCIONAL
FIN ENTONCES, si slo hay una accin
SI(condicin) ENTONCESaccin 1accin 2
:accin n
FIN ENTONCESFIN SI
SI(condicin) ENTONCESaccin 1
FIN ENTONCESFIN SI
OPCIONAL
-
7/25/2019 4. Algoritmos (repaso2)
24/39
NOTA: EN PSEUDOCODIGO YCODIFICACION POSTERIOR
ESTRUCTURA DE DECISIN DOBLE: IDEM al caso anterior si lacondicincondicinnecesario
es Verdadera. Si el resultado de la evaluacin de laes FALSO y hay 2
SINO.o ms acciones por ejecutar es
colocarFINSI(condicin)ENTONCES
accin 1accin 2:accin n
FIN ENTONCES
SINOaccin 1accin 2
:accin n
FIN SINO
FIN SI
SI(condicin) ENTONCESaccin 1
FIN ENTONCESSINO
accin 1FIN SINOFIN SI
OPCIONAL
-
7/25/2019 4. Algoritmos (repaso2)
25/39
Recapitulando los tipos de ESTRUCTURA DE
DECISIN, SELECCION O CONDICIONAL
-
7/25/2019 4. Algoritmos (repaso2)
26/39
B3. ESTRUCTURA DE DECISIN
ANIDADA Las estructuras condicionales pueden
estructuraanidarse,selectiva
lo que significa que unapuede contener a
de
su vez otra
estructura selectiva, dentro cualquiera delas secciones de una estructura condicional,sea simple o doble, puede incluirse otraestructura condicional que a su vez puede ser
simple o doble y puede contener tambindentro de ella, otras estructuras condicionaleso selectivas.
-
7/25/2019 4. Algoritmos (repaso2)
27/39
SI(condicin) ENTONCES
Accin Acciones
FIN ENTSINO
SI(condicin) ENTONCESAccin Acciones
FIN ENTSINO
Accin Acciones
FIN SINOFIN SIFIN SINOFIN SI
PSEUDOCODIGO
-
7/25/2019 4. Algoritmos (repaso2)
28/39
SI(condicin) ENTONCES
SI(condicin) ENTONCESAccin Acciones
FIN ENTSINO
Accin Acciones
FIN SINOFIN SI
FIN ENTSINO
Accin AccionesFIN SINOFIN SI
PSEUDOCODIGO
-
7/25/2019 4. Algoritmos (repaso2)
29/39
DIAGRAMA DE FLUJO
Punto de entrada
FVcondicin
V Fcondicin
Punto de salida
Accin Acciones
Accin Acciones
Accin Acciones
-
7/25/2019 4. Algoritmos (repaso2)
30/39
DIAGRAMA DE FLUJO
Punto de entrada
FVcondicin
V Fcondicin
Punto de salida
Accin Acciones
Accin Acciones
Accin Acciones
-
7/25/2019 4. Algoritmos (repaso2)
31/39
DIAGRAMA NS
condicinV F
Accin Acciones
V F
C
Accin
Acciones
condicin
Accin Accin Acciones
Acciones
-
7/25/2019 4. Algoritmos (repaso2)
32/39
DIAGRAMA NS
V F
V F
Acciones Acciones
CC
condicin
Accin
Acciones
condicinV F
Accin Accin Acciones Acciones
condicin
Accin Accin
-
7/25/2019 4. Algoritmos (repaso2)
33/39
B4. ESTRUCTURA DE DECISIN
MULTIPLE A veces es necesario que existan ms de dos
elecciones posibles Este problemaselectivas
se podra
resolver por estructuras simples o
doblesque estuvieran anidadas; sin embargo poreste mtodo si el nmero de alternativas es grande
puede plantear serios problemas de escritura del
algoritmo y naturalmente de legibilidad.
La estructura de decisin mltiple evala una
expresin que pueda tomar n valores (enteros,
caracteres y lgicos pero nunca reales) y ejecuta
una accin o grupo de acciones diferente en funcindel valor tomado por la expresin selectora.
-
7/25/2019 4. Algoritmos (repaso2)
34/39
PSEUDOCODIGO
SEGUN (variable selector)INICIO
CASO
CASOCASO
CASO
CASOFIN SEGUN
valor
valorvalor
1:
2:3:
Accin
AccinAccin
Acciones
AccionesAcciones
1
23
valor n: Accin Acciones n
CONTRARIO Accin Acciones
-
7/25/2019 4. Algoritmos (repaso2)
35/39
DIAGRAMA DE FLUJO
Punto de entrada
otros valoresvalor 1 variableselectorvalor 2 valor n
valor 3
Punto de salida
Accin Acciones 3
Accin Acciones 1
Accin Acciones n
Accin Acciones
Accin Acciones 2
-
7/25/2019 4. Algoritmos (repaso2)
36/39
DIAGRAMA NS
variable selector
es
Acciones
valor 1 valor 2 valor 3 valor n otros valor
Accin Accion
Accin Acciones 1
es
Accin Acciones 2
Accin Acciones 3
Accin Acciones n
Accin
di i l i l i
-
7/25/2019 4. Algoritmos (repaso2)
37/39
Estructura CondicionalEJEMPLO 1: Disear un algoritmo quepermita realizar y mostrar el resultado de la suma (+), resta(),multiplicacin(*) o divisin(/) de dos nmeros segn sea eloperador aritmtico ingresado.
PASO 1: Definicin del problema (es el enunciado)PASO 2: Anlisis del problema
Datos de entrada:num1(numero 1)
Procesos:
Segn seaop(operador aritmtico)
ynum2(numero 2)
Caso
Caso
Caso
Caso
+: res = num1+num2
: res= num1num2
*: res = num1*num2
/: res = num1/num2Datos de salida:res(resultado)
-
7/25/2019 4. Algoritmos (repaso2)
38/39
PASO 3: Diseo de la
Inicio
Real n1, n2, res
Carcterop
Leern1, n2
Escribir Ingrese op.
Leerop
solucin o del AlgoritmoPSEUDOCODIGO
aritmetico:
//Estructura de Seleccin Mltiple
SEGUN (op)
INICIO
CASO+:res=n1+n2
CASO:res=n1n2
CASO*:res=n1*n2
CASO/:res=n1/n2
FIN SEGUN
Escribir Resultado =
Fin
-
7/25/2019 4. Algoritmos (repaso2)
39/39
No deejecuciones
n1 n2 op res Pantalla
1. 10 5 + 15 Resultado = 15
2. 0 2 2 Resultado = 2
3. 0 0 * 0 Resultado = 0
4. 15 10 / 1.5 Resultado = 1.5
5. 20 5 + 25 Resultado = 25
top related