Trabajo personal de ciclos

Anuncio
Trabajo personal de ciclos
Fundamentos de computación
1. ¿Qué saldrá por pantalla cuando se ejecuten los siguientes bloques de instrucciones?
Para medirte, intenta resolverlo a mano y luego puedes comprobar la respuesta con el
ordenador.
a)
x =0;
do {
printf ( " %i \ n " ,x ) ;
} while ( x !=0) ;
b)
for ( ind =4; ind >=1; ind /=2) {
printf ( " %i \ n " ,ind -1) ;
}
c)
x =1;
do {
x ++;
printf ( " %i \ n " ,x ) ;
} while (x <3) ;
d)
for ( ind =0; ind <10; ind +=5) {
printf ( " %i \ n " , ind +1) ;
}
2. Explicar qué hacen los siguientes bloques de instrucciones (no qué ponen en pantalla,
sino para qué sirven):
a)
b)
c)
d)
e)
f)
g)
for ( ;scanf("%i",&valor)==1; acum += valor) {
printf("Eco: %i\n",valor);}
for(total=0; ; ){
total +=n;
if (total>MAXAC){
break;
}}
for (base=1; base <= maximo; ) {
base *= factor;}
for(puntos=SALIDA; adiv!=real; puntos--){
scanf("%i",&adiv);}
do {
scanf("%i",&primo);} while (primo<=0);
do {
potencia = pow(potencia,expon);} while(potencia<extremo);
for (x=0.5; x<10; x+=0.5) {
printf("%f ",x);}
3. En los siguientes programas se producen los errores indicados al final de cada uno (los
números de lı́nea se dan a la izquierda). Corregirlos.
1
a)
1
2
3
4
5
6
7
8
9
10
11
12
b)
1
2
3
4
5
6
7
8
9
10
11
12
c)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# include < stdio .h >
# include < stdlib .h >
void main () {
int i ;
do
{
scanf ( " %i " ,& i ) ;
} while ( i ==0)
system ( " pause " ) ;
}
// 10 C :\ prueba .c syntax error before " system "
# include < stdio .h >
# include < stdlib .h >
void main () {
int b ;
for ( b =1 , b <=5 , b ++) {
printf ( " %i " ,b ) ;
}
system ( " pause " ) ;
}
// 7 C :\ prueba .c syntax error before ’) ’ token
# include < stdio .h >
# include < stdlib .h >
void main () {
int i ;
i =10;
do {
printf ( " %i " ,i ) ;
i ++;
} while (i <5) ;
system ( " pause " ) ;
}
// Sale 10 , pero no era esa la idea , porque 10 es mayor
que 5
15 // Por qué no queda la pantalla vacı́a
d)
1 # include < stdio .h >
2 # include < stdlib .h >
3
4 void main () {
2
5
6
7
8
9
10
11
12 // No
int i ;
for ( i =0; i ==4; i ++) {
printf ( " %i " ,i ) ;
}
system ( " pause " ) ;
}
sale nada ¿por qué ?
3
(OVLJXLHQWHSURJUDPDHVFULEHXQDFXHQWDKDFLDGHODQWHGHVGHKDVWDORTXHSLGDHOXVXDULR&DPELDOD
LQVWUXFFLRQforSDUDTXHODFXHQWDVHDKDFLDDWUiVGHVGHHOOtPLWHKDVWD
#include <stdio.h>
void main()
{
int limite, contador;
printf("Dar limite: ");
if (scanf("%i",&limite) == 1) {
for (contador = 1; contador <= limite; contador++)
{
printf("%i ",contador);
}
printf(“\n”);
}
else {
printf(“Error de lectura\n”);
}
}
(OVLJXLHQWHSURJUDPDWLHQHTXHSHGLUDOXVXDULRXQDOHWUDKDVWDTXHOHGpXQD$SHURODLQVWUXFFLyQ
do-whileHVWiGHVRUGHQDGD&RUUtJHOD
#include <stdio.h>
#define CORRECTA ‘A’
void main()
{
char letra;
do (letra == CORRECTA) while
{
printf("Dar letra: ");
scanf("%c",&letra);
}
}
(OVLJXLHQWHSURJUDPDVXPDQ~PHURV¢KDVWDFXiQGR"
#include <stdio.h>
void main()
{
float total, valor; /* El total y cada valor leído */
printf("Dar valor: ");
scanf("%g", &valor);
*total = 0;
while (valor > 0)
{
total += valor;
printf("Dar valor: ");
scanf("%g", &valor);
}
printf("Total: %g\n ", total);
}
}
&RPSOHWDUHOVLJXLHQWHSURJUDPDSDUDTXHFXHQWHFXiQWRVFHURVKD\HQXQDVHULHGHQ~PHURV
#include <stdio.h>
void main()
{
int cuantos, contador, numceros, numero;;
printf("Cuantos números son: ");
if ((scanf("%i",&cuantos) == 1) && cuantos > 0) {
numceros = 0;
for (......................................................)
{
printf("Numero: “);
scanf(“%i",&numero);
if (numerp == 0) {
numceros++;
}
}
printf(“Habia %i ceros\n”,numceros);
}
}
'DUXQSURJUDPDTXHOHDXQQ~PHUR\OHHVFULEDUHSHWLGRWDQWDVYHFHVFRPROHSLGDHOXVXDULR3LVWDOHHUHO
Q~PHURDUHSHWLU\FXiQWDVYHFHVKD\TXHUHSHWLUORHQXQDIXQFLyQDSDUWHSRQHUXQFLFORTXHVHUHSLWDHOQ~PHURGH
YHFHVLQGLFDGR\GHQWURGHHVHFLFORSRQHUODLQVWUXFFLyQGHHVFULWXUDGHOQ~PHUR
Descargar