Está en la página 1de 15

Fecha: 01-03-2018

LABORATORIO DE PROGRAMACIÓN I (ISI-121)

EJERCICIOS CAPÍTULO 2

Nota. - Escriba sus respuestas con el color verde.

1. Llene los espacios en cada uno de los siguientes enunciados.


a) Todo programa en C empieza su ejecución en la función MAIN.
b) Una LLAVE IZQUIERDA empieza el cuerpo de toda función, y una LLAVE DERECHA termina el
cuerpo.
c) Toda instrucción de C termina con un PUNTO Y COMA
d) La función PRINTF de la librería estándar imprime información en la pantalla.
e) La secuencia de escape \n representa el carácter SALTO DE LINEA, el cual hace que el cursor se
posicione al principio de la siguiente línea en la pantalla.
f) La función SCANF de la librería estándar se usa para obtener información desde el teclado.
g) El especificador de conversión % se usa en la cadena de control de formato en un scanf para
indicar que se ingresará un entero y en la cadena de control de formato en un printf para indicar
que se imprimirá un entero.
h) Siempre que un nuevo valor se coloca en una ubicación de memoria, ese valor sobrescribe el valor
anterior en esa ubicación. Se dice que este proceso es DESTRUCTIVO.
i) Cuando un valor se lee desde una ubicación de memoria, el valor en esa ubicación se preserva; se
dice que este proceso es NO DESCTRUCTIVO.
j) La instrucción IF se utiliza para tomar decisiones.

2. Especifique si cada uno de los siguientes enunciados es verdadero o falso. Si es falso, explique por
qué.

a) La función printf siempre comienza a imprimir al comienzo de una nueva línea. FALSO LA
FUNCION DEBE CONTENER EL CARÁCTER ESPECIAL ”\n”

b) Los comentarios hacen que la computadora imprima el texto que va después de los caracteres //
en la pantalla, al ejecutarse el programa.
FALSO LOS COMENTARIOS SOLO SIRVEN PARA AYUDAR A COMPRENDER MEJOR EL PROGAMA

c) Cuando la secuencia de escape \n se usa en la cadena de control de formato de un printf


ocasiona que el cursor se posicione al principio de la siguiente línea en la pantalla.
VERDADERO
d) Todas las variables deben declararse antes de utilizarlas.
VERDADERO
e) Todas las variables deben recibir un tipo al declararlas.
VERDADERO f) C considera que las variables numero y NuMeRo son idénticas. FALSO PORQUE
C DIFERENCIA MAYUSCULAS DE MINUSCULAS
g) Las declaraciones pueden aparecer casi en cualquier parte del cuerpo de una función de C.
VERDADERO EXCEPTO EN EL COMPILADOR DE C DE MNICROSOFT

h) Los argumentos que siguen a la cadena de control de formato en una función printf deben ser
precedidos por un ampersand (&).
FALSO ESO SOLO OCURRE EN LA FUNCION SCANF
Fecha: 01-03-2018

i) El operador módulo (%) se puede utilizar sólo con operandos enteros. VERDADERO

j) Los operadores aritméticos *, /, %, + y – tienen todos el mismo nivel de precedencia.


FALSO TODOS SE RIGEN BAJO UNA TABLA DE PROCEDENCIA
k) Un programa en C que imprime tres líneas de salida debe contener tres instrucciones printf.
FALSO SE PUEDE IMPRIMIR EN UN SOLO PRINTF

3. Escriba una sola instrucción en C para realizar cada una de las siguientes tareas:

a) Declarar las variables c, estaEsUnaVariable, q76354 y numero como de tipo int. Int
c,estaEsUnaVariable,q76354,numero;

b) Pedir al usuario que introduzca un entero. Termine el mensaje del indicador con un signo de
dos puntos (:) seguido de un espacio, y deje el cursor posicionado después del espacio.
printf(“%s,”Ingrese un entero ”);

c) Recibir un entero como entrada del usuario mediante el teclado, y almacenarlo en la variable
entera edad.
scanf(“%d”,&edad);

d) Si la variable numero no es igual a 7, mostrar "La variable numero no es igual a 7".


If(numero!=7){puts(“la variable no es igual a 7”);}

e) Imprimir el mensaje "Este es un programa en C" en una línea.


puts("Este es un programa en C");

f) Imprimir el mensaje "Este es un programa en C" en dos líneas. La primera línea debe
terminar con es un.
puts("ESTE ES UN \nPROGAMA EN C");

