Sesion 02 c++

25
Lenguaje de Programación www.evira.net Pág. 01 Area de descargas - www.cursos.evira.net El formato general de un programa en C++ es el siguiente: void main(...) <--- línea de cabecera de la función principal. { <--- inicio de bloque .................................. .................................. cuerpo de la función principal .................................. } <--- fin de bloque Encabezado / Definición de constantes y macros < declaración de variables globales / inclusión de archivos. SESION 02 Estructura de un Programa en C++

Transcript of Sesion 02 c++

Page 1: Sesion 02   c++

Lenguaje de Programaciónww

w.ev

ira.

net

Pág. 01

Area de descargas - www.cursos.evira.net

El formato general de un programa en C++ es el siguiente:

void main(...) <--- línea de cabecera de la función principal.{ <--- inicio de bloque.................................................................... cuerpo de la función principal..................................} <--- fin de bloque

Encabezado / Definición de constantes y macros< declaración de variables globales/ inclusión de archivos.

SESION02Estructura de un Programa en C++

Page 2: Sesion 02   c++

www.

evira.

net

Pág. 02

Area de descargas - www.cursos.evira.netLenguaje de Programación

1) Archivos de Cabecera Existe un extenso grupo de archivos de cabecera, y cada uno de

ellos sirve para manejar un grupo de funciones relacionadas. La ex-tensión h de estos archivos es la inicial de la palabra header. Ge-neralmente estos archivos se incluyen en las primeras líneas de un programa en C++.

- El compilador C++ desplegará un mensaje de error cuando se trate de incluir una función sin antes haber incluido el archivo de cabe-cera que contiene el prototipo de ella.

- Los archivos de cabecera son almacenados en el directorio INCLU-DE cuando se instala en el paquete del compilador.

Ejemplo:# include <stdio.h>

2) Comentarios En C++ existen dos formas de manejar los comentarios: a) La primera: /*...*/ <--- abarca varias líneas b) La segunda: //...// <--- comentario que abarca una línea

Page 3: Sesion 02   c++

www.

evira.

net

Pág. 03

Area de descargas - www.cursos.evira.netLenguaje de Programación

/* el principal de los comentarios. // primer comentario de una línea. // segundo comentario de una línea.*/ <--- fin del comentario de varias lineas

// Primer_Ejemplo.cpp//# include <stdio.h> // Permite utilizar la función printf()# include <conio.h> // getch()void main (void){ printf (“Bienvenidos al curso C++\n”); printf(“\n”); getch ();}

Ejemplo:

Page 4: Sesion 02   c++

www.

evira.

net

Pág. 04

Area de descargas - www.cursos.evira.netLenguaje de Programación

1.1 Inclusión de archivos Se logra por medio de la directiva #include en cualquiera de las

tres formas siguientes:

a) # include <nombre_archivo>

b) # include “nombre_archivo”

c) # include “d:\trayectoria\nombre_archivo” /* nombre_archivo será buscado en el directorio especificado en

trayectoria */

Ejemplo:i) # include “c:\datoscpp\pantalla.c”

1.2 La función main() Todo programa de C++ debe contener una función llamada main()

(principal) la cual sirve de enlace con el sistema operativo que se

--> /* nombre_archivo buscará sola-mente en el directorio INCLUDE*/

--> /* nombre_archivo buscará en el directorio de trabajo actual */

Page 5: Sesion 02   c++

www.

evira.

net

Pág. 05

Area de descargas - www.cursos.evira.netLenguaje de Programación

esté utilizando.Al invocar a un programa escrito en C++ desde el indicador de presen-cia del sistema operativo, se le puede pasar ciertos valores que se lla-man argumentos, los cuales van a ser recibidos por la función principal. esto a su vez va a regresar un valor de retorno al sistema operativo que la invocó, la devolución del valor de retorno se hace por medio de la instrucción return.

Ejemplo:return 0;

1.3 Tipo de Datos C++ al igual que C contiene: - Tipos fundamentales o incorporados - Tipos derivados o estructurados Los tipos fundamentales se corresponden con las unidades de alma-cenamiento mas frecuentes de una computadora y los mas usuales son:

Page 6: Sesion 02   c++

www.

evira.

net

Pág. 06

