repaso del lenguaje c++

36
Coordinación del Área de Computación Universidad Centroccidental “Lisandro Alvarado” Decanato de Ciencias y Tecnología Lapso 2011-I Programación I

Upload: gtorrealba

Post on 20-Jun-2015

1.789 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Repaso del lenguaje C++

Coordinación del Área de Computación

Universidad Centroccidental “Lisandro Alvarado”

Decanato de Ciencias y TecnologíaLapso 2011-I

Programación I

Page 2: Repaso del lenguaje C++

Elementos Básicos de Elementos Básicos de C++C++Agenda

Definición y ejemplos de Lenguaje de

Programación.

Creación y Depuración de un programa

Identificadores y Palabras reservadas

Signos de Puntuación

Tipos de datos en C++

Constantes y Variables en C++

Entradas y salidas en C++

Operadores y expresiones

Estructuras de control

Page 3: Repaso del lenguaje C++

Lenguaje de programación Un lenguaje de programación es un lenguaje

escrito, utilizado para escribir programas que se ejecutan en un computador.

Ejemplos de Leng. de Prog.

C++ fue creado por Bjarne Stroustrup en 1983. Herramientas necesarias para usar C++:

Un equipo ejecutando un sistema operativo Un editor de texto Un compilador de C++

C C++ Basic Ada Java

Pascal Python Fortran Smalltalk Ruby

Elementos Básicos de Elementos Básicos de C++C++

Page 4: Repaso del lenguaje C++

Elementos Básicos Elementos Básicos de C++de C++

Creación y depuración de un programa

Programa Fuente

Compilador(Traductor)

Programa Objeto(Código intermedio)

Enlazador

(linker)

Programa Ejecutable(en lenguaje de máquina)

Inicio

Programa fuente

Compilarprograma

ErroresDe

Sintaxis

Comprobarerrores de ejecución

Erroresen tiempo de ejecución

no

no

si

si

Page 5: Repaso del lenguaje C++

Identificadores

Es una secuencia de caracteres, letras, dígitos y subrayados (_), que permite nombrar los espacios de memoria dentro del programa (variables, constantes, subrutinas).

Reglas:No puede incluir caracteres especiales, excepto subrayado.El primer carácter debe ser una letra o subrayado. No puede empezar con un número.Puede ser de cualquier tamaño, pero C++ ignora cualquier carácter fuera de los 32 primeros.

Elementos Básicos Elementos Básicos de C++de C++

Page 6: Repaso del lenguaje C++

Recomendaciones para IdentificadoresLas variables u objetos deben nombrarse todos en minúsculasLos nombres de las constantes todos en mayúsculasLos métodos, funciones o subrutinas, la primera letra de cada palabra en mayúscula y el resto en minúsculasNo empezar los identificadores con subrayado aunque es válidoTratar de que sean nombres significativos pero no tan largos

Elementos Básicos Elementos Básicos de C++de C++

Page 7: Repaso del lenguaje C++

Identificadores

Identificadores válidos que pueden ser definidos por el programador son: sueldobase, prima_hogar, _costo, x (los dos últimos no recomendables)

Los siguientes identificadores no son válidos : 1237, _día, sueldo*, lugar de nacimiento, año.

Los siguientes identificadores no pueden ser definidos por el programador: int, char, void (son palabras reservadas del lenguaje)

Elementos Básicos de C++

Page 8: Repaso del lenguaje C++

Elementos Básicos Elementos Básicos de C++de C++

Palabras Reservadas

Son objetos o elementos predefinidos en el lenguaje que tienen un significado especial para el compilador y no se pueden utilizar para otro propósito.

Ejemplo de palabras reservadas: void, else, int, float, char, while, etc.

Signos de Puntuación

Todas las sentencias del programa deben terminar con un punto y coma (;).Otros signos de puntuación son:

¡ % & ( ) - + / * { } \ < > etc.

Page 9: Repaso del lenguaje C++

Tipos de datos

El tipo de dato determina la naturaleza del valor que

puede tomar un espacio de memoria (variable, constante o

subrutina).

Un tipo de dato define un dominio de valores y las

operaciones que se pueden realizar con éstos valores.

Elementos Básicos Elementos Básicos de C++de C++

TIPOS DE DATOS ESTÁNDAR MAS USADOSint Números enteros

long Númetos enteros más grandes que int

float Números reales

double Números reales más grandes que float

