• No se han encontrado resultados

6.Lenguaje Programacion C++ Parte II

N/A
N/A
Protected

Academic year: 2020

Share "6.Lenguaje Programacion C++ Parte II"

Copied!
10
0
0

Texto completo

(1)

República Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda

PNFSI http://aldeafraypedrodeagreda.wordpress.com Elaborado por Prof. Elías Cisneros

[email protected] 23/12/09

Introducción a lenguaje C++ Parte II

Creative Commons Usted es libre de:

• Copiar, distribuir y comunicar públicamente la obra .

• Hacer obras derivadas .

Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra).

No comercial. No puede utilizar esta obra para fines comerciales.

(2)

Contenido

Variables en C++...1

Palabras reservadas en C++...2

Ámbito de una variable...2

Tipos de datos...3

Caracteres de Control...4

Operaciones  matemáticas  básicas ...5

Operadores de incremento y decremento...5

Operadores relacionales y de igualdad ...6

Operadores Lógicos...6

Funciones de entrada y salida ...7

Actividades de estudios independientes...8

Referencias...9

Variables en C++

Las variables son estructuras de datos que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal. A continuación un ejemplo de declaración de una variable:

int variable;

A esta sección se le denomina declaración. Se trata de la declaración de una variable de nombre “variable”. Una variable es una posición de memoria con nombre que se usa para mantener un valor que puede ser modificado por el programa. Las variables son declaradas, usadas y liberadas. Una declaración se encuentra ligada a un tipo de dato, a un nombre y a un valor. Básicamente , la declaración de una variable presenta el siguiente aspecto:

tipo nombre [=valor];

Los corchetes significan que esa parte es opcional. Por ejemplo, la declaración:

int mi_variable=5;

(3)

aunque ningún nombre debe comenzar con un número (0-9). Además no se deben de repetir nombres de variables en el mismo contexto. Además de las restricciones anteriores, existe otra, y esta tiene que ver con las palabras reservadas del lenguaje. Las palabras que se presentan en la siguiente lista, no pueden ocuparse como nombres de variables, funciones, u otras instrucciones definidas por el programador.

Palabras reservadas en C++

and and_eq asm auto bitand bitor bool break

case match char class compl const const_cast continue

default delete do Double dynamic_cast else enum explicit

export extern false float for friend goto if

inline int long mutable namespace new not not_eq

operator or or_eq private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch

template this throw true try typedef typeid typename

union unsigned using virtual void volatile wchar_t while

xor xor_eq

Ámbito o visibilidad de una variable

La visibilidad de una variable es la parte del programa en la que esa variable está definida y puede ser utilizada. La duración hace referencia al tiempo que transcurre entre la creación de una variable y el instante en que es destruida. En general la visibilidad de una variable auto abarca desde el punto en el que se define hasta que finaliza el bloque en el que está definida.

Las variables se pueden declarar en tres sitios básicos: dentro de las funciones (ya sea la función main u

otras creadas por el programador), estas variables son llamadas locales; en la definición de

parámetros de una función, como se verá más adelante; y fuera de todas las funciones, variables

globales.

Una variable global puede ser modificada en cualquier parte del programa, mientras que una variable local sólo puede ser modificada y utilizada dentro de la función en la que se ha declarado. Por supuesto, antes de utilizar una variable y hacer operaciones con ella, hay que declararla.

Respecto al ámbito de una variable, éste puede ser:

Local: Cuando la misma sólo es accesible desde un único procedimiento hijo, no pudiendo ser

(4)

accederse a ellas en el propio bloque.

Global: Cuando la misma es accesible tanto desde rutinas o macros de la aplicación, como en

todos los procedimientos y funciones de la misma.

Tipos de datos

Los tipos de datos atómicos son los tipos de datos más sencillos a partir de los cuales se pueden construir otros más complejos. La siguiente tabla ilustra estos tipos con sus intervalos de valores posibles y el número de bytes que ocupan.

Tipo Tamaño en bytes Intervalo

short 2 -32768 a 32767

unsigned short 2 0 a 65535

long 4 -2147483648 a 2147483647

Unsigned long 4 0 a 4294967295

int dependiendo del compilador

utilizado podría ser 2 o 4

-32768 a 32767

Unsigned int 2 o 4 0 a 65535

float 4 1.17549535e-38 a

3.402823466e+38 con 8 cifras decimales

double 8 2.2250738585072014e-308

a

1.7976931348623158e+308 con 16 cifras decimales

long double 10

char 1 -128 a 127

Unsigned char 1 0 a 255

bool 1 Valor lógico o booleano que

puede ser (cierto) o false (falso)

(5)