Area de descargas - www.cursos.evira.netLenguaje de Programación

Enteros: char 128...127 ..................... 8 bits int -32768 a 32767 ....... 16 bits Long int -2,147’483.648 ......... 32 bits 2,147’483.648

Enteros sin signo: unsigned char: 0...255

Reales:

float 10-38 ... 10+38 ....................... 32 bits double 10-308 ... 10+308 ....................... 64 bits long double 10-4932 ... 104932 ............. 80 bits

C++ define los tipos: short int int long intcomo tipos diferentes

i) unsigned int ---> (valores positivos o nulos) ---> rango 0 - 65,535

Page 7: Sesion 02   c++

www.

evira.

net

Pág. 07

Area de descargas - www.cursos.evira.netLenguaje de Programación

ii) unsigned char ---> 0 ... 255 unsigned long ---> 0 ... 4,294’967,265

1.4 Datos tipo caracter En C++ un carácter se encierra entre comillas.

Ejemplo: char si = “s”; Const char inicial = ‘a’;

Las constantes de caracteres pueden contener mas de un carácter encerrado dentro de simples comillas (apóstrofes).

Tabla de Secuencias de Escape

Si el carácter que sigue a la diagonal es alguno de los caracteres mos-trados en la tabla se obtendrá el efecto explicado en ella (pero si es cualquiera de los demás caracteres del código ASCII; se visualizará el caracter tal cual.

Page 8: Sesion 02   c++

www.

evira.

net

Pág. 08

Area de descargas - www.cursos.evira.netLenguaje de Programación

Secuencia Caracter Efecto \a BEL Sonido de la bcina \b BS Retroceso \n LF Nueva línea \r CR Retorno de carro \t HT Tabulación horizontal \v VT Tabulación vertical \\ \ Diagonal hacia atrás \’ ‘ Comilla sencilla \” “ Comilla doble

1.5 Operadores Son símbolos que indican los cálculos que se deben realizar sobre

una, dos o más variables o constantes de una expresión. En C++ existen los siguientes operadores:

1.5.1 Operadores Aritméticos Se aplican sobre objetos con valores numéricos.

Page 9: Sesion 02   c++

www.

evira.

net

Pág. 09

Area de descargas - www.cursos.evira.netLenguaje de Programación

Sean x=20, y=30, a=100.0, b=200.0

Operador Operación Ejemplo Resultados + Adición z = x+y z = 50 - Sustracción z = y-x z = 10 * Multiplicación z = x*y z = 600 / División z = y/x z = 1.5 % Módulo z = y%x z = 10 ++ Incremento x++ x = 21 -- Decremento x-- x = 19

1.5.2 Operadores Relacionales Los operadores relacionales se usan para comparar los valo-

res que resultan de reducir expresiones. Los operadores relacionales en C++ son:

< Menor que> Mayor que<= Menor o igual que>= Mayor o igual que== igual que!= Diferente (no igual que)

Page 10: Sesion 02   c++

www.

evira.

net

Pág. 10

Area de descargas - www.cursos.evira.netLenguaje de Programación

&& Y (conjunción) o AND || O (disyunción) u OR ! NO (negación)

1.5.3 Operadores Lógicos Los operadores lógicos se aplican siempre sobre los enuncia-

dos que resultan de las operaciones relacionales.

Prioridad de los Operadores

Operador Operación Ejemplo Resultados 1 () [] izq - derecha 2 !, ++, -- && der - izq 3 * / % izq - der 4 + - izq - der 5 Todos los operadores

Page 11: Sesion 02   c++

www.

evira.

net

Pág. 11

Area de descargas - www.cursos.evira.netLenguaje de Programación

Ejemplo:1ro 8/4 * 6 2do 28/(3*4) 2*6 28/12 12 2

3ro (float) 2/4 4to (float) (2/4) 2.0/4 (float) 0 0.5 0.0

1.6 Operador Asignación Indica una operación de reemplazo o asignación. Asigna un valor derecho a un valor izquierdo.

Formato:nomb_variable = expresión

Operadorasignación

simple

Constantevariable

expresión

Page 12: Sesion 02   c++

www.

evira.

net

Pág. 12

Area de descargas - www.cursos.evira.netLenguaje de Programación

Si x = 20 y = 30

1 z = x + y2 PI = 3.14163 si n = 123 n1 = n/100 // (asigna 1) re = n%100 // (asigna 23)4 z = x * y // (asigna 600)

Ejemplo:

1.7IdentificadoresLos identificadores son los nombres elegidos para referenciar va-riables, funciones, constantes, etiquetas, etc.

1.7.1. Identificadores creados por el usuario 1.7.2. Palabras reservadas

1.7.1.Identificadorescreadosporelusuario El usuario debe cuidar que los identificadores creados por él cumplan con las siguientes reglas generales:

Page 13: Sesion 02   c++

www.

evira.

net

Pág. 13

Area de descargas - www.cursos.evira.netLenguaje de Programación

1) Un identificador puede estar formado por: i) Letras mayúsculas y/o minúsculas. ii) El caracter subrayado (-). iii) Dígitos del 0 al 9.

