Trabajo práctico Nº 1 ( Entrada, Proceso y Salida

Anuncio
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López

Trabajo práctico Nº 1 ( Entrada, Proceso y Salida. Estruct. de control )
1- Elegir tipos de datos convenientes para representar los siguientes datos e indicar los
rangos de valores esperados para cada uno. Teniendo en cuenta el siguiente cuadro.
TIPO
VALOR MINIMO VALOR MAXIMO
signed char
-128
127
unsigned char 0
255
signed short
+32.767
-32.768
unsigned short 0
+65.535
signed int
-32.768
+32.767
unsigned int
0
+65.535
signed long
-2.147.483.648
+2.147.483.647
unsigned long 0
+4.294.967.295
Float
3,4E-38
3,4E+38
Double
1,7E-308
1,7E+308
Long double
3,4E-4932
3,4E+4932
a.
b.
c.
d.
e.
f.
La edad de una persona
El saldo de una cuenta bancaria
El número de un documento de identidad
La cantidad de días transcurridos desde el principio de la era cristiana.
La respuesta al mensaje de Error “Cancelar, Reiterar, Ignorar?”
La cantidad de segundos en un período máximo de doce horas.
2- Compilar, ejecutar e interpretar los resultados:
A.
#include <stdio.h>
#include <conio.h>
void main()
{
int a,b; char c;
clrscr();
a=100; b=200;
c=a+b;
printf(“c=%d, a*b=%d\n”,c,a*b);
getch();
}
C.
#include <stdio.h>
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López
#include <conio.h>
void main()
{
int a=1,b=2,c=3,r;
clrscr();
r=a+b;
printf("%d + %d = %d\n",a,b,r);
r=c-a;
printf("%d - %d = %d\n",c,a,r);
b++;
printf("b + 1 = %d",b);
getche();
}
3- En la industria XX se desea calcular el precio unitario de venta, de tres artículos. Se
ingresa por teclado el valor de compra correspondiente a cada uno P1, P2, P3.
Suponemos que el vendedor desea ganar el 30% del valor de compra. Mostrar el precio
de venta de cada uno.
4- Calcular e imprimir la longitud de la hipotenusa de un triángulo rectángulo. Se debe
ingresar la longitud de sus catetos.
5- Calcular y mostrar el cuadrado y su cubo de cada uno de tres números que se
ingresan en N1, N2, y N3 respectivamente por teclado.
6- Calcular y mostrar el valor de la función
Y = A (x * x) + B x + C
para dos valores de x que se deben ingresar por teclado si los respectivos valores de las
constantes son
respectivamente –1, -2, 3.
7- Escribir un programa para calcular el importe de una venta en un supermercado. El
usuario debe indicar el nombre del producto, el precio por unidad y el nº de unidades y
el programa sacará por pantalla el nombre del producto, el nº de unidades vendidas y el
precio total. Preste especial atención a qué tipo de datos resulta más adecuado para cada
cantidad.
8 - Suponiendo que se tienen como datos las variables a, b, z y n de tipo entero y que en
un programa se escribe: if (n > 0) if (a > b) z = a; else z = b;
Decir si la sentencia "if" anterior es equivalente a:
if (n > 0) {if (a > b) z = a; else z = b};
if (n > 0) {if (a > b) z = a; } else z = b;
9 - Se ingresan por teclado las notas de dos alumnos que realizaron el parcial de la
asignatura “Análisis matemático I”.
Mostrar la mayor nota.
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López
10- Ingresar tres números enteros N1, N2, N3 y mostrar el resultado del cálculo,
teniendo en cuenta las siguientes indicaciones:
Si N1 = N2 mostrar N1 + N2 + N3
Si N1 < N2 mostrar N1 * N2
Si N1 > N2 mostrar (N1 / N2) * N3
11- Se ingresan por teclado los coeficientes de una ecuación de segundo grado. Mostrar
si las raíces son reales y distintas, iguales o complejas. Si son reales, calcularlas.
12- Calcular y mostrar el sueldo básico y el sueldo neto de un empleado, si se ingresa el
número de horas trabajadas (H), el valor por hora para ese empleado (V), y la
antigüedad para el mismo (A).
El sueldo básico surge de:
SB = H * V.
Si el sueldo básico excede los 500 pesos y la antigüedad no es mayor a 10 años, el neto
surgirá de deducir 30 pesos del básico en concepto de impuestos.
Si el básico es menor o igual a 500 pesos, pero la antigüedad es de 10 años o más, el
neto será igual al básico más el 30%.
En toda otra situación el neto será igual al básico.
13 - El programa irá preguntando por la cantidad de billetes y monedas de cada valor
que tiene el usuario y luego determinará la suma de dinero que hay en monedas y luego
la suma de dinero que hay en billetes. Luego el programa dirá la suma total de dinero
que hay. Finalmente el programa dará al usuario la posibilidad de transformar la
cantidad en el equivalente en dolares o euros, según lo decida el usuario.
14- Se ingresan tres números que representan las temperaturas máximas de tres días del
mes de enero. Mostrar la mayor temperatura.
15- Diseñe un programa que convierta una medida dada en pies a sus equivalentes en:
a) Yardas
b) Pulgadas
c) Centímetros
d) Metros
Sabiendo que 1 pie = 12 pulgadas, 1 yarda = 3pies, 1 pulgada = 2,54 cm, 1 m = 100
cm.
16- En una competencia de 2 pruebas, se registraron los tiempos parciales en
pedestrismo y ciclismo de los tres primeros atletas que terminaron la competencia.
En pedestrismo se hicieron 17 km.. El ganador absoluto de la competencia es el que
acumula mejor tiempo total en la suma de los tiempos de las dos pruebas.
Ingresar los resultados de las pruebas por competidor y determinar:
 El ganador de ciclismo y el ganador absoluto.
 El promedio de tiempo por km. En pedestrismo del ganador absoluto y la diferencia