g) Imprimir el mensaje "Este es un programa en C"; cada palabra se debe escribir en una
línea separada.
puts("ESTE\nES\nUN\nPROGAMA\nEN\nC");

h) Imprimir el mensaje "Este es un programa en C". Separe una palabra de otra mediante un
tabulador.
puts("ESTE\tES\tUN\tPROGAMA\tEN\tC");

4. Escriba una declaración (o comentario) para realizar cada una de las siguientes tareas:

a) Indicar que un programa calculará el producto de tres enteros.


//El progama multiplicara tres enteros

b) Declarar las variables x, y, z y resultado de tipo int (en instrucciones separadas). // se


declara X,Y,Z,RESULTADO DE TIPO ENTERO
Fecha: 01-03-2018

c) Pedir al usuario que escriba tres enteros.


puts(“ingrese tres números”);

d) Leer tres enteros del usuario y almacenarlos en las variables x, y y z.


//LEEMOS TRES NUMEROS Y LOS ALMACENAMOS EN X,Y,Z

e)Calcular el producto de los tres enteros contenidos en las variables x, y y z, y asignar el resultado
a la variable resultado.
//RESULTADO ES LA MUTLIPLICACION DE A POR B Y POR C

f) Imprimir "El producto es ", seguido del valor de la variable entera resultado.
printf("EL producto de %d,%d,%d, es %d",a,b,c,resultado);//

5. Utilizando las instrucciones que escribió en el ejercicio 4, escriba un programa completo que calcule
e imprima el producto de tres enteros. Agregue comentarios al código donde sea apropiado.

int a,b,c;// DECLARAMOS A,B,C DE TIPO ENTERO


puts(“ingrese tres números”);
a=5; b=10;
c=2; //ASIGNAMOS VALORES
int resultado;
resultado=a*b*c;//RESULTADO ES LA MUTLIPLICACION DE A POR B Y POR C
printf("EL producto de %d,%d,%d, es %d",a,b,c,resultado);//MOSTRAMOS EL VALRO EN
PANTALLA

6. Identifique y corrija los errores en cada una de las siguientes instrucciones:

a) printf( "El valor es %d\n",numero);


printf(''El valor es %d\n’’, numero);
b) scanf( "%d%d", &number1, &number2 );
scanf(“%d %d”, &numero1, &numero2);
c) if ( c < 7 );{
printf( "C es menor a 7\n" );
}

if ( c < 7 ){
printf( "C es menor a 7\n" );
}

d) if ( c >= 7 ){
printf( "C es mayor o igual a 7\n" );}

if ( c >= 7 ){ printf( "C es


mayor o igual a 7\n" );
}
7. Identifique y corrija los errores en cada una de las siguientes instrucciones. (Nota: puede haber más
de un error por instrucción.)

a) scanf( "%d", &valor ); scanf(“%d”, valor);


Fecha: 01-03-2018

b) printf( "El producto de %d y %d es %d\n",


x, y,producto); printf(“El producto de %d
y %d es &d\n”, x, y, producto\n);
c) primerNumero + segundoNumero = sumaNumeros
sumaNumeros=primernumero+segundoNumero; d)
if ( numero >= mayor )
mayor = numero;
e) */ Programa que determina el mayor de tres enteros /*
/* Programa que determina el mayor de tres enteros */
f) scanf( "%d", &unEntero ); scanf( "%d",
un entero );
g) printf( "El residuo de %d dividido por %d es %d\n",x,y,x%y);
printf( "El residuo de %d dividido por %d es &d\n", x, y, x, y); h)
if x == y
printf( " %d es igual a %d\n", x, y);

i) printf( "La suma es %d\n",x );


j) printf( "El valor que ingreso es: %d\n,valor);

8. Complete las siguientes oraciones:

a) COMENTARIOS se utilizan para documentar un programa y mejorar su legibilidad.


b) La función que se utiliza para imprimir información en la pantalla es PRINTF .
c) Una instrucción de C que toma una decisión es IF.
d) La mayoría de los cálculos se realizan normalmente mediante instrucciones ARITMETICAS.
e) La función SCANF recibe valores de entrada del teclado.

9. Escriba una sola instrucción o línea en C que realice cada una de las siguientes tareas:

a) Imprimir el mensaje "Escriba dos numeros".


puts(“Escriba dos números”);

b) Asignar el producto de las variables b y c a la variable a.


a=b*c;

c) Indicar que un programa va a realizar un cálculo de nómina (es decir, usar texto que ayude a
documentar un programa).
//El progama esta diseñado para realizar calculo de nomina

