You are on page 1of 34

Universidad Nacional de Ingeniera

CHAVEZ JURADO, Renzo Renzo.zbk@gmail.com

Auto capacitacin de C++

Universidad Nacional de Ingeniera

Descripcin y objetivos
Este curso tiene como objetivos:
Repasar los conceptos bsicos de programacin estructurada en lenguaje C/C++ Incrementar la prctica en la elaboracin de programas para problemas especficos Realizar proyectos de Investigacin al finalizar la auto capacitacin

Universidad Nacional de Ingeniera

Metodologa
Se llevaran acabo aproximadamente 19 sesiones , cada una de 3 horas. Al final de cada sesin, se dejar una tarea la cual debe entregarse a lo mucho 6 das despus al siguiente correo: auto.capacitacionc@gmail.com No se aceptarn tareas retrasadas! , amenos que la solucin sea elegante

Universidad Nacional de Ingeniera

Sesin N1
En esta sesin se trataran los siguientes puntos: [1]. Marco conceptual [2]. Tipos de variables [3]. Entrada y salida de datos [4]. Procesos secuenciales

Universidad Nacional de Ingeniera

Filosofa de programacin

Conforme se lleve la auto capacitacin, no permitamos que la lgica de los algoritmos ciegue su imaginacin, por el contrario hgala su herramienta para tejer obras maestras del pensamiento.

Universidad Nacional de Ingeniera

Que es un programa?
Un programa es un conjunto de instrucciones que debe seguir una computadora. Como muestra el grafico , podemos considerar que la entrada a una computadora consta de dos partes, un programa y algunos datos. La computadora sigue las instrucciones del programa, y de esa forma realiza algunos procesos. Siempre que le proporcionamos a la computadora un programa a seguir y algunos datos para el programa, se dice que estamos corriendo el programa con esos datos, y se dice que la computadora ejecuta el programa.

Universidad Nacional de Ingeniera

Lenguaje de programacin
Existen 2 tipos de lenguajes de programacin: -Lenguaje de alto nivel .- Los lenguajes de alto nivel se asemejan en muchos
sentidos a los lenguajes empleados por la humanidad. Estn diseados para que a la gente se le facilite escribir programas, y para que sea sencillo leerlos. Un lenguaje de alto nivel como C++ contiene instrucciones mucho ms complicadas que las instrucciones sencillas que el procesador de una computadora (CPU) es capaz de seguir.

-Lenguaje de bajo nivel .- El tipo de lenguaje que una computadora puede entender
se conoce como lenguaje de bajo nivel. Los detalles exactos de los lenguajes de bajo nivel varan de una computadora a otra.

Universidad Nacional de Ingeniera

COMPILADOR
Un programa que traduce un lenguaje de alto nivel como C++ a un lenguaje de mquina, se llama compilador. Entonces un compilador es un tipo especial de programa, cuya entrada o datos es algn programa y su salida es otro programa. Para evitar confusiones, al programa de entrada normalmente se le llama programa fuente o cdigo fuente, y la versin traducida que produce el compilador es llamada programa objeto o cdigo objeto.

Universidad Nacional de Ingeniera

Dato curioso :D

Cmo preparar la ejecucin de un programa en C++

Universidad Nacional de Ingeniera

Algoritmos Que son ?


A la secuencia de instrucciones precisas que lleva a una solucin, se le llama algoritmo. Algunas palabras equivalentes son receta, mtodo, instrucciones, procedimiento y rutina. Las instrucciones pueden expresarse en lenguaje de programacin o en lenguaje coloquial. Nuestros algoritmos estarn expresados en espaol y en lenguaje de programacin C++. Un programa de computadora es simplemente un algoritmo expresado en un lenguaje que una computadora puede entender. Entonces, el trmino algoritmo es ms general que el trmino programa

EJEMPLO :D

Universidad Nacional de Ingeniera Proceso comn de diseo de programas

Programacin orientada a objetos (POO)


El proceso de diseo de programas que describimos en la seccin anterior representa a un programa como un algoritmo (un conjunto de Instrucciones) para manipular algunos datos. se es un punto de vista correcto, pero no siempre el ms productivo. Los programas modernos generalmente se disean utilizando un mtodo conocido como programacin orientada a objetos o POO. En la POO, un programa se considera como una coleccin de objetos en interaccin.

