Академический Документы
Профессиональный Документы
Культура Документы
Tarea 2
Estructuras de Control, Tipos de Datos y Estructura Bsica
De un Programa en C++
INDICE
ndice..
Introduccin..
Estructuras de Control.....
2
3
4
20
Bibliografa..
21
Introduccin
La presente tarea, contiene algunos conceptos de uso frecuente en
el mbito de la Programacin. Dichos conceptos nos ayudarn a
comprender de mejor manera este curso; ya que es necesario tengamos
la nocin y que desde ya nos familiaricemos con ellos, para que nos
resulte muy fcil el adquirir el conocimiento que se nos impartir en el
curso de Programacin.
El Alumno.
Estructura secuencial.
Estructura alternativa o condicional.
Estructura iterativa o repetitiva.
Estructura Secuencial
La estructura secuencial est formada por una secuencia de instrucciones que
se ejecutan en orden una a continuacin de la otra.
Cada una de las instrucciones estn separadas por el carcter punto y coma
(;). No obstante, en algunos casos nos interesar agrupar en un bloque una
serie de instrucciones, como veremos al explicar las estructuras de seleccin y
de iteracin. El bloque de sentencias se define por el carcter llave de apertura
({) para marcar el inicio del mismo, y el carcter llave de cierre (}) para
marcar el final.
Ejemplo:
{
instruccin 1;
instruccin 2;
instruccin 3;
.....
instruccin N;
}
Sin embargo, en caso de que el bloque de sentencias este constituido por una
nica sentencia no es obligatorio el uso de las llaves de apertura y cierre ({ }).
#include <iostream>
using namespace std;
int main(void)
{
int hora;
cout << "\nIntroduzca una hora (entre 0 y 24): ";
cin >> hora;
if ((hora >= 0) and (hora < 12))
cout << "\nBuenos dias\n";
else if ((hora >= 12) and (hora < 18))
cout << "\nBuenas tardes\n";
else if ((hora >= 18) and (hora < 24))
cout << "\nBuenas noches\n";
else
cout << "\nHora no vlida\n";
system("pause");
}
Otro ejemplo de estructura condicional mltiple en C++. Programa que lee la
calificacin numrica obtenida por un alumno en un examen y muestra la nota
equivalente en texto.
#include <iostream>
using namespace std;
int main(void)
{
unsigned int nota;
cout << "Introduzca una calificacion numerica entre 0 y 10:";
cin >> nota;
cout << "La calificacion del alumno es" << endl;
if (nota == 10)
{
cout << "Matricula de Honor" << endl;
}
else if (nota >= 9)
{
cout << "Sobresaliente" << endl;
}
else if (nota >= 7)
{
Instruccin switch
La sentencia switch selecciona una de entre mltiples alternativas.
La forma general de esta expresin es la siguiente:
switch (expresin)
{
case constante1:
instrucciones;
break;
case constante 2:
instrucciones;
break;
default:
instrucciones;
}
En una instruccin switch, expresin debe ser una expresin con un valor
entero, y constante1, constante2, ..., deben ser constantes enteras, constantes
de tipo carcter o una expresin constante de valor entero. Expresin tambin
puede ser de tipo char, ya que los caracteres individuales tienen valores
enteros
Dentro de un case puede aparecer una sola instruccin o un bloque de
instrucciones.
La instruccin switch evala la expresin entre parntesis y compara su valor
con las constantes de cada case. Se ejecutarn las instrucciones de aquel case
cuya constante coincida con el valor de la expresin, y contina hasta el final
del bloque o hasta una instruccin que transfiera el control fuera del bloque del
switch (una instruccin break, o return). Si no existe una constante igual al
#include <iostream>
using namespace std;
int main(void)
{
int A,B, Resultado;
char operador;
cout << "Introduzca un numero:";
cin >> A;
cout << "Introduzca otro numero:";
cin >> B;
cout <<"Introduzca un operador (+,-,*,/):";
cin >> operador;
Resultado = 0;
switch (operador)
{
case '-' : Resultado = A - B;
break;
case '+' : Resultado = A + B;
break;
case '*' : Resultado = A * B;
break;
case '/' : Resultado = A / B; //suponemos B!=0
break;
default : cout << "Operador no valido"<< endl;
}
cout << "El resultado es: ";
cout << Resultado << endl;
system("pause");
}
Otro ejemplo de uso de switch en C++. Programa que determina si un carcter
ledo es o no una vocal. En ese caso como la sentencia a ejecutar por todas las
etiquetas case es la misma, esta sentencia se pone una nica vez al final:
#include <iostream>
using namespace std;
int main(void)
{
char car;
cout << "Introduzca un caracter: ";
cin >> car;
switch (car)
{
case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U': cout << car << " es una vocal" << endl;
break;
default : cout << car << " no es una vocal" << endl;
}
system("pause");
}
Estructuras Repetitivas.
C++ dispone de tres estructuras repetitivas:
while,
do-while
for.
Instruccin while.
while (condicion)
{
instruccin 1;
..............
instruccin N;
}
Ejecuta una instruccin o un bloque de instrucciones cero o ms veces,
dependiendo del valor de la condicin.
Instruccin for.
Un bucle for hace que una instruccin o bloque de instrucciones se repitan un
nmero determinado de veces mientras se cumpla la condicin.
for(inicializacin; condicion; incremento/decremento)
{
instruccin 1;
...........
instruccin N;
}
A continuacin de la palabra for y entre parntesis debe haber siempre tres
zonas separadas por punto y coma:
zona de inicializacin
zona de condicin
zona de incremento decremento.
En alguna ocasin puede no ser necesario escribir alguna de ellas. En ese caso
se pueden dejar en blanco, pero los punto y coma deben aparecer.
El funcionamiento de un bucle for el siguiente:
Se evala la condicin.
Si la condicin es cierta se ejecutan las instrucciones. Si es falsa, finaliza
la ejecucin del bucle y contina el programa en la siguiente instruccin
despus del for
Se actualiza la variable o variables de control (incremento/decremento)
Se pasa al punto 2).
Esta instruccin es especialmente indicada para bucles donde se conozca
el nmero de repeticiones que se van a hacer.
Como regla prctica podramos decir que las instrucciones while y do-while se
utilizan generalmente cuando no se conoce a priori el nmero de pasadas, y la
instruccin for se utiliza generalmente cuando s se conoce el nmero de
pasadas.
Ejemplo de instruccin for en C++. Programa que muestra los nmeros del 1
al 10.
/* muestra los nmeros de 1 a 10 */
#include <iostream>
using namespace std;
int main(void)
{
int n;
for (n = 1; n <= 10; n++)
{
cout << n << endl;
}
system("pause");
}
Ejemplo de instruccin for en C++. Programa que muestra los nmeros del 10
al 1:
/* muestra los nmeros de 10 a 1 */
#include <iostream>
using namespace std;
int main(void)
{
int n;
for (n = 10; n >=1; n--)
{
cout << n << endl;
}
system("pause");
}
Se ha de tener cuidado y al escribir el punto y coma (;) despus del parntesis
final del bucle for.
encontrado = true;
}
else
{
numero++;
}
}
cout << "El primero numero perfecto mayor que 100 = " << numero <<
endl;
system("pause");
}
primitivos y
en
temas
siguientes
Entero corto
int
Entero
long
Entero largo
char
Carcter
-32768 a 32767
-2147483648
a +2147483647
-2147483648
a +2147483647
-128 a 127
Con los tipos enteros pueden utilizarse los calificadores signed y unsigned.
Estos calificadores indican si el nmero tiene signo o no. Si se usan solos, sin
indicar el tipo de dato se asume int.
Por ejemplo, las siguientes declaraciones son equivalentes:
unsigned int x;
equivale a:
unsigned x;
Entero corto
-32768 a 32767
unsigned
short
0 a 65535
signed int
Entero
-2147483648 a +2147483647
unsigned int
0 a 4294967295
signed long
Entero largo
-2147483648 a +2147483647
unsigned
long
0 a 4294967295
signed char
Carcter
-128 a 127
unsigned
char
0 a 255
Podemos ver que los datos enteros de tipo signed son equivalentes a los
enteros sin utilizar el calificador:
signed int a;
es equivalente a escribir
int a;
Tipos de datos numricos reales
El tipo de dato numrico real es un subconjunto finito de los nmeros reales.
Pueden ser positivos o negativos.
En C++ los tipos de datos numricos reales son los siguientes:
Tipo de
Nmero de
Descripcin
Rango
Dato
bytes tpico
Real (Nmero en
Positivos: 3.4E-38 a 3.4E38
float
4
coma flotante)
Negativos: -3.4E-38 a -3.4E38
Real doble(Nmero
Positivos: 1.7E-308 a 1.7E308
double en coma flotante de
8
Negativos: -1.7E-308 a -1.7E308
doble precisin)
long
Real doble largo
10
Positivos: 3.4E-4932 a 1.1E4932
double
Negativos: -3.4E-4932 a
-1.1E4932
Tipo lgico
Los datos de este tipo slo pueden contener dos valores: true false
(verdadero falso).
0, 1
Carcter Unicode
0 a 65535
...
}
Las sentencias escritas entre las llaves se denominan BLOQUE
#include <iostream.h>
int main()
{
entrada_datos();
proceso_datos();
return 0;
...
}
Llamadas a otras funciones.
*Tipos de datos bsicos en C++
Conclusin
Los conceptos que hemos investigado, nos dan una idea ms clara
sobre lo que tratar el curso de Programacin, si bien es cierto, en el
curso de Algoritmos vimos y practicamos estos conceptos. La presente
nos permite reforzar lo que por descuido o por falta de concentracin
hemos ido olvidando.
El Alumno
BIBLIOGRAFIA
http://gy94bfmv.blogspot.com/2012/10/estructura-basica-de-unprograma-en-c.html
http://ejercicioscpp.blogspot.com/2012/09/tipos-de-datos-en-c.html
http://ejercicioscpp.blogspot.com/2012/11/estructuras-de-control-enc.html