existente con los respectivos promedios de los otros dos competidores.
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López
Nota: los tiempos están dados en minutos. Suponer que los promedios son distintos.
17- Una línea de belleza posee un régimen de ventas a domicilio y sus artículos están
clasificados de acuerdo al tipo de cliente en Damas, Caballeros y Niños,
correspondiendo un código a cada uno: D, C, N respectivamente.
Al finalizar el mes se requieren ciertas estadísticas.
INGRESAR como dato el código de c/producto y la ganancia que éste reportó en el
mes. Obtener:
-El porcentaje que representa la ganancia producida por cada producto sobre la ganancia
total.
-El código de artículo que mayor ganancia reportó.
-El código de artículo que menor ganancia reportó, pero sólo mostrar esta información
si el porcentaje es superior al 20%.
18- Realice un programa que determine si un año es bisiesto. Tomando como referencia
que un año bisiesto es divisible entre 4 pero no entre 100, excepto aquellos años que son
divisibles por 400, que si son bisiestos.
19- Dado el siguiente programa, realiza un seguimiento de la ejecución con los
siguientes supuestos:
(a) a=0, b=0, c=5, d=3
(b) a=2, b=1, c=5, d=3
(c) a=2, b=1, c=2, d=2
(d) a=2, b=1, c=0, d=0
void main ( )
{
int a,b,c,d;
scanf (“%d %d %d %d”, &a,&b,&c,&d);
if (((a>0) | | (b>a)) && ( c!= d))
{
a = c;
b = 0;
}
else {
c+=d;
if (c= = 0) c= c+b;
else c= c-a;
b= a + c+ d;
}
printf (”Los valores finales son a=%d, b= %d, c= %d, d= %d”, a,b,c,d );
getch();
return;
}
20- El gobierno del estado de México desea reforestar un bosque que mide determinado
numero de hectáreas. Si la superficie del terreno excede a 1 millón de metros cuadrados,
entonces decidirá sembrar de la sig. manera:
Porcentaje de la superficie del bosque
Tipo de árbol
70%
pino
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
20%
10%
Ayudante: María Laura López
oyamel
cedro
Si la superficie del terreno es menor o igual a un millón de metros cuadrados,
entonces decidirá sembrar de la sig. manera:
Porcentaje de la superficie del bosque
Tipo de árbol
50%
pino
30%
oyamel
20%
cedro
El gobierno desea saber el numero de pinos, oyameles y cedros que tendrá que
sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15
metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros.
También se sabe que una hectárea equivale a 10 mil metros cuadrados.
Ejercicios Propuestos
1- Calcular e imprimir el sueldo básico y el sueldo neto de un empleado. Se ingresa la
cantidad de horas trabajadas (H), el valor por hora para ese empleado (V) y la
antigüedad del mismo (A).
SB = H * V
SN es el SB más el 1,5% del sueldo básico por cada año de antigüedad.
2- En la industria XX se desea calcular y mostrar el 15% de cada uno de tres sueldos
jerárquicos, que se ingresan por teclado en S1, S2, S3 respectivamente. Mostrar el
porcentaje correspondiente a cada sueldo.
3- Ingresar dos números los cuales constituyen las coordenadas de un punto del plano.
Informar a qué cuadrante pertenece el punto y si está en el primer cuadrante hallar la
distancia al origen de coordenadas.
4- Una temperatura Celsius (centígrados) C puede ser convertida a una temperatura F de
acuerdo a la siguiente fórmula:
F=(9/5)* C + 32
Escribir un programa que lea una temperatura Celsius C como número decimal y
obtenga la temperatura Fahrenheit equivalente.
5- Un sistema de ecuancuines lineales
ax + by =c
dx + ey = f
se puede resolver con las siguientes fórmulas:
x = c*e – b*f
y= a*f – c*d
a*e - b*d
a*e – b* d
Diseñar un programa que lea dos conjuntos de coeficientes (a, b, c; d, e y f) y visualice
los valores de x e y.
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López
6- En un hospital existen tres áreas: Ginecología, Pediatría, Traumatologia. El
presupuesto anual del hospital se reparte conforme a la sig. tabla:
Área
Porcentaje del presupuesto
Ginecología
40%
Traumatologia
30%
Pediatría
30%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.
7- Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera:
Si trabaja 40 horas o menos se le paga $16 por hora
Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas
y $20 por cada hora extra.
8- Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su
precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el
descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos
claves).
9- Calcular el numero de pulsaciones que debe tener una persona por cada 10 segundos
de ejercicio aerobico; la formula que se aplica cuando el sexo es femenino es:
num. pulsaciones = (220 - edad)/10
y si el sexo es masculino:
num. pulsaciones = (210 - edad)/10
10- Una compañía de seguros esta abriendo un depto. de finanzas y estableció un
programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se
efectúa la fianza es menor que $50 000 la cuota a pagar será por el 3% del monto, y si el
monto es mayor que $50 000 la cuota a pagar será el 2% del monto. La afianzadora
desea determinar cual será la cuota que debe pagar un cliente.
11- Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores de $8000 o mas el enganche
será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en
diez años. Si los ingresos del comprador son menos de $8000 o mas el enganche será
del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7
años.
La empresa quiere obtener cuanto debe pagar un comprador por concepto de
enganche y cuanto por cada pago parcial.
12- Determinar la cantidad de dinero que recibirá un trabajador por concepto de las
horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo
exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una
hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las
primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
13- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este
se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en
la empresa de acuerdo con la sig. tabla:
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Tiempo
Menos de 1 año
1 año o mas y menos de 2 años
2 años o mas y menos de 5 años
5 años o mas y menos de 10 años
10 años o mas
Ayudante: María Laura López
Utilidad
5 % del salario
7% del salario
10% del salario
15% del salario
20% del salario
14- El dueño de una empresa desea planificar las decisiones financieras que tomara en
el siguiente año. La manera de planificarlas depende de lo siguiente:
Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo
bancario para que su nuevo saldo sea de $10 000. Si su capital tiene actualmente un
saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $20 000, pero
si su capital tiene actualmente un saldo superior a los $20 000 no pedirá ningún
préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera.
$5 000 para equipo de computo
$2 000 para mobiliario
y el resto la mitad será para la compra de insumos y la otra para otorgar
incentivos al personal.
Desplegar que cantidades se destinaran para la compra de insumos e incentivos
al personal y, en caso de que fuera necesario, a cuanto ascendería la cantidad que se
pediría al banco.
15- Una institución educativa estableció un programa para estimular a los alumnos con
buen rendimiento académico y que consiste en lo siguiente:
Si el promedio es de 9.5 o mas y el alumno es de preparatoria, entonces este
podrá cursar 55 unidades y se le hará un 25% de descuento.
Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de
preparatoria, entonces este podrá cursar 50 unidades y se le hará un 10% de descuento.
Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria,
este podrá cursar 50 unidades y no tendrá ningún descuento.
Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0 a 3 y
el alumno es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento.
Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4 o mas
y el alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún
descuento.
Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces
podrá cursar 55 unidades y se le hará un 20% de descuento.
Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrá
cursar 55 unidades y no tendrá descuento.
Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos
de profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de
$180 por cada cinco unidades.
16- Escribir un programa que, pida la fecha de nacimiento de una persona e imprima
por pantalla su signo zodiacal.
17- Modifique el siguiente código para producir la salida que aparece a continuación.
No debe hacer cambio alguno que no sea el de insertar llaves.
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López
if (y==8)
if (x==5)
printf (“@@@@@\n”);
else
printf(“#####\n”);
printf(“$$$$$\n”);
printf(“&&&&&\n”);
a) Si suponemos que x=5 y y=8, se produce la siguiente salida.
@@@@@
$$$$$
&&&&&
b) Si suponemos que x=5 y y=8, se produce la siguiente salida.
@@@@@
c) Si suponemos que x=5 y y=8, se produce la siguiente salida.
@@@@@
&&&&&
d) Si suponemos que x=5 y y=7, se produce la siguiente salida.
#####
$$$$$
&&&&&
Algoritmo y Estructura de Datos
Ing. en Sistemas de Información – 1º año
Docente: Gabriela Ribotta
Ayudante: María Laura López
Ejercicios de Auto evaluación
1- Complete los espacios en blanco.
a) Todo programa en C comienza su ejecución en la función _____________
b) La _______________ comienza el cuerpo de toda función, y la _______________
finaliza el cuerpo de toda función.
c) Toda instrucción finaliza con un ____________ .
d) La función _____________ de la biblioteca estándar despliega información en la
pantalla.
e) La secuencia de escape \n representa una ___________, la cual ocasiona que l cursor
se coloque al principio de la siguiente línea de la pantalla.
f) La función ___________ de la biblioteca estándar se utiliza para obtener datos desde
teclado.
g) El especificador de conversión __________ se utiliza en una cadena de control de
formato para indicar que se introducirá o mostrará un entero.
h) La instrucción ________ se utiliza para tomar decisiones.
3- Indique Verdadero o Falso
a) Los operadores en C se evalúan de izquierda a derecha.
b) Cuando se llama a una función printf, ésta siempre comienza la impresión al
principio de una nueva línea.
c) Los siguientes son nombres de variables válidos: _guion_bajo, m9831,
sus_ventas, a, b, z, z2.
d) La instrucción printf(“a=5;”); es un típico ejemplo de una instrucción de
asignación.
e) Una expresión aritmética válida que no contiene paréntesis se evalúa de
izquierda a derecha.
f) C considera idénticas a las variables numero y NuMero.
g) Las declaraciones pueden aparecer en cualquier parte del cuerpo de una función.
h) Todos los argumentos que se encuentren después de la cadena de control de
formato en una función printf deben ser precedidos por un ampersan (&).
i) El operador módulo (%) puede utilizarse sólo con operadores enteros.
j) Un programa que imprime tres líneas como resultado debe contener tres
instrucciones printf.
k) A todas las variables se les asigna un tipo cuando se declaran.
4- Indique y corrija los errores de las siguientes instrucciones. (Nota: puede haber más
de un error cada ejercicio.)
a) printf (“el valor es %d\n, &numero);
b) scanf (“%d%d”, &numero1, numero2);
c) if (c < 7);
printf (“C es menor que 7\n”);
d) if (c=> 7);
printf (“C es mayor o igual que 7\n”);
e) printf( “la suma es %d\n,” x+y);
f) printf(“el valor que escribió es: %d\n, & valor);
Descargar