SlideShare una empresa de Scribd logo
Universidad Nacional de Lomas de Zamora
Apunte teórico: Técnicas de Programación –
Pseudocódigo: Según sea y pseudocódigo.
Facultad de Ingeniería
Curso 111 Mil
Profesor Alejandro Canosa
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
2
SEGÚN SEA / CASO:
En programación: switch/case
“Según sea” contiene un conjunto de reglas basadas en un dato determinado, y a partir de los
posibles valores que puede contener ese dato se ejecutan distintos bloques de instrucciones,
puede contener también la posibilidad de que no se cumpla ninguna de las reglas (OTRO).
Ejemplo
ENTERO opción = 0
IMPRIMIR (“Ingresa una opción”)
LEER (opción)
SEGÚN(opción)
CASO 1:
IMPRIMIR(“Escribiste el número 1”)
FIN CASO
CASO 2:
IMPRIMIR(“Escribiste el número 2”)
FIN CASO
CASO 3:
IMPRIMIR(“Escribiste el número 3”)
FIN CASO
OTRO:
IMPRIMIR(“No escribiste ni 1, ni 2, ni 3”)
FIN CASO
FIN SEGÚN
Al empezar el usuario ingresa un numero entero OPCIÓN, si ingreso el 1, se va imprimir que eligió
el 1, si ingreso el 2, la maquina le dice que escribió el 2, si elige el 3, también dice que eligió tal
número. En caso de que haya elegido un número distinto a los 3 previamente mencionados, la pc
le dirá al usuario que eligió un número distinto.
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
3
FUNCIONES Y PROCEDIMIENTOS (SUBPROGRAMAS)
Muchas veces va a ocurrir que escribimos código que vamos a usar varias veces a lo largo de la
ejecución de un programa. Para evitar escribir lo mismo 20 veces (y poder reusar código dentro de
otros programas) usamos las funciones y procedimientos. Estos son llamados rutinas y son
invocados por el programa principal, junto con los datos necesarios para que completen la tarea,
se comportan de manera independiente al programa (solo depende en la entrada de datos) y
contienen un nombre que las identifica, al igual que las variables, solo que se pueden repetir SI
TIENEN DISTINTOS PARÁMETROS. Cabe aclarar que una misma rutina puede ser llamada mas de 1
vez por el programa principal y no puede usar las variables que fueron declaradas en el programa
principal (si no son pasadas como parámetros) o en otra subrutina, a menos que sea una variable
global (más adelante se explica este concepto).
Diferencias entre funciones y procedimientos:
 La función devuelve un valor único mientras que el procedimiento puede retornar
SOLAMENTE valores en los datos de entrada (es decir, cambiarlos) o simplemente puede
no retornar nada.
 El procedimiento se usa como una instrucción que contiene varias dentro
 El procedimiento puede llamar funciones para completar su tarea, pero una función no (es
redundante)
 Las funciones pueden ser usadas como parámetros.
 El procedimiento se puede convertir en un módulo (subprograma).
