Вы находитесь на странице: 1из 8

UTN-FRSN

Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

Serie 1
Parte 1: Temas:
- Manejo del entorno
- Aplicacin de funcin de salida por video: printf()
- Aplicacin de funcin de entrada de datos por teclado: scanf()

1. Indicar cual es la salida de cada una de las siguientes sentencias, suponiendo que forman parte
de un programa completo:
a. printf("C es un lenguaje sencillo"); printf(" de propsitos
generales.\n");
b. printf("el lenguaje C no es de alto nivel \n y no esta orientado
a ninguna aplicacin.");
c.

printf("deseo escribir\n un programa en C\n");

d.

int num=2;printf("%d + %d : %d", num,num,num+num);

e. int a;
char c;
a = 500;
c = 'a';
printf(": %d: \n\n", 8347);
printf(": %d: %d: %d: \n\n" ,548,72900,72900);
printf(":%d:%d:\n\n",123,345.99);
printf(":%i:%f:\n\n",123,446.88);
printf(":%2d:%10.4f:%.4f:\n\n",123,455.5,455.5);
printf(":%c:%d\n\n",c,c);
printf("%10.4f\n",123.23);
printf("10.4f\n",123.23);
printf(":%d:%o:%x:\n\n",a,a,a);
printf(": %f: %e: %g: \n\n" , 1234.67,1234.67,1234.67);

2.
3.

Escribir un programa que muestre tu apellido y nombres, uno por lnea.


Escribir un programa en el cual se obtenga la siguiente salida por medio de tres sentencias:
"la comida esta fra".

4.

Realizar un programa el cual cree 3 variables; una de tipo char, otra de tipo float y la
ltima de tipo double, que permita asignarles un valor desde teclado y luego las muestre por
pantalla.

5.

Desarrollar un programa que imprima los nmeros del 1 al 4 en un mismo rengln


utilizando \t y de tres diferentes maneras:
a.
Con un enunciado printf sin especificadores de conversin.
b.
Con un enunciado printf con cuatro especificadores de conversin.
Serie 1 Pgina 1 de 8

UTN-FRSN
Ing. Cristina Alarcn

c.

Ingeniera Electrnica

Informtica II
2013

Con cuatro enunciados printf.

6.

Desarrollar un programa en C por medio del cual se ingresen el valor de una variable de tipo
float, otra de tipo int, y la ltima de tipo char, luego las imprima con sus cdigos de
formatos correctos y tambin con los cdigos intercambiados abarcando las nueve posibilidades.

7.

Desarrollar un programa en el cual tres nmeros enteros ingresados por teclado sean
mostrados en forma tabulada en un mismo rengln.

8.

Desarrollar un programa igual al ejercicio anterior pero variando que los nmeros son tipo
float y la salida es uno por rengln

Parte 2: Temas:
- Aplicacin de funcin de entrada de datos por teclado: getchar()
- Aplicacin de funcin de salida de datos por pantalla: putchar()

9.

Desarrollar un programa que lea un texto de caracteres ingresados por teclado e imprima el
mismo en la pantalla.

10.

Desarrollar un programa que al ingresar un texto de caracteres determine e informe la


cantidad de los mismos que lo forman.

11.

Desarrollar un programa que al ingresar un texto de caracteres cuente e informe la cantidad


de lneas que lo forman.

12.

Desarrollar un programa que al ingresar un texto de caracteres cuente la cantidad de palabras


que lo forman.

13.

Escribir un programa que cuente e informe la cantidad de espacios en blanco, tabuladores, y


caracteres nueva lnea que posee un texto de caracteres. En la determinacin de los espacios en
blanco utilizar la funcin de biblioteca acorde.

14.

Escribir un programa que imprima por pantalla las palabras que lea, una por rengln.

15.

Escribir un programa que copie en pantalla el texto ingresado, cambiando las maysculas
por las minsculas y viceversa. Utilice las funciones de biblioteca pertinentes.

16.

Escribir un programa que reemplace los tabuladores (\t) que figuran en el texto de entrada
por el nmero apropiado de espacios en blanco y muestre el texto modificado.

17.

Escribir un programa que compruebe los errores sintcticos rudimentarios de un programa


en C, tales como parntesis, corchetes y llaves desemparejados, e informe a los mismos con
carteles aclaratorios.

18.

Escribir un programa que ingrese un texto de caracteres y luego elimine del mismo todos los
dgitos decimales que en l se encuentran, para reemplazarlos por sus nombres respectivos.

Serie 1 Pgina 2 de 8

UTN-FRSN
Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

Parte 3: Temas:
- Estructuras de control de programas: while(), do-while(), for(), switch(),
if()-else.

19.

Escribir un programa que determine si el primero de una lista de tres nmeros dados es
menor que los otros dos.

20.

Escribir un programa que determine si una lista de cuatro valores numricos dada esta
ordenada de menor a mayor.

21.

Escribir un programa que ingresndole tres valores numricos distintos, no necesariamente


ordenados, muestre aquel que no sea ni el mayor ni el menor.

22.

Escribir un programa que halle la suma de los n primeros nmeros naturales, con n variable
pero conocido de antemano en cada caso.

23.

Se ingresa por teclado una sucesin no vaca y finita de nmeros positivos, nulos o
negativos. Por medio de un programa determinar la cantidad de nmeros positivos que se
presentan antes del primer nmero negativo de la sucesin y obtener la suma de los mismos.

24.

Escribir un programa que halle el mnimo valor de una sucesin numrica dada ingresada
por teclado y la posicin que ocupa dentro de la misma. Se desconoce la cantidad de nmeros de
la sucesin, aunque se sabe que ella es no vaca y finita. Los datos son todos distintos y ninguno
es 999.

25.

Escribir un programa que determine el primer trmino que supera el valor n (n>1 variable y
conocido) en la sucesin de Fibonacci. (siendo los dos primeros trminos de la serie 0 y 1
respectivamente, a partir del tercero, cada trmino se obtiene sumando los dos trminos que lo
preceden).

26.

Escribir un programa que dada una lista de n nmeros (n >2, variable pero conocido en cada
caso), determine si el primer nmero es menor que todos los dems.

27.

Escribir un programa que dada una sucesin numrica compuesta por 300 nmeros enteros,
positivos, negativos y nulos, calcule:
a) promedio de los valores positivos
b) promedio de los valores negativos
c) cantidad de valores nulos.

