Sei sulla pagina 1di 4

CONTROL DE FUNDAMENTOS DE INFORMATICA - Curso 11/12

Nombre:

Grupo:SubGrupo(Prcticas Aula):

1. Cul es la salida por pantalla del siguiente cdigo?

#include <stdio.h>
#include <stdlib.h>
main()
{ int i=1,j=0,x=0, s;
while((i<6)&&(j<i))
{ s= i+j-2;
switch (s)
{case 0:x=x+2;
break;
case 1:x=x+3;
break;
}
printf ("%d",x);
i++;
j++;
}
system("PAUSE");
}

Solucin: 0 3 3 3 3

2. Completar el siguiente programa para que lea un nmero x y despus lea una
secuencia de nmeros terminada en 0. El programa deber contar cuntos nmeros
hay en total en la secuencia y cuntos son menores que x.

#include <stdio.h>
#include <stdlib.h>
main()
{ int x, num, menores, total ;

menores=0;
total=0;
printf("Dame un nmero");
scanf("%d", &x);
printf("Dame una secuencia (para finalizar 0)\n");
scanf("%d", &num);

while (num!=0..)
{ total++;

if (num<x.)
{menores++; }
scanf("%d",&num);
}
printf(" la secuencia tiene en total %d nmeros, y menores que %d tiene %d nmeros",
total, x , menores ..);

printf("\n\n");
system("PAUSE");
}

3. Qu aparece en pantalla al ejecutarse el siguiente programa?:

#include <stdlib.h>
#include <stdio.h>
void segmenta(int a, int b);
main()
{
segmenta( 5, 10 );
segmenta( 15, 8 );

system("PAUSE");
}
//FUNCION
#include<stdio.h>
#include<stdlib.h>
void segmenta(int a, int b)
{ int i;
if ( a > b )
{ for( i=a; i >=b; i-- )
{ printf( " %d ", i ); }
printf( "\n" );
} else
{ for( i=a; i <= b; i++ )
{ printf( " %d ", i ); }
printf( "\n" );
}
}
Solucin:
5 6 7 8 9 10
15 14 13 12 11 10 9 8
4. Hacer un programa que busque todos los nmeros piratas comprendidos entre el
1000 y el 9999. Un nmero es pirata si la suma de las dos cifras de ms peso es
igual a producto de las dos de menos peso. Ejemplo: 2241 (2+2=4*1)
El programa debe mostrar todos los nmeros piratas que encuentre e indicar cuntos
son: Ejemplo:
Nmeros piratas:
1011
1112

.
9992
En total se han encontrado 207 nmeros piratas
Solucin:
#include <stdio.h>
#include <stdlib.h>
main()
{int j,d1,d2,d3,d4,n, cont=0;

printf ("Numeros piratas\n");

for (j=1000;j<=9999;j=j+1)
{ n=j;
d1=n%10;
n= n/10;
d2=n%10;
n=n/10;
d3=n%10;
d4=n/10;
if (d4+d3==d2*d1)
{ printf("%d\n",j);
cont ++;
}
}
printf ("En total se han encontrado %d numeros
piratas\n", cont);
system("PAUSE");
}
5. Hacer un programa en C que permita leer las notas de los alumnos que se han
presentado al examen de informtica. Si la nota introducida para un alumno es
mayor que 10 se dar un mensaje de error, y no se tendr en cuenta dicha nota. La
entrada de datos finalizar al introducir una nota negativa. Una vez ledas todas las
notas, el programa nos tendr que indicar:
a. El nmero de alumnos que se ha presentado.
b. El nmero de alumnos aprobados.
c. La nota media, la nota mnima y la mxima.

Dame la nota: 8
Dame la nota: 21
Nota incorrecta. Dame la nota: 13
Nota incorrecta. Dame la nota: 4.25
Dame la nota: 7.5
..............................
Dame la nota: -1

Nmero de alumnos presentados: 63
Numero de aprobados:42
La nota media es 7.75. La mxima 9.75 y la mnima 0.15


Solucin:

#include <stdio.h>
#include <stdlib.h>
main(){
float nota,max, min,suma=0,media;
int cont=0, aprobados=0;

max = 0; min = 10;
printf("Dame la nota: ");
scanf("%f", &nota);

while (nota>=0)
{ if (nota<=10)
{ cont=cont+1;
suma=suma+nota;
if (nota>=5) {aprobados=aprobados+1;}
if (max<nota){max=nota;}
if (min>nota){min=nota;}
}
else
{ printf("Nota incorrecta.");}
printf("Dame la nota: ");
scanf("%f", &nota);
}
if (cont>0)
{
media = suma/cont;
printf("Numero de alumnos presentados %d\n",cont);
printf("Numero de aprobados %d\n", aprobados);
printf("La nota media %.2f, la maxima %.2f, la minima
%.2f\n",media, max, min);
}
system("PAUSE");
}

Potrebbero piacerti anche