You are on page 1of 49

Introduccion a la Programacion en

C - C++

UNIVERSIDAD NACIONAL
DE INGENIERIA

Abraham Zamudio
Abraham Zamudio 2
Definición de Constantes (Globales)

Ejemplos

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

Abraham Zamudio 3
Definición 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 4
Definición 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 5
Tipos de Datos en C

Los lenguajes de programación 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
programación C.

Abraham Zamudio 6
Tipos de Datos Escalares en C

Abraham Zamudio 7
Tipos de Datos y Tamaños

char: un byte. Este tipo almacena un caracter


según la tabla local.

int: un entero. Refleja el tamaño de los enteros


en la máquina local.

float: punto flotante de precisión simple.

double: punto flotante de precisión doble.

Abraham Zamudio 8
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 9
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 símbolos
anteriores son “comentarios” para el
programador, que no influyen para nada en la
ejecución del programa

/*
Comentarios
*/ Ordena al compilador que incluya en el programa, las funciones de entrada
– salida (en nuestro caso hay una: printf). stdio.h no es más que un fichero
“biblioteca”, que contiene una serie de funciones (instrucciones), en

#include <stdio.h> nuestro caso de “entrada-salida por pantalla”.

Si en nuestro programa necesitamos una raíz cuadrada por ejemplo,

void main() deberíamos incluir (include) otra “biblioteca” (tranquilo, ya las iremos
estudiando poco a poco).

{
printf("Introduccion a la Programación en C");
}

Abraham Zamudio 14
Algo de Codigo :

/*
Comentarios
*/
#include <stdio.h> Función o programa principal
(main), que devuelve nada
void main() (void)
{
printf("Introduccion a la Programación en C");
}

Abraham Zamudio 15
Algo de Codigo :

/*
Comentarios
*/
#include <stdio.h>
void main() Función que escribe en pantalla

{
printf("Introduccion a la Programación en C");
}

Abraham Zamudio 16
Algo de Codigo :

#include <stdio.h>

void main()
{
printf("\n"); /* Línea en blanco */
printf("Segunda Linea");
/***********************************
COMENTARIO
************************************/
printf(" continuamos en la 2ª línea\n");
printf("\nAhora estamos en la cuarta línea");
/*
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 número= ");
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 :
#include <stdio.h> Programa que convierte de
metros a pies y pulgadas.

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> realizar un programa que nos calcule el
espacio recorrido por un móvil con
velocidad uniforme durante un tiempo
determinado.
main()
{
float e,v,t;

v = 30; /* Velocidad del móvil 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
#include <stdio.h> cuanto dinero ganara después de un
mes si el banco paga a razón de 2%
main() mensual.
{
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() Un vendedor recibe un sueldo base mas
{ un 10% extra por comisión de sus ventas,
float sb,v1,v2,v3,com,tot_ven,tot_pag; el vendedor desea saber cuanto dinero
sb=5000; obtendrá por concepto de comisiones por
printf ("\nIngrese la venta 1:"); las tres ventas que realiza en el mes y el
scanf ("%f",& v1); total que recibirá en el mes tomando en
printf ("\nIngrese la venta 2:"); cuenta su sueldo base y comisiones.
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);

}
Abraham Zamudio 24
Algo de Codigo :
Una tienda ofrece un descuento del 15%
sobre el total de la compra y un cliente
#include <stdio.h> desea saber cuanto deberá pagar
main() finalmente por su compra.

{
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
main() porcentaje de hombres y que
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
main() calcule la edad de
una persona.
{
int fnac,fact,edad;
printf ("Introduce tu año de nacimiento:");
scanf ("%d",& fnac);
printf ("\nIntroduce el año 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
#include <stdio.h> persona debe tener por cada 10 segundos
de ejercicio, si la formula es:
main () num. pulsaciones = (220 - edad)/10
{
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 números aleatorios es la función rand ().
Se propone la semilla con srand (). La función 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 número aleatorio, por buenas practicas de programación la
inicializamos con 0 */
int numeroAleatorio = 0;

/* Le asignamos un número semilla, que en este caso es "NUMERO_SEMILLA", al algoritmo


que nos genera los número aleatorios por medio de la función srand */
srand(NUMERO_SEMILLA);

/* Mostramos el intervalo en el que va estar el número aleatorio */


printf("Nuestro número aleatorio va estar entre 0 y %d\n", RAND_MAX);

/* Creamos nuestro primer número aleatorio por medio de la función rand */


numeroAleatorio = rand();

/* Mostramos nuestro número aleatorio */


printf("Nuestro primer número 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: número de contrato y la cantidad de metros cúbicos
consumidos. Calcule y visualice los siguientes pagos:
 Importe: que representa el precio por cada metro cúbico por los

metros cúbicos 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 número de dos dígitos, visualice la


suma de sus dígitos

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 básico,


calcule y visualice:
Bonificación : 5% del sueldo básico
Descuento : 2% del sueldo básico
Sueldo Neto : Sumar el sueldo básico y la Bonificación 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 distribución 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