boolValores lógicos (True o false/Verdadero o falso/1 o 0)

char Caracteres

Page 10: Repaso del lenguaje C++

Constantes en C++

Una constante es un objeto cuyo valor no puede cambiar a lo largo de la ejecución de un programa.

Elementos Básicos Elementos Básicos de C++de C++

TIPOS DE CONSTANTES

Literales99.99 o 'F' o ''Nombre: ''.(Tal como se escribe en el texto del programa)

Definidas (simbólicas)

Sintaxis: #define <identificador> <valor>Ejemplos: #define DCyT ''Decanato de Ciencias y Tecnologia'' #define NOTA_MAX 100

Declaradas

Sintaxis: const <tipo> <identificador> = <valor>; Ejemplos: const int MES = 12const char SI = 'S'const NOTA_MAX = 100

(si se omite el tipo, C++ utiliza int por defecto)

Page 11: Repaso del lenguaje C++

Variables en C++En C++ una variable es un espacio de memoria en

donde se almacena un valor de un cierto tipo de dato que puede ser modificado durante la ejecución del programa.

Sintaxis: <tipo de dato> <identificador>(en ocasiones el valor inicial que tomará).

Ejemplos: char respuesta;int contador = 0;

Tipos:• Locales• Globales• Dinámicas (Punteros)

Elementos Básicos Elementos Básicos de C++de C++

Page 12: Repaso del lenguaje C++

Entradas en C++ (cin)En C++ la entrada del teclado puede ser procesada, entre muchas otras formas, con el objeto “cin”, el cual se accede gracias a una librería predefinida llamada iostream.

Ejemplo:#include <iostream>using namespace std;::::int nota;cin >> nota;

Más adelante en este curso se detallará la funcionalidad de este comando, ya que el mismo es un objeto.

Elementos Básicos Elementos Básicos de C++de C++

Page 13: Repaso del lenguaje C++

Salidas en C++ (cout)En C++ la salida del programa hacia la pantalla puede ser mostrada, entre muchas otras formas, con el comando “cout”, el cual se accede gracias a la librería iostream. Ejemplos:#include <iostream>using namespace std;::::cout << ''Voy a tener éxito en todas las metas que me trace\n'';cout<<500<<600<<300<<endl;

Visualiza en pantalla:Voy a tener éxito en todas las metas que me trace500600300

Más adelante en este curso se detallará la funcionalidad de este comando, ya que el mismo es un objeto.

Elementos Básicos Elementos Básicos de C++de C++

Page 14: Repaso del lenguaje C++

Operadores y expresiones en C++ Los programas en C++ constan de datos, sentencias

de programas (if, while, etc) y expresiones. Una expresión es una sucesión de operandos

(variables o constantes) y operadores debidamente relacionados que especifican un cálculo y/o resultado lógico, ejemplo:

   Operador Binario

5 + 10

Operandos Otro tipo de operador es el unitario que actúa

sobre un único valor. Como por ejemplo el signo menos en el valor de -10

Elementos Básicos Elementos Básicos de C++de C++

Page 15: Repaso del lenguaje C++

Operador de asignaciónEl operador = asigna el valor de la expresión

derecha a la variable ubicada a su izquierda.

El operador de asignación es asociativo por la derecha, lo que permite realizar operaciones múltiples, como sigue:

contador_aprobados = contador_aplazados = 0;

variable = expresión

En este caso las variables señaladas en la expresión, toman ambas el valor de 0

Elementos Básicos Elementos Básicos de C++de C++

Page 16: Repaso del lenguaje C++

Operadores aritméticos Los operadores aritméticos sirven para realizar

operaciones aritméticas básicas

OperadOperadoror

Tipos Tipos enteros enteros

Tipos realesTipos reales EjemploEjemplo

+ Suma Suma x + y- Resta Resta b – c * Multiplicaci

ónMultiplicació

ny * z

/ División entera: cociente

División en coma

flotante

b / 10

% División entera: resto

No permitida

a % 5

Elementos Básicos Elementos Básicos de C++de C++

Page 17: Repaso del lenguaje C++

Prioridad de los operadores aritméticos

Al evaluar una expresión construida en C++, hay que considerar la prioridad de los operadores.

Es importante resaltar que los paréntesis se pueden usar para cambiar el orden usual de evaluación de una expresión. PrioridaPriorida

d d Nivel de Nivel de