2) El primer caracter de un identificador debe ser una le-tra o el caracter de subrayado.

3) El tamaño de un identificador puede contener un núme-ro arbitrario de caracteres, borland c++ considera como significativos los primeros 32 o los n primeros que decida el programador donde: 1 <= n <= “32”

4) C++ es sencible al tamaño de las letras. Letras mayúscu-las y minúsculas los trata como caracteres diferentes.

nota.- La longitud permitida para el nombre de un identifi-cador varía con las versiones.

Page 14: Sesion 02   c++

www.

evira.

net

Pág. 14

Area de descargas - www.cursos.evira.netLenguaje de Programación

Ejemplo:

- SUMA- Suma- suma- var_1- Var_1- VAR_1

son identificadoresdiferentes

5. Las palabras reservadas no podrán ser usados como identificadores creados por el usuario.

Ejemplo Identificadores válidos

ipitempmax_valor_auxiliarTasaDeInteres

Ejemplo Identificadores no válidos

1opcion x comienza con un dígitovalor a x contiene un caráter blanco__indice (comienza con dos subrayados)new (palabra reservada)

Page 15: Sesion 02   c++

www.

evira.

net

Pág. 15

Area de descargas - www.cursos.evira.netLenguaje de Programación

1.7.1.1 Constantes Es un identificador cuyo valor permanece fijo,

durante el tiempo de ejecución.

Formato:

Ejemplo: i) Const int iva = 10;

1. Se puede definir constantes enteras gran-des o largas (doble precisión).

Ejemplo: 32 L, -106 L Se situa la l o L al final de la constante.

2. Constante real 0.0 3.1416 -99.05

Const <tipo> <identificador> = <valor>

Page 16: Sesion 02   c++

www.

evira.

net

Pág. 16

Area de descargas - www.cursos.evira.netLenguaje de Programación

C++ permite especificar constantes de coma flo-tante de simple precisión sufijo f o F, o doble precisión sufijo l o L:

23.0f 3.1416l 23.0F 3.1416L

3. La letra e(o E) se utiliza para especificar el exponente de constantes de coma flotante escri-tas en notación científica.

10E4 1.0E-2 1e5

4. Constantes caracter ‘a’ ‘z’

5. Constantes cadena. “Borland C++” “FIIS_UNI” “\n\t”

(Secuencia de mas de un caracter encerrados entre doble comillas)

Page 17: Sesion 02   c++

www.

evira.

net

Pág. 17

Area de descargas - www.cursos.evira.netLenguaje de Programación

1.7.7.2 Variables Una variable es un identificador, es un es-

pacio de memoria, tiene un nombre y un tipo de datos asociados, y cuyo valor puede cam-biar durante la ejecución del programa.

En el lenguaje C++ puede declararse una variable en cualquier lugar del programa con la única restricción que la declaración preceda a la prime-ra instrucción donde se utiliza la variable.

Formato:tipo nomb_variable

int nota, edad;int suma = 0, inicial =1;float desc;char prlm = ‘A’;

Ejemplo:

Page 18: Sesion 02   c++

www.

evira.

net

Pág. 18

Area de descargas - www.cursos.evira.netLenguaje de Programación

