lunes, 28 de mayo de 2012

PRACTICA 15.

PRACTICA 15.

Pseudocódigo Practica 15 Problema 1.
Programa principal ()
{
A[3][10]= {0,0,0,0,0,0,0,0,0,0}       int
seccion=0,vuelo=0,otro=0          int
do
{
menuviaje(vuelo,seccion)
asiento(A, vuelo, seccion)
Print "\nCapturar nueva viaje  Si=1 No=0: "
Read otro
Print “\n”
}
while(otro==1)
imprimir(A)
getch()
}
Fin
Funcion void menuviaje(int &vuelo, int &seccion)
{
Print "\n\t\tMENU DE VUELOS\n\n"
Print "\tSeccion Primera Clase & Economica\n\n"
Print "Viaje 1__________Tijuana-Acapulco\n"
Print "Viaje 2__________Tijuana-San Diego\n"
Print "Viaje 3__________Tijuana-Cancun\n"
Print "Vuelo elegido: "
Read vuelo
Print "Seccion: "
Read seccion
}
Fin funcion
Función void asiento(int A[3][10], int & vuelo, int & seccion)
{
i , b      int
switch(vuelo)
{
            case 1:
                        switch (seccion)
         {
                                    case 1:  i=0  b=0
                                                while ((i<=4) && (b==0))
                                                                        {
                                                                        if (A[0][i]!=1)
                                                                        {
                                                                        b=1
                                                A[0][i]=1
                                                Print "PASE DE ABORDAR\nVuelo 1\t Primera Clase\tAsiento:",(i+1)
                                                }
                                                else
                                                {
                                                if (i==4)
                      {Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
                                                i++
                                                }
                                                }
                                                break
                                    case 2: i=5 b=0
                                                while(i<=9 && b==0)
                                                {
                                                if (A[0][i]!=1)
                                                {
                                                A[0][i]=1
                                                b=1
                                                Print "PASE DE ABORDAR\nVuelo 1\t Clase Economica\tAsiento:",(i+1)
                                                }
                                                else
                                                {
                                                if(i==9)
                                                {
                                                Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
                                                i++
                                                }
                                                }
                                                break
                                    default: Print "ERROR EN SELECCION DE CLASE."
         }
                        break
   case 2:
                        switch (seccion)
         {
                                    case 1:  i=0  b=0
                                                while ((i<=4) && (b==0))
                                                                        {
                                                                        if (A[1][i]!=1)
                                                                        {
                                                                        b=1
                                                A[1][i]=1
                                                Print "PASE DE ABORDAR\nVuelo 2\t Primera Clase\tAsiento:",(i+1)
                                                }
                                                else
                                                {
                                                if (i==4)
                           {Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
                                                i++
                                                }
                                                }
                                                break
                                    case 2:           i=5 b=0
                                                while(i<=9 && b==0)
                                                {
                                                if (A[1][i]!=1)
                                                {
                                                A[1][i]=1
                                                b=1
                                                Print "PASE DE ABORDAR\nVuelo 2\t Clase Economica\tAsiento:",(i+1)
                                                }
                                                else
                                                {
                                                if(i==9)
                                                {
                                                Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
                                                i++
                                                }
                                                }
                                                break
                                    default: Print "ERROR EN SELECCION DE CLASE."
         }
                        break
   case 3:
                        switch (seccion)
         {
                                    case 1:  i=0  b=0
                                                while ((i<=4) && (b==0))
                                                {
                                                if (A[2][i]!=1)
                                                {
                                                b=1
                                                A[2][i]=1
                                                Print "PASE DE ABORDAR\nVuelo 3\t Primera Clase\tAsiento:",(i+1)
                                                }
                                                else
                                                {
                                                if (i==4)
                                              {Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
                                                i++
                                                }
                                                }
                                                break
                                    case 2:           i=5 b=0
                                                while(i<=9 && b==0)
                                                {
                                                if (A[2][i]!=1)
                                                {
                                                A[2][i]=1
                                                b=1
                                                Print "PASE DE ABORDAR\nVuelo 3\t Clase Economica\tAsiento:",(i+1)
                                                }
                                                else
                                                {
                                                if(i==9)
                                                {
                                                Print "Vuelo completo, no hay asientos disponibles.\nEl siguiente vuelo parte en 3 horas." }
                                                i++
                                                }
                                                }
                                                break
                                    default: Print "ERROR EN SELECCION DE CLASE."
         }
                        break

            default: Print "DESTINO NO EXISTENTE\n"
}
}
Fin Funcion
Funcion void imprimir(int A[3][10])
{
r,c  int
Print "1=Ocupados   0=Vacios\n"
Print "ASIENTOS 1  2  3  4  5  6  7  8  9  10\n"
for(r=0 to  r<3 step r++)
{
Print "Viaje ",(r+1),": "
for(c=0 to  c<10 step c++)
{
Print A[r][c],"  "
}Print ‘\n” }
}









Pseudocódigo Practica 15 Problema 2.
Funcion int inserlistanombres(char nombres[20][30], int n)
{
I           int
 nom[30]       char
i=0
for(i=0 to  i<n step  i++)
{
print "Nombre Alumno: "
 read (nombres[i])
print”\n”}}
Fin funcion
Funcion void reordenar(char nombres[20][30], int n)
{
i,j          int
char temp[30]
for(i=0 to i<(n-1) step  i++)
{
for(j=(i+1)to  j<n step  j++)
{
if (strcmp(nombres[i],nombres[j])>0)
{
strcpy(temp,nombres[i])
strcpy(nombres[i],nombres[j])
strcpy(nombres[j],temp)  }}}}
Fin Funcion
Función void desplegar(char nombres[20][30], int n)
{
x=0  int
print "LISTA DE NOMBRES ORDENADA\n"
for (x=0 to  x<n step x++)
{
print nombres[x]
}}
Fin Funcion
Programa principal()
{
 nombres[10][30]   char
n          int
print "Cantidad de nombres: "
 read n
inserlistanombres(nombres, n)
reordenar(nombres, n)
desplegar(nombres,n)
getch()
}
Fin





Pseudocódigo Practica 15 Problema 3.
Funcion int buscarpais(char paises[11][28],char x[28])
{
i=0       int
while (strcmp(x,paises[i])!=0)
{
i++
}
return (i)
}
Fin funcion
Programa principal()
{
char paises[11][28]={"canada", "inglaterra", "francia", "india", "israel", "italia", "japon", "mexico", "republica popular de china", "estados unidos", "rusia"}
char capitales[11][28]={"ottawa", "londres", "paris", "nueva delhi", "jerusalen", "roma", "tokio", "cd. de mexico", "beijing", "washington dc", "moscu"}
char x[28]
i           int
do
{
print "\nIntroduzca el pais:"
 read (x)
if (strcmp(x,"fin")!=0)
{
i=buscarpais(paises,x)
print "\nEl pais ",(paises[i])," tiene como capital ",(capitales[i]),."
}
}
while(strcmp(x,"fin")!=0)
getch()
}
Fin programa





Pseudocódigo Practica 15 Problema 4.
Función void salida_datos_file(int n)
{
ofstream salida
salida.open("C://Datos//nombres.txt")
i           int
char name[30]
for(i=1 to i<=n step i++)
{
print "Nombre ",(i),": "
read (name)
salida,name
}
salida.close()
}
Fin Funcion

Funcion void entrada_datos_file()
{
ifstream entrada
entrada.open("C://Datos//nombres.txt")
char name[30]
print "\nListado de Estudiantes\n"
entrada.getline(name,30)
print name
while(!entrada.eof())
{
entrada.getline(name,30)
print name
}
entrada.close()
}
Fin funcion
Funcion void almacena_calif(int n)
{
ofstream salida
salida.open("C://Datos//calificaciones.txt")
r,c,calf           int
for(r=0 r<n r++)
{
print "Introduce calificaciones del estudiante ",(r+1)
for(c=0 to c<6  step c++)
{
print "Calificacion ",(c+1),": "
 read calf
salida,calf," "
}
salida
}
print “\n” }
Fin funcion

Funcion void  read_archivo_calif(int a[20][6], int promedio[20], int n)
{
ifstream entrada
entrada.open("C://Datos//calificaciones.txt")
r,c,suma        int
print "PROMEDIOS\n"
for(r=0 to r<n step r++)
{
suma=0
for(c=0 tp c<6 step c++)
{
Entrada,(a[r][c])
suma=suma+a[r][c]
}
promedio[r]=suma/6
print promedio[r],"\t"
}}
Fin Funcion

Programa principal()
{
n          int
c[20][6], p[20]         int
print "Numero de Alumnos : "
read n
salida_datos_file(n)
entrada_datos_file()
almacena_calif(n)
read_archivo_calif(c,p,n)
getch()
}
Fin programa











Pseudocódigo Practica 15 Problema 5a.
Funcion int inserlistanombres()
{
i=0       int
nom[30]        nom
ofstream salida
salida.open("C://Datos//nombres1.txt")
 Print “\n”
do
{
 Print"Nombre: "
Read (nom)
if (strcmp(nom,"FIN")!=0)
{
Salida,nom
i++
}
 Print “\n”
}
while(strcmp(nom,"FIN"))
salida.close()
return i
}
Fin Funcion

Funcion void desplegar()
{
name[30]     char
ifstream entrada
entrada.open("C://Datos//nombres1.txt")
while(!entrada.eof())
{
entrada.getline(name,30)
 Print name
}
entrada.close()
}

Programa principal()
{
inserlistanombres()
desplegar()
getch()
}
Fin






Pseudocódigo Practica 15 Problema 5b.

Funcion int inserlistanombres()
{
i=0       int
nom[30]        nom
ofstream salida
salida.open("C://Datos//nombres1.txt",ios::app)
 Print “\n”
do
{
 Print"Nombre: "
Read (nom)
if (strcmp(nom,"FIN")!=0)
{
Salida,nom
i++
}
 Print “\n”
}
while(strcmp(nom,"FIN"))
salida.close()
return i
}
Fin Funcion

Funcion void desplegar()
{
name[30]     char
ifstream entrada
entrada.open("C://Datos//nombres1.txt")
while(!entrada.eof())
{
entrada.getline(name,30)
 Print name
}
entrada.close()
}

Programa principal()
{
inserlistanombres()
desplegar()
getch()
}
Fin









z
Pseudocódigo Practica 15 Problema 6a.
Función void salidadatos()
{
ofstream salida
salida.open("C://Datos//texto.dat")
texto[80]       char
do
{read(texto)
if(strcmp(texto,"FIN")!=0)
{ salida,texto }}
while(strcmp(texto,"FIN" ))
 Print “\n”
salida.close() }
fin funcion
función void entradadatos()
{ifstream entrada
entrada.open("C://Datos//texto.dat")
texto[80] char
 Print "\n\t\t\tTEXTO\n"
entrada.getline(texto,80)
 Print texto
while(!entrada.eof())
{entrada.getline(texto,80)
 Print texto
}entrada.close() }
Fin funcion
Programa principal()
{salidadatos()
entradadatos()
getch() }
Fin



Pseudocódigo Practica 15 Problema 6b.
Función void salidadatos()
{
ofstream salida
salida.open("C://Datos//texto.dat")
texto[80]       char
do
{read(texto)
if(strcmp(texto,"\n")>=0)
{ salida,texto }}
while(strcmp(texto,"\n" )>=0)
 Print “\n”
salida.close() }
fin funcion
función void entradadatos()
{ifstream entrada
entrada.open("C://Datos//texto.dat")
texto[80] char
 Print "\n\t\t\tTEXTO\n"
entrada.getline(texto,80)
 Print texto
while(!entrada.eof())
{entrada.getline(texto,80)
 Print texto
}entrada.close() }
Fin funcion
Programa principal()
{salidadatos()
entradadatos()
getch() }
Fin




Pseudocódigo Practica 15 Problema 7a.
Programa principal()
{real valores[5][4]
Real promedio[5]
insertar_lista_datos()
calcular_promedio(valores,promedio)
desplegar_promedio(promedio)
getch() }
Fin
Funcion void insertar_lista_datos()
{
ofstream salida
salida.open("C://Datos//voltios.txt")
salida<<120.3<<"  "<<122.7<<"  "<<90.3<<"  "<<99.8   
salida<<95.5<<"  "<<120.5<<"  "<<127.3<<"  "<<120.8   
salida<<123.2<<"  "<<118.4<<"  "<<123.8<<"  "<<115.6   
salida<<122.4<<"  "<<95.6<<"  "<<118.2<<"  "<<120.99   
salida<<123.5<<"  "<<130.2<<"  "<<123.98<<"  "<<124.4   
salida.close()
print “\n”
}
void calcular_promedio( real valores[5][4], real promedio[5])
{ifstream entrada
entrada.open("C://Datos//voltios.txt")
r=0,c=0          int
suma=0         real
for(r=0 to r<5 step r++)
{suma=0
for(c=0 to  c<4 step c++)
{entrada,(valores[r][c])
suma=suma+valores[r][c] }
promedio[r]=suma/4
}entrada.close() }
Fin funcion
Funcion void desplegar_promedio( real promedio[5])
{r=0     int
for(r=0 to r<5 step r++)
{Print "Promedio ",(r+1),": ",setw(6),promedio[r] }}
Fin funcion


 Pseudocódigo Practica 15 Problema 7b.

Programa principal()
{real valores[5][4]
Real promedio[5]
insertar_lista_datos()
calcular_promedio(valores,promedio)
desplegar_promedio(promedio)
getch() }
Fin
Funcion void insertar_lista_datos()
{
ofstream salida
salida.open("C://Datos//voltios.txt")
salida<<120.3<<"  "<<122.7<<"  "<<90.3<<"  "<<99.8   
salida<<95.5<<"  "<<120.5<<"  "<<127.3<<"  "<<120.8   
salida<<123.2<<"  "<<118.4<<"  "<<123.8<<"  "<<115.6   
salida<<122.4<<"  "<<95.6<<"  "<<118.2<<"  "<<120.99   
salida<<123.5<<"  "<<130.2<<"  "<<123.98<<"  "<<124.4   
salida<<122.11<<"  "<<128.5<<"   "<<99.2<<"    "<<89.70 
salida<<125.12<<"  "<<101.33<<"  "<<89.75<<"   "<<129.90 
salida<<95.33<<"   "<<124.50<<"   "<<133.23<<"  "<<95.34 
salida.close()
print “\n”
}
Fin funcion
Funcion void calcular_promedio(real valores[8][4],real promedio[8])
{
ifstream entrada
entrada.open("C://Datos//voltios.txt")
r=0,c=0          int
suma=0  real
for(r=0  to r<8 step r++)
{
suma=0
for(c=0 to c<4 step c++)
{
entrada(valores[r][c])
suma=suma+valores[r][c]
}
promedio[r]=suma/4
}
entrada.close()
}
Fin funcion
Función void desplegar_promedio(real promedio[8])
{
r=0      int
suma=0, promediog=0    real
for(r=0 to r<8 step r++)
{
Print "Promedio ",(r+1),"  : ",promedio[r] 
}
for(r=0 to  r<8 step r++)
{
suma=suma+promedio[r]
}
promediog=suma/8
Print “Promedio general: ",promediog 
}
Fin funcion