d) Recibir tres valores de entrada del teclado y colocarlos en las variables enteras a, b y c.
scanf("%d%d%d",&a,&b,&c);

10. Conteste con verdadero o falso a cada una de las siguientes proposiciones; en caso de ser falso,
explique por qué.

a) Los operadores en C se evalúan de izquierda a derecha.


VERDADERO
b) Los siguientes nombres de variables son todos válidos: _barra_inferior_, m928134, t5, j7,
sus_ventas, su_cuenta_total, a, b, c, z, z2. VERDADERO
Fecha: 01-03-2018

c) La instrucción printf("a = 5;"); es un ejemplo típico de una instrucción de asignación.


FALSO EL PROGAMA NO EJECUTA LA ASIGNACION PORQUE LO TOMA COMO UNA CADENA
d) Una expresión aritmética válida en C sin paréntesis se evalúa de izquierda a derecha.
VERDADERO

e) Los siguientes nombres de variables son todos inválidos: 3g, 87, 67h2, h22, 2h.
FALSO ALGUNOS DE ELLOS NO SON VALIDOS POR SER TOTALMENTE NUMERICOS

11. Complete cada una de las siguientes oraciones:

a) ¿Qué operaciones aritméticas se encuentran en el mismo nivel de precedencia que la


multiplicación?
LA MULTIPLICACION Y EL MODULO.
b) Cuando los paréntesis están anidados, ¿cuál conjunto de paréntesis se evalúa primero en una
expresión aritmética?
EN EL CASO DE QUE TENGAN EL MISMO NIVEL SE EMPEZARA DE IZQUIERDA A DERECHA.
d) Una ubicación en la memoria de la computadora que puede contener distintos valores en distintos
momentos durante la ejecución de un programa se llama VARIABLE

12. ¿Qué se imprime (si acaso) cuando se ejecuta cada una de las siguientes instrucciones de C? Si no
se imprime nada, entonces responda “nada”. Suponga que x = 2 y y = 3.

a) printf( "%d", x );
2
b) printf( "%d", x + x );
4
c) printf( "x=" ); x=
d) printf( "x=%d", x ); x=2
e) printf( "%d = %d", x + y, y + x );
5=5
f) f) z = x + y;
“nada”
g) scanf( "%d%d", &x, &y );
“nada”
h) // printf( "x + y = %d", x + y );
“nada”
i) printf( "\n" ); (Salto de línea)

13. ¿Cuáles de las siguientes instrucciones de C contienen variables, cuyos valores se modifican?

a) scanf( "%d%d%d%d%d", &b, &c, &d,


&e, &f );
SE MODIFICA b,c,d,e,f
b) p = i + j + k + 7; Se
modifica el valor de P
b) printf( "Los valores son reemplazados" );
NO SE MODIFICA NADA
c) printf( "a = 5" );
NO SE MODIFICA NADA
Fecha: 01-03-2018

14. Dada la ecuación algebraica 𝑦=𝑎𝑥3+7, ¿cuáles de las siguientes instrucciones (si acaso) en C son
correctas para esta ecuación?

a) y = a * x * x * x + 7;
b) INCORRECTA
c) y = a * x * x * ( x + 7 );
d) INCORRECTA
d) y = ( a * x ) * x * ( x + 7 );
e) INCORRECTA
e) y = ( a * x ) * x * x + 7;
f) INCORRECTA
e) y = a * ( x * x * x ) + 7; CORRECTA
f) y = a * x * ( x * x + 7 ); INCORRECTA
15. Indique el orden de evaluación de los operadores en cada una de las siguientes instrucciones en
C, y muestre el valor de x después de ejecutar cada una de ellas:

a) x = 7 + 3 * 6 / 2 – 1;
En el siguiente orden Multiplicacion Division, Suma, resta y asignación
X=15

b) x = 2 % 2 + 2 * 2 – 2 / 2;
En el siguiente orden Modulo, multiplicación, División, Suma, Resta y
Asignación X=3

c) x = ( 3 * 9 * ( 3 + ( 9 * 3 / ( 3 ) ) ) );
En el siguiente orden el paréntesis mas profundo seguidamente la
multiplicación y división posteriormente la suma seguida de la
multiplicación de 3 y 9 para finalmente asignar el valor a X=67
16. (Aritmética) Escriba un programa que pida al usuario que escriba dos números, que obtenga los
números del usuario e imprima la suma, producto, diferencia, cociente y residuo de los números.

