You are on page 1of 31

INTRODUCCIN.

En este curso vamos a aprender a programar en lenguaje c, es un lenguaje de programacin de


propsito general que ofrece economa sintctica, control de flujo y estructuras sencillas y un buen
conjunto de operadores.
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se
prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama
programacin.Algunas ventajas del lenguaje c son:
Lenguaje muy eficiente puesto que es posible utilizar sus caractersticas de bajo nivel para realizar
implementaciones ptimas.
A pesar de su bajo nivel es el lenguaje ms portado en existencia, habiendo compiladores para casi
todos los sistemas conocidos.
Proporciona facilidades para realizar programas modulares y/o utilizar cdigo o bibliotecas
existentes.
Para poder programar en el lenguaje de c vamos a emplear un compilador de nombre Turbo C.
Turbo C era un entorno de desarrollo integrado y compilador desarrollado por Borland para
programar en lenguaje C.
Su primera versin es de 1987, a la que siguieron las versiones 1.5 y 2.0, de 1989. Fue el
compilador ms popular para desarrollar en C en entornos MS-DOS. Se le considera el primer IDE
para C disponible para dicha plataforma.

1
NDICE

Introduccin.1
Practica 01: Portada..2
Practica 02: Ecuacin de Primer Grado...3
Practica 03: Ecuacin con dos incgnitas..4
Practica 04: Sistemas de Conversin..5
Practica 05: Divisor de Voltaje...6
Practica 06: Arreglos Resistivos7
Practica 07: Regulador de Voltaje LM317...8
Practica 08: Amplificador no Inversor. ...9
Practica 09: Teorema de Pitgoras.10
Practica 10: Altura de un Plano11
Practica 11: Distancia entre dos puntos y ecuacin de la recta.12
Practica 12: Vector resultante y su ngulo...13
Practica 13: Frecuancia de las notas musicales.14
Practica 14: Punto de Equilibrio..15
Practica 15: Precio final con descuento (Funcin).16
Practica 16: Frecuencia de las notas musicales (Funcin)..17
Practica 17: Distancia entre tres puntos y sus angulos internos (Funcin)19
Practica 18: Ecuacion de segundo grado.21
Practica 19: 10 % Si la compra es mayor a $1500..22
Practica 20: Descuentos23
Practica 21: Color de espectros visibles..24
Practica 22: Caminos..25
Practica 23: Suma de cifras..28
Conclusiones29

PRACTICA 01: PORTADA


En la portada solo damos a conocer nuestros datos como presentacin de equipo.
#include<stdio.h>
#include<conio.h>
void main()
{textbackground(8);
clrscr();textcolor(1);textbackground(1);
gotoxy(15,3);cprintf("____________");gotoxy(19,4);cprintf("____");
gotoxy(19,5);cprintf("____");gotoxy(19,6);cprintf("____");
gotoxy(19,7);cprintf("____");gotoxy(19,8);cprintf("____");
gotoxy(19,9);cprintf("____");gotoxy(15,10);cprintf("____________");
gotoxy(32,3);cprintf("____________");
gotoxy(32,4);cprintf("___");gotoxy(32,5);cprintf("___");
gotoxy(32,6);cprintf("____________"); gotoxy(42,5);cprintf("__");
gotoxy(32,7);cprintf("___");gotoxy(42,4);cprintf("__");gotoxy(32,8);cprintf("___");
gotoxy(32,9);cprintf("___");gotoxy(32,10);cprintf("___");
gotoxy(48,3);cprintf("___"); gotoxy(51,3); cprintf("__");
gotoxy(48,4);cprintf("___"); gotoxy(53,4); cprintf("__");
gotoxy(48,5);cprintf("___"); gotoxy(53,5); cprintf("__");
gotoxy(48,6);cprintf("___"); gotoxy(54,6); cprintf("__");
gotoxy(48,7);cprintf("___"); gotoxy(54,7); cprintf("__");
gotoxy(48,8);cprintf("___"); gotoxy(55,8); cprintf("__");
gotoxy(48,9);cprintf("___"); gotoxy(55,9); cprintf("__");
gotoxy(48,10);cprintf("___");gotoxy(56,10); cprintf("__");
gotoxy(57,10); cprintf("_____");gotoxy(59,9);cprintf("___");
gotoxy(59,8);cprintf("___");gotoxy(59,7); cprintf("___");
gotoxy(59,6); cprintf("___");gotoxy(59,5); cprintf("___");
gotoxy(59,4); cprintf("___");gotoxy(59,3);cprintf("___");
textcolor(3);textbackground(BLACK);
gotoxy(26,14);cprintf("Fundamentos de la Programacion");
gotoxy(33,16);cprintf("1CV2 AULA 39");
gotoxy(24,18);cprintf("Prof:Jorge Adri n Medina Garduo");
gotoxy(29,20);cprintf("Aguilar Perez Carlos");
gotoxy(28,21);cprintf("Romero Valdes Francisco");gotoxy(37,13);
cprintf("ESIME");getch();}

2
PRACTICA 02: Ecuacin de Primer Grado.
En este programa hacemos una resolucin de una ecuacin de primer grado muy simple donde se le
pide al usuario los valores de las variables a, b y c par poder encontrar el valor de x y y.
#include<stdio.h>
#include<conio.h>
#include<portada.cpp>
void main(){
float a,b,c,x,r;
portada(); clrscr();
printf("Programa para resolver una ecuacion de primer grado:");
printf("Ecuacion de primer grado >>> ax+b=c");
printf("Encontrar el valor de \'x\'");
printf("Introducir el valor de \'a\': ");
scanf("%f",&a);
printf("Introducir el valor de \'b\': ");
scanf("%f",&b);
printf("Introducir el valor de \'c\': ");
scanf("%f",&c);
x=(c-b)/a;
printf("El valor de x es: %.2f",x);
printf("Comprobacion");
r=(a*x)+b;
printf("%.2f[%.2f]+%.2f=%.2f",a,x,b,r);
getch();
}

