viernes, 26 de noviembre de 2010

TALLER PARA APORTE

Defina los siguientes conceptos:

1. Programa:____________________________________________________________________________________________________________________________

2. CPU:_________________________________________________________________________________________________________________________________

3. Software:_____________________________________________________________________________________________________________________________

4. Memoria Principal:_____________________________________________________________________________________________________________________________

5. Lenguaje de Programación:________________________________________________________________________________________________________________________

Indique que tipo de error (Error de sintaxis, error de ejecución o error lógico), en cada uno de los siguientes enunciados

1. Utilizar una variable antes de asignarle un valor:____________________

2. asignarle un valor real a una variable declarada como entero:______

3. al cometer este error, los resultados arrojados por el programa no son los que se esperaban:______________________________________________

4. Un programa no puede ser ejecutado por el computador, mientras tenga este tipo de errores:__________________________________________

5. estos errores no son detectados por el compilador, ni tampoco son errores de ejecución:_______________________________________________

Código

formato

%d

%i

%c

%s

%f

%ld

%u

%lf

%h

%o

%x

%e

%p

%%

Carácter de Escape

explicacion

\n

\t

\v

\a

\\

\?

\”

1. Mencione y Explique que es la lógica estructurada:________________________________________________________________________________________________________________________________________________________________________________

2. Para que sirven las funciones getch() y putchar():___________________________________________________________________________________________________________________________________________________________________________________

3. Menciones las diferencias fundamentales entre las funciones de entrada y salida por consola, con las funciones de entrada y salida por consola con formato:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

4. Escriba algunas restricciones que deben cumplir los Identificadores:______________________________________________________________________________________________________________________________________________________________________________

5. ¿Cuál es la siferencia entre el tipo de dato %c, y el tipo de dato %s?:_________________________________________________________________________________________________________________________________________________________________________________________

6. Para que sirve la directiva :____________________________________________________________________________________________________________________________________________________________________________________

7. ¿Y la directiva ?__________________________________________________________________________________________________________________________________________________________________________________

8. ¿Para que sirve a declaratoria #define?:_____________________________________________________________________________________________________________________

9. Para que sirve el punto y coma (;) en C:____________________________________________________________________________________________________________________________

En C, no existe el tipo de dato string; sin embargo, podemos hacer uso de las cadenas de texto, ¿Por qué?. Explique:_____________________________________________________________________________________________________________________

1. Haciendo uso de las funciones gets y puts, diseñe un programa en C, que se lea el nombre del usuario y lo muestre en pantalla junto con un saludo.

2. Diseñe un programa en C, que lea y muestre en pantalla el valor de tres variables de tipo Entero.

3. Diseñe un programa que muestre, los diferentes tipos de datos, usados en C. Primero, debe indicársele al usuario que introduzca un valor, de un tipo dado; luego y después de haber introducido valores en todas las variables, debe imprimirse el contenido de ellas, junto con un mensaje que indique, el tipo de dato:



4. Diseñe un programa, en el cual se introduzcan el nombre y el peso y de un alumno, y luego la muestre en pantalla. El Nombre debe incluir el apellido, y en el campo del peso, solo deben incluir valores numéricos.

5. Diseñe un programe en C, en el cual después de haber introducido, una tabla de multiplicación cualquiera, imprima ésta en forma de tabla:

2x2=4

2x3=6

2x4=8

.

.

.

2x10=20

6. Realice el ejercicio 2.5, tal como se muestra, luego ejecútalo, nuevamente, pero quitándole al código las sentencias: getch() y return 0. ¿Qué observas? Realiza tus propias conclusiones de ello y de la importancia de estas dos funciones.

Dada el peso, la altura y el sexo, de unos estudiantes. Determinar la cantidad de vitaminas que deben consumir estos estudiantes, en base al siguiente criterio:

>> Si son varones, y su estatura es mayor a 1.60, y su peso es mayor o igual a 150 lb, su dosis, serán: 20% de la estatura y 80% de su peso. De lo contrario, la dosis será la siguiente: 30% de la estatura y 70% de su peso.

>> Si son mujeres, y su estatura es mayor de a 1.50 m y su peso es mayor o igual a 130 lb, su dosis será: 25% de la estatura y 75% de su peso. De lo contrario, la dosis será: 35% de la estatura y 65% de su peso. La dosis debe ser expresada en gramos.

