Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integer numbers are requested, reading one by one. Maximum number of integers is N, being N
symbolic constant with datatype. Reading will also stop when M odd consecutive numbers are
entered, being M symbolic constant with datatype, that is defined within the main.
Program will display a message telling how many integers are entered and whether M odd straight
numbers were also entered.
A character bidimensional array will be drawn, using a symbol entered by the user. Ths symbol is
requested by a message and is read using a statement, pressing the enter key. SCANF is not
allowed.
If the symbol is a lowercase vowel it will be used to draw the array. If the symbol is an uppercase
vowel, the symbol will be its lowercase vowel.
In any other case symbol # will be used. (mandatory SWITCH for this requirement).
Tha array drawn will be of MxM positions where M is a symbolic constant without datatype
(mandatory FOR for this part), realizing that only positions left and below the diagonal (including)
are drawn.
NOMBRE Y APELLIDOS:
Se solicitan por pantalla notas de asignaturas para calcular la nota media del expediente de un
estudiante y ser aceptado en el programa Erasmus si cumple una serie de requisitos.
Para ello, el estudiante introduce el nombre de la asignatura y la nota (valor real), utilizando scanf
solo cuando sea estrictamente necesario. El número de asignaturas que tienen que introducirse
es MAX, siendo MAX constante simbólica sin tipo. Si, en un momento dado, se han introducido
un número mínimo de asignaturas (MIN, constante simbólica sin tipo) y la media en ese momento
es superior a 7 se para la introducción de datos y se da un mensaje de alumno aceptado en el
programa Erasmus, indicando la media.
#define MIN 4
main()
{
para llevar la cuenta del total de los valores las notas introducidas
mientras no hayamos llegado al total MAX de asignaturas y tampoco al número MIN con media
mayor que 7 leemos datos
{
printf("Asignatura: ");
gets(asignatura);
printf("Nota: ");
scanf("%f",¬a);
si hemos salido ya, sea por MAX o por MIN y media>=7 basta que la media sea 6 para que esté
aceptado
Se quiere dibujar una matriz de caracteres, mediante unos símbolos introducidos por el usuario.
Para ello se solicita un símbolo mediante un mensaje y se lee pulsando el símbolo sin verse por
pantalla.
En función del símbolo introducido, si es un dígito, será el símbolo a dibujar. Si es una letra
minúscula, el símbolo a dibujar será C, donde C es una constante simbólica con tipo definida fuera
del programa principal. En cualquier otro caso se tomará por defecto el símbolo #. (SWITCH no
permitido para esta parte).
La matriz dibujada será de 10 x 10 posiciones (FOR obligatorio para esta parte), teniendo en cuenta
que se dibujan las posiciones a la parte superior derecha, incluyendo la diagonal.
#include <stdio.h>
#include <conio.h>
main()
{
imprime el carácter si estamos por encima de la diagonal, incluyéndola, es decir el valor de la fila
es menor o igual que el de la columna, en caso contrario imprime un espacio
NOMBRE Y APELLIDOS:
Se solicita por pantalla un número entero de 3 cifras sin utilizar printf. Se lee este número y en el
caso en el que no tenga 3 cifras se vuelve a solicitar hasta que tenga 3 cifras (WHILE obligatorio
para este requisito).
Una vez cumpla el requisito se calculan cuantos valores entre los números 2 y 20 son divisores del
número introducido. Es decir, el número introducido es múltiplo de cada uno de estos valores.
(DO WHILE obligatorio para este requisito). Si al menos N números no son divisores se vuelve a
repetir todo el proceso, incluyendo por supuesto la lectura del número. Se indicará cuantos
números han sido divisores del número introducido.
N es una constante simbólica sin tipo al que debéis dar un valor, por ejemplo 3.
Se quiere dibujar una matriz de caracteres, mediante unos símbolos introducidos por el usuario.
Para ello se solicita un símbolo mediante un mensaje y se lee simplemente pulsando el símbolo y
viéndolo por pantalla.
La matriz dibujada será de M x M posiciones donde M es una constante simbólica entera. (FOR
obligatorio para esta parte)
Observad en los ejemplos de ejecución que se dibujan los caracteres correspondientes a la parte
superior izquierda, incluyendo la diagonal.
NOMBRE Y APELLIDOS:
El programa leerá números enteros hasta introducir un número primo. En ese caso terminará
mostrando por pantalla la media (con 2 decimales) de todos los números no primos introducidos
anteriormente. Existe un número máximo de números a introducir, que viene definido por N,
constante simbólica sin tipo, que, como ejemplo, tomará el valor 10. Si se llega al máximo de
números sin introducir un número primo se dará únicamente un mensaje indicando esta
circunstancia.
El programa lee dos números enteros positivos, que indican el menor y el mayor número de una
serie de números. Los números volverán a solicitarse en el caso en el que no se cumpla esta
condición de menor y mayor.
Una vez leídos se imprimen todos los números que están entre ambos, 5 por línea, teniendo en
cuenta que si un número es múltiplo de 2 o de 3 (no de ambos) en lugar del número se imprimirá
una letra, comenzando con la A mayúscula y así sucesivamente, hasta llegar a la Z, que volveremos
a comenzar por la A, etc. Observad el siguiente ejemplo de ejecución. Intentad que los valores
queden encuadrados al imprimirlos.
NOMBRE Y APELLIDOS:
donde NOMBRE es una constante con tipo llamada nombre, que, para probar el programa, tomará
como valor Siri.
El usuario introducirá su nombre y primer apellido. El programa mostrará en pantalla otro mensaje
saludando al usuario, de la forma:
Intento 1:
El número entero a acertar se encuentra almacenado en N, una constante con tipo (dadle un valor
para probar el programa, obviamente entre 0 y 50).
En cada caso, tras introducir un número, el programa mostrará un mensaje diciendo si el número
a acertar es MENOR, MAYOR que el introducido o si se ha acertado, de tal forma que, en caso de
no acertar, el siguiente mensaje mostrará el nuevo intervalo de valores posibles, tal como muestra
el ejemplo de ejecución.
El programa solicitará un número impar menor que 26. Lo solicitará hasta que se cumpla este
requisito. Posteriormente dibujará un triángulo con símbolos @, hasta completar una línea con
tantos símbolos como el número leído, tal como muestra el ejemplo.
Requisitos: DO WHILE obligatorio para cualquier tipo de sentencia iterativa. FOR obligatorio para
el dibujo del triángulo.
GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA
PROGRAMACIÓN – PRIMER CONTROL EVALUACIÓN CONTINUA
GRUPO 24 - 19 OCTUBRE 2022
NOMBRE Y APELLIDOS:
El programa leerá caracteres del teclado, solo pulsándolos, hasta que se introduzcan N símbolos
seguidos que sean iguales. Nos dará como resultado cuantos símbolos se han introducido en total
y cuál es el símbolo repetido.
N es una constante simbólica sin tipo que, para probar el programa, tomará el valor 4.
El programa solicitará 2 números enteros positivos y calculará el máximo común divisor de ambos
utilizando el algoritmo de Euclides.
En otro caso el mcd (a,b) es igual al mcd (b,r) donde r es el resto de dividir a entre b.
EXAM RULES:
THE COMPILER (DEV C++) IS THE ONLY PROGRAM ALLOWED TO OPEN. ONCE YOU HAVE COMPLETED BOTH
PROGRAM REQUESTED IN THIS EXAM, YOU HAVE TO UPLOAD THEM TO GLOBAL CLASSROOM. THERE IS A SPECIFIC
LINK. PLEASE, MAKE SURE BOTH FILES ARE UPLOADED.
A player is getting (reading) scores, with values between -5 and 5. If a score is wrong is read again.
Scores are added, ending the game when the maximum number of plays is reached. This
maximum number is stored in a symbolic constant N, which will take the value 10.
Player wins the game if the final sum is positive, loses if the value is negative, and it is a stalemate
if the sum is 0. A message must be displayed in each situation.
Game is ended also if after a score is impossible to change the final result, even with scores
remaining to get.
First example: game ended before 10 plays (after 8 plays) because was impossible to change the
result
Second example: player loses after 11 plays (1 play is wrong)
We need 3 integer variables, one to read the score, a counter for the plays, and another to
calculate the result of the game.
int score;
int plays=0;
int game=0;
abs function could be done evaluating both values game and -game.
And inside the loop… just read the score, and if the score is right, add the score to the game, and
increase the counter of plays
{
scanf("%i",&score);
if (score>=-5&&score<=5)
{
plays++;
game=game+score;
}
}
When the loop has ended, it is just to check the possible values of game to display a message.
The program reads characters, just pressing a key, that are displayed in the screen. Lowercase
letters are of special interest, more specifically lowercase letter strings.
Output will be the longest lowercase string (number of characters) but considering that if the
lowercase is not the character before or the character after in the alphabet to the previous one
the string is broken. For instance, to keep the string, after c, only b or d could be entered.
Program ends when a 10-lowercase string is entered or when N non lowercase symbols are
entered.
Integer constant N is
const int N=20;
We need variable key and previous to check the values of the characters, integer longest to store
the length of the longest string, int nonlowercase to count the number of non-lowercase symbols,
and integer string to store the length of the current string. Some variables need to be initialized.
char key;
char previous;
int longest=0;
int nonlowercase=0;
int string=0;
We need to read the first symbol before the do while loop to be able to compare them in the
condition at the end of the loop.
Do while loop until we reach the maximum number of non-lowercase allowed or the current
lowercase string has length 10.
do
{
//loop code
}
while(nonlowercase<N&&string<10);
When leaving the loop it’s necessary again to check if the current string is the longest because
this case could be length 10.
if (string>longest) longest=string;
printf("\nLongest lowercase string is %i",longest);
BACHELOR IN ROBOTICS ENGINEERING
PROGRAMMING – FIRST EXAM
GROUP 250 – OCTOBER 20TH 2022
EXAM RULES:
THE COMPILER (DEV C++) IS THE ONLY PROGRAM ALLOWED TO OPEN. ONCE YOU HAVE COMPLETED BOTH
PROGRAM REQUESTED IN THIS EXAM, YOU HAVE TO UPLOAD THEM TO GLOBAL CLASSROOM. THERE IS A SPECIFIC
LINK. PLEASE, MAKE SURE BOTH FILES ARE UPLOADED.
Program is about controlling the reading of a PIN number. PIN number has 4 digits. To check if
the PIN is correct, the program reads each digit pressing a key, without an enter. If pressed key is
a digit, an asterisk will be displayed, otherwise nothing will be displayed. Only digits will be
considered to check the pin.
Once four digits have been entered, it will be checked if it corresponds to the PIN stored in the
program. This value is stored in the integer constant pin. To test this program, this constant will
take the value 3682.
If entered PIN is not the stored PIN an error message will be displayed. User will have 3 attempts
before phone being blocked.
REQUIREMENTS: DO WHILE is mandatory for each iterative statement. SWITCH is mandatory for
each conditional statement.
Example:
If 6tyrieho67?r has been pressed, the program will display ***, and is waiting for the last digit
If 345oooooo9 has been pressed, the program will display ****, will check that the PIN is wrong,
and an error message will be displayed.
…
EXERCISE 2: 0s & 1s STRINGS
Develop a program that meets next requirements:
Program reads float numbers, in a loop. For each float, the program approximates it to the
corresponding smaller integer. So, if number is 4.67, approximate integer will be 4.
Output will be the longest string made up of zeros and ones, that is, if the numbers read are:
Longest string is 7.
Program ends when a string of zeros and ones of length 10 is obtained, or when N numbers have
been entered, being N a constant with no datatype, that in this case will take the value 30.
NOMBRE Y APELLIDOS:
Se pide realizar un programa que lea números enteros y cuente aquéllos que son capicúas.
Número capicúa es el que lee igual de izquierda a derecha que de derecha a izquierda.
Inverso: Esta función recibe un número entero y devuelve su inverso, es decir, si recibe 456
devolverá 654.
Para ello irá extrayendo los dígitos mediante las operaciones %10 y /10 y formando el inverso con
la operación *10
Ejemplo:
/10 → 45 %10→5
/10→4 %10→4
/10→0
Capicua: Esta función recibirá un número entero y el contador de números capicúas. No devuelve
nada. Utilizará la función inverso para ver si el número es capicúa o no y en caso afirmativo
aumentará el contador de números capicúa.
Lectura: Leerá un número entero. Este número debe tener al menos dos cifras y ser menor que un
valor n definido como constante simbólica (por ejemplo, a esta constante se le puede dar el valor
555555). La función devolverá true si el número leído es correcto y false en caso contrario. La
función recibirá una variable para almacenar el número leído en caso de que sea correcto. En caso
contrario este valor no se tendrá en cuenta.
El programa principal solicitará números enteros utilizando la función lectura hasta que esta
función devuelva un valor false.
Para cada número leído llamará a la función capicúa que comprobará si lo es o no.
Al terminar el programa mostrará por pantalla el número total de números introducidos y cuántos
de ellos han sido capicúas.
GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA
PROGRAMACIÓN – SEGUNDO CONTROL EVALUACIÓN CONTINUA
25 NOVIEMBRE 2020
NOMBRE Y APELLIDOS:
Se pide realizar un programa que gestione una hucha de un niño. El programa contará el dinero
según se va introduciendo y cuando el niño llegue a un tope sabrá que ha conseguido suficiente
para romper la hucha. El tope es una constante simbólica que, por ejemplo, en nuestro programa
puede tomar el valor 80.
euros: Esta función recibe un número entero y un carácter. Los casos válidos posibles son las
combinaciones:
50e, 20e, 10e, 5e, 2e, 1e, 50c, 20c, 10c, 5c, 2c, 1c
La función devolverá el valor en euros en el caso en el que la entrada sea correcta. Devolverá 0 en
caso contrario e imprimirá un mensaje de error.
ingresa: Esta función recibirá un valor en euros y el total actual de la hucha. Si la suma de los dos
valores llega al tope, imprime un mensaje para romper la hucha. Si no se ha llegado al tope, se
actualiza el valor de la hucha con la nueva entrada. La función devuelve true si se ha llegado al
tope y false en caso contrario.
lectura: Solicitará y leerá un número entero y un carácter. El número indicará el nominal del valor
de la moneda o billete en euros; el carácter será c para valor en céntimos o e para valor en euros.
La función simplemente lee y carga en dos parámetros que recibe. No controla que estos valores
sean correctos. La función no devuelve ningún valor.
NOMBRE Y APELLIDOS:
Se pide realizar un programa que realice una serie de operaciones matemáticas sobre cadenas de
caracteres que incluyen dígitos.
1) ascii: Esta función recibe una cadena de caracteres de cualquier longitud y devuelve la
suma de los dígitos que contiene la cadena. Es decir, si recibe por ejemplo la cadena
23E4+8-h devuelve el valor 17, correspondiente a la suma de 2, 3, 4 y 8.
2) sumacifras: Esta función recibirá un número entero y cargará en él la suma de sus cifras.
Es decir, si recibe 167 cargará 14 en el valor que recibe, correspondiente a la suma de 1, 6
y 7. La función no devuelve nada.
Una vez leído este valor, se solicitarán de uno en uno, indicándolo. Se leerán como cadenas de
caracteres con una sola instrucción.
Para cada cadena se utilizará la función ascii para conocer la suma de los dígitos de la cadena.
Si esta suma no está comprendida entre 1 y 40 vuelve a solicitarse la cadena y el valor anterior no
será tenido en cuenta para el total de cadenas a leer. Una vez cumplida esta última condición de
que el valor esté entre 1 y 40, se presentan los valores de esta suma elevada a P, siendo P constante
entera.
Una vez leídas todas las cadenas, se presenta el listado de todas las sumas devueltas por la función
ascii, así como la suma de las cifras de todas estas sumas.
NOMBRE Y APELLIDOS:
Se pide realizar un programa que lea por teclado una serie de cadenas de caracteres y las cifre
según una serie de requisitos.
2) cifrar: Esta función recibirá un carácter para cifrar y un número entero de desplazamiento.
No devuelve nada. El carácter cifrado será el resultado de añadir el desplazamiento al
carácter inicial, es decir, si el carácter es r y el desplazamiento es 3, el nuevo carácter será
u (r + 3 -> r, s, t, u).
Hay que tener en cuenta que el resultado debe ser una letra minúscula por lo que si al
desplazar se obtiene un valor posterior a la z hay que volver a comenzar por la a. Es decir,
si se cifra w, con desplazamiento 5, el resultado será b (w +5 -> w, x, y, z, a ,b). En cada
llamada a la función el desplazamiento aumenta internamente en una unidad, para que
los cifrados no sean siempre los mismos. En el caso de llegar a valor 10 vuelve a resetearse
a 1 para el siguiente cifrado.
Una vez leída la cadena, con una sola instrucción, se cifra mediante la función modificarcadena.
Para cada una se muestra la cadena cifrada, la longitud total de las cadenas leídas hasta el
momento, y el total de minúsculas cifradas.
Se seguirán solicitando cadenas hasta llegar a cifrar al menos tantas minúsculas como indica una
constante simbólica llamada topeminusculas. Para cada nueva cadena, el primer valor del
desplazamiento al cifrarla es 1. Al llegar a este valor se indicará el número de cadenas leídas y se
dará por terminado el programa.
NOMBRE Y APELLIDOS:
Se pide realizar un programa que lea cadenas construidas con símbolos correspondientes a
números romanos (sin tener en cuenta si están bien formadas o no) y realice sobre ellas una serie
de operaciones.
3) mayor: recibe un array de enteros y el número de valores que tiene el array. Devuelve la
posición del número mayor.
Los símbolos de cada cadena se introducirán uno a uno, mostrándose solo los que correspondan
a un símbolo romano. Para saber si es romano o no se utilizará la función romanos. Esta función
se utiliza también para ir construyendo el valor arábigo correspondiente.
Una vez introducidos todos los números romanos se mostrará un mensaje mostrando el mayor
número arábigo introducido. Para ello se utilizará la función mayor.