You are on page 1of 49

Introduccion a la Programacion en

C - C++
UNIVERSIDAD NACIONAL
DE INGENIERIA
Centro de Estudiantes de la
FIEE
Abraham Zamudio

Abraham Zamudio

Definicin de Constantes (Globales)

Ejemplos
#define PI 3.14159
#define MAXIMO 256
#define PRIMERALETRA A
#define MENSAJE "Introduzca su nombre:"

Abraham Zamudio

Definicin de Constantes (Globales)


Ejemplo
#include <stdio.h>
#define LONGITUD 32
int main ()
{
int l1 = LONGITUD, x;
x = LONGITUD + 1;
printf(x = %i,x);
}
Abraham Zamudio

Definicin de Constantes (Globales)


#include <stdio.h>
#define CUATRO 4.0
float radio;
int main ()
{
const float PI = 3.14159;
float area, volumen;
printf(De el radio de la esfera: );
scanf(%f,&radio);
area = CUATRO * PI * radio * radio;
printf(Area = %f\n,area);
volumen = area * (radio/3);
printf(Volumen = %f\n,volumen);
return 0;
}
Abraham Zamudio

Tipos de Datos en C
Los lenguajes de programacin ofrecen un
conjunto completo de tipos de datos escalares y
estructurados con las especificaciones del
dominio y operaciones.
En este curso vamos a estudiar algunos de los
tipos de datos que ofrece el lenguaje de
programacin C.
Abraham Zamudio

Tipos de Datos Escalares en C

Abraham Zamudio

Tipos de Datos y Tamaos


char: un byte. Este tipo almacena un caracter
segn la tabla local.
int: un entero. Refleja el tamao de los enteros
en la mquina local.
float: punto flotante de precisin simple.
double: punto flotante de precisin doble.
Abraham Zamudio

Informacion sobre tipos


Si desea saber con exactitud sobre los
tipos de datos que soporta su computador,
busque en los archivos:
limits.h
float.h
Deberian estar en /usr/include
Abraham Zamudio

Operadores de Relacion
#include <stdio.h>
int main()
{
int a=2;
int b=1;
if (a=b)
printf("a y b son iguales\n");
else
printf("a y b son distintos\n");
return 0;
}

Abraham Zamudio

10

Operadores de Relacion

Abraham Zamudio

11

Operadores Logicos

Abraham Zamudio

12

Abraham Zamudio

13

Algo de Codigo :
Todo lo que escribimos entre los smbolos
anteriores son comentarios para el
programador, que no influyen para nada en la
ejecucin del programa

/*
Comentarios
*/
#include <stdio.h>
void main()
{
printf("Introduccion a la Programacin en C");
}

Ordena al compilador que incluya en el programa, las funciones de entrada


salida (en nuestro caso hay una: printf). stdio.h no es ms que un fichero
biblioteca, que contiene una serie de funciones (instrucciones), en
nuestro caso de entrada-salida por pantalla.
Si en nuestro programa necesitamos una raz cuadrada por ejemplo,
deberamos incluir (include) otra biblioteca (tranquilo, ya las iremos
estudiando poco a poco).

Abraham Zamudio

14

Algo de Codigo :
/*
Comentarios
*/
Funcin o programa principal
#include <stdio.h>
(main), que devuelve nada
void main()
(void)
{
printf("Introduccion a la Programacin en C");
}
Abraham Zamudio

15

Algo de Codigo :
/*
Comentarios
*/
#include <stdio.h>
Funcin que escribe en pantalla
void main()
{
printf("Introduccion a la Programacin en C");
}
Abraham Zamudio

16

Algo de Codigo :
#include <stdio.h>
void main()
{
printf("\n"); /* Lnea en blanco */
printf("Segunda Linea");
/***********************************
COMENTARIO
************************************/
printf(" continuamos en la 2 lnea\n");
printf("\nAhora estamos en la cuarta lnea");
/*
Hasta luego
....................................*/
}
Abraham Zamudio

17

Algo de Codigo :
#include <stdio.h>
void main()
{
char nom[20];
printf("\nEscribe tu nombre: ");
scanf("%s",nom);
printf("\nHola %s",nom);
}
Abraham Zamudio

18

