Programación 1 Práctico 1 Práctico 1: Operadores y expresiones. Tipos de Datos. Variables simples. Sentencias de control. La teoría general para este práctico puede consultarse en el Capítulo 3,Programación en C, de las Notas de Clase de la cátedra. 1. Completar los espacios en blanco en cada una de los siguientes enunciados: 1.1. Todo programa C comienza la ejecución por la función _________ 1.2. _________ comienza el cuerpo de cada función y _________ termina el cuerpo de cada función. 1.3. Toda sentencia termina con _________ 1.4. La función _________ de la biblioteca estándar muestra información en la pantalla. 1.5. La secuencia de escape \n representa el carácter _________ el cual hace que el cursor se posicione al comienzo de la línea siguiente en la pantalla. 1.6. La función _________ de la biblioteca estándar es usada para obtener datos desde el teclado. 1.7. El especificador de conversión _________ es usado en un string de control de formato en scanf para indicar que se va a ingresar un entero y en un string de control de formato de printf para indicar que se mostrará un entero. 1.8. La sentencia _________ es usada para tomar decisiones. 2. Establecer si cada una de los siguientes enunciados son verdaderos o falsos. Si son falsos, explicar porqué. 2.1. Una función printf siempre comienza imprimiendo al inicio de una nueva línea. 2.2. Los comentarios hacen que la computadora imprima el texto entre /* y */ en la pantalla. 2.3. Todas las variables deben ser definidas antes de que se usen. 2.4. En C las variables number y NumBer son idénticas. 2.5. El operador de resto (%) debe ser usado sólo con operandos enteros. 2.6. A todas las variables se les debe especificar un tipo cuando son definidas. 3. Escribir una única sentencia en C para llevar a cabo cada una de las siguientes acciones: 3.1. Definir las variables c, estaVariable, q76354 y numero de tipo int. 3.2. Solicitar al usuario que ingrese un entero. Finalice el mensaje con dos puntos (:) seguido por un espacio y deje el cursor posicionado después del espacio. 3.3. Leer un entero desde el teclado y almacenarlo en una variable a. 3.4. Si numero no es igual a 7, imprimir “La variable numero no es igual a 7”. 3.5. Imprimir el mensaje “Este es un programa C.” en una línea. 3.6. Imprimir el mensaje “Este es un programa C.” en dos líneas de manera que la primera línea finalice con “un”. 3.7. Imprimir el mensaje “Este es un programa C.” con cada palabra en una línea separada. 3.8. Imprimir el mensaje “Este es un programa C.” con cada letra en una línea separada. 3.9. Leer tres enteros desde el teclado y almacenarlo en las variables x, y, z. 3.10. Calcular el producto de los valores enteros contenidos en x, y, z y almacenarlo en la variable resultado. 3.11. Imprimir el mensaje “El resultado es” seguido por el valor de la variable resultado. Departamento de Informática UNSL 1/3 Programación 1 Práctico 1 3.12. Asignar a la variable z la suma de las variables x, y e incrementar el valor de x en 1 después del cálculo. 3.13. Multiplicar la variable producto por 2 usando el operador *=. 3.14. Verificar si el valor de la variable count es mayor que 10. Si lo es, imprimir “count es mayor que 10”. 3.15. Decrementar la variable x en 1 y luego sustraerla a la variable total. 4. Qué puede siempre afirmarse que es verdad una vez terminada una sentencia de iteración cuya condición es: (i <= 'T' || a) A) La condición es verdadera. B) i <= 'T' && a C)i > 'T' && ! a D) i > 'T' || ! a E) Nada, porque no puede haber una expresión condicional así. F) Ninguna. 5. Luego de la ejecución del siguiente trozo de código en C: for (x = 1, y = 1; x != 10 || y != 10; y++, x+=2) if (aa == bb) cc++; printf(“%d %d\n”, x, y); ¿Cuál es la salida? (Las variables se suponen bien declaradas). 6. Qué puede siempre afirmarse que es verdad si en una sentencia if en C, cuya condición es: (v >= 0 && v <= s) se ejecuta la rama del verdadero ? A) (v < 0 || v > s) B) (v < 0 && v > s) C) (v >= 0 || v <= s) D) (v >= 0 && v <= s) E) No se ejecuta nunca la rama del verdadero con esa condición. F) Ninguna. 7. Hacer un programa que solicite el ingreso de dos números enteros e imprima el número más grande seguido del cartel “es más grande que” seguido del otro número. Si los números son iguales deberá imprimir “Los números ingresados son iguales”. 8. Hacer un programa que solicite el ingreso de tres números enteros e imprima la suma, el producto, el promedio, el menor y el mayor de los números, acompañando los valores por mensajes aclaratorios. 9. Hacer un programa que acepte como entrada tres caracteres, que deben ser algunos de los dígitos del cero al nueve, y opcionalmente un carácter que represente un signo (+ ó –) y los convierta en el correspondiente número de tres dígitos y lo imprima. Por ejemplo: Entrada: ‘-’, ‘3’, ‘7’, ‘5’; Salida: -375 Entrada: ‘+’, ‘3’, ‘7’, ‘5’; Salida: 375 10. Hacer un programa que: a- defina una constante simbólica K e imprima los primeros K naturales en una misma línea separados por espacios en blanco. b- permita ingresar un número natural (n), e imprima los primeros n naturales, cada uno en una nueva línea. 11. Hacer un programa que acepte como entrada un número natural (n), e imprima las n primeras letras mayúsculas del alfabeto (1 <= n <= 26). Ayuda: el valor ASCII de la letra ‘A’ es 65. Departamento de Informática UNSL 2/3 Programación 1 Práctico 1 12. Hacer un programa que acepte como entrada un número natural (n), calcule la suma de los primeros n naturales y muestre por pantalla un mensaje con el resultado. Por ejemplo, si se ingresó 4, la salida deberá ser “La suma de los 4 primeros números naturales es 1 + 2 + 3 + 4 = 10”. 13. Hacer un programa que acepte como entrada un número natural (n), si n es par imprima los n primeros pares sino los n primeros impares. Ayuda: usar el operador % 14. Hacer un programa que acepte como entrada dos números ENTEROS (n, m) y devuelva como resultado el producto n * m, pero simule la operación empleando la suma y no la mutltiplicación. ¡SIGNO! 15. Hacer un programa que acepte como entrada entre uno y no más de cinco caracteres, que deben ser algunos de los dígitos del cero al nueve, y opcionalmente un carácter que represente un signo (+ ó –) y los convierta en el correspondiente número y lo imprima. Departamento de Informática UNSL 3/3