Guía de Ejercicios Nº 7
ARREGLOS
1.- Determinar los valores de I, J, después de la ejecución de las instrucciones siguientes:
var
entero : I, J
array [ 1..10 ] de entero : A
inicio
I ß 1
J ß 2
A[ I ] ß J
A[ J ] ß I
A[ J+I ] ß I + J
I ß A[ I ] + A[ J ]
A[ 3 ] ß 5
J ß A[ I ] – A [ J ]
fin
2.- Leer una matriz de 3 por 3 elementos y calcular la suma de cada una de sus filas y columnas, dejando dichos resultados en dos vectores, uno de la suma de las filas y otro de las columnas.
3.- Calcular la suma de los elementos de la diagonal principal de una matriz cuatro por cuatro (4 x 4).
4.- Escribir un algoritmo que permita calcular el cuadrado de los 100 primeros números enteros y a continuación escribir un vector que contenga dichos cuadrados.
5.- Calcular la suma de todos los elementos de un vector de dimensión 100, así como su media aritmética.
6.- Dada una lista de L de N elementos, diseñar un algoritmo que calcule de forma independiente la suma de los números pares y la suma de los números impares.
7.- De los 100 empleados de una fábrica se registra: número de legajo (coincide con el número de índice), edad y salario, se pide:
- Ingresar los datos correlativamente
- Calcular la edad promedio informando número de legajo de los empleados cuya edad supere el promedio.
8.- Diseñe el algoritmo que almacene en un arreglo unidimensional los primeros 30 números primos. Al final imprima el arreglo correspondiente.
9.- En un arreglo unidimensional se almacenan las calificaciones de N alumnos. Diseñe el algoritmo que permita calcular e imprimir lo siguiente:
a) El promedio general del grupo.
b) Número de alumnos aprobados y número de alumnos desaprobados (Si el alumno sacó una calificación menor a 6 se le considera reprobado).
c) Porcentaje de alumnos aprobados y desaprobados.
d) Número de alumnos cuya calificación fue mayor a 8.
Dato: ALUMNO [ 1.. N ], 1 ≤ N ≤ 100
Donde:
ALUMNO es un arreglo unidimensional de tipo real cuya capacidad máxima es de 100 alumnos.
10.- En dos arreglos unidimensionales (MAT y CAL) se almacenan las matrículas y promedio de calificaciones de los alumnos de una preparatoria. Construya un diagrama de flujo que permita obtener la siguiente información:
a) La matrícula del alumno con el mayor promedio.
b) La matrícula del alumno con el menor promedio.
c) El promedio general de los alumnos.
Datos: MAT [ 1..N ], CAL [ 1..N ] 1 ≤ N ≤ 500
Donde:
MAT es un arreglo unidimensional de tipo entero que almacena las matrículas de los alumnos.
CAL es un arreglo unidimensional de tipo real que almacena los promedios de los alumnos.
domingo, 25 de noviembre de 2007
SESION 8
ALGORITMOS – Arreglos Unidimensionales
Guía Practica Nº 8
1. Guardar N y M números en dos vectores tal como A y B, luego mostrar A È B en un nuevo vector C.
2. Ingresar n números enteros a un vector, luego ingresar un numero cualquiera, se pide pasar a un nuevo vector todos los números menores e iguales al numero que ingreso, en caso no exista ninguno, mostrar un mensaje correspondiente.
3. Ingresar n números enteros a un vector, calcule el promedio entero y luego reemplace el mayor numero por el promedio calculado.
4. Ingresar un de cuatro cifras, y colocar cada uno de sus dígitos en un vector, además mostrar la posición del menor digito.
5. Guardar n números enteros a un vector, calcular el promedio y reemplazar todos los números que ocupan las posiciones pares, por el promedio calculado.
6. Guardar N y M números enteros a dos vectores tal como A y B, luego trasladar los números impares del vector A al final del vector B.
7. En un concurso de conocimiento se almacena en un vector los nombres de N participantes y en otro vector las notas obtenidas (valores de 0 a 20), se pide mostrar el nombre del participante que obtuvo la mayor nota.
#include
void main()
{
int n,p,mayor,posm,a[50];
char*nom[10]={" "," "," "," "," "," "," "," "," "," "};
mayor=0;
cout<<"ing cantidad de valores ";
cin>>n;
for(p=1;p<=n;p++)
{
cout<<"Ingresar nombre ";
cin>>nom[p];
cout<<"Ingresar puntaje ";
cin>>a[p];
}
for(p=1;p<=n;p++)
{
if(a[p]>mayor)
{
mayor=a[p];
posm=p;
}
}
cout<<"El alumno con mayor nota es: ";
cout< }
8. En una empresa se va incrementar los sueldos de los empleados, para esto, se guarda en un vector los nombres de los N empleados y en otro vector sus sueldos actuales, se pide calcular el nuevo sueldo, sabiendo que para aquellos que ganen mas de 2500 se le incrementara el 8%, caso contrario, se le incrementara el 10%.
9. Ingresar N y M números enteros a 2 vectores tal como A y B, si el vector A tiene mas elementos que B, pasar los números impares de A al final de B, caso contrario, pasar los números impares de B al fina de A.
10. Ingresar n números enteros a un vector, luego ingrese un numero, si el numero ingresado se encuentra dentro del vector, que muestre su posición, caso contrario mostrar el mensaje: “El numero no esta en el arreglo”.
Guía Practica Nº 8
1. Guardar N y M números en dos vectores tal como A y B, luego mostrar A È B en un nuevo vector C.
2. Ingresar n números enteros a un vector, luego ingresar un numero cualquiera, se pide pasar a un nuevo vector todos los números menores e iguales al numero que ingreso, en caso no exista ninguno, mostrar un mensaje correspondiente.
3. Ingresar n números enteros a un vector, calcule el promedio entero y luego reemplace el mayor numero por el promedio calculado.
4. Ingresar un de cuatro cifras, y colocar cada uno de sus dígitos en un vector, además mostrar la posición del menor digito.
5. Guardar n números enteros a un vector, calcular el promedio y reemplazar todos los números que ocupan las posiciones pares, por el promedio calculado.
6. Guardar N y M números enteros a dos vectores tal como A y B, luego trasladar los números impares del vector A al final del vector B.
7. En un concurso de conocimiento se almacena en un vector los nombres de N participantes y en otro vector las notas obtenidas (valores de 0 a 20), se pide mostrar el nombre del participante que obtuvo la mayor nota.
#include
void main()
{
int n,p,mayor,posm,a[50];
char*nom[10]={" "," "," "," "," "," "," "," "," "," "};
mayor=0;
cout<<"ing cantidad de valores ";
cin>>n;
for(p=1;p<=n;p++)
{
cout<<"Ingresar nombre ";
cin>>nom[p];
cout<<"Ingresar puntaje ";
cin>>a[p];
}
for(p=1;p<=n;p++)
{
if(a[p]>mayor)
{
mayor=a[p];
posm=p;
}
}
cout<<"El alumno con mayor nota es: ";
cout<
8. En una empresa se va incrementar los sueldos de los empleados, para esto, se guarda en un vector los nombres de los N empleados y en otro vector sus sueldos actuales, se pide calcular el nuevo sueldo, sabiendo que para aquellos que ganen mas de 2500 se le incrementara el 8%, caso contrario, se le incrementara el 10%.
9. Ingresar N y M números enteros a 2 vectores tal como A y B, si el vector A tiene mas elementos que B, pasar los números impares de A al final de B, caso contrario, pasar los números impares de B al fina de A.
10. Ingresar n números enteros a un vector, luego ingrese un numero, si el numero ingresado se encuentra dentro del vector, que muestre su posición, caso contrario mostrar el mensaje: “El numero no esta en el arreglo”.
SESIO 9
PROGRAMACION MODULAR
Funciones y Procedimientos
Las funciones generan retorno de un valor. Una función es una colección independiente de declaraciones y sentencias, generalmente enfocadas a realizar una tarea específica.
Los procedimientos realizan parte del proceso de un programa
El C++, no diferencia entre ambas las trabaja igual.
Funciones
Modulo principal
Se trabaja con un modulo principal, el cual contiene las llamadas a las funciones y/o procedimientos a realizar
Ejemplo : Visión completa
Ejemplo: Promedio de Notas
#include
void main()
{
float Funcion_1 (int x), z1=0;
int n=0;
cout<<"Ingrese la cantidad de alumnos:"; cin>>n;
z1=Funcion_1(n);
cout<<"El Promedio es: "< }
float Funcion_1 (int x)
{
int s=0, nota=0, d=0, p=0;
for (int i=0;i {
cout<<"Ingrese la nota: ";cin>>nota;
s=s+nota;
d=d+1;
}
p=s/d;
return(p);
}
Ejemplo: Selecciona la Mayor Talla
#include
void main( )
{
float Funcion_Mayor (int x);
int n=0;
float z1=0.0;
cout<<"Ingrese la cantidad de alumnos:";cin>>n;
z1=Funcion_Mayor(n);
cout<<"La Mayor talla es: "< }
float Funcion_Mayor (int x)
{
float talla=0.0, mayor=0.0;
for (int i=0;i {
cout<<"Ingrese la Talla: "; cin>>talla;
if (talla > mayor)
mayor=talla;
}
return(mayor);
}
Funciones y Procedimientos
Las funciones generan retorno de un valor. Una función es una colección independiente de declaraciones y sentencias, generalmente enfocadas a realizar una tarea específica.
Los procedimientos realizan parte del proceso de un programa
El C++, no diferencia entre ambas las trabaja igual.
Funciones
Modulo principal
Se trabaja con un modulo principal, el cual contiene las llamadas a las funciones y/o procedimientos a realizar
Ejemplo : Visión completa
Ejemplo: Promedio de Notas
#include
void main()
{
float Funcion_1 (int x), z1=0;
int n=0;
cout<<"Ingrese la cantidad de alumnos:"; cin>>n;
z1=Funcion_1(n);
cout<<"El Promedio es: "<
float Funcion_1 (int x)
{
int s=0, nota=0, d=0, p=0;
for (int i=0;i
cout<<"Ingrese la nota: ";cin>>nota;
s=s+nota;
d=d+1;
}
p=s/d;
return(p);
}
Ejemplo: Selecciona la Mayor Talla
#include
void main( )
{
float Funcion_Mayor (int x);
int n=0;
float z1=0.0;
cout<<"Ingrese la cantidad de alumnos:";cin>>n;
z1=Funcion_Mayor(n);
cout<<"La Mayor talla es: "<
float Funcion_Mayor (int x)
{
float talla=0.0, mayor=0.0;
for (int i=0;i
cout<<"Ingrese la Talla: "; cin>>talla;
if (talla > mayor)
mayor=talla;
}
return(mayor);
}
SESION 10
MATRICES Y VECTORES
PROFESOR:
ING JOSE ESPINAL TEVES
1. MATRICES (ARREGLOS BIDIMESIONALES)
Una Matriz es un arreglo de valores, ordenadas por medio de filas y columnas. En el lenguaje C, los arreglos se inicializan en 0,0 y las filas son horizontales y las columnas verticales.
EJEMPLO: LA MATRIZ A
LEER E IMPRIMIR UNA MATRIZ
#include
void main()
{float matriz[10][10];
int k1=0,k2=0;
cout<<"Numero de Filas:";cin>>k1;
cout<<"Numero de Columnas:";cin>>k2;
for (int x=0;x {for (int y=0;y {cout<<"Matriz["< cin>>matriz[x][y];
}
}
for (x=0;x {cout< for (int y=0;y { cout< }
}
}
2. VECTORES (ARREGLOS UNI-DIMENSIONALES)
Vector es un tipo de arreglo de valores unidimensionales, cuya posición inicia en 0.
Ejemplo Vector R:
R[7]={21,32,14,35,46,23,20}
Asignando los valores:
R[0]=21 R[1]=32 R[2]=14 R[3]=35
R[4]=46 R[5]=23 R[6]=20
Ejemplo: Cálculo de Sueldos
Una empresa que cuenta con k empleados desea realizar algunos cálculos para la nueva nómina. Los datos con que cuenta son los sueldos de los k empleados:
k, s1, s2, s3, ..., sk.
Elabore un diagrama de flujo para leer los datos y contestar a las siguientes preguntas:
¿Cuál es el aumento correspondiente a cada empleado según el siguiente criterio?
17% si el sueldo es inferior a $5,000
10% si el sueldo está entre $5,000 y $15,000
5% si el sueldo es superior a $15,000
¿Cuál es el nuevo sueldo para cada empleado?
¿Cuál es el total de la nueva nómina?
¿Cuál es el incremento en la nómina?
Resuelva los incisos progresivamente.
#include
void main()
{float sueldos[100],ss=0, nn=0;
int k=0,i=0;
cout<<"Numero de Empleados :";cin>>k;
//Ingreso de Sueldos
for(i=0;i { cout<<"Sueldo["<cin>>sueldos[i];
ss=ss+sueldos[i];
//Cálculo de Aumentos
if(sueldos[i]<=5000)
{cout<<"Aumento del 17%. ";
sueldos[i]=1.17*sueldos[i];
cout<<"Nuevo sueldo es:"< nn=nn+sueldos[i];
}else if ((sueldos[i]>5000) && (sueldos[i]<=15000))
{cout<<"Aumento del 10%. ";
sueldos[i]=1.1*sueldos[i];
cout<<"Nuevo sueldo es:"< nn=nn+sueldos[i];
}else
{cout<<"Aumentos del 5%. ";
sueldos[i]=1.05*sueldos[i];
cout<<"Nuevo sueldo es:"< nn=nn+sueldos[i];
}
}
//Impresión de Totales
cout<<"\nTotal de la Nómina :"< cout<<"Total de la nueva Nómina:"< cout<<"Incremento en la Nómina :"<<(nn-ss)< }
PROFESOR:
ING JOSE ESPINAL TEVES
1. MATRICES (ARREGLOS BIDIMESIONALES)
Una Matriz es un arreglo de valores, ordenadas por medio de filas y columnas. En el lenguaje C, los arreglos se inicializan en 0,0 y las filas son horizontales y las columnas verticales.
EJEMPLO: LA MATRIZ A
LEER E IMPRIMIR UNA MATRIZ
#include
void main()
{float matriz[10][10];
int k1=0,k2=0;
cout<<"Numero de Filas:";cin>>k1;
cout<<"Numero de Columnas:";cin>>k2;
for (int x=0;x
}
}
for (x=0;x
}
}
2. VECTORES (ARREGLOS UNI-DIMENSIONALES)
Vector es un tipo de arreglo de valores unidimensionales, cuya posición inicia en 0.
Ejemplo Vector R:
R[7]={21,32,14,35,46,23,20}
Asignando los valores:
R[0]=21 R[1]=32 R[2]=14 R[3]=35
R[4]=46 R[5]=23 R[6]=20
Ejemplo: Cálculo de Sueldos
Una empresa que cuenta con k empleados desea realizar algunos cálculos para la nueva nómina. Los datos con que cuenta son los sueldos de los k empleados:
k, s1, s2, s3, ..., sk.
Elabore un diagrama de flujo para leer los datos y contestar a las siguientes preguntas:
¿Cuál es el aumento correspondiente a cada empleado según el siguiente criterio?
17% si el sueldo es inferior a $5,000
10% si el sueldo está entre $5,000 y $15,000
5% si el sueldo es superior a $15,000
¿Cuál es el nuevo sueldo para cada empleado?
¿Cuál es el total de la nueva nómina?
¿Cuál es el incremento en la nómina?
Resuelva los incisos progresivamente.
#include
void main()
{float sueldos[100],ss=0, nn=0;
int k=0,i=0;
cout<<"Numero de Empleados :";cin>>k;
//Ingreso de Sueldos
for(i=0;i
ss=ss+sueldos[i];
//Cálculo de Aumentos
if(sueldos[i]<=5000)
{cout<<"Aumento del 17%. ";
sueldos[i]=1.17*sueldos[i];
cout<<"Nuevo sueldo es:"<
}else if ((sueldos[i]>5000) && (sueldos[i]<=15000))
{cout<<"Aumento del 10%. ";
sueldos[i]=1.1*sueldos[i];
cout<<"Nuevo sueldo es:"<
}else
{cout<<"Aumentos del 5%. ";
sueldos[i]=1.05*sueldos[i];
cout<<"Nuevo sueldo es:"<
}
}
//Impresión de Totales
cout<<"\nTotal de la Nómina :"<
CONCLUSION
Luego de realizar este trabajo hemos visto como los algoritmos son una de las herramientas más complejas y aplicables en el área de la informática y el mundo de los computadores.Pudimos comprobar que mientras más potente, completo y eficiente es el computador o la aplicación que corre sobre el mismo mas grande, complejo y exacto es el algoritmo que utiliza.Las técnicas de desarrollo de algoritmos nos permiten encontrar la mejor solucion a los problemas que se nos presentan y deben ser solucionados por el computador, estas técnicas están orientadas para utilizarse en cada uno de los niveles de complejidad y variedad o alternativas para las cuales se aplican los algoritmos.Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema, es por ellos que debemos estudiarlos y conocerlos.
Suscribirse a:
Entradas (Atom)