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()
}
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)
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