sábado, 21 de mayo de 2011

Practica 10

Problema 1
Almacene los siguientes datos en un archivo:
5           96       87        78      93        21       4         92        82        83        87        6         72        69      85    75        81       73
escriba un programa para calcular y desplegar el promedio de cada grupo de números ene el archivo en el índice app de los datos.
Se han arreglado en el archivo para que cada grupo de números sea precedido por el número de elementos de datos del grupo.
Entonces el primer número en el archivo 5 indica que los siguientes cinco números se agrupan juntos y el numero cuatro igual y el  6 también.
SEUDOCODIGO
stream ejemplo
int i,j, a,b
float prom,suma
ejemplo.open("C:\\datos\\datos.dat", ios::out );
ejemplo<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73";
ejemplo.close()
ejemplo.open("C:\\datos\\datos.dat", ios::in )
for(from 0 to 3 step +1)
{
suma=0.0
ejemplo>>a
for (from 0 to a step +1)
{
ejemplo>>b
suma=suma+b
}
prom=suma/a
print "Promedio: ",prom
}
ejemplo.close()
fin

C++



Problema 2

Escriba un programa que lea el nombre de estudiantes y sus cuatro calificaciones, además que calcule el promedio e indique si el alumno aprobó.

SEUDOCODIGO
Inicio
fstream alumnos
int i,j,c=1, a,b,suma=0,a1,a2,a3,a4;
float prom,cal[5],a5;
char nombre[15],op;
alumnos.open("C:\\datos\\calf.dat", ios::out );
op='s'
do
{
suma=0
c++
prit "Nombre: ";
read nombre;
alumnos<<nombre<<" ";
for (i=1;i<5;i++)
{
print "Unidad "<<i<<": ";
read cal[i];
suma=suma+cal[i];
alumnos<<cal[i]<<" ";
}
cal[5]=suma/4.0;
alumnos<<cal[5]<<" ";
print "Otro? (s/n)"
read op
}
while(op=='s'|| op=='S')
alumnos.close()
alumnos.open("C:\\datos\\calf.dat", ios::in)
alumnos>>nombre
alumnos>>a1
alumnos>>a2
alumnos>>a3
alumnos>>a4
alumnos>>a5
print "Nombre\t\t\tCalificaciones\t\t\tPromedio"
while(!alumnos.eof())
{
if(a5>=70)
{
cout<<nombre<<"\t\t"<<a1<<"\t"<<a2<<"\t"<<a3<<"\t"<<a4<<"\t\t"<<a5<<"\tAprobado"<<endl;
alumnos>>nombre
alumnos>>a1
alumnos>>a2
alumnos>>a3
alumnos>>a4
alumnos>>a5
}
else
{
print nombre," ",a1," ",a2," ",a3," ",a4,"  ",a5,"No aprobado"
alumnos>>nombre;
alumnos>>a1
alumnos>>a2
alumnos>>a3
alumnos>>a4
}
}
alumnos.close()
Fin

C++





Problema 3

Escriba un archivo las siguientes cantidades de automóviles, el número de millas recorridas y las cantidades de galones de gasolina empelado para cada auto.
No. de Carro       Millas Recorridas     Galones Utilizados
54                          250                             19
62                          525                           38
71                          123                             6
85                          1322                          86
97                          235                             14
 Escriba un programa que lea los datos y despliegue la cantidad de automóviles, las millas recorridas y las millas por galón  para cada automóvil. La  salida debe contener además los totales de millas recorridas y el total de galones empleados, así como el promedio de millas por galón para todos los autos, dicho s totales deben desplegarse a la salida.
  SEUDOCODIGO
