Ejemplo ejercicio resuelto. Parámetros por valor o por referencia: pseudocódigo, diagrama de flujo (CU00208A)

Resumen: Entrega nº7 del curso Bases de la programación Nivel II.
Codificación aprenderaprogramar.com: CU00208A

 

 

Hemos explicado en el anterior epígrafe del curso la diferencia entre pasar parámetros por valor o por referencia. Veamos algunos ejemplos de invocaciones y de los resultados que se obtienen:

Ejemplo: Módulo Check(amt, cit, dik: Enteros)

Llamada
Efecto
Llamar Check(70, 33, 12)
Los tres datos se procesan por valor
Llamar Check(A, 33, B)
A y B se procesan por variable (por referencia) (se esperan tipo entero) y 33 se procesa por valor

 

 

Llamada
Efecto
Llamar Check(A, 33, B) PorValor Los tres datos se procesan por valor
Llamar Check(A PorVariable, 33, B PorValor) A se procesa por variable (por referencia) y 33 y B por valor
Llamar Check(A porVariable, 33 / 2, B)
Error: no coinciden los tipos. 33 / 2 no es un entero
Llamar Check(A PorVariable, Mix PorVariable, B PorValor)
A y Mix se procesan por variable (por referencia) y B por valor
Llamar Check(A, Mix, B)
Los tres datos se procesan por variable (por referencia)

 

 

EJERCICIO:

Desarrollar el pseudocódigo y diagrama de flujo para un programa que pide un valor entero entre 0 y 100 y calcula el valor de la suma de la sucesión:
 
SQR(a), SQR(a-1), SQR(a-2), ..., SQR (0)
 
                                                                                  
Nota: el término SQR equivale al símbolo de raíz cuadrada.
 
Como resultado muestra el dato base a, las raíces de a (± SQR (a)) y el valor de la suma de la sucesión. Ha de contar con un menú que permita realizar otro cálculo o salir del programa.
 

SOLUCION

 
 

PROGRAMA SUC02

 

Variables:

Enteras: E

Reales: Dato, Raiz01, Raiz02, Suce

 

1.  Inicio

2.  Mientras E <> 2 Hacer

2.1  Mostrar “Elija  1. Cálculo  2. Salir”  

2.2  Pedir E

2.3  Si E = 1 Entonces

Llamar EntraDatos

Llamar Proceso(Dato) PorValor

Llamar Resultados

FinSi

Repetir

3.  Fin

Módulo EntraDatos

1.  Hacer

Mostrar “Por favor, introduzca número entero entre 0 y 100”

Pedir Dato

Dato = Redondear(Dato)

Repetir Mientras Dato < 0 ó Dato > 100

FinMódulo

 

Módulo Proceso(Num: Enteros)

1.  Raiz01 = SQR(Num)

2.  Raiz02 = -Raiz01

3.  Suce = 0

4.  Mientras Num >= 0 Hacer

Suce = Suce + SQR(Num)

Num = Num – 1

Repetir

FinMódulo

 

Módulo Resultados

Mostrar “Dato base =”, Dato

Mostrar “Raiz01=”, Raiz01

Mostrar “Raiz02=”, Raiz02

Mostrar “Valor de la suma de los términos de la sucesión =”, Suce

    FinMódulo

 

 
DIAGRAMA DE FLUJO:

diagrama de flujo ejemplo

 

 programacion diagrama de flujo

 

diagrama de flujo modulos programas

 

                                                                                                                                   

Nota: Escribir en el módulo Proceso Mientras Num >= 0 simboliza la inclusión del término   SQR (0)    en la sucesión. Sin embargo, dicho término no aporta nada y sería más eficiente escribir Mientras Num > 0, ahorrándonos una pasada por el bucle.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.
Bajar archivo...
ArchivoInformación adicional:Tamaño de archivoDescargas
Descargar este archivo (CU00208A Ejemplo paso parametros valor o referencia ejercicios pseudocodigo.pdf)CU00208A Ejemplo paso parametros valor o referencia ejercicios pseudocodigo.pdfFormato pdf90 Kb7447

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

ENERO - FEBRERO 2017

1. Java / J2EE
2. Entornos Oracle
3. .NET, C#
4. JavaScript, jQuery
5. Entornos SQL Server
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

Encuesta lenguajes

¿Sobre qué lenguaje te gustaría que trataran los próximos cursos de aprenderaprogramar.com?

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.