3
PRACTICA 03: Ecuacin con dos Incgnitas.
En este programa podemos resolver ecuaciones con 2 incgnitas pidiendo al usuario el valor de 6
variables y as obteniendo el valor de x y el de y seguida de su comprobacin.
#include<stdio.h>
#include<conio.h>
#include<portada.cpp>
void main(){
float A1,A2,B1,B2,C1,C2,x,y;
portada(); clrscr();
printf("Programa para resolver ecuaciones con 2 incognitas:");
printf("Ecuaciones >>> A1x+B1y=C1 y A2x+B2y=C2");
printf("Encontrar el valor de \"x\" y \"y\"");
printf("Introducir el valor de A1:"); scanf("%f",&A1);
printf("Introducir el valor de B1:"); scanf("%f",&B1);
printf("Introducir el valor de C1:"); scanf("%f",&C1);
printf("Introducir el valor de A2:"); scanf("%f",&A2);
printf("Introducir el valor de B2:"); scanf("%f",&B2);
printf("Introducir el valor de C2:"); scanf("%f",&C2);
y=((A1*C2)-(A2*C1))/((A1*B2)-(A2*B1));
x=(C1-(B1*y))/A1;
printf("El valor de x es: %.2f",x);
printf("El valor de y es: %.2f",y);
printf("Comprobacion");printf("%.2f[%.2f]+%.2f[%.2f]=%.2f y
%.2f[%.2f]+%.2f[%.2f]=%.2f",A1,x,B1,y,(A1*x)+(B1*y),A2,x,B2,y,(A2*x)+(B2*y));
getch();
}

4
PRACTICA 04: Sistemas de Conversin.
void main()
{
float C,f,k;
clrscr();
clrscr();
/Datos de Entrad
//Celcius
gotoxy(14,4);textcolor(5);
cprintf("Introduce un valor en grados Celcius:");scanf("%f",&C);
f=((9*C)/5)+32;
k=C+273.15;
gotoxy(14,6);textcolor(6);cprintf("%.2f grados Celcius son:",C);
gotoxy(14,8);textcolor(6);cprintf("%.2f grados Fahranheint",f);
gotoxy(14,10);textcolor(6);cprintf("%.2f grados Kelvin",k);
//Fahranheint
gotoxy(14,12);textcolor(5);cprintf("Introduce un valor en grados Fahranheint:");
scanf("%f",&f);
C=(5*(f-32))/9;
k=C+273.15;
gotoxy(14,14);textcolor(6);cprintf("%.2f grados Fahranheint son:",f);
gotoxy(14,16);textcolor(6);cprintf("%.2f grados Celcius",C);
gotoxy(14,18);textcolor(6);cprintf("%.2f grados Kelvin",k);
//Kelvin
gotoxy(14,20);textcolor(5);cprintf("Introduce un valor en grados Kelvin:");
scanf("%f",&k);
C=k-273.15;
f=((9*C)/5)+32;
gotoxy(14,22);textcolor(6);cprintf("%.2f grados Kelvin son:",k);
gotoxy(14,23);textcolor(6);cprintf("%.2f grados Celcius",C);
gotoxy(14,24);textcolor(6);cprintf("%.2f grados Fahranheint",f);
getch();
}

5
PRACTICA 05: Divisor de Voltaje.
En este programa podemos calcular la primera resistencia de un divisor de voltaje pidindole al
usuario insertar nicamente los voltajes de entrada y de salida y la segunda resistencia.
#include<stdio.h>
#include<conio.h>
#include<C:\PORTADA.CPP>
void main()
{chichen();
textbackground(RED);
clrscr();
gotoxy(30,2);
cprintf("Divisor de Voltaje");
gotoxy(2,4);cprintf("___________________________");
gotoxy(2,5);cprintf("|
|");
gotoxy(2,6);cprintf("|
<");
gotoxy(2,7);cprintf("|
> R1");
gotoxy(2,8);cprintf("|
< ");
gotoxy(2,9);cprintf("|
>");
gotoxy(2,10);cprintf("|
|");
gotoxy(2,11);cprintf("Voltaje inicial (Vi)
| ");
gotoxy(2,12);cprintf("|
|________o Voltaje de Salida (Vo).");
gotoxy(2,13);cprintf("|
| ");
gotoxy(2,14);cprintf("|
|");
gotoxy(2,15);cprintf("|
| ");
gotoxy(2,16);cprintf("|
| ");
gotoxy(2,17);cprintf("|
< ");
gotoxy(2,18);cprintf("|
>");
gotoxy(2,19);cprintf("|
< R2");
gotoxy(2,20);cprintf("|
> ");
gotoxy(2,21);cprintf("|
| ");
gotoxy(2,22);cprintf("|__________________________|_________o");
gotoxy(30,24);cprintf("Da enter para continuar!!");getch();float r1,r2,vo,vi;textbackground(BLUE);
clrscr();gotoxy(30,2);cprintf("Divisor de Voltaje");gotoxy(2,4);cprintf("Ingrese los valores :
")gotoxy(3,5);cprintf("R2 [ohms] : ");scanf("%f",&r2);gotoxy(3,6);cprintf("Voltaje Inicial [volts] :
");scanf("%f",&vi);gotoxy(3,7);cprintf("Voltaje Final [volts] : ");

scanf("%f",&vo);r1= (r2*(vi-vo))/vo;printf("R1 es igual a : %.2f [ohms]",r1);getch();}

6
PACTICA 06: Arreglos Resistivos.
Esta prctica nos facilita encontrar la segunda resistencia de un circuito ya sea en serie o en paralelo
lo calcula pidiendo al usuario el valor de la primera resistencia, la resistencia final en paralelo y la
resistencia final en serie y asi obtendremos R2 en paralelo y en serie con sus respectivas
comprobaciones//LIBRERIAS
#include<conio.h>
#include<stdio.h>
//MAIN
void main()
{
//DECLARACION
float R1,R2,RS,RP;
clrscr();
//NOMBRE
printf("Calculo de Resistencia \"R2\" en circuito SERIE y PARALELO");
//LEECTURA
printf("INTRODUCIR VALORES QUE SE PIDEN");
printf("Valor de la Resistencia 1
[Ohm]:");scanf("%f",&R1);
printf("Valor de la Resistencia Total PARALELO [Ohm]:");scanf("%f",&RP);
printf("Valor de la Resistencia Total SERIE [Ohm]:");scanf("%f",&RS);
//PROCESO Y SALIDA
R2=(R1*RP)/(R1-RP);
printf("El Valor de \"R2\" es %.0f [Ohms] en PARALELO",R2);
//PROCESO Y SALIDA
R2=RS-R1;
printf("El Valor de \"R2\" es %.0f [Ohms] en SERIE",R2);
getch();
}

PRACTICA 07: Regulador de Voltaje LM317.


En este programa calculamos la Resistencia 2 de un regulador LM317 pidiendo solo al usuario el
valor de la primera resistencia y el valor dl voltaje de salida as obteniendo la resistencia 2 en Ohms.

//Librerias
#include <stdio.h>
#include <conio.h>

void main ()
{
float VO,R1,R2;
clrscr();
//Titulo
gotoxy(10,1);textcolor(BLACK);
cprintf("");
gotoxy(10,2);textcolor(RED);
cprintf(" Calculo de Resistencia \"R2\" en Regulador de Voltaje LM-317 ");
gotoxy(10,2);textcolor(BLACK);
cprintf("");gotoxy(73,2);cprintf("");
gotoxy(10,3);
cprintf("");
//Datos de Entrada
gotoxy(12,7); textcolor(11);
cprintf("VALOR R1 [OHMS]:"); scanf("%f",&R1);
gotoxy(12,11); textcolor(11);
cprintf("VALOR VO [VOLTS]:"); scanf("%f",&VO);
//Proceso
R2=((R1*VO)/1.25)-R1;
//Resultado
gotoxy(12,18); textcolor(12);
cprintf("LA RESISTENCIA R2 ES: %.2f", R2);
getch();
}

8
PRACTICA 08: Amplificador no Inversor.
En este programa podemos calcular la primera Resistencia y la ganancia de un amplificador de
configuracin no inversora pidindole al usuario insertar el voltaje de entrada, el voltaje de salida y el
valor de la segunda resistencia y al terminar viene la comprobacin de la ecuacin.

#include<stdio.h>
#include<conio.h>
void main()
{
float R1,R2,Vo,Vi,G;
clrscr();textbackground(BLACK);
//Descripcin
gotoxy(13,2);textcolor(RED);
cprintf(">>> AMPLIFICADOR NO INVERSOR | calculo de \"R2\" y \"G\" <<<");
//Datos de Entrada
gotoxy(12,4); cprintf("\n Valor de Voltaje de Entrada (V):");scanf("%f",&Vo);
gotoxy(12,6); cprintf("\n Valor de Voltaje de Salida (V):");scanf("%f",&Vi);
gotoxy(12,8); cprintf("\n Valor de Resistencia 1 (Ohm):");scanf("%f",&R1);
//Formulas
R2=((R1*Vo)/(Vi))-R1;
G=(R1+R2)/R1;
//Salidas
gotoxy(12,10);textcolor(GREEN); cprintf("\n Valor de la Resistencia 2 es: %.2f Ohms",R2);
gotoxy(12,12);textcolor(GREEN); cprintf("\n Valor de la Ganancia es: %.2f Volts",G);
getch();
}

PRACTICA 09: Teorema de Pitgoras.


En este programa utilizaremos las libreras math para calcular la hipotenusa de un triangulo
mediante el Teorema de Pitgoras y el usuario ingresara los valores de los Catetos.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{
clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float A,B,C,a,b,c;
gotoxy(30,2);
printf("Teorema de Pitagoras");
line(550,150,550,350);line(550,350,300,350);line(300,350,550,150);
//Angulos
line(530,330,550,330);line(530,330,530,350);
ellipse(530,180,190,360,20,20);
ellipse(334,338,270,100,15,12);
//Valores
textcolor(CYAN);
gotoxy(4,4);
printf("Ingrese el Valor del Cateto ""A"":");scanf("%f",&A);
gotoxy(4,6);
printf("Ingrese el Valor del Cateto ""B"":");scanf("%f",&B);
C=sqrt(pow(A,2) + pow(B,2));
gotoxy(45,15);printf("C= %.2f",C);
gotoxy(52,24);printf("A= %.2f",A);
gotoxy(70,17);printf("B= %.2f",B);
a=asin(A/C)*57.29;
b=asin(B/C)*57.29;
c=90;
gotoxy(45,21);printf("a= %.2f",a);
gotoxy(60,20);printf("c= %.2f",c);
gotoxy(61,14);printf("b= %.2f",b);
getch();
10

PRACTICA 10: Altura de un Plano.


La realizacin de este programa es muy similar al paso. Pero en este programa se calcular la altura
y el ngulo resultante de esta misma altura. El usuario proporcionando el ngulo y cateto.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{
clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float A,B,H,a,b,h;
gotoxy(30,2);
printf("Teorema de Pit goras");
gotoxy(4,4);printf("Introduzca el valor del Cateto ""A"";");scanf("%f",&A);
gotoxy(4,6);printf("Introduzca el valor del Cateto ""B"";");scanf("%f",&B);
H=sqrt(pow(A,2) + pow(B,2));
a=asin(A/H)*57.29;
b=asin(B/H)*57.29;
h=180-(a+b);57.29;
gotoxy(4,8);
printf("El valor de la Hipotenusa es =%.2f",H);
gotoxy(4,10);
printf("El valor del Angulo a es = %.2f",a);
gotoxy(4,12);
printf("El valor del Angulo b es = %.2f",b);
gotoxy(4,14);
printf("El valor del Angulo h es = %.2f",h);
line(600,250,600,450);getch();
11

PRACTICA 11: Distancia entre dos puntos y ecuacin de la recta

En este programa podemos calcular la distancia entre 2 puntos en el plano cartesiano y la ecuacin
de la recta que se forma entre dichos puntos pidiendo al usuario obviamente las coordenadas de
cada punto.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float Ax,Ay,Bx,By,M,B,Distancia;
textcolor(GREEN);
gotoxy(21,2);
printf("Distiancia de 2 puntos y su pendiente");
gotoxy(4,4);
printf("Introduzca las coordenadas del Punto A:( , )");gotoxy(44,4);textcolor(BLUE);scanf("%f",&Ax);
gotoxy(47,4);;scanf("%f",&Ay);
gotoxy(4,6);
printf("Introduzca las coordenadas del Punto B:( ,
)");gotoxy(44,6);textcolor(GREEN);scanf("%f",&Bx);
gotoxy(47,6);;scanf("%f",&By);
Distancia=sqrt(((Bx-Ax)*(Bx-Ax))+((By-Ay)*(By-Ay)));
M=((Bx-Ax))/((By-Ay));
B=(Ay-M*(Ax));
Ay=M*(Ax)+B;
gotoxy(29,7);printf("__");
gotoxy(4,8);printf("El valor de la Distancia AB = %.2f",Distancia);
gotoxy(4,10);printf("El valor de la Pendiente es = %.2f",M);
gotoxy(4,12);printf("La ecuacion de la recta es:y= %.2f(%.2f)+%.2f=%.2f",M,Ax,B,Ay);
line(300,225,300,475);line(175,350,425,350);line(300,350,300,350);
Ax=Ax*40;Ay=Ay*40;Bx=Bx*40;
By=By*40;line(Ax,Ay,Bx,By); getch(); }

12

PRACTICA 12: Vector resultante y su ngulo.


Este programa calcula la fuerza y ngulo resultante para 2 fuerzas descritas en el primer cuadrante
del plano cartesiano, pidiendo al usuario introducir el valor de la fuerza 1 y 2 al igual que sus
ngulos.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float F1,F2,Fr,Fy,Fx,Ang1,Ang2,AngR;
//Figura
line(30,220,280,220);line(155,60,155,380);
//Vectores
line(155,220,190,120);line(155,220,240,160);
setlinestyle(DOTTED_LINE,0, NORM_WIDTH);line(155,220,280,60);line(240,160,280,60);
line(190,120,280,60);line(155,60,280,60);line(280,60,280,220);
//Acotaciones
gotoxy(21,9);printf("F1"); gotoxy(28,3);printf("Fx");
gotoxy(28,13);printf("F2"); gotoxy(38,9);printf("Fy");
gotoxy(29,10);printf("Fr");
//Angulos
ellipse(162,208,270,90,10,10);
ellipse(186,209,270,90,10,10);
//Datos
gotoxy(43,4);printf("Ingrese el valor de la Fuerza 1:");scanf("%f",&F1);
gotoxy(43,6);printf("Ingrese el valor de la Fuerza 2:");scanf("%f",&F2);
Fx=(F1+cos(Ang1))+(F2+cos(Ang2));
Fy=(F1+sin(Ang1))+(F2+sin(Ang2));
Fr=sqrt(pow(Fx,2)+ pow(Fy,2));
AngR=atan(Fy/Fx)*57.29;
gotoxy(40,8);
printf("El valor del Vector resultante es: %.2f",Fr);
gotoxy(40,10);
printf("El valor del angulo es = %.2f",AngR);getch();}
13

PRACTICA 13: Frecuencia de la notas musicales.


Este programa calcula la frecuencia de vibracin de un instrumento musical dando una escala y
pidiendo al usuario nicamente el nmero de nota y pidiendo una octava.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
#include<dos.h>
void main(){clrscr();int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");float F; int O,N;
getmaxx(); getmaxy();setcolor(RED);
setlinestyle(DASHED_LINE,0, NORM_WIDTH);line(100,50,550,50);
line(100,50,100,150); line(100,150,550,150);line(550,50,550,150);
settextstyle(TRIPLEX_FONT, HORIZ_DIR,1);outtextxy(290,60,"OCTAVAS");
outtextxy(180,100,"1 , 2 , 3 , 4 , 5 , 6 , 7 , 8");setcolor(GREEN);
settextstyle(DEFAULT_FONT, HORIZ_DIR,1);outtextxy(50,205," NOTA
NUMERO");setlinestyle(SOLID_LINE,0, NORM_WIDTH);
line(50,200,50,460);line(50,200,250,200);
line(50,460,250,460);line(250,200,250,460); line(150,200,150,460);
line(50,220,250,220); outtextxy(90,225,"DO
1");
line(50,240,250,240); outtextxy(85,245,"#DO
2");
line(50,260,250,260); outtextxy(90,265,"RE
3");
line(50,280,250,280); outtextxy(85,285,"#RE
4");
line(50,300,250,300); outtextxy(90,305,"MI
5");
line(50,320,250,320); outtextxy(90,325,"FA
6");
line(50,340,250,340); outtextxy(85,345,"#FA
7");
line(50,360,250,360); outtextxy(90,365,"SOL
8");
line(50,380,250,380); outtextxy(85,385,"#SOL
9");
line(50,400,250,400); outtextxy(90,405,"LA
10");
line(50,420,250,420); outtextxy(85,425,"#LA
11");
line(50,440,250,440); outtextxy(90,445,"SI
12");
line(50,460,250,460);textcolor(WHITE);gotoxy(39,13);
printf("Introduzca el Nmero de Nota:");scanf("%d",&N);gotoxy(39,15);
printf("Introduzca el Nunmero de Octava:");scanf("%d",&O);
F=(440)*(exp((O-3+((N-10.0)/12))*log(2)));gotoxy(39,17);
printf("La frecuencia de vibracion es : %.2f",F);sound(F);delay(200);nosound();getch();}
14

PRACTICA 14: Punto de Equilibrio


Este programa calcula el centro de masa.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,CM,c,l;
clrscr();
gotoxy(3,2);
textbackground(WHITE);
textcolor(BLACK);
cprintf("CENTRO DE MASA");
gotoxy(5,4);
textbackground(BLACK);
textcolor(WHITE);
cprintf("ingrese el valor que se le pide :");
gotoxy(4,6);
printf("EL VALOR DEL LADO B : ");scanf("%f",&b);
a=b/(0.75);
c=sqrt(pow(a,2)+pow(b,2));
l=sqrt(b+(c+b));
CM=a;
gotoxy(5,8);
printf("El centro de masa es = %.2f",CM);
getch();
}

15

PRACTICA 15: Precio final con descuento.(Funcin)


Este programa calcula el monto final a pagar en una tienda departamental empleando una funcin,
pidiendo al usuario el total y el descuento de su compra.

#include<stdio.h>
#include<conio.h>
#include<math.h>
float OFF (float X,float Y);
void main()
{
float P,Des,Precio;
clrscr();
gotoxy(16,2);
textcolor(RED);
cprintf("Funcion para Calcular Descuento de Un Producto");
gotoxy(4,4);
cprintf("Introduzca el Precio del Producto:");scanf("%f",&P);
gotoxy(4,6);
cprintf("Introduzca el Descuento:");scanf("%f",&Des);
Precio=OFF(P,Des);
gotoxy(4,8);
cprintf("El Precio Final del producto menos el %f%% es = $%fPesos",Des,Precio);
getch();
}
float OFF(float P,float Des)
{
float Precio;
Precio=P-(P*(Des*0.01));
return(Precio);
}

16

PRACTICA 16: Frecuencia de las notas musicales (Funcin)


En este programa calculamos la frecuencia de un instrumento musical empleando una funcin,
pidindole al usuario el valor de la octava y la nota.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
#include<dos.h>
float Freq(int N, int O);
void main()
{
clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float F; int O,N;
getmaxx(); getmaxy();
setcolor(RED);
setlinestyle(DASHED_LINE,0, NORM_WIDTH);
line(100,50,550,50);
line(100,50,100,150); line(100,150,550,150);
line(550,50,550,150);
settextstyle(TRIPLEX_FONT, HORIZ_DIR,1);
outtextxy(290,60,"OCTAVAS");
outtextxy(180,100,"1 , 2 , 3 , 4 , 5 , 6 , 7 , 8");
setcolor(GREEN);
settextstyle(DEFAULT_FONT, HORIZ_DIR,1);
outtextxy(50,205," NOTA
NUMERO");
setlinestyle(SOLID_LINE,0, NORM_WIDTH);ine(50,200,50,460);line(50,200,250,200);
line(50,460,250,460);line(250,200,250,460); line(150,200,150,460);
line(50,220,250,220); outtextxy(90,225,"DO
1");line(50,240,250,240); outtextxy(85,245,"#DO
line(50,260,250,260); outtextxy(90,265,"RE
3");line(50,280,250,280); outtextxy(85,285,"#RE
17

line(50,300,250,300); outtextxy(90,305,"MI
5");
line(50,320,250,320); outtextxy(90,325,"FA
6");
line(50,340,250,340); outtextxy(85,345,"#FA
7");
line(50,360,250,360); outtextxy(90,365,"SOL
8");
line(50,380,250,380); outtextxy(85,385,"#SOL
9");
line(50,400,250,400); outtextxy(90,405,"LA
10");
line(50,420,250,420); outtextxy(85,425,"#LA
11");
line(50,440,250,440); outtextxy(90,445,"SI
12");
line(50,460,250,460);
textcolor(WHITE);
gotoxy(39,13);
printf("Introduzca el Nmero de Nota:");scanf("%d",&N);
gotoxy(39,15);
printf("Introduzca el Nunmero de Octava:");scanf("%d",&O);
F=Freq (O,N);
gotoxy(39,17);
printf("La frecuencia de vibracion es : %.2f",F);
sound(F);delay(200);nosound();
getch();
}
float Freq(int a, int b)
{ float Fr;
Fr=(440)*(exp((b-3+((a-10.0)/12))*log(2)));
return(Fr);
}

18

PRACTICA 17: Distancia entre tres puntos y sus ngulos internos.


Este programa calcula la distancia, pendiente y ngulos internos que forman 3 puntos dados por el
usuario que estn en el primer cuadrante del plano cartesiano.
#include<stdio.h>
#include<conio.h>
#include<math.h>
float dist(float x2,float x1,float y2,float y1);
float m(float y2,float y1,float x2,float x1);
float ang(float z2,float w2,float m2);
void main()
{float AB,BC,CA,m1,m2,m3,a,b,c,Ax,Ay,Bx,By,Cx,Cy;
clrscr();
gotoxy(3,2);
textbackground(WHITE);
textcolor(BLACK);cprintf("Distancia, Pendiente y Angulos Internos que forman 3 puntos en un plano
");
gotoxy(5,4);
textbackground(BLACK);
textcolor(WHITE);
cprintf("ingrese los valores que se le piden :");gotoxy(4,6);
printf("Punto A (x,y)");gotoxy(5,7);
printf(" x = "); scanf("%f",&Ax);gotoxy(5,8);
printf(" y = "); scanf("%f",&Ay);
gotoxy(20,6);printf("Punto B (x,y)");
gotoxy(21,7);printf(" x = "); scanf("%f",&Bx);
gotoxy(22,8);printf(" y = "); scanf("%f",&By);
gotoxy(4,9);printf("Punto C (x,y)");
gotoxy(5,10);printf(" x = "); scanf("%f",&Cx);
gotoxy(5,11);printf(" y = "); scanf("%f",&Cy);
AB=dist(Bx,Ax,By,Ay);BC=dist(Bx,Cx,By,Cy);CA=dist(Cx,Ax,Cy,Ay);
m1=m(By,Ay,Bx,Ax);m2=m(Cy,By,Cx,Bx);m3=m(Ay,Cy,Ax,Cx);
a=ang(BC,CA,AB);b=ang(AB,CA,BC);c=ang(AB,BC,CA);
gotoxy(2,13);printf("La distancia entre el punto A-B es : %.2f",AB);gotoxy(2,14);
printf("La distancia entre el punto B-C es : %.2f",BC);
gotoxy(2,15);printf("La distancia entre el punto C-A es : %.2f",CA);
gotoxy(2,17);printf("La PENDIENTE entre el punto A y B es : %.2f",m1);gotoxy(2,18);
printf("La PENDIENTE entre el punto B y C es : %.2f",m2);gotoxy(2,19);
19

printf("La PENDIENTE entre el punto C y A es : %.2f",m3);


gotoxy(2,21);
printf("El ANGULO que se forma entre el punto A y B (a) es : %.2f",a);
gotoxy(2,22);
printf("El ANGULO que se forma entre el punto B y C (b) es : %.2f",b);
gotoxy(2,23);
printf("El ANGULO que se forma entre el punto C y A (c) es : %.2f",c);
getch();
}
float dist(float x2,float x1,float y2,float y1)
{
float D;
D= sqrt(pow(x2-x1,2)+pow(y2-y1,2));
return(D);
}
float m(float y2,float y1,float x2,float x1)
{
float M;
M=(y2-y1)/(x2-x1);
return(M);
}
float ang(float z2,float w2,float m2)
{
return((acos((pow(z2,2)+pow(w2,2)-pow(m2,2))/(2*z2*w2)))*57.29);
}

20

PRACTICA 18: Ecuacin de Segundo Grado.


Este programa calcula el resultado de una ecuacin de 2 grado empleando como solucin la
formula general y enseando sus 3 posibles casos y empleando la funcin if else-if, pidiendo al
usuario el valor de a, b y c.
Caso 1 b^2- 4 ac> 0.
Caso 1 b^2- 4 ac< 0.
Caso 1 b^2- 4 ac= 0.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{float A,B,C,X1,X2,X11,X22,X111,X222;
clrscr();
gotoxy(3,2);
textbackground(WHITE);
textcolor(BLACK);
cprintf("Ecuacion de 2Grado");
gotoxy(5,4);
textbackground(BLACK);
textcolor(WHITE);
cprintf("ingrese los valores que se le piden :");
gotoxy(4,6);printf("A : ");scanf("%f",&A);
gotoxy(5,7);printf("B : ");scanf("%f",&B);
gotoxy(5,8);printf("C : "); scanf("%f",&C);
if((pow(B,2)-4*A*C)>0)
{X1=(-B + sqrt((pow(B,2))-4*A*C))/2*A;
X2=(-B - sqrt((pow(B,2))-4*A*C))/2*A;
gotoxy(8,10);
printf("el valor de x1 = %.2f y x2 = %.2f",X1,X2);
}else if((pow(B,2)-4*A*C)<0)
{X1=-B;
X11=((pow(B,2))-4*A*C)*(-1);
X111=sqrt(X11);gotoxy(8,10);
printf("el valor de x1 = %.2f / %.2f +(%.2f / %.2f)i",X1,2*A,X111,2*A);
X2=-B;
X22=((pow(B,2))-4*A*C)*(-1);
X222=sqrt(X22);gotoxy(8,11);
printf("el valor de x2 = %.2f / %.2f -(%.2f / %.2f)i",X2,2*A,X222,2*A);
}else
{X1=-B;X2=-B;
gotoxy(8,10);printf("el valor de x1 = %.2f / %.2f y x2 = %.2f / %.2f",X1,A*2,X2,A*2);}getch();}
21

PRACTICA 19: 10% Si la compra es mayor a $1500


Con la funcin if realizar un programa cuando el usuario ingresa la cantidad de compra y si es mayor
a 1500 se har un descuento del 10% y calcular el precio final.

22

PRACTICA 20: Descuentos.


A una cierta de compra total se aplicaran lo siguientes descuentos:
Compra< $800 No hay descuento.
Compra> $800 <= $1500 8%.
Compra> $1500 <= $5000 14%
Compra>= $5000 18%.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float C;
clrscr();
textbackground(BLACK);
gotoxy(4,6);
printf("Ingrese la cantidad en pesos de Compra Total: ");scanf("%f",&C);
if(C<800)
{gotoxy(4,9);
printf("Lo sentimos, su compra no ah alcanzado un descuento");}
else if (C>=800 && C<=1500)
{C=(C-(C*.08));
gotoxy(4,9);
printf("Ah obtenido un descuento del 8%%");
gotoxy(4,10);
printf("El monto total de su compra es de : %.2f$",C);}
else if (C>=1500 && C<=5000)
{C=C-(C*.14);
gotoxy(4,9);
printf("El monto total de su compra es de : %.2f$",C);}
else{ printf("El monto total de su compra es de : %.2f",C-C*.18);}
getch();
23

Practica 21: Color de espectro visible.


Este programa indica el color del espectro visible de la onda, pidiendo al usuario nicamente la
longitud de la onda en el espectro visible implementando una funcion y dando a conocer una escala
para que el usuario se guie.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float L;
gotoxy(17,2);
printf("Color del Espectro visible por Longitud de Onda");
gotoxy(4,4);printf("Introduzca la Longitud de Onda");scanf("%f",&L);
if (L<380)
{printf("El Color de Onda correspondiente a esta Longitud es Ultravioleta");}
else if(L>380 && L<=450)
{printf("El Color de Onda correspondiente a esta Longitud es Violeta");}
else if(L>450 && L<=495)
{printf("El Color de Onda correspondiente a esta Longitud es Azul");}
else if(L>495 && L<=570)
{printf("El Color de Onda correspondiente a esta Longitud es Verde");}
else if(L>570 && L<=590)
{printf("El Color de Onda correspondiente a esta Longitud es Amarillo");}
else if(L>590 && L<=620)
{printf("El Color de Onda correspondiente a esta Longitud es Naranja");}
else if(L>620 && L<=750)
{printf("El Color de Onda correspondiente a esta Longitud es Rojo");}
else
{printf("El Color de Onda correspondiente a esta Longitud es Infrarrojo");}
getch();}

24

PRACTICA 22: Caminos


Este programa calcula que camino es ms corto pero el camino depende del valor de X que lo
proporcionara el usuario.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{clrscr();
int monitor=DETECT, modo;
initgraph(&monitor,&modo,"\\tc\\bgi");
float X,X1,X2,X3,X4,C,Camino1,Camino2,Camino3,Camino4;
//Figura cuadrado
line(100,200,100,410);line(100,410,320,410);line(320,410,320,200);line(100,200,320,200);
//Fiugra triangulo
line(320,340,600,340);line(600,340,600,200);line(600,200,320,340);gotoxy(58,1);printf("C");
//Puntos
circle(100,340,5);gotoxy(10,22);printf("P1");
circle(600,200,5);gotoxy(75,12);printf("P2");
//Acotaciones
setlinestyle(DOTTED_LINE,0, NORM_WIDTH);
line(90,200,100,200);line(90,200,90,340);line(90,340,100,340);line(90,270,80,270);gotoxy(3,17);printf
("2( X ) /3");
line(100,400,320,400);line(210,400,210,390);
gotoxy(27,24);printf("X");
line(320,350,600,350);line(600,350,600,340);line(460,350,460,360);
gotoxy(58,24);printf("4(X )");
line(600,340,610,340);line(610,340,610,200);line(600,200,610,200);line(590,270,610,270);gotoxy(68,
17);printf("3 ( X )");gotoxy(31,2);
line(100,410,90,410);line(90,410,90,340);line(90,375,80,375);
printf("Distancia entre dos Puntos");
gotoxy(4,4);printf("Ingrese el valor de ""X"":");scanf("%f",&X);
gotoxy(5,17);printf("%.2f",X);gotoxy(26,24);printf("%.2f",X);
gotoxy(60,24);printf("%.2f)",X);gotoxy(71,17);printf("%.2f)",X);
X=X;
X3=(3*X);
gotoxy(68,18);printf("= %.2f",X3);
X4=(4*X);gotoxy(66,24);printf("=%.2f",X4)X1=(2*X)/3;
25

gotoxy(13,17);printf("= %.2f",X1);
X2=X-X1;
gotoxy(3,23);printf(" %.2f - %.2f= %.2f",X,X1,X2);
C=sqrt(pow(X3,2) + pow(X4,2));
gotoxy(59,15);printf("= %.2f",C);
//Caminos
cleardevice();
//Camino 1
setcolor(WHITE);
setlinestyle(SOLID_LINE, 0, NORM_WIDTH);
settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
line(60,40,60,140);line(60,40,160,40);line(160,40,160,140);line(60,140,160,140);
line(160,107,260,107);line(260,107,160,107);line(260,107,260,40);line(160,107,260,40);setcolor(RED
);settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
outtextxy(40,20,"Camino 1");
line(60,107,60,40);line(60,40,160,40);line(160,40,160,107);line(160,107,260,40);
circle(60,107,3);gotoxy(6,7);printf("P1");
circle(260,40,3);gotoxy(35,3);printf("P2");
Camino1= X1+X+X1+C;
gotoxy(13,2);printf("%.2f",Camino1);
//Camino 2
setcolor(WHITE);setlinestyle(SOLID_LINE, 0, NORM_WIDTH);
settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
line(360,40,360,140);line(360,40,460,40);line(460,40,460,140);line(360,140,460,140);
line(460,107,560,107);line(560,107,460,107);line(560,107,560,40);line(460,107,560,40);setcolor(GR
EEN);
settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
outtextxy(440,20,"Camino 2");
line(360,107,360,40);line(360,40,460,40);line(460,40,460,107);line(460,107,560,107);line(560,107,56
0,40);circle(360,107,3);gotoxy(43,7);printf("P1");
circle(560,40,3);gotoxy(73,3);printf("P2");
Camino2= X1+X+X1+X4+X3;gotoxy(66,2);printf("%.2f",Camino2);
//Camino 3
setcolor(WHITE);
setlinestyle(SOLID_LINE, 0, NORM_WIDTH);
settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
line(360,240,360,340);line(360,240,460,240);line(460,240,460,340);line(360,340,460,340);
line(460,307,560,307);line(560,307,460,307);line(560,307,560,240);line(460,307,560,240);setcolor(B
LUE);
settextstyle(DEFAULT_FONT, HORIZ_DIR,0);outtextxy(440,205,"Camino 4");
26

line(360,307,360,340);line(360,340,460,340);line(460,340,460,307);line(460,307,560,307);line(560,3
07,560,240);
circle(360,307,3);gotoxy(43,20);printf("P1");
circle(560,240,3);gotoxy(73,16);printf("P2");
Camino4= X2+X+X2+X4+X3;
gotoxy(66,14);printf("%.2f",Camino4);
//Camino4
setcolor(WHITE);
setlinestyle(SOLID_LINE, 0, NORM_WIDTH);
settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
line(60,240,60,340);line(60,240,160,240);line(160,240,160,340);line(160,340,60,340);line(160,307,26
0,307);line(260,307,260,240);line(260,240,160,307);
setcolor(CYAN);settextstyle(DEFAULT_FONT, HORIZ_DIR,0);
outtextxy(40,210,"Camino 4");
line(60,307,60,340);line(60,340,160,340);line(160,340,160,307);line(160,307,260,240);circle(60,307,
3);gotoxy(6,19);printf("P1");
circle(260,240,3);gotoxy(35,15);printf("P2");
Camino4= X2+X+X2+C;
gotoxy(13,14);printf("%.2f",Camino4);
getch();
}

27

Practica 23: Suma de cifras.


En estre programa el usuario poprocionara un numero de 4 cifras. Posteriormente este se divide en
dos pares y cada para se suma y comprara si el primer par es mayor menor o igual al segundo par.

include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{int a,v1,v2,v3,v4;
clrscr();
gotoxy(33,2);
textbackground(WHITE);
textcolor(BLACK);
cprintf("suma pares");
gotoxy(5,4);
textbackground(BLACK);
textcolor(WHITE);
cprintf("ingrese un valor entero de 4 digitos : "); scanf("%d",&a);
v1=a/1000;
v4=a%10;
v2=(a/100)%10;
v3=(a/10)%10;
gotoxy(6,5);
if((v1+v2)==(v3+v4))
{gotoxy(2,6);
printf("LA SUMA DE %d + %d es igual a %d + %d",v1,v2,v3,v4);
gotoxy(3,7);
printf("%d = %d",v1+v2,v3+v4);
}else if((v1+v2)>(v3+v4))
{gotoxy(2,6);
printf("LA SUMA DE %d + %d es mayor que %d + %d",v1,v2,v3,v4);
gotoxy(3,7);
printf("%d > %d",v1+v2,v3+v4);
}
else
{
gotoxy(2,6);
printf("LA SUMA DE %d + %d es menor que %d + %d",v1,v2,v3,v4);
gotoxy(3,7);
printf("%d < %d",v1+v2,v3+v4);
}getch();}
28

CONCLUSIONES
En este primer parcial aprendimos a programar en lenguaje c con el compilador Turbo C, al inicio de
cada cdigo se coloca lo que son las libreras, estos son archivos que contienen la informacin
necesaria para poder usar lar funciones con el cual trabajara nuestro programa algunas de las
libreras que utilizamos en nuestros programas son:
stdio.h, conio.h, math.h y dos.h.
Despues de las libreras se coloca lo que es la funcin principal, esta es la que contendr el cuerpo
del programa y por lo tanto no pueden haber 2 funciones principales, esta puede ser void main(),
main(), o int main().
Despus de la funcin main o funcin principal se colocan lo que son las variables, y estas se
utilizan para efectuar operaciones aritmticas, lgicas o relacionales entre ellas, estas sirven para el
almacenamiento de valores, esto quiere decir que reservan una localidad de memoria para los datos
numricos que utilicemos en los programas.
Por ultimo colocaremos lo que son las instrucciones o sentencias que dirigen el objeto principal y
finalidad del programa, la separacin de cada instruccin o sentencia est indicado por un (;) y lo
ms importante es que se deben escribir con minsculas.
Entre las instrucciones ms utilizadas est el printf(); scanf(); clrscr(); getch(); return(); sqrt(); pow();
tec.
De todas estas instrucciones las ms importantes serian printf(); la cual es la encargada de mostrar
textos e informacin en pantalla y scanf(); que es la instruccin encargada de guardar los valores en
una variable y que ya debi ser declarada al principio del programa.
De las variables existen 2 tipos las variables locales y las variables globales, las locales se declaran
dentro del main y solo pueden ser afectadas por clculos dentro de este y las globales se declaran
fuera del main.
Lo ltimo que se vio en este parcial son las funciones de usuario, estas son creadas por el mismo
programador por ejemplo una funcin que calcule la hipotenusa con solo tener los valores de los
catetos sin tener que escribir el proceso varias veces, sino que con una funcin se resuelve todo las
veces que sea necesario.

29

You might also like