En la biblioteca <limits> se encuentran constantes definidas para los intervalos que pueden almacenar algunos tipos de variables. Edite un archivo llamado tamanoTipos.cpp, compile y ejecute el programa, después consulte la biblioteca <limits> para ver más constantes definidas.

using namespace std; #include <limits> #include <iostream> int main( ){

cout<<"PROGRAMA QUE MUESTRA LOS VALORES MAXIMOS Y MINIMOS \n DE ALGUNOS DE LOS TIPOS DE DATOS ATOMICOS"<<endl;

cout<<"\n int maximo: "<<INT_MAX<<" int minimo: "<<INT_MIN<<endl;

cout<<"\n char maximo: "<<CHAR_MAX<<" char minimo: "<<CHAR_MIN<<" tamaño en bits: "<<CHAR_BIT<<endl; cout<<"\n long maximo: "<<LONG_MAX<<" long minimo: "<<LONG_MIN<<endl;

cout<<"\n short maximo: "<<SHRT_MAX<<" short minimo: "<<SHRT_MIN<<endl; cin.get();

return 0; }

Pero no sabemos nada sobre los de tipo char (carácter). Para declarar y asignar un carácter a una variable se hace de la siguiente forma.

char nombre = '[caracter]';

Caracteres de Control

Para representar caracteres de control es necesario usar secuencias de escape.

Caracteres de control Significado

\n salto de línea

\t tabulador horizontal

\v tabulador vertical

\a alerta sonora

\0 carácter nulo

\b mueve el cursor hacia atrás

Operaciones matemáticas básicas

Operador Significado

+ adición

(6)

* multiplicación

/ división

% resto de la división

entera

Ejercicio 2

El siguiente programa ilustra el uso de los operadores matemáticos. Edite un archivo llamado operadores.cpp, compile y ejecute el programa:

using namespace std; #include <iostream> int main( ){

int a=5, b=10, c=20, r; r=a+b;

a=c%r; //aquí “a” valdrá 5(resto de 20/15) c=b-a;

a=a*2;

cout<<"a="<<a<<" b="<<b<<" c="<<c<<" r="<<r<<endl; cout<<"la suma de a y b es: "<<a+b<<endl;

return 0; }

Operadores de incremento y decremento

Existen otros operadores muy útiles. “++” y “--“. Éstos tienen la función de aumentar y disminuir en uno al dato que opera. Su comportamiento depende de si sea en prefijo (antes del operando) o sufijo (después de).

Ejercicio 3

Edite un archivo llamado operadoresIncreDecre.cpp, compile y ejecute el programa.

using namespace std; #include <iostream> int main( ){

int a,b,c;

a=17*5+2; //primero resuelve la multiplicación cout<<"a="<<a<<endl;

b=a++ -7; //a-7=80, luego se incrementa a cout<<"b="<<b<<endl;

(7)

//luego disminuye a a 87, luego evalúa b*a cout<<"c="<<c<<endl;

return 0; }

También puede utilizar los paréntesis (como propiedad asociativa) para guiar al programa hacia qué operaciones debe de hacer primero. Hasta aquí, podría considerarse que se han visto las operaciones básicas (suma, resta, multiplicación y división).

Operadores relacionales y de igualdad

Son operadores binarios que permiten comparar los valores de dos variables o expresiones.

Operador Significado

< menor que

<= menor o igual

> mayor que

>= mayor o igual

== igual

!= desigual

Estos operadores devuelven 0 si la comparación es falsa o 1 si es verdadera.

Operadores Lógicos

Operador Significado

&& conjunción lógica (Y)

|| Disyunción lógica (O)

Evaluación de expresiones con operadores lógicos

Ejemplos

1. Si ( i>0) entonces

El resultado para

• i=0 La evaluación de la expresión retorna falso o 0 (cero)

• i=-1 La evaluación de la expresión retorna falso o 0 (cero)

(8)

• i=1200 La evaluación de la expresión retorna verdad o un número distinto de 0 (cero)

2. Si ( edad>30 && peso>=100 ) entonces

• edad =50, peso = 80 La evaluación de la expresión retorna falso o 0 (cero)

• edad =20, peso = 120 La evaluación de la expresión retorna falso o 0 (cero)

• edad =35, peso = 120 La evaluación de la expresión retorna verdad o un número distinto de 0

(cero)

3. Si ( monto>3000 || descuento==30 ) entonces

• monto =1000, descuento = 10 La evaluación de la expresión retorna falso o 0 (cero)

• monto =1500, descuento = 30. La evaluación de la expresión retorna verdad o un número

distinto de 0 (cero)

• monto =5000, descuento = 30 La evaluación de la expresión retorna verdad o un número