28.

Disear un programa que genere e imprima todas las combinaciones posibles de tres dados.

29.

Realizar un programa que imprima todos los nmeros primos comprendidos entre el 2 y un
valor lmite que se ingresar al ejecutar el programa.

Parte 4: Temas:
- Funciones no parametrizadas.
- Pasaje de parmetro por valor.
- Pasaje de parmetro por referencia.
Serie 1 Pgina 3 de 8

UTN-FRSN
Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

30.

Escribir un programa que calcule los factoriales de los primeros n primeros nmeros
naturales usando una funcin llamada FACTORIAL.

31.

Teniendo como datos una base x y un exponente y, ambos enteros, calcular por medio de
una funcin llamada POTE el valor de xy.

32.

Supongamos que a, b, y c representan la longitud de los lados de un tringulo. Se debe


confeccionar una funcin llamada VERIFICA, la cual analizar si las longitudes corresponden a
los lados de un tringulo rectngulo.

33.

Dados 2 nmeros enteros a y b, determinar:


a) Si a < b, la suma de todos los nmeros enteros comprendidos entre a y b.
b) Si a > b, el producto de todos los enteros primos comprendidos entre b y a
c) Si a = b, la suma de a y b.

34.

Cada uno de los tems anteriores calcularlo por medio de una funcin llamada CALCULO
que recibir del main() a a y a b como parmetros, y devolver al main() lo calculado.

35.