Inicio
fstream datos
datos.open("C:\\datos\\autos.txt", ios::out );
datos<<"54"<<" "<<"250"<<" "<<"19"<<endl;
datos<<"62"<<" "<<"525"<<" "<<"38"<<endl;
datos<<"71"<<" "<<"123"<<" "<<"6"<<endl;
datos<<"85"<<" "<<"1322"<<" "<<"86"<<endl;
datos<<"97"<<" "<<"235"<<" "<<"14"<<endl;
datos.close()
}
leerarchivo(float A[5][3])
{
int i,j
float valor
fstream datos
datos.open("C:\\datos\\autos.txt", ios::in );
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
{
datos>>valor
A[i][j]=valor
}
}
datos.close()
}
calculo (float A[5][3], float &total, float &total1, float &pt)
{
int i,j
total=0
for(j=1;j<3;j++)
{
for(i=0;i<5;i++)
{
total=total+A[i][j]
}
if (j==1)
{
total1=total
total=0
}
}
pt=total1/total;
}
millasporgal(float A[5][3], float mpg[5])
{
int i
for(i=0;i<5;i++)
{
mpg[i]=A[i][1]/A[i][2]
}
}
reporte(float A[5][3], float mpg[5], float tot1, float tot, float prom)
{
int i,j
print "No. Carro        Mi recorridas       Galones utilizados          promedio de MPG"
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
{
print A[i][j],"\t\t\t"
}
print mpg[i]
}
print "Total autos: 5"
print "Total millas: ",tot
print "Total galones: ",tot1
print "Promedio general: ",prom
}
 
main ()
{
float autos[5][3], mpg[5],mi, gal,promt;
creararchivo()
leerarchivo(autos)
calculo(autos,mi,gal,promt)
millasporgal(autos,mpg)
reporte(autos,mpg,mi,gal,promt)
}
Fin
C++





 Problema 4

Un archivo llamado polar contiene las coordenadas polares necesarias en un programa de graficas, actualmente este archivo contiene los sig. DatosDistancia  Angulo
      2         45
      6         30
     10        45
      4         60
      12       55
       8       15

Escriba un programa que acepte del usuario distancia y ángulo y los agregue al final del archivo.
y escriba un programa que lea este archivo (polar) y crea otro llamado xycord.txt
SEUDOCODIGO 

Inicio
 funcion escribir()
 {
 fstream archivo
 archivo.open("C:\\datos\\polar.dat",ios::binary | ios::out);
 archivo<<"2.0"<<" "<<"45.0"<<endl
 archivo<<"6.0"<<" "<<"30.0"<<endl
 archivo<<"10.0"<<" "<<"45.0"<<endl
 archivo<<"4.0"<<" "<<"60.0"<<endl
 archivo<<"12.0"<<" "<<"55.0"<<endl
 archivo<<"8.0"<<" "<<"15.0"<<endl
 archivo.close()
 }

 
funcion datosnuevos
{
 float distancia, angulo
 char otro
 fstream archivo
 archivo.open("C:\\datos\\polar.dat",ios::binary | ios::app);
 otro='s'
 do
 {
 print "Distancia: "
 read distancia
 archivo<<distancia<<" "
 print "Angulo: "
 read angulo
 archivo<<angulo<<endl;
 print "Otro dato?(s/n)"
 read otro
 }
 while(otro=='s' or otro=='S')
 archivo.close()
 }

 
funcion coordenadas
 {
 float distancia, angulo,radianes,x,y
 fstream f1;
 fstream f2;
 f1.open("C:\\datos\\polar.dat",ios::binary | ios::in)
 f2.open("C:\\datos\\xycoord.dat",ios::binary | ios::out)
 f1>>distancia
 while(!f1.eof())
 {
 f1>>angulo
 radianes=angulo*3.141592/180.0
 x=distancia*cos(radianes)
 y=distancia*sin(radianes)
 f2<<x<<" "<<y<<endl
 f1>>distancia
 }
 f1.close()
 f2.close()
 }

 
funcion imprimir
  {
  float x, y
  fstream archivo
  archivo.open("C:\\datos\\xycoord.dat",ios::binary | ios::in)
  archivo>>x
  while(!archivo.eof())
  {
  print x,",  "

  archivo>>y
  print y
  archivo>>x
  }
   archivo.close()
}
 