Algo de Codigo :
#include <stdio.h>
void main()
{
float a,b,c;
printf("\nPrimer sumando: ");
scanf("%f",&a);
printf("\nSegundo sumando: ");
scanf("%f",&b);
c=a+b;
printf("\n\nLa suma de %f y %f es %f",a,b,c);
}
Abraham Zamudio

19

Algo de Codigo :
#include <stdio.h>
void main()
{
double num;
printf("\nEscribe un nmero= ");
scanf("%lf",&num);
printf("\nEl cuadrado de %lf es %lf",num,num*num);
printf("\nEl cubo de %lf es %lf",num,num*num*num);
}
Abraham Zamudio

20

Algo de Codigo :
Programa que convierte de
metros a pies y pulgadas.

#include <stdio.h>
main(){
float metros,resul,pulg;
int resul2,pulg2;

printf("\nValor en metros: ");


scanf("%f",&metros);
resul=metros*(1/.3048);
resul2=resul;
pulg=resul-resul2;
pulg=pulg*12;
pulg2=pulg;
printf("El resultado es: %d pies %d pulgadas",resul2,pulg2);
}
Abraham Zamudio

21

Algo de Codigo :
#include <stdio.h>
main()
{
float e,v,t;

realizar un programa que nos calcule el


espacio recorrido por un mvil con
velocidad uniforme durante un tiempo
determinado.

v = 30; /* Velocidad del mvil en Km/h */


t = 5; /* Tiempo durante el cual se mueve */
e = v*t;
printf ("\nVelocidad : %f\nTiempo : %f",v,t);
printf ("\nEspacio recorrido : %f",e);
}
Abraham Zamudio

22

Algo de Codigo :
Suponga que un individuo desea invertir
su capital en un banco y desea saber
cuanto dinero ganara despus de un
mes si el banco paga a razn de 2%
mensual.

#include <stdio.h>
main()
{
int cap_inv;
float gan;
printf ("Cantidad a invertir:");
scanf ("%i",& cap_inv);
gan=cap_inv*.02;
printf ("\nLa ganancia es:%F", gan);
}
Abraham Zamudio

23

Algo de Codigo :
#include <stdio.h>
main()
{
float sb,v1,v2,v3,com,tot_ven,tot_pag;
sb=5000;
printf ("\nIngrese la venta 1:");
scanf ("%f",& v1);
printf ("\nIngrese la venta 2:");
scanf ("%f",& v2);
printf ("\nIngrese la venta 3");
scanf ("%f",& v3);
tot_ven=v1+v2+v3;
com=tot_ven*.10;
tot_pag=sb+com;
printf ("\nTotal de pago:%f",tot_pag);
printf ("\nComision:%f",com);

Un vendedor recibe un sueldo base mas


un 10% extra por comisin de sus ventas,
el vendedor desea saber cuanto dinero
obtendr por concepto de comisiones por
las tres ventas que realiza en el mes y el
total que recibir en el mes tomando en
cuenta su sueldo base y comisiones.

}
Abraham Zamudio

24

Algo de Codigo :
Una tienda ofrece un descuento del 15%
sobre el total de la compra y un cliente
desea saber cuanto deber pagar
finalmente por su compra.

#include <stdio.h>
main()
{
float tc,d,tp;
printf ("\nIngrese la compra:");
scanf ("%f",& tc);
d=tc*.15;
tp=tc-d;
printf ("\nEl total de la compra es:%f",tp);
}
Abraham Zamudio

25

Algo de Codigo :
#include <stdio.h>
Un maestro desea saber que
porcentaje de hombres y que
main()
porcentaje de mujeres hay en
{
un grupo de estudiantes.
float nh,nm,ta,ph,pm;
printf ("Ingrese el numero de hombres");
scanf ("%f",& nh);
printf ("\nIngrese el numero de mujeres");
scanf ("%f",& nm);
ta=nh+nm;
ph=nh*100/ta;
pm=nm*100/ta;
printf ("\nEl porcentaje de hombres es:%f", ph);
printf ("\nEl porcentaje de mujeres es:%f", pm);
}
Abraham Zamudio

26