Cuando hablamos de POO la parte del diseo de algoritmo se remplazara por diseo de objetos y sus algoritmos

Universidad Nacional de Ingeniera

Tipos de variables
TIPO CHAR
Es el tipo bsico alfanumrico, es decir que puede contener un carcter, un dgito numrico o un signo de puntuacin. Desde el punto de vista del ordenador, todos esos valores son caracteres. En C++ este tipo siempre contiene un nico carcter del cdigo ASCII. El tamao de memoria es de 1 byte u octeto. Hay que notar que en C++ un carcter es tratado en todo como un nmero, de hecho, habrs observado que puede ser declarado con y sin signo. Si no se especifica el modificador de signo, se asume que es con signo.

TIPO INT
Las variables enteras almacenan nmeros enteros dentro de los lmites de cada uno de sus tamaos. A su vez, esos tamaos dependen de la plataforma, del compilador, y del nmero de bits que use por palabra de memoria: 8, 16, 32... No hay reglas fijas para saber el tamao, y por lo tanto, el mayor nmero que podemos almacenar en cada tipo entero: short int, int o long int; depende en gran medida del compilador y del sistema operativo.

TIPO FLOAT
Las variables de este tipo almacenan nmeros en formato de coma flotante, esto es, contienen un valor de mantisa y otro de exponente, que, para entendernos, codifican nmeros con decimales. Aunque el formato en que se almacenan estos nmeros en un ordenador es binario, podemos ver cmo es posible almacenar nmeros muy grandes o muy pequeos mediante dos enteros relativamente pequeos, usando potencias en base 10. Por ejemplo, tenemos para la mantisa un valor entero, m, entre -0.99 y 0.99, y para el exponente un valor, e entre -9 y 9. Los nmeros se interpretan como m x 10e.

TIPO DOUBLE
Las variables de este tipo almacenan nmeros en formato de coma flotante, mantisa y exponente, al igual que float, pero usan una precisin mayor, a costa de usar ms memoria, claro. Son aptos para variables de tipo real. Usaremos estas variables cuando trabajemos con nmeros grandes, pero tambin necesitemos gran precisin. El mayor espacio para almacenar el nmero se usa tanto para ampliar el rango de la mantisa como el del exponente, de modo que no slo se gana en precisin, sino tambin en tamao.

Universidad Nacional de Ingeniera

MODIFICADORES
Se usan para modificar el tamao de las variables , las mas comunes son Long, Short, Signed , Unsigned. Para ver el tamao (en bytes) que ocupa un determinado tipo/entidad en memoria, podemos aplicarle el siguiente operador sizeof() ;

Universidad Nacional de Ingeniera

Universidad Nacional de Ingeniera

Universidad Nacional de Ingeniera

ERROR COMUN

Variables y asignacin
Para declarar variables en C/C++ se escribe primero el tipo de variable, seguido del nombre de una o ms variables (separados por comas). Ejemplos: int a; int i, j, k; float x, y; Cuales son los nombres aceptados para una variable? Solo se pueden usar caracteres A-Z a-z, _, 0-9 aunque ninguna variable debe comenzar con un numero 0-9. Para asignar un valor a una variable se utiliza el operador = Es posible asignar valores al momento de declarar las variables; Ejemplos:

x = 10; float a = 3.4, b = 5.6; c = -1.7;

Universidad Nacional de Ingeniera

Operador de asignacin =
variable = expresin; El resultado de expresin debe ser del mismo tipo que la variable Existen conversiones implcitas
Se puede perder informacin

Universidad Nacional de Ingeniera

Ejemplo de perdida de informacion


#include <stdio.h> void main(){ char c; // 0 .. 255 son 256 caracteres // int es un tipo de dato de 2 bytes // 00000001 00000100 (binario) = 260 (decimal) Int i= 260; // 256 + 4 = (2 bytes) float f=10.89;
c = i; // Pierde el primer byte => queda00000100 printf("%d\n", c); i= f; // Pierde los decimales f = i; // Toma el entero printf("%f\n", f); //10.000000 }

Universidad Nacional de Ingeniera

Operadores aritmticos

Universidad Nacional de Ingeniera

Ejemplo de operadores
#include <stdio.h> void main(){ int i; int j= 10; float f = 10.89; i= 10 + 0x10;// 10 + 16 = 26 f = f / i;// f = 10.89 / 26 i= i+ 1;// i= 26 + 1 = 27 j = i% j;// Resduo de 27 / 10 printf("%d %f %d\n", i, f, j); //27 0.418846 7 }

