Algoritmo operacion
definir op como entero
escribir "1. Rectangulo ";
escribir "2. Cuadrado ";
escribir "Ingrese una opcion "; leer op;
segun op
1:
rectangulo();
2:
cuadrado();
De Otro Modo:
escribir "Ingrese opciones 1 o 2 ";
FinSegun
FinAlgoritmo
SubProceso rectangulo
definir b, h, A como real;
escribir "Ingrese base ";
leer b;
escribir "Altura ";
leer h;
A<-b*h;
escribir "Area ", A;
FinSubProceso
SubProceso cuadrado
definir l, A como real;
escribir "Ingrese lado ";
leer l;
A<-l*l;
escribir "Area ", A;
FinSubProceso
C++
#include<iostream>
#include<string>
using namespace std;
float rectangulo(), cuadrado (), A, b, h, l;
main(){
int op;
cout<<"1. Rectangulo "<<endl;
cout<<"2. Cuadrado "<<endl;
cout<<"Ingrese opcion "; cin>>op;
switch (op){
case 1:
rectangulo();
break;
case 2:
cuadrado();
break;
default:
cout<<"Ingrese opciones 1 o 2 "<<endl;
}
return 0;
}
float rectangulo (){
cout<<"Ingrese base ";
cin>>b;
cout<<"Ingrese altura ";
cin>>h;
A=b*h;
cout<<"Area "<<A<<endl;
}
float cuadrado(){
cout<<"Ingrese lado ";
cin>>l;
A=l*l;
cout<<"Area "<<A<<endl;
}
Parámetros.
Las funciones o procesos también pueden recibir valores de entrada
(llamados parámetros) y el cual retorna un valor resultado.
De manera opcional se le puede agregar las palabras claves Por
Valor o Por Referencia para indicar el tipo de parámetro en cada
argumento.
Parámetro por valor.
Implica que la función opera con una
copia de la variable (o el resultado de
la expresión) que se utilizó en la
llamada, por lo que las modificaciones
que aplique la función no se verán
reflejadas fuera de la misma.
Parámetro por valor.
Es opcional el uso de su tipo
identificador que es la palabra
reservada por valor, después de ser
invocado o llamado el subproceso,
se le tiene que asignar el valor de la
variable.
Si no se indica, los arreglos se pasan
por referencia, las demás expresiones
por valor.
Parámetro por referencia.
Las variables por referencia declaradas
en una función, deben ser llamadas tal
como se ha declarado.
El parámetro por referencia implica
que si la función modifica el
argumento, se modificará en realidad
la variable que se utilizó en la
llamada.
Parámetro por referencia.
Para invocar a la función se debe utilizar su nombre y entre
paréntesis los parámetros, que podrán ser expresiones sólo si el
tipo de parámetro es por referencia. Una llamada puede ser en sí
una instrucción, pero si la función retorna algún valor, también
puede utilizarse como operando dentro de una expresión.
Ejemplo 1.
Algoritmo contabilidad
definir op como entero
escribir "1. Pasivo ";
escribir "2. Capital ";
escribir "Ingrese una opcion ";leer op;
segun op
1:
pasivo(a, ca);
2:
capital(a, p);
De Otro Modo:
escribir "Ingresar opciones 1 o 2 ";
FinSegun
FinAlgoritmo
SubProceso pasivo(a, ca)
escribir "Ingrese activo "; leer a;
escribir "Ingrese capital "; leer ca;
pa<-a-ca
Escribir "Pasivo ", pa;
FinSubProceso
SubProceso capital(a, p)
escribir "Ingrese activo "; leer a;
escribir "Ingrese pasivo "; leer p;
ca<-a-p;
Escribir "Capital ", ca;
FinSubProceso
Ejemplo 2 Desglozado
Algoritmo figuras_planas
escribir "1. Triangulo ";
escribir "2. Rombo ";
escribir "Ingrese opcion "; leer op;
segun op
1:
escribir "a. Perimetro ";
escribir "b. Area ";
escribir "Ingrese opcion "; leer opc;
si opc=="a" Entonces
tperimetro(a,b,c);
sino si opc="b" entonces
tarea(b,h);
SiNo
escribir "Ingrese a o b ";
Finsi
FinSi
2:
rperimetro(a);
rarea(D,d);
De Otro Modo:
escribir "Ingrese opciones 1 o 2 ";
FinSegun
FinAlgoritmo
SubProceso tperimetro(a,b,c)
escribir "Ingrese lado 1"; leer a;
escribir "Ingrese lado 2"; leer b;
escribir "Ingrese lado 3"; leer c;
r<-a+b+c;
escribir "Resultado ", r;
FinSubProceso
SubProceso tarea(b,h)
escribir "Ingrese base "; leer b;
escribir "Ingrese altura "; leer h;
r<-b*h/2;
escribir "Resultado ", r;
FinSubProceso
SubProceso rperimetro(a)
escribir "Ingrese lado "; leer a;
r<-4*a;
escribir "Resultado ", r;
FinSubProceso
SubProceso rarea(D,dm)
escribir "Ingrese diagonal mayor "; leer D;
escribir "Ingrese diagonal menor "; leer dm;
r<-D*d/2
escribir "Resultado ", r;
FinSubProceso
Ejemplo 3 Con varible de retorno y con parametros.
Algoritmo figuras_planas
escribir "1. Triangulo ";
escribir "2. Rombo ";
escribir "Ingrese opcion "; leer op;
segun op
1:
escribir "a. Perimetro ";
escribir "b. Area ";
escribir "Ingrese opcion "; leer opc;
si opc=="a" Entonces
escribir "Ingrese lado 1"; leer a;
escribir "Ingrese lado 2"; leer b;
escribir "Ingrese lado 3"; leer c;
escribir "Resultado ", tperimetro(a,b,c);
sino si opc="b" entonces
tarea(b,h);
SiNo
escribir "Ingrese a o b ";
Finsi
FinSi
2:
escribir "Ingrese lado "; leer a;
escribir "Resultado ", rperimetro(a)
rarea(D,d);
De Otro Modo:
escribir "Ingrese opciones 1 o 2 ";
FinSegun
FinAlgoritmo
SubProceso r<-tperimetro(a,b,c)
r<-a+b+c;
FinSubProceso
SubProceso tarea(b,h)
escribir "Ingrese base "; leer b;
escribir "Ingrese altura "; leer h;
r<-b*h/2;
escribir "Resultado ", r;
FinSubProceso
SubProceso r<-rperimetro(a)
r<-4*a;
escribir "Resultado ", r;
FinSubProceso
SubProceso rarea(D,dm)
escribir "Ingrese diagonal mayor "; leer D;
escribir "Ingrese diagonal menor "; leer dm;
r<-D*d/2
escribir "Resultado ", r;
FinSubProceso
C++
#include <iostream>
#include<string>
using namespace std;
float tperimetro(float a, float b, float c), tarea(float b, float h);
float rperimetro(float a), rarea (float D, float dm);
float a, b, c, h, r, D, dm;
main (){
int op;
char opc;
cout<<"1. Triangulo "<<endl;
cout<<"2. Rombo "<<endl;
cout<<"Ingrese opcion "; cin>>op;
switch (op){
case 1:
cout<<"a. Perimetro"<<endl;
cout<<"b. Area"<<endl;
cout<<"Ingrese opcion "; cin>>opc;
if(opc=='a'){
cout<<"Ingrese lado 1 "; cin>>a;
cout<<"Ingrese lado 2 "; cin>>b;
cout<<"Ingrese lado 3 "; cin>>c;
cout<<"Resultado "<<tperimetro(a,b,c)<<endl;
}else if (opc=='b'){
tarea(b,h);
}else{
cout<<"Ingrese a o b"<<endl;
}
break;
case 2:
cout<<"Ingrese lado "; cin>>a;
cout<<"Resultado " <<rperimetro(a)<<endl;
rarea(D, dm);
break;
default:
cout<<"Ingrese opciones 1 o 2 "<<endl;
}
return 0;
}
float tperimetro (float a, float b, float c){
r=a+b+c;
return r;
}
float tarea (float b, float h){
cout<<"Ingrese base "; cin>>b;
cout<<"Ingrese altura "; cin>>h;
r=b*h/2;
cout<<"Resultado "<<r<<endl;
}
float rperimetro (float a){
r=4*a;
return r;
}
float rarea (float D, float dm){
cout<<"Ingrese diagonal mayor "; cin>>D;
cout<<"Ingrese diagonal menor "; cin>>dm;
r=D*dm/2;
cout<<"Resultado "<<r<<endl;
}
Ejemplo 4 Con Varibale de retorno
Algoritmo contabilidad
definir op como entero
escribir "1. Pasivo ";
escribir "2. Capital ";
escribir "Ingrese una opcion "; leer op;
segun op
1:
escribir "Ingrese activo "; leer a;
escribir "Ingrese capital "; leer ca;
Escribir "Pasivo ", pasivo(a,ca);
2:
escribir "Ingrese activo "; leer a;
escribir "Ingrese pasivo "; leer p;
escribir "Capital",capital(a, p);
De Otro Modo:
escribir "Ingresar opciones 1 o 2 ";
FinSegun
FinAlgoritmo
SubProceso pa<-pasivo(a,ca)
pa<-a-ca;
FinSubProceso
SubProceso pa<-capital(a, p)
pa<-a-p;
FinSubProceso
Comentarios
Publicar un comentario