Los subprogramas se escriben separados del programa principal, es decir:
INICIO
//hago lo que tengo que hacer
FIN
FUNCIÓN …. //escribo mi función
Parámetros: los parámetros son datos que ingresan al subprograma, puede ser un numero entero,
real, texto, un objeto, etc. (se debe indicar el tipo al escribirlos), puede haber subprogramas que
no pidan parámetros para funcionar. Los parámetros definidos son obligatorios, no se puede
llamar a un subprograma que tiene un numero entero de entrada sin darle un numero entero…
eso genera un error. También hay parámetros de salida, que contienen los datos finales una vez
que haya terminado la subrutina, y se envían (o devuelven) al programa principal.
Ejemplo de Sintaxis de subprograma
Función calcularÁrea(ENTRADA: ENTERO base, ENTERO altura. SALIDA: ENTERO área) //calcula
//área de cuadrado
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
4
ENTERO calcularÁrea(ENTERO base, ENTERO altura) //más parecido al código de programación.
PROCEDIMIENTO mostrarResultado(ENTERO área)
Ejemplo completo:
Función calcularÁrea(ENTRADA: ENTERO base, ENTERO altura / SALIDA: ENTERO área)
ENTERO área = 0
área = base * altura
RETORNAR área //envío el valor al programa que invoco la función
FIN calcularÁrea
PROCEDIMIENTO mostrarResultado(ENTERO área)
IMPRIMIR(“*************”)
IMPRIMIR(“Resultado: ” + área)
IMPRIMIR(“*************”)
FIN mostrarResultado
Como se habrá visto arriba, el procedimiento no tiene parámetros de salida a diferencia de la
función, dependiendo lo que se desea hacer y obtener elegiremos escribir una función o un
procedimiento en base a estas características.
Una vez tengo declaradas mis funciones y mis procedimientos, solo hace falta que el programa
principal los ejecute o llame, para las funciones se usa LLAMAR, mientras que los procedimientos
se escriben sin ninguna instrucción:
INICIO
ENTERO base
ENTERO altura
ENTERO área
Leer(base)
Leer(altura)
área = LLAMAR calcularÁrea(base,altura) // le asigno a la variable área el parámetro de
//salida de la función
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
5
mostrarResultado(área) //muestro el resultado
FIN
Una vez llamo a la función calcularArea, la misma después ejecutar todas las instrucciones va a
guardar el dato de salida (área del rectángulo) dentro de la variable “área”, el programa sigue su
funcionamiento.
Muy importante respetar el orden de los parámetros, si yo declare la función calcularArea de la
siguiente manera:
ENTERO calcularÁrea(ENTERO base, ENTERO altura)
Y yo la llamo así:
LLAMAR calcularÁrea(altura,base)
La función se ejecuta, pero con la diferencia de que la altura se toma como base y viceversa. En
este caso que es una multiplicación (Propiedad conmutativa de los productos) no va a pasar nada,
pero en otros va a salir un resultado diferente al normal.
VARIABLES GLOBALES Y LOCALES
Una variable global es aquella que puede ser accedida en cualquier función o procedimiento. La
variable global es declarada fuera del programa principal en algunos lenguajes, en JAVA se le
escribe STATIC antes del tipo de variable.
La variable local solo está restringida al ámbito de la función donde es declarada.
EJERCICIOS:
1. Escribir un programa que escriba el mes del año correspondiente al número que ingreso el
usuario.
2. Escribir una función que devuelva la potencia de un número dado
3. Escribir una función que devuelva el área de un circulo dado un radio determinado (𝜋 ∗
𝑟2
)
4. Escribir una función en pseudocódigo que convierta pesos en 3 monedas distintas (según
la que se haya elegido): dólar, euros y yenes. Cuidado con el tipo de variables elegido para
los parámetros.
 Dólar = 17,6 pesos
 Euro: 20,7 pesos
 Yen: 0,15 pesos
5. Realizar un procedimiento que sea un menú donde se muestren las operaciones básicas
de matemática (suma, resta, división y multiplicación) con 2 números como parámetros de
Alejandro Canosa, Universidad Nacional de Lomas de Zamora
Curso 111Mil, 2017
6
entrada, según la opción elegida, llamar a una función que realice la operación
seleccionada y devuelva el resultado de los 2 números.

Más contenido relacionado

La actualidad más candente

Funciones en C
Funciones en CFunciones en C
Funciones en C
Ronny Parra
 
Trabajo case
Trabajo caseTrabajo case
Trabajo case
George Yep-s
 
Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
compumet sac
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En C
painni
 
Clase 6
Clase 6Clase 6
Clase 6
diego MC
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
ANDRES FELIPE CRUZ ERAZO
 
USO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPT
USO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPTUSO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPT
USO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPT
RULAZ110
 
OPERADORES PARA C++
OPERADORES PARA C++OPERADORES PARA C++
OPERADORES PARA C++
Idalia Tristan
 
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioLenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Carlos
 
Apunte plsql
Apunte plsqlApunte plsql
Apunte plsql
Luciano Gutierrez
 
Manual De Pascal
Manual De PascalManual De Pascal
Manual De Pascal
MANUELRSG
 
INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++
Idalia Tristan
 
Estructura switch case
Estructura switch caseEstructura switch case
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
computaciondosunefm
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
Jose Eamirez
 
Utilidad de las funciones en c
Utilidad de las funciones en cUtilidad de las funciones en c
Utilidad de las funciones en c
José Adrián Zambrano Miranda
 
Instrucciones para c_
Instrucciones para c_Instrucciones para c_
Instrucciones para c_
GamePlayer35
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
Ruben Lozano
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Lic_Vera
 
2.4 Bucles Repetitivos
2.4 Bucles Repetitivos2.4 Bucles Repetitivos
2.4 Bucles Repetitivos
Meztli Valeriano Orozco
 

La actualidad más candente (20)

Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Trabajo case
Trabajo caseTrabajo case
Trabajo case
 
Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En C
 
Clase 6
Clase 6Clase 6
Clase 6
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
USO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPT
USO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPTUSO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPT
USO DE LOS ELEMENTOS DEL LENGUAJE JAVASCRIPT
 
OPERADORES PARA C++
OPERADORES PARA C++OPERADORES PARA C++
OPERADORES PARA C++
 
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioLenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
 
Apunte plsql
Apunte plsqlApunte plsql
Apunte plsql
 