17. (Impresión de valores con printf) Escriba un programa que imprima los números del 1 al 4 en
la misma línea, con cada par de números adyacentes separado por un espacio. Haga esto de
varias formas:
Fecha: 01-03-2018

a) Utilizando una instrucción printf sin especificadores de conversión.


b) Utilizando una instrucción printf con cuatro especificadores de conversión.
c) Utilizando cuatro instrucciones printf.

18. (Comparación enteros) Escriba un programa que pida al usuario que escriba dos
enteros, que obtenga los números del usuario e imprima el número más grande,
seguido de las palabras "es más grande". Si los números son iguales, imprima el mensaje
"Estos números son iguales."
Fecha: 01-03-2018

19. (Aritmética, mayor valor y menor valor) Escriba un programa que reciba tres enteros
del teclado e imprima la suma, promedio, producto, menor y mayor de esos números.
El diálogo de la pantalla debe aparecer de la siguiente manera:
Fecha: 01-03-2018

20. (Diámetros, circunferencia y área de un círculo) Escriba un programa que lea el radio
de un círculo y que imprima su diámetro, circunferencia y área. Use el valor constante
3.141592 para

. Realice cada uno de estos cálculos dentro de las instrucciones printf y use el especificador de
conversión %f.

21. (Formas con asteriscos) Escriba un programa que imprima las siguientes figuras con
asteriscos:

22. ¿Qué imprime el siguiente código?


printf( "*\n**\n***\n****\n*****\n" );
R. *
**
***
****
23. (Enteros mayor y menor) Escriba un programa que lea tres enteros y que determine e
imprima los enteros mayor y menor en el grupo. Use solamente las técnicas de
programación que aprendió en este capítulo.
Fecha: 01-03-2018

24. (Par o impar) Escriba un programa que lea un entero y que determine e imprima si es
impar o par. [Sugerencia: use el operador módulo. Un número par es un múltiplo de dos.
Cualquier múltiplo de dos deja un residuo de cero cuando se divide entre 2.]

25. Imprima sus iniciales con letras de molde horizontales. Construya cada letra de molde
con la letra que representa, como se muestra abajo.
Fecha: 01-03-2018

26. (Múltiplos) Escriba un programa que lea dos enteros, determine si el primero es un
múltiplo del segundo e imprima el resultado. [Sugerencia: use el operador de módulo.]
Fecha: 01-03-2018

27. (Patrón de tablero de ajedrez con asteriscos) Escriba una aplicación que muestre un
patrón de tablero de damas con ocho instrucciones printf, y después muestre el mismo
patrón utilizando el menor número de instrucciones posible.
Fecha: 01-03-2018

28. Haga una distinción entre los términos error fatal y error no fatal. ¿Por qué preferiría
experimentar un error fatal en lugar de un error no fatal?

R. El error no fatal no tiene la capacidad de interrumpir el progama como lo tiene el error fatal
aun asi el error no fatal provoca resultados erróneos

29. (Valor entero de un carácter) He aquí un adelanto. En este capítulo, aprendió sobre los enteros
y el tipo int. C también puede representar letras mayúsculas, minúsculas y una considerable
variedad de símbolos especiales. C utiliza enteros pequeños de manera interna para representar
cada uno de los distintos caracteres. Al conjunto de caracteres que utiliza una computadora, y
las correspondientes representaciones enteras para esos caracteres, se le conoce como el
conjunto de caracteres de esa computadora. Por ejemplo, se puede imprimir el equivalente
entero de la mayúscula A ejecutando la siguiente instrucción:
printf( "%d", 'A' );
Escriba un programa en C que imprima los equivalentes enteros de algunas letras mayúsculas, letras
minúsculas, dígitos y símbolos especiales. Como mínimo determine los equivalentes enteros de lo
siguiente:
A B C a b c 0 1 2 $ * + / y el carácter en blanco.

30. (Separación de los dígitos de un entero) Escriba un programa que reciba como entrada un
número entero de cinco dígitos, que separe ese número en sus dígitos individuales y los imprima,
cada uno separado de los demás por tres espacios. [Sugerencia: use combinaciones de los
operadores de división entera y módulo.] Por ejemplo, si el usuario escribe el número 42339, el
programa debe imprimir:
Fecha: 01-03-2018

31. (Tabla de cuadrados y cubos) Utilizando sólo las técnicas que aprendió en este capítulo, escriba
un programa que calcule los cuadrados y cubos de los números del 0 al 10, y que use tabulaciones
para imprimir la siguiente tabla de valores:
Fecha: 01-03-2018

También podría gustarte