fundamentos de programacion
DESCRIPTION
Ejercicios en c de fundamentos de programacionTRANSCRIPT
¿Cuál es la salida por pantalla de los
siguientes códigos?
Recomendación: Observe cómo cambian las “variables” línea por
línea.
#include<stdio.h>
void main(){
int i=2,j;
for(j=i;j<6;j++){
printf("%d\n\t",i);
}getch();
}
Escoge tu respuesta:
23
45
2345
2222
#include<stdio.h>
void main(){
int i=3;float c=1.0;int n=4;
do{
for(n=i;n<5;n++){
c=1/n;printf("c=%f \n",c);
}i=4;
}while(c>0);
printf("c=%f \n",c);getch();
}
#include<stdio.h>
void main(){
int i=3;float c=1.0;int n=4;
do{
for(n=i;n<5;n++){
c=1/n;printf("c=%f \n",c);
}i=4;
}while(c>0);
printf("c=%f \n",c);getch();
}
c=0.000000c=0.000000c=0.000000
0.3333330.3333330.3333330.333333…….. etc (lazo infinito)
c=0c=0c=0
Escoge tu respuesta:
Luego de esta diapositiva están las respuestas, pero sería bueno que no las vean antes de haber pensado bien la suya.
2222
c=0.000000c=0.000000c=0.000000
Estas son las correctas:
Conceptos de fondo:
Uno dividido para n (1/n):El uno es entero, la variable “n” también es de tipo entero, por consiguiente un entero dividido para otro entero da: UN ENTERO…Recordemos:DIV (a/b) nos da como resultado el cociente entre a y b.MOD (a%b) nos da como resultado el residuo.
#include<stdio.h>
void main(){
int i=2,j;
for(j=i;j<6;j++){
printf("%d\n\t",i);
}getch();
}
Esta inicialización se ejecuta sólo cuando entramos al lazo for.
Ojo que estamos presentando por pantalla la variable “i”, pero esta nunca cambia, notemos que el incremento es j++, entonces j es la que cambia.
El lazo si termina, porque la condición del for es que continúe mientras “j<6”, y “j” a pesar de que nunca la presentamos, si está incrementando.