precedenciaprecedenciaAsociatividadAsociatividad

+, - (unitario

s)

1 izquierda - derecha

*, /, % 2 izquierda - derecha

+, - 3 izquierda - derecha

Elementos Básicos Elementos Básicos de C++de C++

Page 18: Repaso del lenguaje C++

SímbolSímboloo

UsoUso DescripciónDescripción Sentencia no Sentencia no abreviadaabreviada

= a = b Asigna el valor de b a a a = b*= a *= b Multiplica a por b y

asigna el resultado a la variable a

a = a * b

/= a /= b Divide a entre b y asigna el resultado a la variable a

a = a / b

%= a %= b

Fija en a el resto de a/b a = a % b

+= a += b

Suma b y a y asigna el resultado a la variable a

a = a + b

-= a -= b Resta b de a y asigna el resultado a la variable a

a = a - b

Operadores y equivalencias de asignación

Elementos Básicos Elementos Básicos de C++de C++

Page 19: Repaso del lenguaje C++

Oper. de incrementación y decrementación

El lenguaje C++ incorpora los operadores de incremento ++ y decremento --.

Estos operadores unitarios suman o restan 1 (uno), respectivamente a la variable.

Tienen la propiedad de que pueden utilizarse como sufijo o prefijo. El resultado de la expresión puede ser distinto dependiendo del contexto.IncrementaciónIncrementación DecrementaciónDecrementación

++n --n

n += 1 n -= 1

n = n +1 n = n -1

Elementos Básicos Elementos Básicos de C++de C++

Page 20: Repaso del lenguaje C++

Ejemplo del operador de incrementación

int a = 1, b;

b = a++ // b vale 1 y a vale 2

int a = 1, b;

b = ++a; ¿Cuál es el valor de a y de b?

Ejemplo del operador de decrementación

int a = 1, b; b = a-- // b vale 1 y a vale 0

int a = 1, b;

b = --a; ¿Cuál es el valor de a y de b?

Elementos Básicos Elementos Básicos de C++de C++

Page 21: Repaso del lenguaje C++

Operadores relacionales Son aquellos operadores que comprueban una relación entre

dos operandos y se usan normalmente en sentencias de selección (if) y de iteración (while, do-while y for).

Cuando se utilizan los operadores en una expresión, el operador relacional produce verdadero o falso (1 ó 0).

Ejemplo: a = 7 > 3, la variable a toma el valor verdadero (1).

OperadoOperadorr

SignificadoSignificado UsoUso EjemploEjemplo

== Igual a a == b 'A' == ' C' falso!= No igual a a != b 2 != 4 verdadero> Mayor que a > b 7 > 9 falso< Menor que a < b 'a' < 'd'

verdadero>= Mayor o igual que a >= b 'A' >= 'a' falso<= Menor o igual que a <= b 4 <= 1 falso

Elementos Básicos Elementos Básicos de C++de C++

Page 22: Repaso del lenguaje C++

Operadores lógicos Estos operadores se utilizan con expresiones

para devolver un valor verdadero (cualquier valor distinto de 0) o un valor falso (0).

OperadorOperador Operación lógicaOperación lógica EjemploEjemploNegación(!, not)

! operandonot operando

not (x >= y)

Y lógica(&&, and)

operando1 && operando 2

operando1 and operando 2

m < n and i > j

O lógica(||, or)

operando1 || operando 2operando1 or operando

2

a = 10 or n != 5

El operador ! tiene prioridad mas alta que &&, que a su vez tiene mayor prioridad que el ||.

Asociatividad de izquierda a derecha

Elementos Básicos Elementos Básicos de C++de C++

Page 23: Repaso del lenguaje C++

Prioridad de los operadores Los operadores matemáticos tienen precedencia sobre los operadores relacionales, y los operadores relacionales tienen precedencia sobre los operadores lógicos. Ejemplo:

if (ventas < sal_min * 3 && annos > 10 * iva)

equivale a

if ((ventas < (sal_min * 3)) && (annos > (10 * iva)))

Elementos Básicos Elementos Básicos de C++de C++

Page 24: Repaso del lenguaje C++

Estructuras de ControlLas estructuras de control permiten al programador especificar que la próxima instrucción a ejecutarse no necesariamente está en la línea que sigue, es decir, cambiar el orden de ejecución o transferir el control a otra sentencia, que no precisamente es la siguiente.