funcion main

 escribir()
 datosnuevos()
 coordenadas()
 print "Coordenadas rectangulares"
 imprimir()

fin


C++








Problema 5


Considere la siguiente lista de países y sus capitales.
Escriba un programa interactivo que acepte el nombre de un país como entrada y escriba su capital y viceversa. Diseñar el programa de modo que se ejecute repetidamente hasta introducir fin.

Canada,Inglaterra,Francia,India,Israel,Italia,Japon,Mexico,China,Estados Unidos,Rusia


Ottawa,Londres,Paris,Nueva Delhi,Jerusalen,Roma,Tokio,Cd de Mexico,Beijing,Washington DC, Moscu


SEUDOCODIGO
Inicio
char nombre[15],pais[12][15] = {"Canada","Inglaterra","Francia","India","Israel","Italia","Japon","Mexico","China","Estados Unidos","Rusia"};
char capital[12][15] = {"Ottawa","Londres","Paris","Nueva Delhi","Jerusalen","Roma","Tokio","Mexico DF","Beijing","Washington DC","Moscu"};

print "Escriba el nombre del pais o de la capital (para salir deje un espacio.)"<<endl;
do{
cin.getline(nombre,15,'\n');
for(int i=0;i<12;i++)
{
if(strcmpi(nombre,pais[i])==0)
{

print capital[i],endl
}
}
for(int i=0;i<12;i++)
{
if(strcmpi(nombre,capital[i])==0)
{

print pais[i],endl
}
}
}while(strcmpi(nombre," "))

fin

C++




Problema 6

Una empresa tiene varios vendedores. Por cada vendedor se tiene el nombre y la venta que realizo elaborar un programa que permita leer dichos datos y proporcione un reporte de comisiones de ventas en el cual aparezcan todos los vendedores .

SEUDOCODIGO
inicio
 int x=0,suma=0
float prom,nivel,comision
char otro,nombre[20][22]
int ventas[20]
do
{
print "Nombre de vendedor ",(x+1),": ",endl
cin.ignore()
cin.getline(nombre[x],22,'\n')
print "Venta de  ",nombre[x],": ",endl
read ventas[x]
suma=suma+ventas[x]
cout<<"Agregar otro vendedor?(S/N)";
cin>>otro;
x++;
}
while(otro=='s'|| otro=='S');
prom=suma/x;
nivel=(3.0/4.0)*prom;
print "Sueldo de vendedores que sobrepasaron el nivel de comisiones: ",endl
for(int i=0;i<x;i++)
{
if(ventas[i]>nivel)
{
comision=ventas[i]*0.05;
print "Vendedor ",nombre[i],". Comision(5%): ",comision,endl
}
}

C++



+

C





ppppp

C+

miércoles, 18 de mayo de 2011

Practica 9



Problema 1

Escriba un programa  que almacene los nombres y calificaciones de 30 alumnos desplegando una tabla, asi como la lista de aprobados, el promedio del grupo y el promedio mas alto.

funcion introdatos(float M[30][5])
{r,c entero
suma flotente
randomize()
for(r=0 to 30 step r++)
{suma=0
for(c=0 to 4 step c++)
{M[r][c]=(float)random(100)+1
suma=suma+M[r][c]
}
M[r][4]=suma/4
}}

funcion imprimetabla(float M[10][5],char nombre[10][25])
{ r,c entero
print "Alumnos  C1 C2 C3 C4 Promedio";
for(r=0 to 30 step r++)
{print "Alumno ",(r+1),": ",nombre[r]," "
for(c=0 to 5 step c++)
{ print M[r][c]," "
}
}}

funcion intronombre(char nombre[30][25])
{ i enteros
for(i=0 to  30 step i++)
{print "Nombre ",(i+1),": "
cin.getline(nombre[i], 25, '\n')
}}

funcion imprimeaprobados(float M[30][5], char nombre[30][25])
{print "Listado de alumnos aprobados "
print "Nombre\tPromedio"
for(int I=0 to  3 step I++)
{if(M[I][4]>=70)
{print nombre[I]," ",M[I][4] 
}}}

