Professional Documents
Culture Documents
Pedir un dato en C
scanf("modificador", &nombre de la variable);
Pedir un dato en C++
cin >> nombre de la variable;
Mostrar un dato en C
printf("Dato: modificador", nombre de la variable);
Mostrar un dato en C++
cout << "Dato: " << nombre de la variable;
Los modificadores son los siguientes: %d para int, %f para float, %s para string,
%c para char.
Libreras en C++
Se conoce como libreras a cierto tipo de archivos que podemos importar o incluir
en nuestro programa. Estos archivos contienen las especificaciones de diferentes
funcionalidades ya construidas y utilizables que podremos agregar a nuestro
programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre
muchas otras ms.
Las libreras no son nicamente archivos externos creados por otros, tambin es
posible crear nuestras propias libreras y utilizarlas en nuestros programas. Las
libreras pueden tener varias extensiones diferentes, las ms comunes son: .lib,
.bpl, .a, .dll, .h y algunas ms ya no tan comunes
o fstream:
Flujos hacia/desde ficheros. Permite la manipulacin de archivos desde el
programar, tanto leer como escribir en ellos.
CERVANTES HIDALGO MIGUEL GUSTAVO 1CV7
o iosfwd:
Contiene declaraciones adelantadas de todas las plantillas de flujos y sus
typedefs estndar. Por ejemplo ostream.
o iostream:
Parte del a STL que contiene los algoritmos estndar, es quiz la ms usada e
importante (aunque no indispensable).
o La biblioteca list:
Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas
o math:
Contiene los prototipos de las funciones y otras definiciones para el uso y
manipulacin de funciones matemticas.
o memory:
Utilidades relativas a la gestin de memoria, incluyendo asignadores y punteros
inteligentes (auto_ptr).
"auto_ptr" es una clase que conforma la librera memory y permite un fcil manejo
de punteros y su destruccin automaticamente.
o Biblioteca new:
Manejo de memoria dinmica
o numeric:
Parte de la librera numrica de la STL relativa a operaciones numricas.
o ostream:
Algoritmos estndar para los flujos de salida.
o queue:
Parte de la STL relativa a contenedores tipo queue (colas de objetos).
o Librera stdio:
Contiene los prototipos de las funciones, macros, y tipos para manipular datos de
entrada y salida.
o Librera stdlib:
Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso
general.
o string:
Sentencias de etiqueta
4.10.1a), las sentencias case ( 4.10.1b) y las default ( 4.10.1c), estas ltimas
Sentencias compuestas
Sentencias de seleccin
Ejemplos:
switch ( foo() ) {
case 0: case 1:
if (first) break;
else ++x;
case 2:
...
default:
break;
}
Sentencias de iteracin
Ejemplo:
while (first) {
...
for (int x = 1; x < y; ++x) {
...
do { // begin second
...
...
CERVANTES HIDALGO MIGUEL GUSTAVO 1CV7
} while (second); // end second
...
} // end for
...
} // end first
Ejemplo:
while (foo) {
start:
if (some) break;
...
if (first) goto start;
...
if (second) continue;
...
if (! any) return;
...
}
Sentencias de declaracin
Estas sentencias deben estar seguidas de una sentencia catch y tienen la forma:
try {
...
}
Son utilizadas por el mecanismo de excepciones C++ y han sido expuestas con
detalle en el captulo correspondiente ( 1.6)
Sentencias de preproceso
Sentencias ensamblador
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;
Usando estos calificadores podemos tener los siguientes tipos enteros:
Nmero de
Tipo de Dato Descripcin Rango
bytes tpico
signed short Entero corto 2 -32768 a 32767
unsigned Entero corto sin
2 0 a 65535
short signo
signed int Entero 4 -2147483648 a +2147483647
unsigned int Entero sin signo 4 0 a 4294967295
signed long Entero largo 4 -2147483648 a +2147483647
Entero largo sin
unsigned long 4 0 a 4294967295
signo
signed char Carcter 1 -128 a 127
unsigned
Carcter sin signo 1 0 a 255
char
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;
Tipo lgico
Los datos de este tipo slo pueden contener dos valores: true false (verdadero
falso).
Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
Tipo de Nmero de
Descripcin Rango
Dato bytes tpico
bool Dato de tipo lgico 1 0, 1
Por ejemplo, el siguiente cdigo debe mostrar a es mayor que b, a es igual que
b o a es menor que b:
<?php
if ($a > $b) {
echo "a es mayor que b";
} elseif ($a == $b) {
echo "a es igual que b";
} else {
echo "a es menor que b";
}
?>
finalizar una condicin dada, un claro ejemplo puede ser cuando el usuario quiere
continuar haciendo algo en repetidas ocasiones hasta que pulse la tecla 'n'.
while(val == 's')
{
printf("Deseas continuar? s/n: ");
scanf("%c", &val);
}
menos que ste presione la tecla 'n', el programa le preguntar infinitas veces.
pasara si la variable val tuviera otro valor, por ejemplo char val = 'z'? Simplemente
tenga un valor s; entonces con el bucle DO WHILE hacemos que el cdigo entre
do
{
printf("Deseas continuar? s/n");
scanf("%c", &val);
}
valor distinto a 's', en otro caso el cdigo se ejecutar indefinidamente hasta que el
8 + 0 + 2 + 1 = 11
y para expresar que ambas cifras describen la misma cantidad lo escribimos as:
10112 = 1110
7710 = 10011012
Conversin de binario a decimal
El proceso para convertir un nmero del sistema binario al decimal es an ms
sencillo; basta con desarrollar el nmero, teniendo en cuenta el valor de cada
CERVANTES HIDALGO MIGUEL GUSTAVO 1CV7
dgito en su posicin, que es el de una potencia de 2, cuyo exponente es 0 en el
bit situado ms a la derecha, y se incrementa en una unidad segn vamos
avanzando posiciones hacia la izquierda.
Por ejemplo, para convertir el nmero binario 10100112 a decimal, lo
desarrollamos teniendo en cuenta el valor de cada bit:
10100112 = 8310
Sistema de numeracin octal
El inconveniente de la codificacin binaria es que la representacin de algunos
nmeros resulta muy larga. Por este motivo se utilizan otros sistemas de
numeracin que resulten ms cmodos de escribir: el sistema octal y el sistema
hexadecimal. Afortunadamente, resulta muy fcil convertir un nmero binario a
octal o a hexadecimal.
En el sistema de numeracin octal, los nmeros se representan
mediante ocho dgitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dgito tiene,
naturalmente, un valor distinto dependiendo del lugar que ocupen. El valor de cada
una de las posiciones viene determinado por las potencias de base 8.
Por ejemplo, el nmero octal 2738 tiene un valor que se calcula as:
2738 = 149610
122 : 8 = 15 Resto: 2
15 : 8 = 1 Resto: 7
1:8=0 Resto: 1
Tomando los restos obtenidos en orden inverso tendremos la cifra octal:
12210 = 1728
Conversin octal a decimal
2378 = 15910
Sistema de numeracin hexadecimal
En el sistema hexadecimal los nmeros se representan con diecisis smbolos: 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F
representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente,
porque no hay dgitos mayores que 9 en el sistema decimal. El valor de cada uno
de estos smbolos depende, como es lgico, de su posicin, que se calcula
mediante potencias de base 16.
Calculemos, a modo de ejemplo, el valor del nmero hexadecimal 1A3F16:
1A3F16 = 671910
Ensayemos, utilizando la tcnica habitual de divisiones sucesivas, la conversin
de un nmero decimal a hexadecimal. Por ejemplo, para convertir a hexadecimal
del nmero 173510 ser necesario hacer las siguientes divisiones:
173510 = 6C716
6. Conversin de nmeros binarios a octales y viceversa
Observa la tabla siguiente, con los siete primeros nmeros expresados en los
sistemas decimal, binario y octal:
DECIMAL BINARIO OCTAL
0 000 0
1 001 1
1012 = 58
0012 = 18
0112 = 38
y, de ese modo: 1010010112 = 5138
La conversin de nmeros octales a binarios se hace, siguiendo el mismo mtodo,
reemplazando cada dgito octal por los tres bits equivalentes. Por ejemplo, para
convertir el nmero octal 7508 a binario, tomaremos el equivalente binario de cada
uno de sus dgitos:
78 = 1112
58 = 1012
08 = 0002
y, por tanto: 7508 = 1111010002
7. Conversin de nmeros binarios a hexadecimales y viceversa
Del mismo modo que hallamos la correspondencia entre nmeros octales y
binarios, podemos establecer una equivalencia directa entre cada dgito
hexadecimal y cuatro dgitos binarios, como se ve en la siguiente tabla:
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
10102 = A16
01112 = 716
00112 = 316
y, por tanto: 1010011100112 = A7316
En caso de que los dgitos binarios no formen grupos completos de cuatro dgitos,
se deben aadir ceros a la izquierda hasta completar el ltimo grupo. Por ejemplo:
1011102 = 001011102 = 2E16
La conversin de nmeros hexadecimales a binarios se hace del mismo modo,
reemplazando cada dgito hexadecimal por los cuatro bits equivalentes de la tabla.
CERVANTES HIDALGO MIGUEL GUSTAVO 1CV7
Para convertir a binario, por ejemplo, el nmero hexadecimal 1F616hallaremos en
la tabla las siguientes equivalencias:
116 = 00012
F16 = 11112
616 = 01102
y, por tanto: 1F616 = 0001111101102