distinto de 0 (cero)

• monto =5000, descuento = 29 La evaluación de la expresión retorna verdad o un número

distinto de 0 (cero)

Ejercicios

• Para ejemplo 1 realice la evaluación para i=-100, i=100

• Para ejemplo 2 realice la evaluación para [edad=-100, peso=100] , [edad=0, peso=100],

[edad=90, peso=90], [edad=100, peso=100]

• Para ejemplo 3 realice la evaluación para [monto=-100, descuento=100] , [monto=0,

descuento=100], [monto=9000, descuento=30], [monto=3000, descuento=30]

Funciones de entrada y salida

En los programas hechos hasta el momento, se ha utilizado la instrucción cout<< para enviar mensajes a la pantalla. La mayoría de los programas en C++ incluyen el archivo de encabezado <iostream>, el cual contiene la información básica requerida para todas las operaciones de entrada y salida (E/S) de flujo. Cuando se usa la instrucción:

cout<<”Mensaje a la pantalla”<<endl;

Se está enviando una cadena de caracteres (“Mensaje a la pantalla”) al dispositivo de salida estándar (la pantalla). Luego, el manipulador de flujo endl da el efecto de la secuencia de escape ‘\n’.

Ejercicio 4

Edite un archivo llamado flujoSalida.cpp, compile y ejecute el programa.

(9)

int main(){

cout<<"cadena de caracteres"<<endl;

cout<<2+2<<endl; //imprime un entero

cout<<9/2<<endl; //imprime un flotante

cout<<(int)(3.141592+2)<<endl; //imprime un entero return 0;

}

La instrucción cout<< puede imprimir tanto números enteros como flotantes sin necesidad de decirle

específicamente el tipo de datos del que se trata, pero al enviarle una cadena de caracteres esta debe de estar entre comillas.

La interacción con el usuario es algo muy importante en la programación, imaginemos que es necesario hacer un programa que calcule la distancia entre dos puntos, o simplemente un programa que calcule las raíces de una ecuación cuadrática. Sería poco eficiente estar cambiando los valores de las variables directamente en el código fuente para cada caso que queramos calcular. Por eso debemos ver cuanto antes la forma de leer datos desde el teclado. La principal función para leer desde el teclado

es la función cin>> , revisemos un ejemplo.

Ejercicio 5

Edite un archivo llamado flujoEntrada.cpp, compile y ejecute el programa.

using namespace std; #include <iostream> int main(){

int numero; char car; float otroNum;

cout<<"escribe un numero:"<<endl; cin>>numero;

cout<<"\nel numero que tecleaste es: "<<numero<<endl; cout<<"dame una letra"<<endl;

cin>>car;

cout<<"\ntecleaste: "<<car<<endl;

cout<<"escribe un numero flotante"<<endl; cin>>otroNum;

(10)

return 0; }

En resumen, cin es el flujo de entrada asociado al teclado, cout es el flujo de salida estándar asociado a la pantalla, y existe otro, que aunque a lo largo de este trabajo casi no lo utilicemos, es necesario nombrarlo, cerr, que es el flujo de error estándar asociado a la pantalla. Los operadores << y >> son operadores de inserción y extracción de flujo respectivamente. Estos operadores son muy eficaces porque no es necesario especificar formatos para presentación o lectura, ellos los presentan en función al tipo de datos de la variable.

Actividades de estudios independientes

Descargar el editor C++ para plataforma Windows de la siguiente dirección http://sourceforge.net/projects/devcpp/

Revisar el siguiente material disponible en la red http://ar.groups.yahoo.com/group/DesarrolloC/ http://c.conclase.net/curso/index.php

Referencias

http://es.wikipedia.org/wiki/C%2B%2B

Referencias

Documento similar

Ejemplo de variables aleatorias: Una variable aleatoria perfectamente puede ser la función de los resultados del lanzamiento de un dado.. Un par

8 “La finalidad de todas nuestras especulaciones morales consiste en enseñarnos nuestro deber; y mediante representaciones adecuadas de la deformidad del vicio y

Aunque la herramienta que presentamos es una metodología general que puede trabajar con cualquier variable de decisión y cualquier función objetivo, en el presente trabajo

Debido a la calidad y el legado de nuestra compañía, los cuales se reflejan en nuestros pianos, elegir un instrumento hecho por Steinway &amp; Sons tiende a ser una decisión

Cualquier variable usada dentro de una función está, por omisión, limitada al ámbito local de la función.. Puede que usted note que hay una pequeña diferencia con el lenguaje C, en

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Debido a que la cultura, tradición y religión japonesa está en controversia con la donación de cadáveres, el tipo de trasplante que predomina en Japón es de