Manual De Pascal
Manual De PascalManual De Pascal
Manual De Pascal
 
INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
Utilidad de las funciones en c
Utilidad de las funciones en cUtilidad de las funciones en c
Utilidad de las funciones en c
 
Instrucciones para c_
Instrucciones para c_Instrucciones para c_
Instrucciones para c_
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
2.4 Bucles Repetitivos
2.4 Bucles Repetitivos2.4 Bucles Repetitivos
2.4 Bucles Repetitivos
 

Similar a Pseudocódigo apunte segun sea y subrutinas

5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx
Dieguess
 
Unidad III
Unidad IIIUnidad III
Presentacion
PresentacionPresentacion
Presentacion
Javier Herrera
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
flaquita_dany
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
flaquita_dany
 
Estructura del programa arduino
Estructura del programa arduinoEstructura del programa arduino
Estructura del programa arduino
tecnocm
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
Cesar David Fernandez Grueso
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
eulo10
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)
tonytenorio2
 
Estructura programa arduino
Estructura programa arduinoEstructura programa arduino
Estructura programa arduino
recursos educativos
 
Visaul
VisaulVisaul
Visaul
thais0511
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Taller formulas y funciones
Taller formulas y funcionesTaller formulas y funciones
Taller formulas y funciones
Ropoga
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
AlexanderAloid
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
luismart05
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
Cristian C
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
Jaime David Romero Olivo
 
Funciones
FuncionesFunciones
Funciones
Fernando Solis
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
lisbeca
 
Fundamentos De Programacion
Fundamentos De ProgramacionFundamentos De Programacion
Fundamentos De Programacion
www.areatecnologia.com
 

Similar a Pseudocódigo apunte segun sea y subrutinas (20)

5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Presentacion
PresentacionPresentacion
Presentacion
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Estructura del programa arduino
Estructura del programa arduinoEstructura del programa arduino
Estructura del programa arduino
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)
 
Estructura programa arduino
Estructura programa arduinoEstructura programa arduino
Estructura programa arduino
 
Visaul
VisaulVisaul
Visaul
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Taller formulas y funciones
Taller formulas y funcionesTaller formulas y funciones
Taller formulas y funciones
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Funciones
FuncionesFunciones
Funciones
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
 
Fundamentos De Programacion
Fundamentos De ProgramacionFundamentos De Programacion
Fundamentos De Programacion
 

Último

Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (8)

Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

