32223293 Eral Ejercicios Repaso Audicion y Lenguaje Eugenia Romero
Repaso del lenguaje
-
Upload
gtorrealba -
Category
Technology
-
view
349 -
download
3
Transcript of Repaso del lenguaje
Coordinación del Área de Computación
Universidad Centroccidental “Lisandro Alvarado”Decanato de Ciencias y Tecnología
Lapso 2010-II
Programación I
Elementos Básicos de C++Elementos Básicos de 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
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 C++Elementos Básicos de C++
Elementos Básicos de C++Elementos Básicos 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
IdentificadoresEs 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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++
Elementos Básicos de C++Elementos Básicos 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.
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 de C++Elementos Básicos 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
bool Valores lógicos (True o false/Verdadero o falso/1 o 0)
char Caracteres
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 de C++Elementos Básicos 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)
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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de C++
Operadores aritméticos Los operadores aritméticos sirven para realizar
operaciones aritméticas básicas
OperadorOperador Tipos enteros Tipos enteros Tipos realesTipos reales EjemploEjemplo
+ Suma Suma x + y
- Resta Resta b – c
* Multiplicación Multiplicación y * z
/ División entera: cociente
División en coma flotante
b / 10
% División entera: resto
No permitida a % 5
Elementos Básicos de C++Elementos Básicos de 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.
Prioridad Prioridad Nivel de Nivel de precedenciaprecedencia
AsociatividadAsociatividad
+, - (unitarios)
1 izquierda - derecha
*, /, % 2 izquierda - derecha
+, - 3 izquierda - derecha
Elementos Básicos de C++Elementos Básicos de C++
SímboloSímbolo 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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).
OperadorOperador 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 de C++Elementos Básicos de 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 EjemploEjemplo
Negación(!, not)
! operandonot operando
not (x >= y)
Y lógica(&&, and)
operando1 && operando 2operando1 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de C++
TIPOS DE ESTRUCTURAS DE CONTROL
Secuencia las instrucciones se ejecutan una tras otra.
Selectiva o Condicional
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.
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 de C++Elementos Básicos 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.
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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 de C++Elementos Básicos de 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 recomendable
for (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 while
IMPORTANTE: LEGIBILIDAD DEL CÓDIGO
Elementos Básicos de C++Elementos Básicos de 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- whileComparación de while, for y do- while
Elementos Básicos de C++Elementos Básicos de C++