Dados 2 ngulos de un tringulo en grados, minutos y segundos, calcular el valor del tercer
ngulo. Para ello confeccionar una funcin llamada ANGULO, que convierta grados, minutos y
segundos a segundos, y calcule el valor del tercero. Los ngulos que son datos sern parmetro
valor y el ngulo calculado ser parmetro variable.

36.

Dado un texto que finaliza con un carcter &, escribir el mismo pero convirtiendo todo a
maysculas. Hacer una funcin CONV_MIN_MAY(x) para convertir minscula a mayscula.

37.

Dado un texto en minsculas, que siempre finaliza con el carcter &, escribir el texto pero
respetando que cada oracin comienza con maysculas. Usar la funcin CONV_MIN_MAY(x)
del ejercicio anterior. Las oraciones estn separadas por un punto.

38.

Realizar una funcin que reciba como datos los coeficientes a, b y c de una ecuacin
cuadrtica y la resuelva. El main() imprimir la ecuacin con sus races correspondientes. La
funcin llamada CUADRA realizar el clculo y deber contemplar todos los casos posibles de
las races de una ecuacin de segundo grado.

39.

Tabular los valores de un polinomio de grado n, ingresado por teclado, del tipo
P(x)=x+x2+x3+....+xn, con x = [-15, 15] con incrementos de 0,7. Para ello la funcin llamada
POLI evaluar el polinomio en un punto x dado y delver su resultado con la funcin main().

40.

Realizar una funcin llamada FECHA que reciba como datos da, mes y ao, luego devuelva
a la funcin principal main() si la fecha es vlida. Contemplar que el ao puede ser bisiesto.

41.

Disear un programa que contenga una funcin de prototipo: int COMPRUEBA(int, int), la
cual recibe como parmetros las coordenadas (x,y) de un punto cualquiera en el plano. Esta
debe determinar si dicho punto pertenece a la circunferencia x2 + y2=100.

42.

Disear un programa que contenga una funcin de prototipo: void MAYOR_SIGUIENTE


(float *, float *, float *), la cual devuelve al main() el mayor valor y el siguiente de un conjunto
de valores numricos todos distintos de cero.
Serie 1 Pgina 4 de 8

UTN-FRSN
Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

43.

Disear un programa que halle las races enteras 2, 3, 4, 5, 6, 7 de aquellos enteros


pertenecientes al intervalo [1, 1000] desarrollando la funcin cuyo prototipo se detalla a
continuacin: int CALCULA_RAIZ(int base, int exponente).

44.

Disear un programa que calcule el rea limitada por la curva de ecuacin y=x2 y el eje de
las abcisas, entre dos valores a y b conocidos previamente. Hacerlo a travs de la funcin: float
AREA(float a, float b).

45.

Disear un programa que al ingresar pares de nmeros enteros tantas veces como considere
necesario, determine si el primer nmero del par es divisible por el segundo. Desarrollar la
funcin MODULO, la cual calcula el mdulo o resto de la divisin entre dos enteros: void
MODULO(int dividendo, int divisor, int *resto).

Parte 5: Temas:
- Recursividad

46.

Por medio de una funcin recursiva calcular la multiplicacin de dos nmeros naturales.
Mostrar su resultado.

47.

Dados dos nmeros naturales n1 y n2 por medio de una funcin recursiva calcular la suma
de los nmeros comprendida entre ellos, incluidos los mismos. Mostrar el resultado obtenido.

48.

Dado un nmero natural n calcular la sumatoria de los primeros n nmeros naturales a


travs de una funcin recursiva. Mostrar el resultado obtenido.

49.

Dados dos nmeros naturales: base y exponente calcular por medio de una funcin recursiva
el valor de la base elevado a exponente y mostrar el resultado.

50.

Teniendo como datos dos nmeros naturales calcular el producto de los nmeros
comprendidos entre ellos, incluidos los mismos. Hacerlo por medio de una funcin recursiva.
Mostrar el resultado.