Algo de Codigo :
#include <stdio.h>
programa
que
calcule la edad de
main()
una persona.
{
int fnac,fact,edad;
printf ("Introduce tu ao de nacimiento:");
scanf ("%d",& fnac);
printf ("\nIntroduce el ao actual:");
scanf ("%d",& fact);
edad=fact-fnac;
printf ("\nTu edad es:%d",edad);
}
Abraham Zamudio

27

Algo de Codigo :
Calcular el numero de pulsaciones que una
persona debe tener por cada 10 segundos
de ejercicio, si la formula es:
num. pulsaciones = (220 - edad)/10

#include <stdio.h>
main ()
{
float np;
int edad;
printf ("\nIntroduce tu edad:");
scanf ("%f",& edad);
np=((220-edad)/100)*10;
printf ("\n\nEl resultado es:%f", np);
}
Abraham Zamudio

28

Algo de Codigo :

#include <math.h>
#include <stdio.h>
int main(void)
{
double base = 12.5;
printf("%lf^3 is %lf\n", base, pow(base,3));
return 0;
}

Abraham Zamudio

29

Algo de Codigo :
En C y C ++, el generador de nmeros aleatorios es la funcin rand ().
Se propone la semilla con srand (). La funcin rand () devuelve un int en
el intervalo de 0 a RAND_MAX , un valor dependiente de la plataforma .
El siguiente es un programa simple para mostrar un valor aleatorio :
#include <stdio.h>
#include <stdlib.h> /* rand, srand */
#include <time.h> /* time */
int main() {
srand( time(NULL) );
printf("%d\n", rand());
return 0;
}
Abraham Zamudio

30

