You are on page 1of 34

Universidad Nacional de Ingeniería

CHAVEZ JURADO, Renzo Renzo.zbk@gmail.com

Auto capacitación de C++

Universidad Nacional de Ingeniería

Descripción y objetivos
• Este curso tiene como objetivos:
– Repasar los conceptos básicos de programación estructurada en lenguaje C/C++ – Incrementar la práctica en la elaboración de programas para problemas específicos – Realizar proyectos de Investigación al finalizar la auto capacitación

Universidad Nacional de Ingeniería

Metodología
• Se llevaran acabo aproximadamente 19 sesiones , cada una de 3 horas. • Al final de cada sesión, se dejará una tarea la cual debe entregarse a lo mucho 6 días después al siguiente correo: auto.capacitacionc@gmail.com No se aceptarán tareas retrasadas! , amenos que la solución sea elegante

Tipos de variables [3].Universidad Nacional de Ingeniería Sesión Nº1 En esta sesión se trataran los siguientes puntos: [1]. Entrada y salida de datos [4]. Procesos secuenciales . Marco conceptual [2].

no permitamos que la lógica de los algoritmos ciegue su imaginación. por el contrario hágala su herramienta para tejer obras maestras del pensamiento.Universidad Nacional de Ingeniería Filosofía de programación Conforme se lleve la auto capacitación. .

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

. Los detalles exactos de los lenguajes de bajo nivel varían de una computadora a otra. . -Lenguaje de bajo nivel .Los lenguajes de alto nivel se asemejan en muchos sentidos a los lenguajes empleados por la humanidad. Están diseñados para que a la gente se le facilite escribir programas. y para que sea sencillo leerlos.El tipo de lenguaje que una computadora puede entender se conoce como lenguaje de bajo nivel..Universidad Nacional de Ingeniería Lenguaje de programación • Existen 2 tipos de lenguajes de programación: -Lenguaje de alto nivel . Un lenguaje de alto nivel como C++ contiene instrucciones mucho más complicadas que las instrucciones sencillas que el procesador de una computadora (CPU) es capaz de seguir.

cuya entrada o datos es algún programa y su salida es otro programa.Universidad Nacional de Ingeniería COMPILADOR • Un programa que traduce un lenguaje de alto nivel como C++ a un lenguaje de máquina. al programa de entrada normalmente se le llama programa fuente o código fuente. y la versión traducida que produce el compilador es llamada programa objeto o código objeto. Para evitar confusiones. se llama compilador. . Entonces un compilador es un tipo especial de programa.

Universidad Nacional de Ingeniería Dato curioso … :D Cómo preparar la ejecución de un programa en C++ .

Entonces. Algunas palabras equivalentes son receta. se le llama algoritmo. Las instrucciones pueden expresarse en lenguaje de programación o en lenguaje coloquial. el término algoritmo es más general que el término programa EJEMPLO… :D . procedimiento y rutina. método. instrucciones. Nuestros algoritmos estarán expresados en español y en lenguaje de programación C++. Un programa de computadora es simplemente un algoritmo expresado en un lenguaje que una computadora puede entender.Universidad Nacional de Ingeniería Algoritmos … Que son ? A la secuencia de instrucciones precisas que lleva a una solución.

Ése es un punto de vista correcto. Cuando hablamos de POO la parte del diseño de algoritmo se remplazaría por diseño de objetos y sus algoritmos .Universidad Nacional de Ingeniería Proceso común de diseño de programas Programación orientada a objetos (POO) El proceso de diseño de programas que describimos en la sección anterior representa a un programa como un algoritmo (un conjunto de Instrucciones) para manipular algunos datos. pero no siempre el más productivo. un programa se considera como una colección de objetos en interacción. Los programas modernos generalmente se diseñan utilizando un método conocido como programación orientada a objetos o POO. En la POO.

contienen un valor de mantisa y otro de exponente. TIPO DOUBLE Las variables de este tipo almacenan números en formato de coma flotante. entre -0.99. codifican números con decimales. No hay reglas fijas para saber el tamaño. A su vez. se asume que es con signo. claro. int o long int. pero usan una precisión mayor. todos esos valores son caracteres.Universidad Nacional de Ingeniería Tipos de variables TIPO CHAR Es el tipo básico alfanumérico.99 y 0. es decir que puede contener un carácter. Por ejemplo. habrás observado que puede ser declarado con y sin signo. pero también necesitemos gran precisión. Usaremos estas variables cuando trabajemos con números grandes. a costa de usar más memoria. . el mayor número que podemos almacenar en cada tipo entero: short int. y del número de bits que use por palabra de memoria: 8.. m. 16. esos tamaños dependen de la plataforma. En C++ este tipo siempre contiene un único carácter del código ASCII. tenemos para la mantisa un valor entero. Desde el punto de vista del ordenador. esto es. al igual que float. TIPO FLOAT Las variables de este tipo almacenan números en formato de coma flotante. Los números se interpretan como m x 10e.. El tamaño de memoria es de 1 byte u octeto. un dígito numérico o un signo de puntuación. TIPO INT Las variables enteras almacenan números enteros dentro de los límites de cada uno de sus tamaños. Si no se especifica el modificador de signo. depende en gran medida del compilador y del sistema operativo. usando potencias en base 10. de hecho. del compilador. y para el exponente un valor. El mayor espacio para almacenar el número se usa tanto para ampliar el rango de la mantisa como el del exponente. sino también en tamaño. que. mantisa y exponente. y por lo tanto. para entendernos. Aunque el formato en que se almacenan estos números en un ordenador es binario. Son aptos para variables de tipo real. Hay que notar que en C++ un carácter es tratado en todo como un número. de modo que no sólo se gana en precisión. podemos ver cómo es posible almacenar números muy grandes o muy pequeños mediante dos enteros relativamente pequeños. e entre -9 y 9. 32.