1. Mencione las diferencias entre las expresiones y los operadores:______________________________________________________________________________________________________________________________________

2. Que tipo de datos son válidos para los operadores aritméticos:______________________________________________________

3. Explique, el resultado de los operadores incremento y decremento, dependiendo de su posición:___________________________________________________________________________________________________________________________________________________________________________________________

4. ¿Qué son y para que sirven los operadores unarios?:__________________________________________________________________________________________________________________________

5. Explique, el funcionamiento de los operadores de asignación:________________________________________________________________________________________________________________________________________________________________________________________

Ejercicios:

1. Diseñe un programa que dados tres números indique cual es el mayor de ellos.

2. Diseñe un programa que dados tres números indique cual de ellos es el menor.

3. En un cine se exhiben, películas para mayores de edad, diseñe un programa que dada la edad, indique si la persona puede o no ver la película.

4. En un supermercado, se realizan descuentos por las compras a partir de unas bolitas de colores. Si el cliente saca una bolita color azul, tiene un descuento del 20%, si la bolita es roja, se aplica un descuento del 30% y si saca una bolita color blanca, no se aplica ningún descuento. Diseñe un programa que a partir del importe de la compra y el color de la bolita, muestre lo que debe pagar dicho cliente.

5. Se procesan las notas de 5, alumnos, de las cuales se desea saber cual es el promedio de esas 5 notas, y cual fue la nota mayor y menor, además de imprimir al final el nombre y la nota de cada alumno en forma de tabla.

6. un estudiante desea saber cuál fue su promedio en matemática I, para ello dispone de la siguiente información: tiene 3 exámenes, con una ponderación del 20% cada uno y 2 laboratorios con una ponderación del 30% cada uno. Diseñe un programa que dadas las notas calcule el promedio del alumno y muestre en pantalla si el alumno esta reprobado o no (para aprobar esta materia se requiere de una nota mayor o igual a 6.00).

7. En un estacionamiento, se cobra de la siguiente manera: los primeros 10 minutos son gratis, los siguientes 30 minutos tiene un valor de $0.30 y la hora $0.60. diseñe un programa que reciba tanto minutos como horas y muestre lo que debe cancelar el cliente. Tomando en cuenta que si es Martes y Sábado se hace un descuento del 12.56% sobre el monto total.

8. Diseñe un programa que al introducir un dígito del 0 a 9, muestre como se lee.

9. Diseñe un pequeña calculadora que, al digitar un código realice una operación específica: si el código es 1, la operación es la suma, si es 2, Resta. 3, multiplicación y 4 división. Si el usuario a escrito otro código inválido, mostrar un mensaje de error.

10. Construya un programa que dado el salario de un empleado, permita aplicarle un aumento de 10% si el salario es inferior a $500, si es mayor se le aumentará un 8%. Luego debe aplicar una retención del 0.96% en concepto de Renta a ambos casos.

11. Se desea calcular el sueldo de un trabajador, a partir de las horas trabajadas en la semana y la clase a la que pertenece: Trabajadores Clase “A”, se les paga $7 por hora. Trabajadores clase “B”, se paga $5 por hora. Trabajadores clase “C”, se les paga $4 por hora y los de clase “D”, $3.5 por hora.

12. Un comerciante se dedica a la venta de sillas únicamente. Vende tres tipos de sillas: tipo A, tipo B y Tipo C los precios son $5.00, $7.00 y $10.00 respectivamente. Por cada cinco sillas compradas del tipo A, del tipo B o del tipo C los clientes reciben un descuento de 3%, 5% y 7%, las demás se cobran a precio normal. Diseñe un programa que imprima en forma de factura, con el nombre, precio unitario, precio total, nombre de la tienda, etc lo que debe cancelar cada cliente en concepto de la compra.

Descubre donde está el error.

El siguiente código, es de un programa que a partir de una nota determina si un alumno esta o no reprobado, y este puede presentar algunos errores de lógica, de sintaxis o de ejecución. ¿Puedes descubrirlos y modificarlos?

#Include

#incluide

main()