Algo de Codigo :
#include <stdio.h>
#include <stdlib.h>
#define NUMERO_SEMILLA 0
int main()
{
/* Variable que va contener el nmero aleatorio, por buenas practicas de programacin la
inicializamos con 0 */
int numeroAleatorio = 0;
/* Le asignamos un nmero semilla, que en este caso es "NUMERO_SEMILLA", al algoritmo
que nos genera los nmero aleatorios por medio de la funcin srand */
srand(NUMERO_SEMILLA);
/* Mostramos el intervalo en el que va estar el nmero aleatorio */
printf("Nuestro nmero aleatorio va estar entre 0 y %d\n", RAND_MAX);

/* Creamos nuestro primer nmero aleatorio por medio de la funcin rand */


numeroAleatorio = rand();
/* Mostramos nuestro nmero aleatorio */
printf("Nuestro primer nmero aleatorio es %d\n", numeroAleatorio);
return 666;
Abraham Zamudio

31

Algo de Codigo :
#include<stdlib.h>
#include<stdio.h>
int main()
{
float x;
srand(time(NULL));
x = (float) rand() / (float) RAND_MAX;
printf("\n El valor de x es %f", x);
srand(time(NULL));
x = (float) rand() / (float) RAND_MAX;
printf("\n\n El valor de x es %f", x);
return 0;
}
Abraham Zamudio

32

C++ : Entrada, salida y variables

#include <iostream>
using namespace std ;
int main () {
cout << " Hola mundo !" << endl ;
}

Abraham Zamudio

33

C++ : Entrada, salida y variables

#include <iostream>
using namespace std ;
int main () {
cout << " Unos calculos :" << endl ;
cout << " 2+8*(3+1)= ";
cout << " 2+8*" << 3+1 << "=";
cout << "2+" << 8*(3+1) << "=";
cout << 2+8*(3+1) << endl;
}

Abraham Zamudio

34

C++ : Entrada, salida y variables


#include <iostream>
using namespace std ;
int main () {
int x =317;
cout << "El numero x es " << x << "." << endl ;
cout << "Su cuadrado y su cubo son " << x*x << " y "
<< x*x*x << " respectivamente." << endl ;
cout << "El polinomio 25x ^3+12 x^2-8 x+2 evaluado a x da "
<< 25* x*x*x+12* x*x -8* x+2 << endl;
}

Abraham Zamudio

35

C++ : Entrada, salida y variables


#include <iostream>
using namespace std ;
int main () {
cout << " Elige un numero n ." << endl ;
int n=74;
cout << " [ elijo el " << n << "]" << endl;
cout << " Doblalo ." << endl ;
n=2* n;
cout << " [me da " << n << "]" << endl;
cout << " Sumale 6." << endl;
n=n+6;
cout << " [ obtengo " << n << "]" << endl ;
cout << " Dividelo entre 2 y restale 3." << endl ;
n=n/2 -3;
cout << " [ sorpresa ! obtengo el numero inicial , " << n << "]." << endl;
}
Abraham Zamudio

36

C++ : Entrada, salida y variables

#include <iostream>
#include <string>
using namespace std ;
int main () {
cout << "Hola , como te llamas ?" << endl;
string nombre ;
cin >> nombre ;
cout << "Hola , " << nombre << ". Cuando naciste ?" << endl;
int nac ;
cin >> nac ;
cout << "Si estamos en el 2015, tu edad es " << 2015 - nac -1
<< " o " << 2015 - nac << "." << endl;
}
Abraham Zamudio

37

C++ : Entrada, salida y variables


#include<iostream>
#include<math.h>
using namespace std ;
double b,h;
int main()
{
cout<<"introduzca la base del triangulo"<<endl;
cin>>b;
cout<<"introduzca la altura del triangulo"<<endl;
cin>>h;
cout<<" "<<endl;
cout<<"Area del triangulo: "<<((b*h)/2)<<endl;
cout<<" "<<endl;
return 0;
}
Abraham Zamudio

38

C++ : Entrada, salida y variables

Ejercicio
Desarrolle un Algoritmo para SEDAPAL, que permita el ingreso de los
siguientes datos: nmero de contrato y la cantidad de metros cbicos
consumidos. Calcule y visualice los siguientes pagos:
Importe: que representa el precio por cada metro cbico por los
metros cbicos consumidos
Relleno Sanitario: representa 1.4% del Importe
Mantenimiento General: representa 2.1% del Importe
IGV: representa el 19% de la Suma de Importe, Relleno y
Mantenimiento
Pago Total: representa la Suma del los pagos

Abraham Zamudio

39

C++ : Entrada, salida y variables


#include<iostream>
using namespace std ;
const float precio=0.45;
int main(){
char contrato[15];
float mc,importe,relleno,mantgral,igv,ptotal;
cout<<"Ingrese el Contrato";
cin>>contrato;
cout<<"Ingrese el Consumo de Agua:";
cin>>mc;
importe=precio*mc;
mantgral=importe*0.028;
relleno=importe*0.014;
igv=0.19*(importe+mantgral+relleno);
ptotal=importe+mantgral+relleno+igv;
cout<<"Contrato
:"<<contrato<<endl;
cout<<"Importe
:"<<importe<<endl;
cout<<"Mantenimiento:"<<mantgral<<endl;
cout<<"Relleno
:"<<relleno<<endl;
cout<<"Igv
:"<<igv<<endl;
cout<<"Pago Total :"<<ptotal<<endl;
return 0;
}

Abraham Zamudio

40

C++ : Entrada, salida y variables

Ejercicio
Desarrollar un Algoritmo donde ingrese un nmero de dos dgitos, visualice la
suma de sus dgitos

Abraham Zamudio

41

C++ : Entrada, salida y variables

#include<iostream>
using namespace std ;
int main(){
int numero,unidad,decena;
cout<<"Ingrese el numero: ";
cin>>numero;
unidad=numero%10;
decena=int(numero/10);
cout<<"La suma es: "<<(unidad+decena);
return 666;
}

Abraham Zamudio

42

C++ : Entrada, salida y variables

Ejercicio
Ingrese por Teclado el nombre de un Trabajador y su sueldo bsico,
calcule y visualice:
Bonificacin : 5% del sueldo bsico
Descuento : 2% del sueldo bsico
Sueldo Neto : Sumar el sueldo bsico y la Bonificacin y restarlo con el
descuento

Abraham Zamudio

43

C++ : Entrada, salida y variables


#include<iostream>
using namespace std ;
int main(){
char ntrab[45];
float sueldo,bonif,dscto,neto;
cout<<"Ingrese el Nombre del Trabajador:";
cin>>ntrab;
cout<<"Ingrese el Sueldo Basico:";
cin>>sueldo;
bonif=0.05*sueldo;
dscto=0.02*sueldo;
neto=sueldo+bonif-dscto;
cout<<"Trabajador :"<<ntrab<<endl;
cout<<"Sueldo
:"<<sueldo<<endl;
cout<<"Bonificacion :"<<bonif<<endl;
cout<<"Descuento
:"<<bonif<<endl;
cout<<"Sueldo Neto :"<<neto<<endl;
return 666;
Abraham Zamudio
}

44

C++ : Entrada, salida y variables

Ingrese por Teclado el sueldo de un Trabajador, asumiendo que ste es


un valor entero, visualizar la mejor distribucin de billetes y monedas
que se utilizaran para pagar el sueldo:
Considere billetes de 100, 50, 20, 10.
Monedas de 5, 2 y 1

Abraham Zamudio

45

C++ : Entrada, salida y variables


#include<iostream>
using namespace std ;
int main(){
int sueldo,d100=0,d50=0,d20=0,d10=0,d5=0,d2=0,d1=0;
cout<<"Ingrese el Sueldo:";
cin>>sueldo;
//Cuantos billetes de 100 recibir
d100=int(sueldo/100);
sueldo =sueldo - 100*d100;
//Cuantos billetes de 50 recibir
d50=int(sueldo/50);
sueldo =sueldo - 50*d50;
//Cuantos billetes de 20 recibir
d20=int(sueldo/20);
sueldo =sueldo - 20*d20;
//Cuantos billetes de 10 recibir
d10=int(sueldo/10);
sueldo = sueldo - 10*d10;
//Cuantas monedas de 5 recibir
d5=int(sueldo/5);
sueldo = sueldo - 5*d5;
//Cuantos monedas de 2 recibir
d2=int(sueldo/2);
sueldo = sueldo - 2*d2;
//Cuantos billetes de 50 recibir
d1=sueldo;
cout<<"Billetes de 100:"<<d100<<endl;
cout<<"Billetes de 50:"<<d50<<endl;
cout<<"Billetes de 20:"<<d20<<endl;
cout<<"Billetes de 10:"<<d10<<endl;
cout<<"Monedas de 5:"<<d5<<endl;
cout<<"Monedas de 2:"<<d2<<endl;
cout<<"Monedas de 1:"<<d1<<endl;
return 666;
Abraham Zamudio
}

46

C++ : Entrada, salida y variables


/*Calcula el area de un triangulo conociendo sus tres lados*/
#include <iostream>
#include <math.h> //Reconoce la raiz "sqrt"
using namespace std;
main()
{
float a,b,c; /*Se define el tipo de dato_entrada*/
float p,at; /*Se define el tipo de dato_salida*/
cout<<"Ingrese el valor del lado a: ";cin>>a;
cout<<"Ingrese el valor del lado b: ";cin>>b;
cout<<"Ingrese el valor del lado c: ";cin>>c;
p=(a+b+c)/2.0;
at=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<at;
}
Abraham Zamudio

47

C++ : Entrada, salida y variables


/*Calcula la resultante entre dos fuerzas conociendo el angulo */
#include <iostream>
#include <math.h> /*Reconoce el pow(base,exponente)*/
#define A (M_PI)/180.0 /*Se define a "A" como el valor de conversion*/
using namespace std;
main()
{
float f1,f2,anggrados;
float R,angradian;
cout<<"Ingrese el valor de f1: ";cin>>f1;
cout<<"Ingrese el valor de f2: ";cin>>f2;
cout<<"Ingrese el valor del angulo entre f1 y f2: ";cin>>anggrados;
angradian=anggrados*A;
R=sqrt(pow(f1,2)+pow(f2,2)+2*f1*f2*cos(angradian));
cout<<R;
}
Abraham Zamudio

48

C++ : Entrada, salida y variables


/*Calcula diferentes expresiones para un solo valor*/
#include <iostream>
#include <math.h> /*Reconoce exp(X), se refiere al "e a la X"*/
using namespace std;
int main()
{
float t;
double x,y,z;
cout<<"Ingrese el valor de t: ";cin>>t;
x=pow(t,3)-8*t+4;
y=sin(t)+cos(2*t);
z=exp(3*t+7);
cout<<"El valor de x es: "<<x;
cout<<"\nEl valor de y es: "<<y; /*"\n" se utiliza para
bajar de linea*/
cout<<"\nEL valor de z es: "<<z;
return 0;
}
Abraham Zamudio

49

You might also like