Pseudocódigo apunte segun sea y subrutinas

  • 1. Universidad Nacional de Lomas de Zamora Apunte teórico: Técnicas de Programación – Pseudocódigo: Según sea y pseudocódigo. Facultad de Ingeniería Curso 111 Mil Profesor Alejandro Canosa
  • 2. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 2 SEGÚN SEA / CASO: En programación: switch/case “Según sea” contiene un conjunto de reglas basadas en un dato determinado, y a partir de los posibles valores que puede contener ese dato se ejecutan distintos bloques de instrucciones, puede contener también la posibilidad de que no se cumpla ninguna de las reglas (OTRO). Ejemplo ENTERO opción = 0 IMPRIMIR (“Ingresa una opción”) LEER (opción) SEGÚN(opción) CASO 1: IMPRIMIR(“Escribiste el número 1”) FIN CASO CASO 2: IMPRIMIR(“Escribiste el número 2”) FIN CASO CASO 3: IMPRIMIR(“Escribiste el número 3”) FIN CASO OTRO: IMPRIMIR(“No escribiste ni 1, ni 2, ni 3”) FIN CASO FIN SEGÚN Al empezar el usuario ingresa un numero entero OPCIÓN, si ingreso el 1, se va imprimir que eligió el 1, si ingreso el 2, la maquina le dice que escribió el 2, si elige el 3, también dice que eligió tal número. En caso de que haya elegido un número distinto a los 3 previamente mencionados, la pc le dirá al usuario que eligió un número distinto.
  • 3. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 3 FUNCIONES Y PROCEDIMIENTOS (SUBPROGRAMAS) Muchas veces va a ocurrir que escribimos código que vamos a usar varias veces a lo largo de la ejecución de un programa. Para evitar escribir lo mismo 20 veces (y poder reusar código dentro de otros programas) usamos las funciones y procedimientos. Estos son llamados rutinas y son invocados por el programa principal, junto con los datos necesarios para que completen la tarea, se comportan de manera independiente al programa (solo depende en la entrada de datos) y contienen un nombre que las identifica, al igual que las variables, solo que se pueden repetir SI TIENEN DISTINTOS PARÁMETROS. Cabe aclarar que una misma rutina puede ser llamada mas de 1 vez por el programa principal y no puede usar las variables que fueron declaradas en el programa principal (si no son pasadas como parámetros) o en otra subrutina, a menos que sea una variable global (más adelante se explica este concepto). Diferencias entre funciones y procedimientos:  La función devuelve un valor único mientras que el procedimiento puede retornar SOLAMENTE valores en los datos de entrada (es decir, cambiarlos) o simplemente puede no retornar nada.  El procedimiento se usa como una instrucción que contiene varias dentro  El procedimiento puede llamar funciones para completar su tarea, pero una función no (es redundante)  Las funciones pueden ser usadas como parámetros.  El procedimiento se puede convertir en un módulo (subprograma). Los subprogramas se escriben separados del programa principal, es decir: INICIO //hago lo que tengo que hacer FIN FUNCIÓN …. //escribo mi función Parámetros: los parámetros son datos que ingresan al subprograma, puede ser un numero entero, real, texto, un objeto, etc. (se debe indicar el tipo al escribirlos), puede haber subprogramas que no pidan parámetros para funcionar. Los parámetros definidos son obligatorios, no se puede llamar a un subprograma que tiene un numero entero de entrada sin darle un numero entero… eso genera un error. También hay parámetros de salida, que contienen los datos finales una vez que haya terminado la subrutina, y se envían (o devuelven) al programa principal. Ejemplo de Sintaxis de subprograma Función calcularÁrea(ENTRADA: ENTERO base, ENTERO altura. SALIDA: ENTERO área) //calcula //área de cuadrado
  • 4. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 4 ENTERO calcularÁrea(ENTERO base, ENTERO altura) //más parecido al código de programación. PROCEDIMIENTO mostrarResultado(ENTERO área) Ejemplo completo: Función calcularÁrea(ENTRADA: ENTERO base, ENTERO altura / SALIDA: ENTERO área) ENTERO área = 0 área = base * altura RETORNAR área //envío el valor al programa que invoco la función FIN calcularÁrea PROCEDIMIENTO mostrarResultado(ENTERO área) IMPRIMIR(“*************”) IMPRIMIR(“Resultado: ” + área) IMPRIMIR(“*************”) FIN mostrarResultado Como se habrá visto arriba, el procedimiento no tiene parámetros de salida a diferencia de la función, dependiendo lo que se desea hacer y obtener elegiremos escribir una función o un procedimiento en base a estas características. Una vez tengo declaradas mis funciones y mis procedimientos, solo hace falta que el programa principal los ejecute o llame, para las funciones se usa LLAMAR, mientras que los procedimientos se escriben sin ninguna instrucción: INICIO ENTERO base ENTERO altura ENTERO área Leer(base) Leer(altura) área = LLAMAR calcularÁrea(base,altura) // le asigno a la variable área el parámetro de //salida de la función
  • 5. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 5 mostrarResultado(área) //muestro el resultado FIN Una vez llamo a la función calcularArea, la misma después ejecutar todas las instrucciones va a guardar el dato de salida (área del rectángulo) dentro de la variable “área”, el programa sigue su funcionamiento. Muy importante respetar el orden de los parámetros, si yo declare la función calcularArea de la siguiente manera: ENTERO calcularÁrea(ENTERO base, ENTERO altura) Y yo la llamo así: LLAMAR calcularÁrea(altura,base) La función se ejecuta, pero con la diferencia de que la altura se toma como base y viceversa. En este caso que es una multiplicación (Propiedad conmutativa de los productos) no va a pasar nada, pero en otros va a salir un resultado diferente al normal. VARIABLES GLOBALES Y LOCALES Una variable global es aquella que puede ser accedida en cualquier función o procedimiento. La variable global es declarada fuera del programa principal en algunos lenguajes, en JAVA se le escribe STATIC antes del tipo de variable. La variable local solo está restringida al ámbito de la función donde es declarada. EJERCICIOS: 1. Escribir un programa que escriba el mes del año correspondiente al número que ingreso el usuario. 2. Escribir una función que devuelva la potencia de un número dado 3. Escribir una función que devuelva el área de un circulo dado un radio determinado (𝜋 ∗ 𝑟2 ) 4. Escribir una función en pseudocódigo que convierta pesos en 3 monedas distintas (según la que se haya elegido): dólar, euros y yenes. Cuidado con el tipo de variables elegido para los parámetros.  Dólar = 17,6 pesos  Euro: 20,7 pesos  Yen: 0,15 pesos 5. Realizar un procedimiento que sea un menú donde se muestren las operaciones básicas de matemática (suma, resta, división y multiplicación) con 2 números como parámetros de
  • 6. Alejandro Canosa, Universidad Nacional de Lomas de Zamora Curso 111Mil, 2017 6 entrada, según la opción elegida, llamar a una función que realice la operación seleccionada y devuelva el resultado de los 2 números.