int x = 5; // x del bloque 1{ int x=10; // x del bloque 2 { int x = 20; // x del bloque 3 { int x = 30; printf (“x=%d”, x); // x=30 } printf (“x=%d”, x); // x=20 } printf (“x=%d”, x); // x=10}printf (“x=%d”, x); // x=5

En C++ un bloque está formado por las instrucciones delimitadas por un par de llaves { }. Es imposible anidar una serie de bloques, y pueden de-clararse variables dentro de cada bloque.

Page 19: Sesion 02   c++

www.

evira.

net

Pág. 19

Area de descargas - www.cursos.evira.netLenguaje de Programación

1.7.3 Procesos de Entrada/Salida En el Lenguaje C++ la Entrada/Salida se maneja de dos for-

mas: 1) La primera consiste en la utilización de prototipos, fun-

ciones cuyos prototipos vienen declarados en el archivo stdio.h y es lo que tradicionalmente ha utilizado el lenguaje C.

2) La segunda forma es propia de C++ y consiste en el ma-nejo de objetos y operadores cuyas definiciones se encuen-tran en el archivo iostream.h

- Funciones declaradas en stdio.h - Funciones declaradas en conio.h - Funciones declaradas en iostream.h

Funciones declaradas en stdio.h Requiere la inclusión de la siguiente línea al principio del

Page 20: Sesion 02   c++

www.

evira.

net

Pág. 20

Area de descargas - www.cursos.evira.netLenguaje de Programación

programa: # include <stdio.h> En el archivo stdio.h se encuentran definidos entre otros

los prototipos de las funciones: printf() scanf() gets() puts()

Además de las macros: getc() putc()

La función printf() El formato general:

printf ( <cadena_formato>, <elem>, ... <elem>

Cadena_formato --> cadena de caracteres encerrado entre comillas dobles. Esta cadena es enviada a la pantalla.

Page 21: Sesion 02   c++

www.

evira.

net

Pág. 21

Area de descargas - www.cursos.evira.netLenguaje de Programación

La tabla muestra los comandos de formato usuales:

Comando Sirve para % d Entero % ld Entero largo % u Entero sin signo % f Número de punto flotante % e Número de punto flotante en valor exponencial % c Carácter % s Cadena de caracteres % x Entero en formato hexadecimal % o Entero en formato octal

C++ provee una nueva forma de manejar la Entrada/Salida.

Las operaciones de entrada y salida se realiza mediante los flujos (streams) o secuencia de datos.

Page 22: Sesion 02   c++

www.

evira.

net

Pág. 22

Area de descargas - www.cursos.evira.netLenguaje de Programación

Los flujos estándares son: cout (flujo salida) cim (flujo entrada)

Están definidos en el archivo iostream.h Formato salida:

<< : operador de inserción o “poner en” Dirige el contenido de la variable situado a su derecha

al objeto situado a su izquierda.

Ejemplo: Diseñar un programa que permita mostrar un mensaje.

cout <<[ mensaje<<] nombre_variable;

Flujo de salida

// Archivo demo_salida.cpp# include <iostream.h>void main(){ cout <<”Bienvenidos a la FIIS UNI”;}

Page 23: Sesion 02   c++

www.

evira.

net

Pág. 23

Area de descargas - www.cursos.evira.netLenguaje de Programación

Se puede tener una salida en formato definido por el usua-rio, para lo cual C++ asocia un conjunto de manipuladores con el flujo de salida que modifica el formato por defecto de argumentos ...................

Valores simbólicos de manipuladores son dec, oct y hex que se visualizan representaciones decimales, octales y hexa-decimales de variables.

Ejemplo:

# include <iostream.h>void main(){ int n=123; cout <<”El número ingresado es = “<<dec <<n <<oct <<n <<hex <<n”;}

Salida:El número ingresado es = 123 173 76

dec octal hex

Page 24: Sesion 02   c++

www.

evira.

net

Pág. 24

Area de descargas - www.cursos.evira.netLenguaje de Programación

Formato entrada:

cin >> nombre_variable;

Identificador que representa flujo entrada

>> : operador de extracción o de “lectura” Toma el valor del objeto flujo de su izquierda y lo situa

en la variable situada a su derecha.

Page 25: Sesion 02   c++

www.

evira.

net

Area de descargas - www.cursos.evira.netLenguaje de Programación

FIN DE PRESENTACION