Elementos Básicos Elementos Básicos de C++de C++

TIPOS DE ESTRUCTURAS DE CONTROLSecuencia las instrucciones se ejecutan una tras otra.

Selectiva o Condiciona

l

se utiliza para que el programa elija entre cursos de acción alternativos.

IterativaRepetitiva

permite repetir conjuntos de instrucciones. Las instrucciones se ejecutan un número determinado o indeterminado a priori de veces. Una condición de control establece las veces que se ejecuta una instrucción repetitiva.

Page 25: Repaso del lenguaje C++

Condicional ifCondicional ifLa sentencia if permite elegir entre dos alternativas en base al valor de una expresión booleana.

if (<expres_bool>) <sentencia>

if (<expres_bool>) <sentencia>else <sentencia>

if (<expres_bool>){ <sentencia 1> ::::: <sentencia n>}

if (<expres_bool>){ <sentencia 1> ::::: <sentencia n>}Else { <sentencia 1> ::::: <sentencia n>}

Elementos Básicos Elementos Básicos de C++de C++

Note que en el caso en el que sólo siga una sentencia al if no es necesario incluir las llaves, pero sí lo es cuando lo siguen más de una sentencia.

Page 26: Repaso del lenguaje C++

if (nota == 10) mensaje = "Matricula de Honor";else if (nota >= 9) mensaje = "Sobresaliente"; else if (nota >= 7) mensaje = "Notable"; else if (nota >= 5) mensaje = "Aprobado"; else mensaje = "Suspenso";

if (nota == 10) mensaje = "Matricula de Honor";else if (nota >= 9) mensaje = "Sobresaliente";else if (nota >= 7) mensaje = "Notable";else if (nota >= 5) mensaje = "Aprobado";else mensaje = "Suspenso";

Anidamiento de estructuras selectivas if

IMPORTANTE:

LEGIBILIDAD

DEL CÓDIGO

Elementos Básicos Elementos Básicos de C++de C++

Page 27: Repaso del lenguaje C++

Condicional switch

Se recomienda cuando el programa requiere varias elecciones después de chequear una expresión: selección múltiple o multialternativa.

La sintaxis es la siguiente:

switch ( <expresion> ) { case <const1> : <sentencia1>; <break>; case <const2> : <sentencia2>; <break>; . . . case <constN> : <sentenciaN>; <break>; [default : <sentenciaD>; ]}

Elementos Básicos Elementos Básicos de C++de C++

Page 28: Repaso del lenguaje C++

Ejemplo de condicional switchEl siguiente extracto de programa guarda un mensaje indicando si lo que contiene la variable caracter es una vocal, un número u otro carácter:

char caracter;::: // de alguna manera caracter toma un valorswitch (caracter) { case ‘0’: case ‘1’: case ‘2’: case ‘3’: case ‘4’: case ‘5’: case ‘6’: case ‘7’: case ‘8’: case ‘9’: mensaje = "Dígito"; break; case ‘a’: case ‘e’: case ‘i’: case ‘o’: case ‘u’: case ‘A’: case ‘E’: case ‘I’: case ‘O’: case ‘U’: mensaje = "Vocal"; break; default: mensaje = "Otro carácter";}

Resolver este ejemplo usando la sentencia “if” sería más difícil o poco legible.

Elementos Básicos Elementos Básicos de C++de C++

Page 29: Repaso del lenguaje C++

Estructuras repetitivas La estructura repetitiva permite que una

sentencia o varias sentencias se ejecuten un número determinado de veces. También conocidas como bucles, ciclos o lazos.

La sentencia o grupo de sentencias que se repiten se llaman cuerpo del bucle

Cada repetición del cuerpo del bucle se llama iteración del bucle.

Importante determinar: cual es el cuerpo del bucle y cuantas veces se iterará el cuerpo del bucle

Elementos Básicos Elementos Básicos de C++de C++

Page 30: Repaso del lenguaje C++

Sentencia whileUn bucle while tiene una condición de control

(expresión lógica) que indica la cantidad de repetición. La ejecución de la(s) sentencia(s) se repite mientras la condición del bucle permanece verdadera y termina cuando sea falsa.

Cuerpo

Del

Bucle

while (condición)

{ Sentencia 1; Sentencia 2;

. . .

Sentencia N;}

while (condición)

Sentencia;Primero se pregunta y luego de Ejecuta

while Es un bucle Pretest

Es una expresión lógica o booleana