las mas comunes son Long. Unsigned. . Para ver el tamaño (en bytes) que ocupa un determinado tipo/entidad en memoria. Short. podemos aplicarle el siguiente operador sizeof() .Universidad Nacional de Ingeniería MODIFICADORES Se usan para modificar el tamaño de las variables . Signed .

Universidad Nacional de Ingeniería .

Universidad Nacional de Ingeniería .

k. seguido del nombre de una o más variables (separados por comas). j. “0-9” aunque ninguna variable debe comenzar con un numero 0-9. “_”. b = 5. Cuales son los nombres aceptados para una variable? Solo se pueden usar caracteres “A-Z” “a-z”. c = -1. .Universidad Nacional de Ingeniería ERROR COMUN Variables y asignación Para declarar variables en C/C++ se escribe primero el tipo de variable. float a = 3.7. float x.4. y. Para asignar un valor a una variable se utiliza el operador = Es posible asignar valores al momento de declarar las variables. Ejemplos: x = 10.6. int i. Ejemplos: int a.

• El resultado de “expresión” debe ser del mismo tipo que la variable • Existen conversiones implícitas – Se puede perder información .Universidad Nacional de Ingeniería Operador de asignación = • variable = expresión.

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

Universidad Nacional de Ingeniería Operadores aritméticos .

// f = 10.// i= 26 + 1 = 27 j = i% j.89. f.418846 7 } .// Resíduo de 27 / 10 printf("%d %f %d\n". //27 0. float f = 10.89 / 26 i= i+ 1. i.// 10 + 16 = 26 f = f / i. j).Universidad Nacional de Ingeniería Ejemplo de operadores #include <stdio. int j= 10.h> void main(){ int i. i= 10 + 0x10.

Universidad Nacional de Ingeniería Incremento: ++ [o decremento: --] .

Universidad Nacional de Ingeniería Operadores lógicos • Devuelven “verdadero” o “falso” Estos se denominan valores booleanos • En C no existe el tipo de datos booleano ◦Valor verdadero: Cualquier valor numérico distinto de cero ◦Valor falso: El valor numérico cero. ◦Usualmente se utiliza 1 para verdadero y 0 para falso. .

Universidad Nacional de Ingeniería •Denotan una relación entre dos valores •También devuelven valores booleanos .

Universidad Nacional de Ingeniería Operadores relacionales .

14159 * r * r. utilizando el operador de salida de flujo << • La constante endl imprime un retorno de carro • Ejemplos: cout << “El valor de x es “ << x << endl. .Universidad Nacional de Ingeniería Salida de datos a consola • En C++ se puede usar el flujo cout para imprimir información en la pantalla. cout << endl << endl << endl. cout << “El area del circulo es “ << 3.

cout << “El numero que escribiste es: “. cout << “Escribe un numero entero: “.Universidad Nacional de Ingeniería 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 << x << endl. } . cin >> x.

Universidad Nacional de Ingeniería SECUENCIAS DE ESCAPE .

si hubieramos puesto //void main no habria return } ./*si esta linea no estuviera escriviriamos std::cout asi que tengalo en cuenta*/ int main() {//funcion principal cout << “Hola mundo!” << endl.Universidad Nacional de Ingeniería Estructura básica de un programa en C++ Ejemplo de un programa básico en C/C++ #incluye <iostream> using namespace std. // esto sirve para //generar una pausa en nuestro programa return 0. system (“PAUSE”).// retorna un valor ya que //pusimos int main .

Universidad Nacional de Ingeniería Práctica #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 Ingeniería .

4. c Declare dos variables de tipo double: x1 y x2 Calcule las raíces (reales) x1 y x2 de la ecuación ax2 + bx + c = 0 Calcule las raíces 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. 2.x2=2-3i .Universidad Nacional de Ingeniería Práctica #2 • Desarrolle un programa donde 1. Declare tres variables de punto flotante: a. c = -2 Raices reales: x1 = 2. 5. 3. x2 = -1 Raices imaginarias : x1=2+3i. b. b = -1.

• El programa deberá imprimir mensajes informativos indicando al usuario qué hace el programa y qué información requiere.Universidad Nacional de Ingeniería Práctica #3 • Modifique el programa anterior para que el usuario pueda introducir los coeficientes a. sin necesidad de recompilar el programa. b. c. .

calcule el promedio de cinco enteros dados por el usuario. Luego el programa debe intercambiar el valor de A y B. Escriba un programa que dados tres puntos en el plano. usando solamente dos variables. . 2. 5. calcule e imprima las coordenadas del centro y el radio de la circunferencia que pasa por los tres puntos. calcule y escriba la distancia entre ellos (sugerencia: utilice la función sqrt() de la librería math. Escriba un programa que pida al usuario dos enteros y los almacene en las variables A y B.h). Escriba un programa que calcule e imprima el perímetro y el área de una circunferencia de radio r dado por el usuario.Universidad Nacional de Ingeniería PROBLEMAS 1.y1) y (x2.y2). Escriba un programa que. 4. 3. Escriba un programa que dados dos puntos en el plano (x1.

capacitacionc@gmail.com .Universidad Nacional de Ingeniería 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.