{

float nota;

printf(“Digite la nota:\n”)

scanf(“%f”, nota);

if(nota>=6.00)

printf(“Aprobado\n\n);

else

printf(Reprobado\n\n);

getch();

return 0;

}

  1. Se desea conocer la suma de los números enteros, positivos menores que n, el cual es un dato dado por el usuario.
  2. Muestre un programa en c, que imprima en pantalla los números desde un valor inicial, hasta un valor final, ingresados por el usuario, tanto en forma descendente como ascendente.
  3. Diseñe un programa que imprima la serie de Fugonacci, así: 0 1 1 2 3 5 8 13.... hasta un número n dado por el usuario.
  4. Calcule el promedio de edades de un grupo de estudiantes, de los cuales no se conoce la cantidad.
  5. Diseñe un programa que obtenga, la calificación mayor y la calificación menor, de un grupo de 40 estudiantes, además de los nombres de dichos alumnos.
  6. En un país hubieron elecciones para elegir al presidente. El país consta de 7 provincias o regiones, de las cuales se han levantado actas que contiene el total de votos obtenidos por los 4 partidos políticos en dicha región. Diseñe un programa en c, que lea las actas de las 7 provincias, muestre que partido ganó las elecciones y en caso de empate, lo especifique con un mensaje.
  7. en un supermercado, hay 3 departamentos (de ropa, comestibles y perfumería), en lo cuales se realizan un descuento de 5%, 3.5% y 8% respectivamente, por las compras totales mayores de $100.00. diseñe un programa que dado el monto de la compra, realice los descuentos pertinentes por departamento, le indique al usuario a cuanto asciende su nuevo monto e indique, cuanto fue lo recaudado al final del día.
  8. La Empresa, el porvenir s.a de c.v desea conocer lo que debe pagar en concepto de horas extras aun grupo de n empleados. Se sabe que una hora extra diurna, se paga el doble que una hora normal. Y una hora extra nocturna se paga el doble de una hora normal más el 25%. Además que todos los empleados tiene sueldos diferentes, muestre el nuevo sueldo de cada uno de ellos y lo que tendrá que pagar la empresa en concepto de horas extra.
  9. Una compañía de teléfonos, cobra $0.03 por minuto la llamada nacional local, $0.06 por la llamada de larga distancia nacional y $0.10 la llamada de larga distancia internacional. Diseñe un programa que calcule las facturas mensuales de los clientes, sabiendo que, si las llamadas fueron realizadas por la mañana tienen un doble valor, y si los 10 primeros minutos de llamadas locales son gratis, en cualquier horario.

1. Mencione y explique, las parte en las que se componen las funciones definidas por el usuario en C:_________________________________________________________________________________________________________________________________________________________________________________________________________________________

2. ¿Cuál es la diferencia entre las funciones predefinidas en c y las funciones definidas por el usuario?_________________________________________________________________________________________________________________________________________________________________________________________________

3. ¿En que consiste el paso de parámetros?:____________________________________________________________________________________________________________________________________________________________________________________________

4. ¿Cuál es la diferencia entre parámetros formales y actuales?:__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

5. En que se diferencias las variables locales a las globales:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Ejercicios

1. Realice una pequeña calculadora, utilizando funciones

2. Diseñe un programa que permita calcular la serie ½ + 1/3 + ¼+ ... 1/n.

3. Diseñe un programa, que muestre el mayor y el menor de tres introducidos por el usuario.

4. Se desea conocer el logaritmo natural y el logaritmo base 10 de una serie de números. Así como la suma de dichos valores

5. Se desea conocer la permutación de dos números distintos. Usando funciones. Diseñe un programa que resuelva dicho problema. (NOTA: 5P3=5!/(5-3)!)

6. Se desea conocer la equivalencia de dólares a colones (un dólar = 8.75 de colón), la equivalencia de un kilogramos a libras (1kg=2.2lb) y la conversión de kilómetros a millas (1km=0.62millas). realice esta solución mediante un menú.

7. Calcule lo que debe pagar cada cliente en un almacén; si por cada compra el cliente tiene derecho a sacar un papelito, y dependiendo del color, se efectúan diferentes descuentos. Si el color es blanco, se realiza un descuento del 2.63% sobre la cuenta, si es verde, un descuento de 4.85% y si es rojo, un descuento de 5.02%. se sabe además que si es día lunes o viernes, el porcentaje de descuento es el doble.

8. El seno de un ángulo, puede aproximarse, de la siguiente manera: sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ..., determine este valor, y usando la función sin(d), luego muestre la diferencia entre estos valores.

9. En una empresa de electricidad, se cobrar las facturas correspondientes al consumo de kwh, de la siguiente manera: los primeros 100 kwh, se cobran $2.5, lo siguientes 200 kwh, son a $5.00, los 300kwh, siguientes, son cobrados a razón de $7.5, los kwh siguientes se cobran a $7.00. diseñe un programa que permita determinar lo que debe pagar un grupo de clientes al final del mes.

En una empresa de repuestos de automóvil, poseen 10 tipos de repuestos identificados con los números de 1 al 10. durante la semana se realizan diferentes ventas de los repuestos. Se desea saber la cantidad de repuestos que se deben comprar, para actualizar el inventario. El cual se realiza cada cinco días, y se procede de la siguiente manera: cada día se contabilizan el total de facturas, en las cuales se muestran la cantidad de artículos vendidos así como el total de la venta. Con esos datos, indique al usuario cuantos y de que tipo, son los repuestos que se deben comprar así como la ganancia.

Cuestionario

1. ¿Qué es una array o arreglo?___________________________________________________________________________________________________________________________________________________________________________________________________________________

2. ¿Cuál es la diferencia entre un vector y una matriz?_______________________________________________________________________________________________________________________________________________________________________

3. ¿Cómo se define y se declara una función cuyos parámetros son vectores o matrices?____________________________________________________________________________________________________________________________________________________________________

4. ¿Cuáles son los tipos de datos admitidos para los arreglos?:______________________________________________________________________________________________________________________________________________________________________________________________________________________________

5. ¿Cuáles son las diferencias fundamentales entre un arreglo y una variable simple?________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Ejercicios

1. En una escuela se tiene el listado de 30 alumnos con sus respectivas notos, diseñe un programa que muestre las notas de los alumnos que tuvieron una nota mayor que el promedio.

2. Diseñe un programa que dado un vector de magnitud X, busque y muestre la posición en la que se encuentra un valor N, dentro del vector

3. Se tiene dos vectores A y B, diseñe una solución, en la cual, en un tercer vector se guarde la multiplicación de los vectores A y B, y luego se impriman los tres vectores, uno a la par del otro, en forma vertical

4. Diseñe un programa en C, en el cual guarde un vector de 100 posiciones, determine la media y la desviación estándar.

5. Almacenar 50 números en un vector, elevar al cuadrado cada valor almacenado en el vector, almacenar el resultado en otro vector. Imprimir el vector original y el vector resultante

6. Diseñe un algoritmo y programa que lea dos vectores A y B de 20 elementos cada uno y sume el primer elemento de A con el ultimo elemento de B y luego el segundo elemento de A por el diecinueveavo elemento de B y así sucesivamente hasta llegar al veinteavo elemento de A por el primer elemento de B. El resultado de la suma almacenarlo en un vector C.

7. Se desea conocer la suma de la diagonal mayor y la diagonal menor de una matriz de F*C, e indique la diferencia matemática entre ambos resultados.

8. En una tiemda, hay 8 departamentos y se tiene el registro de las ventas del año pasado de cada departamento por mes. Se desea conocer: el departamento que tuvo mayores ventas a lo largo de año. El departamento que tuvo menores ventas en el año. El mes en que se vendió más en el departamento número 3 y los meses y el departamento que superó las ventas promedios así como el total de lo vendido a lo largo de año.

9. Se tienen dos Matrices de tamaño 4x4, se pide escriba un programa en el cual,. Mediante un menú, se puedan sumar, multiplicar o dividir las matrices.

10. El departamento de policía de la ciudad de San Salvador ha acumulado información referente a las infracciones de los límites de velocidad durante un determinado periodo de tiempo. El departamento ha dividido la ciudad en cuatro cuadrantes y desea realizar una estadística de las infracciones a los límites de velocidad en cada uno de ellos. Para cada infracción se ha preparado una tarjeta que contiene la siguiente información:

· numero de registro del vehículo;

· cuadrante en el que se produjo la infracción

· limite de velocidad en milla por hora

Diseñe un programa para producir 2 informes; el 1o. Que contiene una lista de la multa de velocidad recolectadas, donde la multa se calcula como la suma del costo de la corte ($20,000) mas $ 1,250 por cada mph que exceda la velocidad limite. Prepare una tabla con los siguientes resultados:

INFRACCIONES A LOS LIMITES DE VELOCIDAD

Registro del vehículo

Velocidad registrada (MPH)

Velocidad limite

Multa

Este informe debe ser seguido de un segundo en el cual se proporcione un análisis de las infracciones por cuadrante. Para cada uno de los 4 cuadrantes mencionados, debe darse el numero de infracciones y la multa promedio

Cuestionario

1. ¿Qué es recursión?:________________________________________________________________________________________________________________________________________

  1. ¿Qué aspectos, son los que debo tomar en cuenta, cuando tengo que decidir entre iteración o recursión?_________________________________________________________________________________________________________________________________________________________________________________________________________________
  2. ¿Cuándo se produce una recursión infinita?_______________________________________________________________________________________________________________________________
  3. ¿Para que sirven los casos base?¿y los casos generales?______________________________________________________________________________________________________________________________________________________________________________________________
  4. ¿En que consiste la técnica “divide y vencerás”?______________________________________________________________________________________________________________________________________________________________________________________________

Descubre el error:

El siguiente código, presenta algunos errores de lógica, de sintaxis y de ejecución, ¿Puedes descubrirlos y corregirlos?

/* Programa que calcula la suma de dos vectores */

#include

int suma (int a[], int b[], int n);

void main()

{

int a[5]={1,2,3,4,5};

int b[5]={1,2,3,4,5};

int n=5, r;

clrscr();

printf("el valor de la suma es:\n");

r=suma(a,b, n);

printf("%d", r);

getch();

}

int suma (int a[], int b[], int n)

{

if(n!=0)

r=0;

else

{

r=a[n-1]+b[n-1]+suma(a, b, n-1);

}

return r;

}

/*Función que suma a+b, usando una suceci¢n*/

#include

#include

int suma (int x, int b);

main()

{

int a,b,x=0, sum;

clrscr();

printf("PROGRAMA QUE USA LA FUNCION SUCC PARA SUMAR A+B\n");

printf("Ingrese el valor de a:");

scanf("%d", &a);

printf("b=");

scanf("%d", b);

sum=a+suma(x,b);

printf("%d + %d = %d\n\n", a,b,sum);

getch();

return 0;

}

int suma (int a, int b)

{

int r;

if(x==b)

r=x;

else

{

x++;

r=suma(a,b);

}

}

Ejercicios:

  1. Diseñe un programa que sume los primeros n múltiplos de tres, en forma recursiva
  2. Diseñe un función (o programa completo) que, dado un vector, determine el producto de todos sus elementos en forma recursiva.
  3. el valor de e (una expresión matemática, puede representarse de la siguiente manera: e=1/1!+1/2!+...+1/n!. Diseñe una función (o programa) que muestre el resultado recursivo de ésta sucesión.
  4. Dado un vector, escriba un programa que busque un elemento ingresado por el usuario, en el vector y con un mensaje en pantalla, indique si ese valor se encuentra o no.
  5. Escribir un programa, que comntenga una función recursiva, para calcular la función de Ackermann, definida de la siguiente forma:

->A(m,n)=n+1, si m=0

->A(m,n)=A(m-1, 1) si n=0

->A(m,n)=A(m-1, A(m, n-1)) si m>0 y n>0

  1. El combinatorio de dos números, está definido, por la expresión siguiente: C(m, n)=m!/(n!x(m-n)!), escribir un programa en C, que calcule el combinatorio, donde n! Es el factorial de n.
  2. Dados dos vectores de enteros e igual tamaño, calcular la suma de los productos de sus elementos: C=S(AiXBi).
  3. Escriba un programa que transforme cualquier núemro base 10, a otra base b, que puede ser de 8 a 16, utilizar para ello recursividad.
  4. Diseñe un programa que muetre cual es el valor mayor contenido en un vector unidimensional.
  5. Se tiene un conjunto de pesos p1, p2, p3...pn. y se desea estudiar, como objetivo si existe una selección de dichos objetos que totalicen exactamente un peso v, dado. Por ejemplo, si el objetivo es V=12y los pesos son: 4, 3, 6, 2, 1; se pueden elegir el primero, el tercero y el cuarto, ya que: 4+6+2=12. El algotimo para solucionar este problema tiene como tarea básica añadir un nuevo peso , probar si con ese peso se logra el objetivo o se avanza en el sentido de alcanzar la solución.