Se ejecuta cero o más veces.

Sintaxis:

Elementos Básicos Elementos Básicos de C++de C++

Page 31: Repaso del lenguaje C++

Ejemplo de sentencia while

El siguiente extracto de programa calcula y muestra la nota promedio de un estudiante.

Si la condición es true (1) inicialmente, la sentencia while se ejecutará y no terminará (bucle infinito) a menos que en el cuerpo de la misma se modifique de alguna forma la condición de control del bucle.

char resp;int suma, nota, n = 0; cout << “Hay datos: ”; cin >> resp;while (resp == ‘s’){ cout << “Nota : ”; cin >> nota; suma += nota; n++; cout << “Hay mas datos: ”; cin >> resp;}cout << “El promedio de notas es:” << suma/n << endl;

Elementos Básicos Elementos Básicos de C++de C++

Page 32: Repaso del lenguaje C++

Sentencia do-whileLa sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos una vez. Si la condición es verdadera, entonces se repite la ejecución de la(s) sentencia(s), este proceso continúa hasta que la condición sea falsa.Sintaxis:

do{

Sentencia;

}while (condición);

Cuerpo

Del

Bucle

Primero se ejecuta y luego se pregunta

do-while Es un bucle

Post Test

do{

Sentencia 1; Sentencia 2;

. .

Sentencia N;}while (condición);

Se ejecuta una o más veces.

Elementos Básicos Elementos Básicos de C++de C++

Page 33: Repaso del lenguaje C++

Ejemplos de sentencia do-whileEjemplos de sentencia do-whileint pot=50; do { pot = pot * 2; cout << “La potencia obtenida es:” <<pot<< endl; } while (pot < 500);char resp;int suma, nota, n = 0; do { cout << “Nota : ”; cin >> nota; suma += nota; n++; cout << “Hay mas datos: ”; cin >> resp;} while (resp == ‘s’);cout << “El promedio de notas es:” << suma/n << endl;

Siempre se ejecuta al menos una vez, luego se evalúa la condición y si es true (1), la(s) sentencia(s) se repetirá(n) y no terminará (bucle infinito) a menos que en el cuerpo del mismo se modifique de alguna forma la condición de control del bucle.

Elementos Básicos Elementos Básicos de C++de C++

Page 34: Repaso del lenguaje C++

Sentencia forSi se conoce exactamente la cantidad de veces que se necesita repetir un conjunto de instrucciones, entonces se debe usar un bucle for. La sentencia for es un método para ejecutar un bloque de sentencias un número fijo de veces, ya que en el encabezado permite especificar todo.Sintaxis:

for (inicializacion; condicion iteración; incremento ) { conjunto de sentencias }

Inicializa la variable de control del

bucle

Incrementa o Decrementa la

variable de control del

bucle

Expresión lógica que determina si las

sentencias se han de ejecutar, mientras sea

verdadera

Elementos Básicos Elementos Básicos de C++de C++

Page 35: Repaso del lenguaje C++

Ejemplos de Sentencias forEjemplos de Sentencias for

for ( int count = 1; count <= 5; count ++)

cout<< “Valor obtenido es: ” << 2 * count << endl;

int i = 0;while (i < 10) { cout << i << endl; ++i;}

Un bucle for se puede reescribir como bucle while pero no es lo recomendablefor (int i=0; i<10; i++)

cout << i;

Sólo dos líneas de código usando la

sentencia for

vs

Seis líneas de código usando la sentencia

whileIMPORTANTE:

LEGIBILIDAD

DEL CÓDIGO

Elementos Básicos Elementos Básicos de C++de C++

Page 36: Repaso del lenguaje C++

while for do-while La condición se chequea antes de entrar al bucle, si la evaluación resulta verdadera se ejecutan las sentencias. El bucle finaliza cuando la condición es falsaSe ejecuta cero o más veces, por ser de tipo pre-test

Se recomienda cuando el número de repeticiones se conoce por anticipado. Es controlado por un contador. En una misma línea contiene varias instrucciones.

Es adecuada cuando se debe asegurar que al menos se ejecute el bucle una vez. La condición del bucle se chequea después de que se ha(n) ejecutado la(s) sentencia(s). Las sentencias se repiten mientras la condición sea verdadera.

Comparación de while, for y do- Comparación de while, for y do- whilewhile

Elementos Básicos Elementos Básicos de C++de C++