51.

Sabiendo que en la serie numrica de Fibonacci el primer trmino vale 1, el segundo vale 1
y los siguientes son la suma de los dos anteriores, calcular el valor de un trmino cualquiera.
Hacerlo por medio de una funcin recursiva, y mostrar el resultado obtenido.

52.

Dados dos nmeros naturales a y b, siendo b distinto de cero, calcular la divisin entera
entre a y b. Hacerlo por medio de una funcin recursiva. Mostrar el resultado obtenido.

Parte 6: Temas:
- Macros o funciones en lnea

53.

Realizar un programa en lenguaje C que implemente una macro llamada TRUNCA(x), la


misma trunca la parte decimal de x. El argumento x puede ser entero o real.

Serie 1 Pgina 5 de 8

UTN-FRSN
Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

54.

Implementar y utilizar la macro REDONDEA(x), la cual redondea el valor de x de acuerdo


al siguiente criterio:
1) Si x<0 TRUNCA (x-0.5)
2) x>=0 TRUNCA (x+0.5)
El argumento x puede ser entero o real.

55.

Realizar la macro PARTE_ENTERA(x), donde x es un nmero real, definiendo la parte


entera de x como el menor nmero entero ms prximo al mismo.

56.

Desarrollar una macro FAREN_A_CELSIUS(x) que convierta grados celsius a grados


Fahrenheit. La frmula de conversin es: C = 5/9 (F 32).

57.

Programe una macro llamada ES_DIGITO(x) que determine si un carcter es uno de los
dgitos de 09.

58.

Escribir una macro ES_VOCAL(x) que determine si un carcter es una vocal.

59.

Escribir una funcin en lnea llamada ES_PAR(x), la que define si el entero x es par, y en
tal caso que devuelva un verdadero.

60.

La macro PORCIENTO(x,y), calcula el porcentaje que representa x del total y.


Implementar y utilizar dicha macro.

61.

Realizar una macro llamada CUBO(x), la cual calcula el valor de x elevado al cubo,
siendo x un valor entero. Implementar y utilizar dicha macro en un programa.

Parte 7: Temas:

- Arreglos numricos

62.

Hacer un programa que llene automticamente un vector de n elementos, (n<=60), con


ceros y unos en forma alternada. Imprimir en la pantalla dicho vector.

63.

Realizar un programa que permita leer 30 nmeros enteros desde teclado. Calcular el
promedio de los mismos. Determinar cuantos de ellos superan a su promedio. Emitir la
informacin con ttulos aclaratorios.

64.

Realizar un programa que permita ingresar 30 nmeros por teclado y luego los muestre en
dos columnas. Ordenando los nmeros pares en una columna y los nmeros impares en otra.

65.

Hacer un programa que permita ingresar por teclado los elementos de un vector numrico
llamado A de 10 elementos y otro llamado B de 15 elementos. Formar un tercer vector C
constituido por los elementos de A y B.

66.

Modificar el ejercicio anterior de modo que el vector C no contenga nmeros repetidos ni de


A ni de B.

Serie 1 Pgina 6 de 8

UTN-FRSN
Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

67.

Hacer un programa que permita ingresar por teclado los 20 elementos de un vector numrico
C, luego que lo ordene en forma ascendente y lo imprima por pantalla.

68.

Realizar un programa que permita leer por teclado los 15 elementos numricos enteros de un
vector A. Luego permita ingresar un nmero c y busque si dicho numero c se encuentra en el
vector A. Hacer la bsqueda en forma secuencial, elemento a elemento.

69.

Modificar el ejercicio anterior para ordenar los elementos del arreglo. A continuacin,
realizar una bsqueda dicotmica o binaria del nmero c en el arreglo A.

70.

Realizar un programa que permita leer desde teclado los valores de una tabla numrica
llamada A de 10 filas y 5 columnas. Realizar la lectura de dichos elementos por fila. Luego
imprimir la tabla por columnas.

