Você está na página 1de 7

Universidad Mariano Gálvez de Guatemala

Ingeniería En Sistemas De Información


Algoritmos.
Ing. Samuel de Jesús García.

Programas en C++

Hernández Folgar, Pablo César


0907-09-5975

03 de Octubre de 2009
/* 4.1.1Este programa ayudara a comprender tres conceptos*/
/* fundamentales en programacion: Diseño descendente*/
/* (Pocedimientos y Funciones), Ambitos de las variables y*/
/* paso de parametros*/
/**********************************************************/
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <iostream.h>
# include <math.h>
int convertir (int, int &);
void cambio (int &, int, int, int);
main ()
{
int dato1=2, dato2=4, dato3=6, numero=1700;
numero= convertir(numero,dato3);
cout <<numero<<" "<<dato3<< endl;
numero= convertir(numero,dato2);
cout <<numero<<" "<<dato2<<" "<<dato3<< endl;
numero= convertir(numero,dato1);
cout <<numero<<" "<<dato1<<" "<<dato2<< endl;
cambio(numero, dato1, dato2, dato3);
cout <<numero<<" "<<dato1<<" "<<dato2<<" "<<dato3<< endl;
numero=1;
cambio(numero, dato2, dato1, dato3);
cout <<numero<<" "<<dato1<<" "<<dato2<<" "<<dato3<< endl;
getch ();
}

int convertir (int num , int &dato)


{
int dato3;
dato3=dato;
dato= dato*2;
num=num/dato;
cout << dato <<" "<< dato3 << num;
return (num);
}

void cambio(int &n, int dato1, int dato2, int dato3)


{
dato1=dato2;
dato2=dato3;
dato3=dato1;
n=dato2+dato3+dato1;
}
/* 4.1.2 Este programa es para verificar sus conocientos de*/
/* subalgoritmos, ambitos de variables y comunicaciones entre*/
/* subalgoritmos (paso de parametros)*/
/**********************************************************/
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <iostream.h>
# include <math.h>
float sumar (float, float);
void AreaTriangulo (float, float &);
main ()
{
const int cte=10;
float ingresado, temporal, total;
cout <<"Ingrese numero: \n";
cin >> ingresado;
temporal=2;
total=sumar(temporal,ingresado);
cout <<"El total es: "<< total << endl;
cout << temporal<< endl;
AreaTriangulo(ingresado, total);
cout << total<<endl;
AreaTriangulo(sumar(total,cte), temporal);
cout <<"Finalmente total es: "<< total*temporal<< endl;
getch();
}

float sumar (float a, float b)


{
float result;
result= a+b;
cout << result << endl;
return (result);
}

void AreaTriangulo (float x, float &y)


{
float temporal;
temporal=x*y;
y=temporal*0.5;
cout << temporal<<endl;
}
/* 4.1.3 Conjunto de llamadas a subalgoritmos que resuelven*/
/* operaciones aritmeticas basicas*/
/**********************************************************/
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <iostream>
# include <math.h>
using namespace std;
int sumar (int, int);
int restar (int, int);
int multiplicar (int, int);
void cambio (int, int &);
int main ()
{
const int factor=2;
int x,y,total;
cout <<"Ingrese dos numeros: \n";
cin >> x>> y;
total=sumar(factor,y);
cout <<"el total de la suma es: "<<total<<endl;
cambio(total,x);
total=multiplicar(x,restar(y,total));
cout <<"El ultimo total es: "<<total+x<<endl;
getch ();
return 0;
}

int sumar (int a, int b)


{
int total;
total=a+b;
a=0;
b=0;
return (total);
}

int restar (int a, int b)


{
int result;
result=a-b;
cout<<a <<" "<< b<<endl;
return (result);
}

int multiplicar (int x, int y)


{
return (x*y);
}

void cambio (int a, int &b)


{
b=a/2;
b=b+a;
}

4.2 Escribir una rutina que reciba tres valores enteros, en el rango [0…100],
correspondientes a las calificaciones de un estudiante. Si el promedio de las calificaciones
es mayor a 85, la rutina retornará el carácter A. Si el promedio esta en el rango [61…85], se
retornará el carácter B. En otro caso, se retornará el carácter D.
DIAGRAMA DE FLUJO

Inicio

“Insertar 3 números
entre 0 y 100”

a>=0 Y b>=0 Y c>=0 Y


a<=100 b<=100 c<=100 d=(a+b+c)/3

1
1 2

“numero
incorrecto” d>=61 Y d>85 Y
D
d<=85 d<=100

Fin

B A

PSEUDOCODIGO

ALGORITMO Rutina
MODULOS INCLUIDOS
EntradaYSalida
VARIABLES
ENTERO: a,b,c,d
INICIO
Escribir (‘Ingrese 3 numeros’)
Leer (a)
Leer (b)
Leer (c)
SI a>=0 Y a <= 100 HACER
SI b>=0 Y b<= 100 HACER
SI c>=0 Y c<= 100 HACER
d (a+b+c)/3
SI d>85 Y d<= 100 HACER
Escribir (‘A’)
SINO
SI d>=61 Y d<=85 HACER
Escribir (‘B’)
SINO
Escribir (‘D’)
FINSI
FINSI
FINSI
FINSI
FINSI
FIN ALGORITMO Rutina
ECHO EN C++

# include <conio.h>
# include <stdio.h>
# include <string.h>
# include <math.h>
# include <iostream.h>
main ()
{
int a,b,c,d;
cout <<"Ingrese 3 numeros\n";
cin>>a;
cin>>b;
cin>>c;
if (a>=0 && a<=100)
if (b>=0 && b<=100)
if (c>=0 && c<=100)
d=(a+b+c)/3;
if (d>85 && d<=100)
cout <<"A";
if (d>=61 && d<=85)
cout <<"B";
else
cout <<"D";
getch ();
}

Você também pode gostar