top of page
Blog: Blog2
Buscar
Foto del escritororoscojulcal22

semana 10(EVP10)

Actualizado: 26 nov 2018

Las Sub Procesos son bloques de código utilizados para dividir un programa en partes más pequeñas, cada una de las cuáles tendrá una tarea determinada, estos son la base de la programación estructurada.

Permiten dar nombre a un grupo de instrucciones y que estas se ejecuten cuando las nombremos. En PSeInt los sub-procesos se crean con la instrucción SubProceso. Podemos clasificar lo subprocesos en tres tipos:AccionesNo aceptan entradas y no retornan valores.Solo realizan acciones.Acciones con parámetrosAceptar valores de entrada que influyen en su ejecución.FuncionesRealizan cálculos y retornan valores.

SubProceso Saludar
Escribir "Hola mundo!";
FinSubProceso
Proceso Ejemplo
Saludar; //1 vez
Saludar; //2 vez
FinProceso

Por claridad los sub procesos los escribiremos delante del proceso. El nombre de un sub proceso sigue las mismas normas que una variable. El nombre de ser claro y concreto. Los sub procesos evitan tener procesos tan grandes, facilitan el diseño divide y vencerás y dan claridad a los algoritmos. Los sub procesos pueden aceptar parámetros de entrada. Los parámetros son declaraciones de variables que serán entradas para los sub procesos.Para añadir un parámetro a un sub proceso pondremos el nombre del parámetro entre paréntesis al derecha del nombre del sub proceso.Por defecto los parámetros se pasan por valor (excepto arrays), los cambios en el parámetro no afectan al proceso.

SubProceso Saludar( Nombre Por Valor  ) Escribir "Hola mundo! " , Nombre; Nombre <- "Pedroooo!!!!"; FinSubProceso
Proceso Ejemplo Definir N Como Caracter; Leer N; Saludar(N); Saludar(N); FinProceso

Los sub procesos también aceptan parámetros de salida o por referencia.Para declarar un parámetro de salida se escribe Por Referencia detrás del nombre del parámetro.Los cambios en el parámetro afectaran al proceso principal.Un proceso puede tener parámetros por valor y por referencia.

SubProceso Saludar( Nombre Por Referencia  ) Escribir "Hola mundo! " , Nombre; Nombre <- "Pedroooo!!!!"; FinSubProceso
Proceso Ejemplo Definir N Como Caracter; Leer N; Saludar(N); Saludar(N); //Muestra pedro!!!!! FinProceso

Ejemplo paso por valor y referencia:

1 SubProceso PasoValorRef(A Por Valor, B Por Referencia)

2      A <- A + 1;

3      B <- B + 1;

4 FinSubProceso

5

6 Proceso ValorReferencia

7      Definir V , R Como Entero;

8      V <- 10;

9      R <- 10;

10     Escribir "V ", V , " R ", R;

11     //Muestra V 10 R 10

12     PasoValorRef(V , R);

13     Escribir "V ", V , " R ", R;

14     //Muestra V 10 R 1115 FinProceso

Ejemplo practico de re escritura de un algoritmo para usar sub procesos:

1 Proceso AdivinaNumero

2      Definir Secreto, Numero Como Entero;

3      Secreto <- 22;

4      Repetir

5            Repetir

6                   Escribir "Dime un Numero > 0";

7                   Leer Numero;

8                   si Numero <= 0 Entonces

9                          Escribir "No es valido";

10                  FinSi

11           Hasta Que Numero > 0

12           si Numero > Secreto entonces

13                  Escribir "Muy Alto";

14           Sino

15                  Escribir "Muy Bajo";

16           FinSi

17     Hasta Que Numero = Secreto;

18     Escribir "Acertastes";

19 FinProceso

Algoritmo modificado usando un sub proceso:

1 SubProceso LeerNumero(Num por referencia)

2      Repetir

3             Escribir "Dime un Numero > 0";

4             Leer Num;

5            si Num <= 0 Entonces

6                   Escribir "No es valido";

7            FinSi

8      Hasta Que Num > 0

9 FinSubProceso

10

11 Proceso AdivinaNumero

12     Definir Secreto, Numero Como Entero;

13     Secreto <- 22;

14     Repetir

15           LeerNumero(Numero);

16           si Numero > Secreto entonces

17                  Escribir "Muy Alto";

18           Sino

19                  Escribir "Muy Bajo";

20           FinSi

21     Hasta Que Numero = Secreto;

22     Escribir "Acertastes";

23 FinProceso

Los sub procesos también pueden retornar valores por su nombre como hacen las funciones. En este caso los sub procesos se escriben como una expresión en una asignación o en otra instrucción. Para definir el parámetro de retorno se pone su nombre a la izquierda del nombre del proceso y se usa el símbolo de asignación entre los dos nombres.

SubProceso res <- SumaNumeros(A , B)  Definir res como real; res <- A + B; FinSubProceso Proceso Ejemplo Definir NumA, NumB  Como Real; Leer NumA; Leer NumB; Definir Suma Como Real; Suma <- SumaNumeros(NumA, NumB); Escribir "La Suma es ", Suma; Escribir " 23 + 44 ", SumaNumeros(23, 44);FinProceso

Algoritmo modificado usando un sub procesos y funciones:

1 SubProceso LeerNumero(Num por referencia)

2      Repetir

3            Escribir "Dime un Numero > 0";

4                   Leer Num;

5                   si Num <= 0 Entonces

6                          Escribir "No es valido";

7                   FinSi

8      Hasta Que Num > 0

9 FinSubProceso

10 SubProceso Pista <- ObtenerPista(Num por valor , Secreto)

11           Definir Pista Como Caracter;

12           si Num > Secreto entonces

13                  Pista <- "Muy Alto";

14           Sino

15                  Pista <- "Muy Bajo";

16           FinSi

17 FinSubProceso

18 Proceso AdivinaNumero

19           Definir Secreto, Numero Como Entero;

20           Secreto <- 22;

21           Repetir

22                  LeerNumero(Numero);

23 Escribir ObtenerPista(Numero, Secreto);

24           Hasta Que Numero = Secreto;

25           Escribir "Acertastes";

26 FinProceso


4 visualizaciones0 comentarios

Entradas Recientes

Ver todo

pseint- funcion para(EVP9)

La función "Para" nos sirve para repetir un proceso una determinada cantidad de veces hasta llegar a un número de referencia que...

c++(evp8)

C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le agrega la capacidad de abstraer tipos como en...

Comments


bottom of page