Documentos de Académico
Documentos de Profesional
Documentos de Cultura
pantalla.
Para ello, hay que introducir la librera adecuada con instrucciones bsicas
(<stdio.h>) e indicarle al programa dnde empezar (void main()).
Recuerda que todas las instrucciones se escriben en minsculas y acaban
en ;.
Las funciones ms simples y utilizadas son:
printf Escritura en pantalla
scanf Lectura de pantalla
#include <stdio.h>
void main(){
int X,Y,Z;
printf("Por favor, introduzca un numero: ");
scanf("%d",&X);
printf("Ahora, inserte otro: ");
scanf("%d",&Y);
Z=X+Y;
printf("\nEl resultado es %d\n",Z);
}
Otro smbolo que necesitaremos a partir de ahora ser el %, que sirve para
calcular el resto de una divisin. Podemos verlo en el siguiente ejemplo.
>
<
==
!=
o >=
o <=
Como posiblemente habris notado, se han utilizado dos iguales para expresar
la segunda condicin del anterior programa. Esto es porque se quiere lanzar
una pregunta al ordenador, lo que indica que no siempre es de ese modo. (Y
si D=0?) Otro ejemplo donde se ve este fenmeno con mayor facilidad:
}
}
22. Programa que muestre una cuenta atrs desde diez hasta cero.
#include <stdio.h>
void main(){
int i=10;
const int tope=0;
for(i=10;i>=0;i=i-1){
printf("%d\n",i);
}
printf("\nHasta pronto!\n");
}
printf("%d\n",t);
}}else if(x==4){
int s=100;
const int tope=100;
for(s=0;s<=100;s=s+7){
printf("%d\n",s);
}}else if(x==5){
int r=100;
const int tope=100;
for(r=0;r<=100;r=r+11){
printf("%d\n",r);
}}else{
printf("Se ha equivocado.\n\n");
}
}
Cuando no deseemos que el ordenador vaya tan rpido, hay que meterle
instrucciones intiles que no se pinten en pantalla (Bucle de retardo), como
por ejemplo una cuenta atrs del 159999999 al 0.
24. Programa que realice una cuenta atrs con un bucle de retardo.
#include <stdio.h>
void main(){
int i=10;
const int tope=1;
for(i=10;i>=1;i=i-1){
printf("%d\n",i);
int k=159999999;
for(k=159999999;k>=1;k=k-1);
}
printf("\nPUM!\n");
}
}else if(opc==16){
ta=tan(x);
printf("La tangente del primer numero es %f\n\n",ta);
}else if(opc==17){
tap=tan(y);
printf("La tangente del segundo numero es %f\n\n",tap);
}else if(opc==18){
cub=x*x*x;
printf("El cubo del primer numero es %f\n\n",cub);
}else if(opc==19){
cubp=y*y*y;
printf("El cubo del segundo numero es %f\n\n",cubp);
}else if(opc==20){
in=1/x;
printf("La inversa del primer numero es %f\n\n",in);
}else if(opc==21){
inp=1/y;
printf("La inversa del segundo numero es %f\n\n",inp);
}else if(opc==22){
lo=log10(x);
printf("El logaritmo decimal del primer numero es
%f\n\n",lo);
}else if(opc==23){
lop=log10(y);
printf("El logaritmo decimal del segundo numero es
%f\n\n",lop);
}else if(opc==24){
ln=log(x);
printf("El logaritmo neperiano del primer numero es
%f\n\n",ln);
}else if(opc==25){
lnp=log(y);
printf("El logaritmo neperiano del segundo numero es
%f\n\n",lnp);
}else if(opc==0){
printf("Gracias por utilizar este programa.\n\n");
}else{
printf("Disculpe, se ha equivocado al marcar.\n\n");
}
}while(x!=0);
prod=1;
printf("Introduzca el limite superior: ");
scanf("%d",&sup);
printf("\nAhora, escriba el limite inferior: ");
scanf("%d",&inf);
printf("\n\nSeleccione una opcion:\n\n1.Suma\n2.Producto\n\nTeclee
su eleccion: ");
scanf("%d",&opc);
switch (opc){
case 1:
for(int i=inf;i<=sup;i++){
suma=suma+i;
}
printf("\n\nEl resultado es %f\n\n",suma);
break;
case
2:
for(int i=inf;i<=sup;i++){
prod=prod*i;
printf("%f",prod);
}
printf("\nEl resultado es %f\n\n",prod);
break;
default:printf("\nNo es un valor valido.\n\n");
}
}while(sup!=0);
printf("\n\nGracias por utilizar este programa. Le esperamos
pronto.\n\n");
}
printf("%d\t",(n/=2));
}else{
n=(3*n)+1;
printf("%d\t",n);
}
}
printf("\n");
}
printf("\nMenor");
}else if(num<x){
printf("\nMayor");
}else{
printf("\n\nEnhorabuena! Lo has adivinado en %d
intentos.\n\n",contador);
bandera=1;
}
}
}
Volver
Una vez visto ejemplos de bucles, pasemos a explicar la toma de caracteres
(getch). Para ello hay que introducir una nueva librera (<conio>), prototipo
necesario para la instruccin
32. Programa de escritura en pantalla. Finaliza al pulsar la tecla -.
#include <stdio.h>
#include <conio.h>
void main(){
char c;
while (c!='-'){
c=getch();
printf("%c",c);
}
}
33. Programa de escritura en pantalla con funcin de poder borrar lo
escrito hasta el momento.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main(){
char c;
char Espera;
case
2:printf("\n\nMartes:\n\nFilosofia\nDibujo\nMatematicas\nLiteratura\nEducac
ion fisica\nFisica y Quimica\n\nHoy hay una horita menos!\n\n");break;
case 3:printf("\n\nMiercoles:\n\nFisica y
Quimica\nDibujo\nIngles\nInformatica\nCiencias para el mundo
contemporaneo\nFilosofia\nTutoria\n\nMitad de jornada, anima la
moral!\n\n");break;
case
4:printf("\n\nJueves:\n\nFilosofia\nDibujo\nLiteratura\nInformatica\nIngles\n
Educacion Fisica\nMatematicas\n\nVenga, que maana es
viernes!\n\n");break;
case 5:printf("\n\nViernes:\n\nCiencias para el mundo
contemporaneo\nReligion\nFisica y
Quimica\nLiteratura\nMatematicas\nInformatica\n\nYa se ha terminado lo
duro. Descansa hoy!\n\n");break;
case 6:printf("\n\nSabado:\n\nDeja el ordenador y disfruta del
dia!\n\n");break;
case 7:printf("\n\nDomingo:\n\nAprovecha el tiempo que maana
hay que volver a empezar!\n\n");break;
default:printf("\n\nDisculpe, se ha equivocado al marcar.\n\n");
}
}
Otra estructura muy prctica es el uso de || (ctrl. + alt + 1). Indica unin. Lo
nico que hay que recordar es que no soporta ms de una separacin, es decir:
(num=x)||(num=y) Bien
(num=x)||(num=y)||(num=z) Mal
Luego habr que hacer uso frecuente del parntesis, como por ejemplo:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main(){
int x,y,z,o,opc;
do{
printf("Desea una mano de mus?:\n\n");
printf("1.Si\n2.No\n0.Salir\n");
printf("\nUsted ha introducido: ");
scanf("%d",&opc);
if(opc==1){
srand((unsigned)time(NULL));
do{
x=rand()%(13);
}while(((x==8)||(x==9))||(x==0));
do{
y=rand()%(13);
}while(((y==8)||(y==9))||(y==0));
do{
z=rand()%(13);
}while(((z==8)||(z==9))||(z==0));
do{
o=rand()%(13);
}while(((o==8)||(o==9))||(o==0));
printf("\n\n%d\t\t%d\t\t%d\t\t%d\t\t",x,y,z,o);
printf("\n\n");
}
else if(opc==2){
printf("\n\nMas tarde entonces.\n\n");
}else{
printf("\nHasta pronto.\n\n");
}
}while(opc!=0);
}
void main(){
int num, i=2;
printf("Bienvenido al programa que le indica si un numero es o no
primo.\n\n");
while(num!=0){
printf("Introduzca un numero: ");
scanf("%d",&num);
for(int i=2; i<num; i++);
if(num%i!=0){
printf("\nPrimo\n");
}else{
printf("\nNo primo\n");
}
printf("\n");
}
printf("\nGracias por utilizar este programa.\n\n");
}
e++;
}else if(c=='i'){
i++;
}else if(c=='o'){
o++;
}else if(c=='u'){
u++;
}else if(c=='-'){
bandera=1;
}else{
bandera=0;
}
}
printf("\n\n\t\t\tRecuento de vocales\n");
printf("\nLa a se ha repetido %d veces \n",a);
printf("\nLa e se ha repetido %d veces \n",e);
printf("\nLa i se ha repetido %d veces \n",i);
printf("\nLa o se ha repetido %d veces \n",o);
printf("\nLa u se ha repetido %d veces \n",u);
printf("\n\nGracias por utilizar este programa.\n\n");
}
42. Programa que simule el lanzamiento de una moneda las veces que el
usuario desee, posteriormente har un recuento de las veces que ha salido
tanto cara como cruz.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main(){
int x,veces,cara=0,cruz=0;
srand((unsigned)time(NULL));
printf("Pruebe a lanzar la moneda.\n\n");
printf("Cuantas veces?: ");
scanf("%d",&veces);
for(int i=1;i<=veces;i++){
x=rand()%(2);
if(x==1){
printf("\nCara\n\n");
cara++;
}else{
printf("\nCruz\n\n");
cruz++;
}
}
printf("\n\tRecuento\n\n");
printf("La cara ha salido %d veces.\n",cara);
printf("La cruz ha salido %d veces.\n\n",cruz);
printf("Gracias por utilizar este programa.\n\n");
}
Volver
Ir al men principal