Universidad Nacional de Ingeniera

Incremento: ++ [o decremento: --]

Universidad Nacional de Ingeniera

Operadores lgicos
Devuelven verdadero o falso Estos se denominan valores booleanos En C no existe el tipo de datos booleano Valor verdadero: Cualquier valor numrico distinto de cero Valor falso: El valor numrico cero. Usualmente se utiliza 1 para verdadero y 0 para falso.

Universidad Nacional de Ingeniera

Denotan una relacin entre dos valores Tambin devuelven valores booleanos

Universidad Nacional de Ingeniera

Operadores relacionales

Universidad Nacional de Ingeniera

Salida de datos a consola


En C++ se puede usar el flujo cout para imprimir informacin en la pantalla, utilizando el operador de salida de flujo <<

La constante endl imprime un retorno de carro


Ejemplos:
cout << El valor de x es << x << endl; cout << El area del circulo es << 3.14159 * r * r; cout << endl << endl << endl;

Universidad Nacional de Ingeniera

Entrada de datos desde consola


El flujo de entrada cin>> permite introducir datos desde el teclado y almacenarlos en variables. Ejemplo:
int main() { int x; cout << Escribe un numero entero: ; cin >> x; cout << El numero que escribiste es: ; cout << x << endl; }

Universidad Nacional de Ingeniera

SECUENCIAS DE ESCAPE

Universidad Nacional de Ingeniera

Estructura bsica de un programa en C++


Ejemplo de un programa bsico en C/C++
#incluye <iostream>
using namespace std;/*si esta linea no estuviera escriviriamos std::cout asi que tengalo en cuenta*/ int main() {//funcion principal cout << Hola mundo! << endl; system (PAUSE); // esto sirve para //generar una pausa en nuestro programa return 0;// retorna un valor ya que //pusimos int main , si hubieramos puesto //void main no habria return }

Universidad Nacional de Ingeniera

Prctica #1
Escriba y ejecute un programa que escriba su nombre completo en la pantalla dentro de un marco formado por asteriscos. Ejemplo de salida:

**************************** * Hola mundo :) * ****************************

Universidad Nacional de Ingeniera

Universidad Nacional de Ingeniera

Prctica #2
Desarrolle un programa donde
1. 2. 3.
4. 5.

Declare tres variables de punto flotante: a, b, c Declare dos variables de tipo double: x1 y x2 Calcule las races (reales) x1 y x2 de la ecuacin

ax2 + bx + c = 0

Calcule las races imaginarias si es que tuviera Imprima los datos y resultados en la pantalla

Ejemplo de salida:

Calculo de las raices de una cuadratica Coeficientes: a = 1, b = -1, c = -2 Raices reales: x1 = 2, x2 = -1 Raices imaginarias : x1=2+3i,x2=2-3i

Universidad Nacional de Ingeniera

Prctica #3
Modifique el programa anterior para que el usuario pueda introducir los coeficientes a, b, c, sin necesidad de recompilar el programa. El programa deber imprimir mensajes informativos indicando al usuario qu hace el programa y qu informacin requiere.

Universidad Nacional de Ingeniera

PROBLEMAS
1. 2. Escriba un programa que pida al usuario dos enteros y los almacene en las variables A y B. Luego el programa debe intercambiar el valor de A y B. Escriba un programa que calcule e imprima el permetro y el rea de una circunferencia de radio r dado por el usuario. Escriba un programa que, usando solamente dos variables, calcule el promedio de cinco enteros dados por el usuario. Escriba un programa que dados dos puntos en el plano (x1,y1) y (x2,y2), calcule y escriba la distancia entre ellos (sugerencia: utilice la funcin sqrt() de la librera math.h). Escriba un programa que dados tres puntos en el plano, calcule e imprima las coordenadas del centro y el radio de la circunferencia que pasa por los tres puntos.

3.

4.

5.

Universidad Nacional de Ingeniera

TAREA
La tarea constara de resolver 3 problemas al aleatorios del los propuestos en la diapositiva anterior Los problemas los enviaran al siguiente correo con el formato de tareas que se les proporcionara en el grupo auto.capacitacionc@gmail.com

You might also like