funcion promedio(float M[30][5])
{prom flotante
suma=0 flotante
for(int i=0 to  30 step i++)
{suma=suma+M[i][4]
}
prom=suma/10
return prom
}

funcion mayor(float M[30][5])
{ mayor1=0 flotante
for(int i=0 to 30 step i++)
{if(M[i][4]>mayor1)
{mayor1=M[i][4]
}}
return mayor1
}

funcion main()
{char n[30][25]
float M[30][5]
introdatos(M)
intronombre(n)

imprimetabla(M, n)

imprimeaprobados(M, n)

print"Promedio General: ",promedio(M)
print "Promedio mas alto: ",mayor(M)
}

C++



  
EJECUTABLE


PROBLEMA 2

Un ingeniero elaboro un arreglo bidimensional de numeros reales con 3 renglones y 5 columnas. Este arreglo contiene los voltajes de prueba obtenidas de un amplificador. Escriba un programa que enteroroduzca en forma enteroeractiva 15 valores del arreglo y que determine el numero totaal de voltajes cuyos rangos sean menores a 60, entre 60 y 70, entre 70 y 80, entre 80 y 90 y mayores a 90. si los rangos estan en x<60, 60<=x<70, 70<=x<80, 80<=x<90, x>90

SEUDOCODIGO
Inicio
Rangos( v[3][5] real, a  b  c  d  e entero)
{
i,j entero
for (0 to 3 step +1)
{
for (0 to 5 step+1)
{
if(v[i][j]<60)
a=a+1
else
if(v[i][j]>=60 and v[i][j]<70)
b=b+1
else
if(v[i][j]>=70 and v[i][j]<80)
c=c+1
else
if(v[i][j]>=80 and v[i][j]<90)
d=d+1
else
e=e+1
}
}
}
 main
{
float v[3][5]
 a=0,b=0,c=0,d=0,e=0,i,j,x entero
print "Datos "
x=0
for (0 to 3 step +1)
{
for (0 to 5 step +1)
{
x=x+1
print x,":"
read v[i][j]
}
}
Rangos(v,a,b,c,d,e);
print"60: ",a,"\tEntre 60 y 70: ",b,"\tEntre 70 y 80: ",c,\tEntre 80 y 90: ",d,"\t Mayor a 90: ",e
}
FIN

C++





PROBLEMA 3

Escriba un programa que sume los elementos equiparables de los arreglos bidimensionales denominados primero y segundo.ambos arreglos deben de tener m renglones y n columnas.por ejemplo los elementos 1 y 2 [1][2] del arreglo resulte deben ser la suma del primero y segundo ,los arreglos primero y segundo deben inicializarse con numeros aleatorios. el valor de m y n definalo con un valor constante.
Inicio
const int m=2;
const int n=3;
int primero[m][n];
int segundo[m][n];
int tercero[m][n];
introdatos(int a[m][n])
{r,c entero
randomize()
for(0 to 2 step +1)
{for(0 to 3 step +1)
{a[m][n]=random(1000)+1
}
}
}
imprimedatos(int a[m][n])
{r,c entero
print "Listado de la matriz"
for(0 to 2 step +1)
{for(0 to 3 step +1)
{print a[m][n],"\t"
}
print endl
}
}
sumar(int a[m][n],int b[m][n],int c[m][n])
{
c[m][n]=a[m][n]+b[m][n]
}
 main()
{ primero[m][n],segundo[m][n],tercero[m][n] entero
introdatos(primero)
introdatos(segundo)
sumar(primero,segundo,tercero)
imprimedatos(primero)
imprimedatos(segundo)
imprimedatos(tercero)
}
Fin

C++


PROBLEMA 4 

Escriba un programa que encuentre y despliegue el valor máximo en un arreglo bidimensional en números enteros. El arreglo debe declararse de 4 por 5 en números enteros, despliegue los números subíndices del renglón y columna que correspondan al valor máximo.
 SEUDOCODIGO
