7/24/2019 CAP-IV_Estructuras de Control
1/15
6/10/20
Template
Add your company slogan
Facultad de Ingeniera Estadstica e Informtica
Campus Universitario - Puno Ing. Alcides RAMOS CALCINA
PUNO 2015
PROGRAMACIN Y SIMULACIN DE
PROCESOS METALURGICOS
Las estructuras de control permiten modificar el flujo de ejecucin delas instrucciones de un programa. Quiere decir, que permite que unascondiciones se lleven a cabo cuando el programador lo desee, ya seaun nmero determinado de veces o hasta un cierto error, etc. Lasestructuras de control tienen un nico punto de entrada y un nicopunto de salida, por lo que estn estructuradas. Se pueden clasificaren:
1. Secuenciales
2. Selectivas
3. Repetitivas
El estudio de las estructuras de control se realiza basado en lasherramientas de programacin ya estudiadas: pseudocdigos yarchivos .m.
7/24/2019 CAP-IV_Estructuras de Control
2/15
6/10/20
Una estructura secuencial es aquella en la que una accin(instruccin) sigue a otra en secuencia.
Las tareas se suceden de tal manera que la salida de una es la entradade la siguiente y as sucesivamente hasta al final del proceso.
Inicio
.
.
.
fin
Diagrama de flujo Pseudocdigo
Ejemplo:Calcule la suma y diferencia de dos nmeros.
Implemente en un script de Matlab
Inicioleer (num1)leer (num2)
sum num1 + num2dif num1 - num2escribir (sum, dif)
fin
7/24/2019 CAP-IV_Estructuras de Control
3/15
6/10/20
Script:
Las estructuras selectivas se utilizan para tomar decisiones lgicas; deah que se suelen denominar tambin estructuras de decisin oalternativas.
En ests estructuras se evala una condicin y en funcin delresultado de la misma se realiza una opcin u otra.
Las condiciones se especifican usando expresiones lgicas.
La presentacin de una estructura selectiva se hace con palabras enpseudocdigosi, entonces, si_no.
Las estructuras selectivas pueden ser: Simples
Dobles
mltiples
7/24/2019 CAP-IV_Estructuras de Control
4/15
6/10/20
Simple Doble Triple
La estructura selectiva simplesi entonces (if then)ejecuta una determinada accin cuando de cumple una determinadacondicin.
Si la condicin es verdadera, entonces ejecuta la accin SI. Si la condicin esfalsa, entonces no hace nada. Representacin de la estructura:
2.1. ALTERNATIVA SIMPLE (si entonces / if then)
Si entonces
Fin_si
7/24/2019 CAP-IV_Estructuras de Control
5/15
6/10/20
En Matlab, la estructura selectivaif se escribe de la siguiente forma:
% El conjunto de instrucciones muestra sintaxis de la
% estructura if en Matlab
if ();
end
Ejemplo: Implemente un seudocdigo y el correspondiente programa enMatlab que, al recibir como dato el promedio de un alumno en un curso
universitario, escriba aprobado en caso de que el promedio seasatisfactorio, es decir mayor o igual a 10.5.
Script:
7/24/2019 CAP-IV_Estructuras de Control
6/15
6/10/20
La estructura anterior es muy limitada y normalmente se necesita unaestructura que permita elegir entre dos opciones.
Si la condicin es verdadera, se ejecuta la accin S1 y, si es falsa, seejecuta la accin S2.
Representacin de la estructura:
2.2. ALTERNATIVA DOBLE (si entonces si_no / if then - else)
Si entonces
Si_no
Fin_si
En Matlab, la estructura selectivaif - else se escribe de lasiguiente forma:
% El conjunto de instrucciones muestra sintaxis de la
% estructura if - else en Matlab
if ();
else;
end
Ejemplo: Implemente un seudocdigo y el correspondiente programaMatlab que, al recibir como dato el promedio de un alumno en un cursouniversitario, escriba aprobado si su promedio es mayor o igual a 10.5 yreprobado en caso contrario.
7/24/2019 CAP-IV_Estructuras de Control
7/15
6/10/20
Script:
Si la condicin es verdadera, se ejecuta la accin S1 y, si es falsa, serevisa otra condicin, si es verdadera, se ejecuta la accin S2, casocontrario se ejecuta ala accin S3.
Representacin de la estructura:
2.3. ALTERNATIVA TRIPLE (si entonces _si_entonces / if elseif - else)
Si entonces
Si_no
Si
entoncesSi_no
Fin_siFin_si
7/24/2019 CAP-IV_Estructuras de Control
8/15
6/10/20
En Matlab, la estructura selectivaif - elseif se escribe de lasiguiente forma:
% El conjunto de instrucciones muestra sintaxis de la
% estructura if - elseif en Matlab
if ();
elseif;
else;
end
Ejemplo: Implemente un seudocdigo y el correspondiente programaMatlab que, al recibir como dato la edad de una persona si su edad esmenor a 16 tendr que esperar, si es menor a 60 aos puede obtener supermiso de conducir y si es mayor o igual a 60 obtendr una licenciaespecial.
Script:
7/24/2019 CAP-IV_Estructuras de Control
9/15
6/10/20
La estructura de decisin mltiple evaluar una expresin que podrtomarnvalores distintos, 1, 2, 3, ,n.
Segn que elija uno de estos valores en la condicin, se realizar unade lasnacciones.
Representacin de la estructura:
2.4. ALTERNATIVA MLTIPLE (segn_sea / case)
Segn_sea hacercaso e1:
caso e2:
caso en:
si_no:
Fin_segun
En Matlab, la estructura selectiva case esswitch se escribe de lasiguiente forma:
% El conjunto de instrucciones muestra sintaxis de la
% estructura switch en Matlab
switch ()case
;
case ;
case ;
otherwise;
end
7/24/2019 CAP-IV_Estructuras de Control
10/15
6/10/20
Ejemplo: Implemente un seudocdigo y el correspondiente programa enMatlab que, al recibir como datos dos variables de tipo entero, obtenga elresultado de la siguiente funcin:
Datos: OP y T
Donde:OPes una variable de tipo entero que representa el clculo a realizar.Tes una variable de tipo entero que se utiliza para el clculo de la funcin.
T / 5 Si: OP = 1
T **T Si: OP = 2f(T)
6* T / 2 Si: OP = 3, 4
1 Otros caso
Script:
7/24/2019 CAP-IV_Estructuras de Control
11/15
6/10/20
En la practica, durante la solucin de un problema, es muy comnencontrar, operaciones que deben ser ejecutadas un nmerodeterminado de veces.
El conjunto de instrucciones que se ejecutan repetidamente recibeel nombre de ciclo.
La estructura repetitivafor se utiliza para resolver problemas en losque conocemos el nmero de veces que se debe repetir el ciclo(definida).
Por otra parte, en algunos algoritmos no podemos establecer deantemano el nmero de veces que se debe repetir el ciclo. Laestructura whilese utiliza para resolver problemas de este tipo (nodefinida).
La estructura repetitiva do while, a diferencia de las dosanteriores en las que la condicin se evala al principio, en sta seevala al final.
sta es la estructura utilizada para repetir un conjunto deinstrucciones un nmero definido de veces.
Este tipo de estructura se encuentra prcticamente en todos loslenguajes de programacin.
...
Para v vi hasta vf [inc] hacer
.
.
.Fin_parav: variable ndice
Vi, vf: variable inicial y final
inc: incremento
Diagrama de flujo Pseudocdigo
7/24/2019 CAP-IV_Estructuras de Control
12/15
6/10/20
En Matlab, la estructura repetitivafor se escribe de la siguiente forma:
% El conjunto de instrucciones muestra sintaxis de la
% estructura for en el lenguaje Matlab
for (V=Vi : Vari : Vf);
;
end
Observa que la estructura for la variable de control del ciclo V va desde elvalor inicial Vi hasta el valor final Vf. En cada iteracin del ciclo el valorde V se incrementa o decrementa de acuerdo con Vari.
Ejemplo: Construya un pseudocdigo y programa en Matlab que, alrecibir como datos los salarios de 5 profesores de una universidad,obtenga el total de la nomina.
Pseudocdigo
Implementado el programa en Matlab.
Inicionom 0para i=1 hasta i=5 hacer
ingrese salarionom nom + salario
fin_paraimprimir nom
fin
7/24/2019 CAP-IV_Estructuras de Control
13/15
6/10/20
Script:
sta estructura permite repetir un conjunto de instrucciones. Sin embargo, elnmero de veces que se debe repetir depende de la condicin que contengael ciclo.
Cada vez que corresponde iniciar el ciclo se evala una condicin, si sta esverdadera se contina la ejecucin de otra forma se detiene.
...
Mientras hacer
.
.
.
Fin_mientras
Diagrama de flujo Pseudocdigo
7/24/2019 CAP-IV_Estructuras de Control
14/15
6/10/20
En Matlab, la estructura repetitivawhile se escribe de la siguienteforma:
% El conjunto de instrucciones muestra sintaxis de la
% estructura while en el matlab
while (COND) % COND debe tener un valor verdadero;
;
COND = modificacin de COND;
end
Ejemplo: Construya un pseudocdigo y programa en Matlab que, alrecibir como datos los pagos efectuados en el ltimo mes, permitaobtener la suma de los mismos. Si se ingresa 0 como ltimo dato indicaque no hay ms pagos que completar.
Pseudocdigo
Implementado el programa en c++.
Iniciosump 0ingrese pagmientras (pag0) hacer
sump sump + pagingrese pag
fin_mientrasimprimir sump
fin
7/24/2019 CAP-IV_Estructuras de Control
15/15
6/10/20
Script: