Este documento proporciona una introducción a la programación estructurada en lenguaje C++. Explica las características básicas de C++ como lenguaje de programación orientado a objetos e híbrido, y describe conceptos clave como variables, tipos de datos, operadores, sentencias de control como if y switch, y funciones. También cubre temas como librerías, cadenas de formato y estructuras de control repetitivas y condicionales.
2. INDICE
Contenido
INTRODUCCIÓN A LA PROGRAMACIÓN ...................................................................4
LENGUAJE DE PROGRAMACIÓN C++ .........................................................................5
CARACTERÍSTICAS .........................................................................................................8
VENTAJAS ...................................................................................................................... 10
DESVENTAJAS ............................................................................................................... 10
VARIABLES..................................................................................................................... 10
Nombres de las variables ................................................................................................ 11
Declaración de variables .................................................................................................. 12
Inicialización de variables................................................................................................ 12
Tipos de Datos................................................................................................................ 13
Operadores aritméticos ................................................................................................... 14
Operadores lógicos.......................................................................................................... 14
LIBRERÍAS....................................................................................................................... 14
La función printf y las variables ........................................................................................... 15
La función gotoxy ............................................................................................................... 16
SENTENCIAS....................................................................................................................... 16
TIPOS:................................................................................................................................ 16
Sentencias de selección ...................................................................................................... 16
IF: .................................................................................................................................. 16
SWITCH.......................................................................................................................... 18
REPETITIVAS:...................................................................................................................... 19
FOR................................................................................................................................ 19
CONDICIONANTES: ............................................................................................................. 19
2
3. WHILE ............................................................................................................................ 19
DO WHILE ...................................................................................................................... 20
RETURN ......................................................................................................................... 21
BREAK............................................................................................................................ 21
EXIT ............................................................................................................................... 21
CADENAS DE FORMATO...................................................................................................... 22
SECUENCIA DE ESCAPE ....................................................................................................... 22
FUNCIONES ................................................................................................................... 23
FUNCIONES CON VOID COMO ARGUMENTO. .................................................... 23
Bibliografía:........................................................................................................................ 25
3
4. INTRODUCCIÓN A LA PROGRAMACIÓN
Sobre los últimos 50 años, los idiomas que programan han evolucionado del
código binario de máquina a herramientas poderosas que crean las
abstracciones complejas. Es importante entender por qué los idiomas han
evolucionado, y qué capacidades que los idiomas más nuevos nos dan.
Un lenguaje de programación es una técnica estándar de comunicación que
permite expresar las instrucciones que han de ser ejecutadas en una
computadora
Estas instrucciones permiten la construcción de programas con los cuales
podemos realizar operación de entrada y salida, almacenamiento, cálculos y
lógica de comparación.
Un lenguaje de programación permite a un programador especificar de manera
precisa: sobre qué datos una computadora debe operar, cómo deben ser estos
almacenados y transmitidos y qué acciones debe tomar bajo una variada gama
de circunstancias. Todo esto, a través de un lenguaje que intenta estar
relativamente próximo al lenguaje humano o natural, tal como sucede con e l
lenguaje Léxico
En sus inicios, la programación de computadoras se basó exclusivamente en el
modelo imperativo (también denominado procedimental), que semeja más la
forma en que la máquina maneja las instrucciones u órdenes.
Conforme la programación de computadoras fue utilizándose para resolver
nuevos tipos de problemas, se requirió la creación de nuevos modelos o
paradigmas para el desarrollo de las aplicaciones.
La programación orientada a objetos es una forma de concebir un programa de
computadora. Se puede pensar en un programa como una lista de instrucciones
que le indica a la computadora qué hacer, o un paquete de pequeños programas
que responden a eventos específicos indicados por la entrada del usuario.
La programación orientada a objetos ve a un programa como un conjunto de
objetos que cooperan entre sí para resolver un problema.
4
5. LENGUAJE DE PROGRAMACIÓN C++
C++ es un lenguaje de programación orientado a objetos. Se
suele decir que es un lenguaje híbrido, ya que permite la
programación estructurada.
Es un lenguaje de nivel intermedio, pudiéndose utilizar tanto
para escribir software de bajo nivel, como drivers y
componentes de sistemas operativos, como para el desarrollo
rápido de aplicaciones, según el marco de trabajo con el que se
disponga, como VCL de Borland C++ Builder.
Los compiladores de C++ generan código nativo con un alto
grado de optimización en memoria y velocidad, lo que lo
convierte en uno de los lenguajes más eficientes.
5
6. Una de las características más
interesantes del lenguaje es la
sobrecarga de operadores. Es decir que a
los operadores intrínsecos del lenguaje
se les puede redefinir la semántica: se
pueden escribir funciones que en vez de
tener un nombre, se asocian a un
operador, que debe tener por lo menos
un parámetro de tipo clase.
La libre utilización de
punteros por parte de los
programadores, aporta
eficiencia, pero es una fuente
de errores de lógica. Por este
motivo, lenguajes derivados
de C++, como C# y Java,
quitaron este recurso y solo
permiten referencias a objetos
Un programa C puede
estar formado por
diferentes módulos o
fuentes. Es conveniente
mantener las fuentes de
un tamaño no muy
grande, para que la
compilación sea rápida.
6
8. CARACTERÍSTICAS
Las principales características del Lenguaje C son:
Tiene un conjunto
completo de
instrucciones de
control.
Permite la agrupación
de instrucciones
Los argumentos de las
funciones se
transfieren por su
valor.
Incluye el concepto de
puntero (variable que
contiene la dirección
de otra variable).
E/S no forma parte del
lenguaje, sino que se
proporciona a través
de una biblioteca de
funciones
Permite la separación de un programa en módulos que admiten compilación
independiente.
Originalmente el Lenguaje C estuvo muy ligado al sistema operativo UNIX
como se había mencionado antes que, en su mayor parte, está escrito en C. Más
adelante se comenzó a utilizar en otros sistemas operativos para programar
editores, compiladores, etc. Aunque se le conoce como un lenguaje de
programación de sistemas, no se adapta mal al resto de aplicaciones. De hecho,
Hoy en día un alto porcentaje de software para ordenadores personales está
escrito en Lenguaje C. Por ejemplo, el sistema operativo MS-DOS.
8
9. Algunas de las características más importantes que definen el lenguaje y que
han permitido que sea tan popular, como lenguaje de programación son:
Uso
extensivo de
llamadas a
funciones.
Tamaño
pequeño.
Comandos
breves
(poco
tecleo).
Lenguaje
estructur
ado.
Implementación
de apuntadores uso extensivo
de apuntadores
para la memoria,
arreglos,
estructuras y
funciones
Programa
ción de
bajo nivel
(nivel bit)
Las diversas razones por la cual se ha convertido en un lenguaje de uso
profesional son:
El uso de constructores de alto nivel.
El poder manejar actividades de bajo-nivel.
El generar programas eficientes.
La posibilidad de poder ser compilado en una variedad de
computadoras, con pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de errores, lo cual
en ocasiones es problemático para los principiantes
9
10. VENTAJAS
Es un lenguaje muy
flexible
Muy apropiado para
controlar rutinas hechas
en ensamblador
Muy veloz y potente, lo
que permite un
software efectivo
Produce programas de
código compacto y
eficiente
Permite general
programas de fácil
modificación
Posibilita una programación
estructurada o modular
Es un lenguaje
compilado
El código fuente se escribe
mayoritariamente en
minúscula
DESVENTAJAS
Elaborar un sistema en C++ es como
construir un rascacielos: tiene buen soporte
y es robusto, pero si existen errores en los
pisos inferiores toda la parte superior se
viene abajo terriblemente.
Poco
legible
y
eminentemente críptico
No es recomendable para
desarrollo de páginas Web.
No dispone de editor propio
VARIABLES
10
11. Nombres de las variables
En C, al igual que en otros lenguajes de programación,
es importante poder manejar datos. Los datos se
almacenan en variables
.
Una variable es un identificador o nombre dado por el
usuario que contiene un valor numérico, de tipo texto,
etc.
El contenido de las variables se puede cambiar
en cualquier momento a lo largo de la ejecución
del programa
A las variables no se les puede dar cualquier nombre, deben seguir estas reglas:
No se puede poner
más que letras de la
'a' a la 'z' (la ñ no
vale), números y el
símbolo '_'. Los
acentos no valen.
El nombre de una
variable puede
contener
números, pero su
primer carácter
no puede serlo.
Nombres
de las
variables
No se pueden
poner signos
de admiración,
ni de
interrogación...
11
12. Ejemplos de nombres de variables válidos:
Camiones, x, numero, x2, valor_residual
Ejemplos de nombres de variables no válidos:
1abc, ?valor, número
Declaración de variables
Las variables que se
declaran dentro de una
función se les llaman
variables locales, y
sólo pueden ser
usadas dentro de esa
función.
Las variables se
suelen declarar al
principio de la función.
Para poder usar una
variable tiene que
haber sido declarada
previamente.
Para declarar una
variable hay que poner
el tipo de datos
seguido del nombre
que queramos
Ejemplos:
Char una letra;
Int x;
Float numero_pi;
Se pueden crear todas las variables que se quiera
pero todas deben tener nombres distintos.
Inicialización de variables
Para guardar un dato dentro de una variable hay que usar el símbolo =.
Ejemplos:
12
13. Una letra = 'p';
x = 34;
numero_pi = 3.1415;
OJO: Las variables de tipo CHAR sólo pueden almacenar una
letra y debe estar entre comillas simples ' '.
Tipos de Datos
Para declara una variable es necesario indicar qué tipo de dato va a contener.
Los tipos de datos que permite el lenguaje C son, entre otros.
Tipos datos: char, int, float, long, long long, short, double, void.
FLOAT : Almacena un
valor numérico real,
con decimales. Rango
[3.4e-38 , 3.4e38]
INT : Almacena
un valor numérico
entero (integer).
Rango [-32768,
32768]
CHAR : Almacena un
carácter ASCII como
A, B, C, ... a, b, c, ...
1, 2, ...;( )
PALABRAS RESERVADAS EN LENGUAJE C++
Tienen un significado especial para el compilador y representan una instrucción
propia de su lenguaje, no se pueden utilizar para identificar variables y se escriben
siempre en minúsculas.
13
14. Operadores aritméticos
Los operadores que se pueden utilizar con variables int y float son:
+
*
/
%
++
--
Suma
Resta
Multiplicación
División
Módulo (Resto de la división)
Incrementa en 1
Decremento en 1
Operadores lógicos
Se pueden hacer comparaciones utilizando los siguientes operadores:
>
Mayor que
>= Mayor o igual que
<
Menor que
<=
Menor o igual que
==
Igual que
!=
No igual que
&&
Función lógica Y
||
Función lógica O
!
Función lógica NO
LIBRERÍAS
La cadena de control tiene los caracteres que se deben mostrar en la pantalla y
los caracteres de formato que indican cómo mostrar la lista de argumentos.
Assert.h Contiene una macro para el diagnóstico dentro de los programas.
Ctype.h Contiene varias funciones para comprobación de tipos y
transformación de caracteres.
Errno.h Contiene varias macros usadas para informar de errores.
Limits.h Contienen varias macros que definen constantes para el tamaño de
tipo enteros.
14
15.
Float.h Contienen varias macros que definen constantes para el tamaño de tipo
flotante.
Locale.h Contienen varias macros, funciones y tipos para unidades locales,
como unidad monetaria, tiempo, dígitos, etc.
Math.h Contiene una macro y varias funciones matemáticas.
Setjmp.h Contienen declaraciones que proporcionan una forma de evitar la
secuencia normal de llamada y regreso de funciones.
Signal.h Contiene un tipo, dos funciones y varias macros para manejar
condiciones excepcionales que aparecen durante la ejecución, tal como una señal
de interrupción de una fuente externa o un error en la ejecución.
Stdarg.h Contiene un tipo y tres macros que proporcionan recursos para
recorrer una lista de argumentos de función de tamaño y tipo desconocido.
Stddef.h Contiene varios tipos y macros que también están definidas en otras
librerías, como size_t.
Stdio.h Contiene tipos, macros y funciones para la realización de tareas de E/S.
Stdlib.h Contiene tipos, macros y funciones para la conversión numérica,
generación de números aleatorios, búsquedas y ordenación, gestión de memoria
y tareas similares.
String.h Contiene tipos, macros y funciones para la manipulación de cadenas
de caracteres.
Time.h Contiene tipos, macros y funciones para la manipulación de
información sobre fechas y horas.
La función printf
y las variables
Si queremos mostrar por pantalla el valor de una variable
utilizando printf debemos de utilizar unos caracteres
especiales según el tipo de dato que queramos mostrar:
%s
%d
%f
Para variables del tipo char
Para variables del tipo int
Para variables del tipo float
La función printf tiene la siguiente forma general:
Printf (<cadena de control>, lista de argumentos)
15
16. La función gotoxy
Significa GO TO (x, y), es decir ir a (x, y), donde (x, y) es una coordenada
de nuestra pantalla. Se suele usar antes de un printf, para poner el texto en
una cierta parte de la pantalla.
Su sintaxis es la siguiente:
Gotoxy (columna, renglón);
SENTENCIAS
Sirven para etiquetar una sentencia de forma que el control del
programa pueda ser transferido a ella. Se separan de la sentencia
por dos puntos ":".
TIPOS:
Sentencias de selección
IF:
16
17. La sentencia if (SI,en español)
es una sentencia muy usada en
los lenguajes de programación.
Su funcionamiento es simple.
Se evalúa una condición, si es
verdadera se ejecuta un
proceso y si es falsa se ejecuta
otro.
Estructura:
if(condición)
{
// proceso 1
}
else
{
// proceso 2
}
El proceso 1 es el que se
realiza en caso de que la
condición sea verdadera. El
proceso 2 no es obligatorio,
es decir, puede o no estar, y
se ejecuta si la condición es
falsa.
17
18. SWITCH
Es una instrucción de decisión múltiple,
donde el compilador prueba o busca el
valor contenido en una variable contra
una lista de constantes ints o chars.
cuando el computador encuentra el valor de
igualdad entre variable y constante, entonces
ejecuta el grupo de instrucciones asociados a
dicha constante
switch(var int o char)
{
case const1: instrucción(es);
break;
case const2: instrucción(es);
break;
case const3: instrucción(es);
break; ………………
default: instrucción(es);
};
si no encuentra el valor de igualdad entre
variable y constante, entonces ejecuta un
grupo de instrucciones asociados a un
default, aunque este ultimo es opcional.
18
19. REPETITIVAS:
FOR
Es una sentencia usada en los
lenguajes de programación para
repeticiones. Con esta sentencia
se define una variable numérica y
se repite un determinado proceso
la cantidad de veces que se le
indica en la declaración de la
sentencia.
for(definición de la
variable;numero de veces que
se repetirá el proceso;suma
numérica del contador)
{
// proceso que se repite
}
En la definición de variable se coloca la
variable que utilizaremos para la
repetición.
El el numero de veces que se repetirá
el proceso se coloca la condición
mediante la cual se repetirá el proceso.
CONDICIONANTES:
WHILE
(MIENTRAS, en español) es una sentencia usada en los
lenguajes de programación para repeticiones. Con esta
sentencia se evalúa una condición y se repite un
determinado proceso hasta que la condición deje de
ser verdadera.
19
20. Estructura:
while(condición)
{
// proceso
}
En la condición colocaremos la variable afectada por la
condición.
El proceso de realizar mientras que la condición sea
verdadera.
(HACER MIENTRAS, en español) funciona igual que el
While con la diferencia de que radica en que el While
común, el proceso, a menos que se cumpla la
condición puede nunca ejecutarse
DO WHILE
Estructura:
do
{
// Proceso
}
while(condición);
El proceso se realizara al menos una vez y
luego se comprobara si la condición es
verdadera, de serlo se repetirá el proceso, de lo
contrario seguirá la ejecución del programa.
20
21. Sentencias de salto
RETURN
Se usa para volver de una función. Se trata de una
sentencia de salto porque hace que la ejecución vuelva al
punto en que se hizo la llamada a la función. Si hay
algún valor asociado con return, se trata del valor de
vuelta de la función. Si no se especifica un valor de
vuelta, se asume que devuelve un valor sin sentido.
Donde expresión es opcional. Se pueden usar tantas
sentencias return como se quiera en una función. Sin
embargo, la función termina al encontrar el primero,
expresión es opcional. Se pueden usar tantas sentencias
return como se quiera en una función. Sin embargo, la
función termina al encontrar el primero.
BREAK
EXIT
Tiene dos usos: para finalizar un case en una sentencia
switch y para forzar la terminación inmediata de un
bucle, saltando la evaluación condicional normal del
ciclo. Cuando se encuentra la sentencia break dentro de
un bucle, el bucle finaliza inmediatamente y el control
sigue en la sentencia posterior al bucle.
Igual que se puede interrumpir un bucle, se puede salir
anticipadamente de un programa usando la función exit ()
de la biblioteca estándar. Esta función da lugar a la
terminación inmediata del programa, forzando la vuelta al
sistema operativo.
21
22. Función exit () es:
Void exit (int código_de_vuelta);
CADENAS DE FORMATO
d, i
entero decimal con signo
o
entero octal sin signo
u
entero decimal sin signo
x
entero hexadecimal sin signo (en
minúsculas)
X
entero hexadecimal sin signo (en
mayúsculas)
f
Coma flotante en la forma [-]dddd.dddd
e
Coma flotante en la forma [-]d.dddd
e[+/-]ddd
g
Coma flotante según el valor
E
Como e pero en mayúsculas
G
Como g pero en mayúsculas
c
un carácter
s
cadena de caracteres terminada en '0'
%
imprime el carácter %
p
puntero
SECUENCIA DE ESCAPE
a
Alerta
b
Espacio atrás
f
Salto de página
22
23. n
Salto de línea
r
Retorno de carro
t
Tabulación horizontal
v
Tabulación vertical
Barra invertida
'
Comilla simple
"
Comillas dobles
FUNCIONES
Una función es un conjunto de líneas de código que realizan
una tarea específica y puede retornar un valor. Las funciones
pueden tomar parámetros que modifiquen su funcionamiento.
Cuando una función es invocada se le pasa el control a la
misma, una vez que esta finalizó con su tarea el control es
devuelto al punto desde el cual la función fue llamada
FUNCIONES CON VOID COMO ARGUMENTO.
23
24. Cuando se llama a una función, todos los
parámetros con los que la llamamos son copiados y
pasados a la función (paso por valor). Esto significa
que si la función cambia el valor de los parámetros,
solo lo hace dentro del ámbito de la función.
La función main pasa la dirección de a
y b, por lo que a la función
change_values se le pasa una copia de
las direcciones
La llamada a
la función no
ha cambiado
el valor de las
variables que
se le han
pasado
La función cambia
las copias de lo que
se le ha pasado.
Si queremos pasar
parámetros por
referencia hay que
pasar punteros a
los datos
ESTRUCTURA:
24
Utilizando las
direcciones de
a y b, la función
puede acceder
a los datos
directamente.
Para hacer
esto,
utilizamos el
operador &,
que da la
dirección de
una variable