Parte 8: Temas:
-

Cadenas de caracteres
Punteros
Funciones creadas por el usuario
Creacin de proyectos

71.

Disear una funcin que cuente y devuelva la cantidad de caracteres de una cadena llamada
*cad. El prototipo de la funcin es: int cuentacar(char *cad). El equivalente de la
biblioteca estndar es la funcin strlen, que no puede ser usada para resolver este ejercicio.

72.

Disear una funcin cuyo prototipo sea: void copia(char *cad1, char *cad2),
donde cad1 y cad2 son cadenas de caracteres. La funcin copia() copiar el contenido
cad2 en cad1. El equivalente de la biblioteca estndar es la funcin strcpy, que no puede
ser usada para resolver este ejercicio.

73.

Disear una funcin cuyo prototipo sea: int busca(char *cad1, char c). La
funcin devolver la posicin de la primera ocurrencia del carcter c en la cadena *cad1, de
no encontrarse en la misma devolver un falso. El equivalente de la biblioteca estndar es la
funcin strchr, que no puede ser usada para resolver este ejercicio.

74.

Disear una funcin cuyo prototipo sea: int alfabtica(char *cad, char
*cad2). Alfabtica devolver como resultado al lugar donde fue llamada:

-1 si cad1 est primero en el orden alfabtico que cad2

0 si cad1=cad2

1 si cad1 est despus en el orden alfabtico que cad2.


El equivalente de la biblioteca estndar es la funcin strcmp, que no puede ser usada para resolver
este ejercicio.
75.

Disear una funcin cuyo prototipo sea: char *une( char *cad1, char
*cad2).La funcin devolver una cadena formada por cad1 y a continuacin cad2. El
equivalente de la biblioteca estndar es la funcin strcat, que no puede ser usada para
resolver este ejercicio.
Serie 1 Pgina 7 de 8

UTN-FRSN
Ing. Cristina Alarcn

Ingeniera Electrnica

Informtica II
2013

76.

Disear una funcin cuyo prototipo sea: char *invierte(char *cad1). Esta
funcin devuelve la cadena cad1 invertida. El equivalente de la biblioteca estndar es la
funcin strrev, que no puede ser usada para resolver este ejercicio.

77.

Disear una funcin cuyo prototipo sea: char *medio(char *cad1, int pos1,
int pos2). La funcin devolver una subcadena de la cadena cad1. Dicha subcadena
comenzar con el elemento que se encuentra en la posicin pos1 de cad1 y terminar con el
elemento que se encuentra en la posicin pos2 de cad1.

78.

Disear una funcin cuyo prototipo sea: char *izquierda(char *cad1, int
pos1). La funcin devolver una subcadena de la cadena cad1. Dicha subcadena comenzar
con el primer elemento de cad1 y terminar con elemento que se encuentra en la posicin
pos1 de cad1.

79.

Disear una funcin cuyo prototipo sea: char *derecha(char *cad1, int
pos1). La funcin devolver una subcadena de la cadena cad1. Dicha subcadena comenzar
con el elemento de cad1 que se encuentra en la posicin pos1 y terminar con el ltimo
elemento de cad1.

80.

Disear una funcin cuyo prototipo sea: char *mayor(char *cad1, char
*cad2). La funcin mayor devuelve la cadena de mayor longitud entre cad1 y cad2.

81.

Disear una funcin cuyo prototipo sea: char *cadena_aleat(int n). Esta funcin
devuelve una cadena de n caracteres al azar. Mejorar la funcin de manera de permitir
seleccionar si los caracteres con slo maysculas, solo minsculas o ambas.

82.

Los prototipos de las funciones deben integrar el archivo de cabecera "cadenas.h". Las
definiciones de las funciones deber formar parte del archivo cadenas.c. Repetir los ejercicios 71
a 81 en forma de proyecto.

Serie 1 Pgina 8 de 8

Вам также может понравиться