2 clase de program sabados con nota

Post on 10-Dec-2015

242 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

yj

TRANSCRIPT

Introduccion a la Programacion en C - C++

UNIVERSIDAD NACIONAL DE INGENIERIA

Centro de Estudiantes de la FIEE

Abraham Zamudio

Abraham Zamudio 2

Abraham Zamudio 3

Definición de Constantes (Globales)

Ejemplos

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

Abraham Zamudio 4

Definición de Constantes (Globales)

Ejemplo

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

Abraham Zamudio 5

Definición de Constantes (Globales)#include <stdio.h>#define CUATRO 4.0float 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 6

Tipos de Datos en C

Los lenguajes de programación ofrecen unconjunto completo de tipos de datos escalares yestructurados con las especificaciones deldominio y operaciones.

En este curso vamos a estudiar algunos de lostipos de datos que ofrece el lenguaje deprogramación C.

Abraham Zamudio 7

Tipos de Datos Escalares en C

Abraham Zamudio 8

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 9

Informacion sobre tipos

Si desea saber con exactitud sobre lostipos de datos que soporta su computador,busque en los archivos:

limits.hfloat.h

Deberian estar en /usr/include

Abraham Zamudio 10

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 11

Operadores de Relacion

Abraham Zamudio 12

Operadores Logicos

Abraham Zamudio 13

Abraham Zamudio 14

Algo de Codigo :

/* Comentarios */#include <stdio.h>void main(){

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

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

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 nuestro caso de “entrada-salida por pantalla”.

Si en nuestro programa necesitamos una raíz cuadrada por ejemplo, deberíamos incluir (include) otra “biblioteca” (tranquilo, ya las iremos estudiando poco a poco).

Abraham Zamudio 15

Algo de Codigo :

/* Comentarios */#include <stdio.h>void main(){

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

Función o programa principal (main), que devuelve nada (void)

Abraham Zamudio 16

Algo de Codigo :

/* Comentarios */#include <stdio.h>void main(){

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

Función que escribe en pantalla

Abraham Zamudio 17

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 18

Algo de Codigo :

#include <stdio.h>

void main(){char nom[20];printf("\nEscribe tu nombre: ");scanf("%s",nom);printf("\nHola %s",nom);}

Abraham Zamudio 19

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 20

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 21

Algo de Codigo :

#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);}

Programa que convierte de metros a pies y pulgadas.

Abraham Zamudio 22

Algo de Codigo :

#include <stdio.h>

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);}

realizar un programa que nos calcule el espacio recorrido por un móvil con velocidad uniforme durante un tiempo determinado.

Abraham Zamudio 23

Algo de Codigo :

#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);}

Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual.

Abraham Zamudio 24

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 comisión 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 25

Algo de Codigo :

#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);}

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.

Abraham Zamudio 26

Algo de Codigo :#include <stdio.h>main(){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);}

Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.

Abraham Zamudio 27

Algo de Codigo :

#include <stdio.h>main(){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);}

programa que calcule la edad de una persona.

Abraham Zamudio 28

Algo de Codigo :

#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);}

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

Abraham Zamudio 29

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 30

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 31

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 32

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 33

C++ : Entrada, salida y variables

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

ARUNI 13
Nota adhesiva
//libreria input/ouput(flujo)
ARUNI 13
Nota adhesiva
linea obligatoria
ARUNI 13
Nota adhesiva
para c es printf para c++ es cout
ARUNI 13
Nota adhesiva
string
ARUNI 13
Nota adhesiva
el endl se puede reempplazar por "\n" como tambien puede estar dentro de el cout

Abraham Zamudio 34

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;}

ARUNI 13
Nota adhesiva
1
ARUNI 13
Nota adhesiva
2
ARUNI 13
Nota adhesiva
1
ARUNI 13
Nota adhesiva
2
ARUNI 13
Nota adhesiva
3
ARUNI 13
Nota adhesiva
3

Abraham Zamudio 35

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 36

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;}

ARUNI 13
Nota adhesiva
declaracion de variable
ARUNI 13
Nota adhesiva
actualizando
ARUNI 13
Nota adhesiva
aca se me es permitido imprimir una variable o una operacion con la variable

Abraham Zamudio 37

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;}

ARUNI 13
Nota adhesiva
para c scanf
ARUNI 13
Nota adhesiva
declaro variable tipo string
ARUNI 13
Nota adhesiva
leo de teclado
ARUNI 13
Nota adhesiva
el cin es el scanf pones cin y en tu pantalla lo vas a leer

Abraham Zamudio 38

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;}

ARUNI 13
Nota adhesiva
declaro variables globales
ARUNI 13
Nota adhesiva
como ya declrare la variable ahora si puedo imprimir o sea poner el cin
ARUNI 13
Nota adhesiva
este es un salto de linea puro

Abraham Zamudio 39

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 40

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 41

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 42

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; }

ARUNI 13
Nota adhesiva
para reasignar valores no se pone nada antes
ARUNI 13
Nota adhesiva
esto significa el resto

Abraham Zamudio 43

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ásicoDescuento : 2% del sueldo básicoSueldo Neto : Sumar el sueldo básico y la Bonificación y restarlo con el descuento

Abraham Zamudio 44

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;

}

ARUNI 13
Nota adhesiva
VECTOR DE caracteres

Abraham Zamudio 45

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 46

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 47

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 48

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 49

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 parabajar de linea*/cout<<"\nEL valor de z es: "<<z;return 0;}

top related