Inicio
maximo(a[4][5], &max, &posr, &posc entero)
{r,c entero
max=a[0][0]
posr=0
posc=0
for(0 to 4 step +1)
{for(0 to 5 step +1)
{if(a[r][c]>max)
{max=a[r][c]
posr=r
posc=c
}
}
}
}
introdatos(a[4][5] entero)
{r,c entero
randomize()
for(0 to 4 step +1)
{for(0 to 5 step +1)
{a[r][c]=random(1000)+1
}
}
}
imprimedatos(a[4][5],max,posr,posc entero)
{r,c entero
print "Listado de la matriz"
for(0 to 4 step +1)
{for(0 to 5 step +1)
{print a[r][c]<<"\t"}
print endl
}
print endl
print"Posicion R:",posr
print"Posicion C:",posc
print"Maximo:",max
}
main()
{a[4][5],max,posr,posc entero
introdatos(a)
maximo(a,max,posr,posc)
imprimedatos(a,max,posr,posc)
Fin
C++



Problema 5

Un examen final tiene 100 preguntas de eleccion multiple, cada pregunta tiene 5 respuestas a elegir de las cuales solo una es correcta y la informacion concerniente al estudiante puede representarse con "respuesta", "score"y "name" almacena el nombre de los estudiantes. Las respuestas se codifican entre 1 y 5, cuando se indico mas de una respuesta, esta se representa con 6 . Diseñe un programa cuyas salidas sean los nombres de los estudiantes que aprobaron el examen, se requiere una calificacion minima de 70 para aprobar.

SEUDOCODIGO



viernes, 1 de abril de 2011

CALCULADORA

CODIGO C++



#include <iostream.h>
#include <conio.h>
void suma(float n1,float n2)
{float Suma;
Suma=n1+n2;
cout<<"la Suma:\t"<<n1<<"+"<<n2<<"="<<Suma<<endl;
}
void resta(float n1,float n2)
{float Resta;
Resta=n1-n2;
cout<<"la Resta:\t"<<n1<<"-"<<n2<<"="<<Resta<<endl;
}
void multiplicacion(float n1,float n2)
{float Multiplicacion;
Multiplicacion=n1*n2;
cout<<"la multiplicacion:\t"<<n1<<"*"<<n2<<"="<<Multiplicacion<<endl;
}
void division(float n1,float n2)
{float Division;
Division=n1/n2;
cout<<"la Division:\t"<<n1<<"/"<<n2<<"="<<Division<<endl;
}
void seno(float n1)
{
    float seno;
    seno=sin(n1);
    cout<<"El seno de "<<n1<<" es:"<<seno<<endl;
}
void coseno(float n1)
{
    float coseno;
    coseno=cos(n1);
    cout<<"El coseno es:"<<coseno<<endl;
}
void tangente(float n1)
{
    float tangente;
    tangente=tan(n1);
    cout<<"La tangente es:"<<tangente<<endl;
}
void e(float n1,float z)
{
    float exp;
    exp=pow(n1,z);
    cout<<"Elevado a la "<<z<<" es:"<<exp<<endl;
}
void raiz(float n1)
{
    float r;
    r=sqrt(n1);
    cout<<"La raiz es:"<<r<<endl;
}
void main()
{char operacion;
float numero1,numero2,z;
char otro;
cout<<" + suma\n- resta\n* multiplicacion\n/ division\ne potencia\nr raiz\ns seno\nc coseno\nt tangente\n";
do
{
cout<<"Numero 1: ";
cin>>numero1;
cout<<"operacion: ";
cin>>operacion;
switch(operacion)
{case'+':
 cout<<"Numero 2: ";
 cin>>numero2;
 suma(numero1,numero2);
 break;
 case'-':
 cout<<"Numero 2: ";
 cin>>numero2;
 resta(numero1,numero2);
 break;
 case'*':
 cout<<"Numero 2: ";
 cin>>numero2;
 multiplicacion(numero1,numero2);
 break;
 case'/':
 cout<<"Numero 2: ";
 cin>>numero2;
 division(numero1,numero2);
 break;
 case 's':
 seno(numero1);
 break;
 case 'c':
 coseno(numero1);
 break;
 case 't':
 tangente(numero1);
 break;
 case 'e':
 cout<<"A q numero desea elevar:\n";
 cin>>z;
 e(numero1,z);
 break;
 case 'r':
 raiz(numero1);
 break;
 default:cout<<"Error en opcion";
 }
 cout<<"Otra operacion?\n";
 cin>>otro;
}
while(otro=='s');
 getch();
 }



IMAGEN DEL EJECUTABLE

Practica 8

Problema 1
Escriba una función denominada revisar (que tenga 3 parámetros) el primer parámetro debe aceptar un numero entero, el segundo parámetro un numero flotante y el tercer parámetro un numero de doble precisión. El contenido de la función solo debe mostrar los valores de los datos transmitidos a la función cuando sea llamada.Escriba una función denominada revisar (que tenga 3 parámetros) el primer parámetro debe aceptar un numero entero, el segundo parámetro un numero flotante y el tercer parámetro un numero de doble precisión. El contenido de la función solo debe mostrar los valores de los datos transmitidos a la función cuando sea llamada.

PSEUDOCODIGO
Inicio
revisar(int a,float b,double c)
{
print "Valor entero A = ",a
print "Valor flotante B = ",b
print "Valor presicion C =",c
}
void main()
{int num1
float num2
double num3
print "Dato entero"
read num1
print "Dato Flotante"
read num2
print "Dato de presicion"
read num3
revisar(num1,num2,num3)
fin

C++




















Problema 2

Escriba una función mult( ) que acepte como parámetro dos números como números flotante, multiplique estos dos números y despliegue el resultado.

SEUDOCODIGO

Inicio
void mult(float n1,float n2)
{real r1
r1=n1*n2
print "la multiplicacion de ",n1,"+",n2,"=",r1
}
void main()
{real a,b
print "Primer numero flotante ="
read a
print "Segundo numero flotante ="
read b
mult(a,b)
fin

C++















Problema 3

Escriba una función que produzca una tabla de números del 1 al 10, su valor al cuadrado y al cubo. Incluya esta función en un programa.
SEUDOCODIGO
tabla()
{int i
print "I  CUADRADO  CUBO"
for(i=1;i<=10;i=i+1)
{
print i,"      ",(i*i),"  ",(i*i*i)
}
}
void main()
{tabla()
}
fin

C++

Problema 4

Escriba una función denominada rectángulo ( ), que acepte la longitud de dos lados de un triángulo rectángulo con los argumentos a,b. La función debe determinar y volver c (hipotenusa) del triángulo. (sugerencia: utilice el teorema de pitagóras).

SEUDOCODIGO
inicio
int triangulorectangulo(int a,int b)
{
int c
c=sqrt(pow(a,2)+pow(b,2))
return c
}
void main()
{
int l1,l2
print " Valor del lado 1:"
read l1
print "Valor del lado 2:"
read l2
print "EL valor de la hipotenusa es ",triangulorectangulo(l1,l2)
fin

C++
Problema 5

Diseñe una función tal que dado un parámetro x regrese el siguiente valor:
1/x^5*((e^1.4232/x)-1)

Diseñe una función con dos parámetros x y n, talque regrese lo siguiente:

x+(x^n)-(x^n+2) si x => 0

(-x^n-1/n-1)+(x^n+1/n+1)
Haga un programa para llamar ambas funcianes

SEUDOCODIGO
Fin
funcion1(float x)
{
    float valor
    valor=1.0/(pow(x,5)*((exp(1.432)/x)-1.0))
    return valor
}
funcion2(float x,float n)
{
    float valor
    if(x>=0)
    {
        valor=x+pow(x,n)/n-pow(x,n+2)/n+2
    }
    else
    {
        valor=(-pow(x,(n-1))/n-1+(pow(x,n+1)/n+1))
    }
    return valor
}
void main()
{
    float v1,v2,x,n
    do
    {
        print "Valor de x:"
        read x
    }
    while(x==0)
    v1=funcion1(x)
    print "Valor de x:"
    read x
    print "Valor de la potencia:"
    read  n
    v2=funcion2(x,n)
    print "Valor de  la funcion 1:",v1
    print "Valor de la funcion 2:",v2
Fin

C++




Problema 6

SEUDOCODIGO
Inicio
void generarnumeros(int numeros[20]);
void listadopares(int numeros[20]);
void listadoimpares(int numeros[20]);
void elementos(int numeros[20]);
void prom(int numeros[20]);
void main()
{
 int valores[20];
generarnumeros(valores);
listadoimpares(valores)
listadopares(valores)
elementos(valores)
prom(valores)
}
void generarnumeros(int numeros[20])
{
int i
randomize();
 for(i=0;i<20;i=i+1)
 {
 numeros[i]=random(2000)+1;
}
}
void listadopares(int numeros[20])
{
  int i
  print "Listado de numeros pares:"
  for(i=0;i<20;i=i+1)
 {
 if(numeros[i]%2==0)
 {
print numeros[i],"\t"
}
 }
}
void listadoimpares(int numeros[20])
{
 int i
print "Listado de numeros impares:"
for(i=0;i<20;i=i+1)
{
 if(numeros[i]%2==1)
{
print numeros[i],"\t"
}
}
}
void elementos(int numeros[20])
{
int i
print "Elementos del vector"
 for(i=0;i<20;i=i+1)
  {
 print numeros[i],"\t"
}
}
void prom(int numeros[20])
{
int i,prom=0,rp;
 for(i=0;i<20;i=i+1)
{
 prom=prom+numeros[i];
 }
 rp=prom/20
 print"El promedio de los elementos:",rp
}

C++



































Problema 7

Problema 8

Escriba una función llamada tiempo, que tenga un parámetro en numero entero denominado segundos y tres parámetros de referencia en numero entero denominados horas,min y seg. La función ha de convertir el numero transmitido de segundos a su equivalente horas,min y seg. Utilizando las referencias, la función debe alterar directamente los argumentos respectivos en la función que llama.

SEUDOCODIGO
Inicio
void tiempo(int segundos,int &hr,int &min,int &seg)
{hr=segundos/3600
min=(segundos%3600)/60
seg=(min%60)
}
void main()
{int segundos,hr,min,seg;
print "Tiempo:"
read segundos
tiempo(segundos,hr,min,seg)
print "Tiempo"
print hr,":",min,":",seg
Fin

C++
















Problema 9

Escriba una función llamada cambio () que tenga un parámetro en numero entero y seis parámetros de numero entero denominado cien,cincuenta,veinte,diez,cinco y uno, respectivamente la función debe considerar el valor transmitido del numero entero como cantidad en dolar y convertir el valor al numero mas pequeño en billetes. Utilizando las referencias la función debe alterar directamente los argumentos respectivos en la función que llama.

SEUDOCODIGO

void cambio(int dolar,int &cien,int &cinc,int &vei,int &diez,int &cinco,int &uno)
{cien=dolar/100
cinc=(dolar%100)/50
vei=((dolar%100)%50)/20
diez=(((dolar%100)%50)%20)/10
cinco=((((dolar%100)%50)%20)%10)/5
uno=(((((dolar%100)%50)%20)%10)%5)/1
}
void main()
{int dolar,cien,cinc,vei,diez,cinco,uno
print "Dolares:"
read dolar
cambio(dolar,cien,cinc,vei,diez,cinco,uno);
print "Billetes de 100:",cien
print "Billetes de 50:",cinc
print "Billetes de 20:",vei
print "Billetes de 10:",diez
print "Billetes de 5:",cinco
print "Billetes de 1:",uno
Fin

C++

Problema 10

El volumen (v) y la superficie (s) de un cilindro están dadas por la formulas:
donde:
r=radio del cilindro.
l=es la longitud del cilindro.
Utilizando estas formulas escriba una función denominada cilindro () que acepte el radio (r) y el largo (l) de un cilindro y que devuelva el volumen y la superficie.

SEUDOCODIGO

Inicio
void cilindro(float &v,float &s)
{float l,r;
v=3.1416*pow(r,2)*l;
s=2*3.1416*r*l;
}
void main()
{float v,s,l,r;
print "Radio:"
read r
print "Longuitud:"
read l
cilindro(v,s)
print v
print s
Fin

C++

Problema 11

Escriba una función que calcule el radio (r) y el área (a) de un circulo cuando la circunferencia (c) es conocida. Las formulas relevantes son:
pruebe la función utilizando un programa que tenga una función especifica de control.

SEUDOCODIGO

Inicio
void area(float r)
{
float a
a=(3.1416)*pow(r,2);
print "El valor del area es:",a
}
void radio(float c)
{
float r
r=c/2*(3.114160)
print "El valor del radio es:",r
area(r)
}
void main()
{float c,r,a
print "Valor de c:"
read c
radio(c)
fin

C++


Problema 12

Escriba una plantilla de función llamado máximo que devuelva el valor máximo de tres argumentos que se transmitan a la función cuando esta sea llamada. Suponga que los tres argumentos serán del mismo tipo.

SEUDOCODIGO
Inicio
template<class t>
maximo(t v1,t v2,t v3)
{if(v1>=v2&&v1>=v3)
{
return v1
}
else
{
if(v2>=v1&&v2>=v3)
{
return v2
}
else
{
return v3
}
}
}
void main()
{int n1,n2,n3
float num1,num2,num3
print "Primer valor entero:"
read n1
print "Segundo valor entero:"
read n2
print "Tercer valor entero:"
read n3
print "El valor maximo es:"<<maximo(n1,n2,n3)
print "Primer valor flotante:"
read num1
print "Segundo valor flotante es:"
read num2
print "Tercer valor flotante es:"
read num3
print "El valor maximo flotante es:"<<maximo(num1,num2,num3)
fin

C++



Problema 13

Escriba un programa que almacene 10 valores a un arreglo llamado resistencia y 10 valores a un arreglo llamado corriente y considerar un arreglo llamado potencia que debe ser capaz de almacenar 10 números en doble precisión y 10 números enteros. Haga que el programa acepte los 10 valores introducidos por el usuario en el arreglo corriente y resistencia al ejecutar el programa debe de almacenar en el arreglo potencia el producto de los valores correspondientes al cuadrado del arreglo corriente y resistencia: (potencia[i]=resistencia[i]*pow(corriente[i],2)) y desplegar la salida: "resistencia corriente potencia".

SEUDOCODIGO

Inicio
template <class t>
t introcorriente(t corriente[10])
{
    int i;
    cout<<"Corriente\n"
    for(i=0;i<10;i++)
    {
        cout<<"corriente: "<<i<<endl
cin>>corriente[i]
    }
    return 0
}
template <class t>
t introresistencia(t resistencia[10])
{
    int i
    cout<<"Resistencia\n"
    for(i=0;i<10;i++)
    {
        cout<<"resistencia: "<<i<<endl
cin>>resistencia[i]
    }
    return 0
}
template <class t>
t calculopotencia(t corriente[10],t resistencia[10],t potencia[i])
{
    int i
    double suma=0
    for(i=0;i<10;i++)
    {
        potencia[i]=resistencia[i]*pow(corriente[i],2)
        suma=suma+potencia[i]
    }
    return suma
}
void main()
{int i,res[10],cor[10],pot[10]
introcorriente(cor)
introresistencia(res)
calculopotencia(cor,res,pot)
print"corriente\tresistencia\tpotencia"
for(i=0;i<10;i++)
{
print cor[i],"\t\t",res[i],"\t\t",pot[i]
}
print "Potrncia","\t\t",calculopotencia(cor,res,pot)
Fin

C++