Como Programar en C++ [Manual Básico]
INTRODUCCIÓN

¡Bienvenidos Taringeros! En este tutorial les enseñaré a como programar en C++ no es nada basico, pero tampoco es para avanzados, bueno, dejemos de hablar incoherencias y comencemos:

El Presente documento ha sido elaborado con la finalidad, de proveer a los estudiantes, de un recurso ágil y fácil de comprender por aquellos que inician su estudio en la programación del lenguaje C.

¿Por qué decidí escribir este manual?

Sencillo, cuando en la universidad empezamos a estudiar C, nos pidieron que, si podíamos, compráramos un libro texto para apoyar las clases, o buscáramos un manual en la Internet... yo opté por la segunda opción, ya que como todos sabrán los libros de programación son muy caros (al menos aquí en El Salvador), pero me encontré con dos grandes problemas:

Los Manuales que bajaba estaban incompletos, es decir; las explicaciones, los ejemplos y la información en general era muy pobre, por no decir escasa.
si al dado caso, encontraba algún manual que estuviera completo, tenía muchos errores, en sus ejemplo(errores de sintaxis, de ejecución y hasta de lógica) o en la explicación que se daba. Lo cual al yo cometer esos ejemplos, mis profesores me lo hacían saber.
Por esas razones decidí escribir mi propio manual, para evitar que, otros estudiantes les suceda lo mismo que a mí, y así les evitaré gastos en impresiones innecesarios.

Cabe recalcar que, no soy un experto programador... todavía sigo estudiando, pero quiero colaborar de una manera desinteresada, a la formación de las personas.

Espero que, este pequeño manual les sirva de mucho y sobre todo, le saquen mucho provecho.

CAPITULO I "MARCO INTRODUCTORIO"

Marco Conceptual

Se muy bien, que usted, querido lector; está muy ansioso por comenzar a programar, pero considero que es importante; conocer un poco del lenguaje C, tanto de sus orígenes como de sus ventajas, pero no se preocupen, seré breve en esta introducción teórica. Además que es importante conocer o recordar algunos conceptos que, son importantes al momento de programar.

Computadora
Componentes de Una Computadora

Hemos definido una, computadora como una máquina que recibe datos y ordenes, que al ejecutarlas produce cierta información; dicha información se presenta en un "idioma" codificado; por que ha de saberse que las computadoras no entienden nuestro idioma, o cualquier otro en el mundo. Dicho "idioma" está compuesto únicamente por dos elementos los ceros y los unos. Mejor conocido como código Binario, con el cual se representan los datos, que arroja la computadora.

En una forma más general, y creo que más sencilla, una computadora se comprende por dos grandes grupo: El Hardware y el Software.

Hardware

El Hardware de un computador es un conjunto de elementos físicos, que la componen.

Veámoslo gráficamente:
C++

Podríamos entrar en detalle de cada una de las partes descritas anteriormente, pero ese, no es el objetivo de estas insignificantes páginas; sino que esto es una mera introducción teórica, por ello sólo daré una breve explicación.

En la Unidad Central de Proceso (o CPU, por sus siglas en ingles –Central Proccessing Unit-) se contiene la Unidad de Control, que su función es organizar y clasificar las instrucciones recibidas; mientras que la Unidad Aritmética y Lógica, Se encarga de ejecutar dichas instrucciones. Los Buses, son los mecanismos de interconexión en el CPU.

La memoria Principal, Es el lugar donde se cargan todas las instrucciones, programas, etc que se están ejecutando.

Software

Debemos entender el software como la parte lógica de la computadora... ¿un poco difícil de comprender, verdad?; es decir, que el software, es lo que dota a los componentes físicos de poder realizar tareas determinadas. Ejemplo, para poder utilizar una computadora, esta debe tener instalado un sistemas operativo. Para poder imprimir algún trabajo, aparte de poseer un impresor, en la computadora, debo tener un software que me permita imprimir dicha acción (generalmente las impresoras traen un cd, son su respectivo software de instalación).

Aburrido?...

Es necesario, que empiece con tanta palabrería; por que es necesario, para el lector tener en claro estos conceptos.

Ahora vamos a hablar de algo un poco más interesante, como lo es el lenguaje de programación

Un lenguaje de Programación Es un conjuntos de palabras, reglas, con las cuales se le indica a la computadora las funciones que debe realizar. Un lenguaje de programación puede ser:

Lenguajes Máquinas: se trata de lenguaje cuyas instrucciones son directamente comprendidas por el ordenador o computador en el que se ejecuta el programa.
Lenguaje de Bajo Nivel: este tipo de lenguajes, al igual que sucede con los lenguajes máquinas, existe una gran dependencia con el equipo en el que se va a ejecutar. No obstante son algo más fáciles de escribir, quedando ubicados por tanto, según su grado de complejidad; en un nivel intermedio entre el lenguaje máquina y el de alto nivel.
Lenguaje de Alto Nivel: Disponen de una sintaxis en lenguaje más natural, y un amplio conjunto de funciones internas, que ayudan al programador en distintas situaciones, así como un número determinado de utilidades y asistentes que ahorran tiempo y trabajo al programador. Dentro de estos lenguajes tenemos: Visual Foxpro, Visual Basic. NET.
Programa:

Es un conjunto de instrucciones que se le dan a la computadora, para que ésta realice una determinada tarea.

Lenguaje C

El lenguaje C, fue diseñado por Dennies Ritchie en 1970, en los laboratorios Bell de Estados Unidos.

Este lenguaje presenta varias características, entre las cuales están:

Lenguaje de programación de propósitos generales
Permite la Programación Estructurada
Abundancia de Operadores y Tipos de Datos
No está asociado a ningún sistema operativo ni a ninguna máquina
Popular y Eficaz
Permite el desarrollo de Sistemas Operativos y programas de aplicación
Portabilidad
Existen las librerías en las bibliotecas
tiene sólo 32 palabras reservadas
programar

bibliotecas: es el archivo que contiene código objeto de una colección de rutinas o funciones que realizan tareas determinadas y se pueden utilizar en los programas.

*Enlazador: Programa que convierte las funciones de la biblioteca estándar de C, con el código que ha traducido el compilador .

Estructura de Un programa en C

Ya estamos apunto de entrar a lo más interesante, a la programación en sí; pero es necesario, primero; mencionar algunos de los errores típicos al programar, para que el lector sepa como identificarlos y así los pueda corregir.

ERROR DE SINTAXIS: Estos errores son producidos, cuando se hace mal uso de las reglas del lenguaje de programación, y se violan las normas de sintaxis, de ese lenguaje (en nuestro caso C); estos errores son fáciles de detectar por que generalmente es el compilador, que los identifica (Y hasta muestra la línea donde se encuentra dicho error, pero eso depende de la versión del compilador que estemos usando). En este curso he usado Turbo C, en su versión 2 y 3.
ERRORES DE EJECUCIÓN: Estos errores se producen , cuando le indicamos a la computadora, realizar una determinada acción, y esta la comprende, pero no puede ejecutarla. Por ejemplo, indicarle a la computadora una división entre cero, sumar dos variables a las cuales no se les ha signado valor alguno, etc.
ERRORES DE LÓGICA: Muchas veces, cuando estamos programando, el compilador no nos indica errores de sintaxis, ni de lógica; pero el resultado de nuestro programa, esta fuera del rango esperado, esto es producto de un error de lógica en el código de nuestro programa. Este tipo de errores son muy difíciles de identificar y por supuesto de corregir, ya que generalmente hay que revisar línea por línea de nuestro programa. Ejemplo: El sueldo negativo de un empleado, etc.
La estructura de un programa en C, consta de algunas partes esenciales: las cuales son uno o más módulos llamadas funciones, siendo main() la primera función que es llamada cuando empieza la ejecución del programa .

Cada función debe contener :

>Directivas de pre-procesador (instrucciones que se le dan al compilador

#include antes de compilar)

#define

ejemplo:

#include <stdio.h>

Lo que se le esta indicando, es que de las librerías, "Incluya" en nuestro programa la directiva stdio.h, la cual contiene las funciones de entrada y salida de datos (standar input output, en inglés). Si necesitamos las funciones matemáticas, debemos especificarlo con la declaratoria:

#include <math.h>

Si necesitamos las funciones de cadenas:

#inlcude <stlib.h>

Es necesario aclarar que esto se hace al inicio del programa, y las declaratorias deben llevar el símbolo de numeral (#) seguido de la sentencia "include", y entre signos de mayor y menor que (<> el nombre de la directiva.

>Declaraciones Globales

pueden ser:

*Prototipos de Funciones: También llamadas declaraciones de funciones, lo cual se tratará más adelante

*Declaraciones de Variables

cabe destacar, que esto se hace seguido de los #include y los #define.

>Función Principal main()

Esta es la función principal de nuestro programa, su cuerpo, por ello NUNCA debe faltar, ya que en ella van contenidas todas las instrucciones de nuestro programa.

main()

{

declaraciones locales /*Comentarios */

sentencias

}

la función main() va al inicio, luego abrimos llaves y dentro de ellas van las declaraciones de variables, las sentencias de lectura, cálculos, asignaciones e impresiones, y con la última llave ( } ), le indicamos el final del programa.

Ejemplo 1.1

Programa que a partir del radio, calcula el área de un circulo

#include <stdio.h>

#include <conio.h>

main()

{

float radio, area;

printf("Radio=n";

scanf("%f", &radio);

area=3.14159*radio*radio;

printf("El Area es %fnn", area);

getch();

return 0;

}

Explicación:

Le indicamos al compilador, que usaremos las bibliotecas <stdio.h> y <conio.h>, ¿por qué <conio.h>?, por que esta biblioteca, contiene las funciones getche(), getch(), etc, y de una de ellas hacemos uso en este pequeño ejemplo.

Luego, le indicamos a nuestro programa el incio de nuestro programa (función main() ).

Declaramos, como valores reales, las variables radio y area (de esto se hablará más adelante). Luego, con la instrucción printf(), mostramos en pantalla el mensaje (Radio=) y scanf se encarga de leer el valor digitado por el usuario. Posteriormente area, es igual al la multiplicación de pi (3.14159), el radio al cuadrado. Se muestra en pantalla ese resultado, luego el programa espera que se presiones cualquier tecla (getch() ) y no retorna ningún valor (return 0).

Ejercicios

Defina los siguientes conceptos:

Programa:_____________________________________________________________________________


CPU:___________________________________________________________________________________
Software:_________________________________________________________________________________


Memoria Principal:__________________________________________________________________________________
Lenguaje de Programación:______________________________________________________________________________
Indique que tipo de error (Error de sintaxis, error de ejecución o error lógico), en cada uno de los siguientes enunciados

Utilizar una variable antes de asignarle un valor:____________________
asignarle un valor real a una variable declarada como entero:______
al cometer este error, los resultados arrojados por el programa no son los que se esperaban:______________________________________________
Un programa no puede ser ejecutado por el computador, mientras tenga este tipo de errores:__________________________________________
estos errores no son detectados por el compilador, ni tampoco son errores de ejecución:_______________________________________________
Mencione y Explique, la estructura general de un programa en C:

Capitulo II: " Lenguaje de Programación Estructurado C"

¿Por qué programación estructurada?

Si el lector recuerda, en el capítulo anterior, se hablaba de las características del lenguaje C, y en una de ellas se decía que, el Lenguaje de Programación C, permite la programación estructurada. Esto implica que, haremos uso de una técnica llamada Lógica Estructurada, y esto no es más ni menos que una de las técnicas básicas y fundamentales de la programación estructurada, su objetivo es diseñar soluciones "correctas" y confiables a los problemas, ignorando al principio consideraciones de eficiencia como la minimización del uso de memoria y el tiempo de su respuesta.

Lo que significa que, haremos uso de esa técnica para crear programas correctos; esta es una técnica que ayuda al programador (un tanto a la fuerza), a ser ordenado, al momento de programar.

Los frutos de ésta técnica se reflejan cuando, queremos darle mantenimiento al programa, es más fácil hacerlo ya que hemos programado de una manera lógica y ordenada. Al igual que al momento de corregir errores de sintaxis y lógica, esta técnica nos facilita el trabajo .

Ahora iniciemos, de una vez por todas, lo que el lector está esperando:

Sintaxis de Algunos Elementos de Un Programa en C

como su nombre lo indica, estos son los nombres, con los que identificamos las variables, constantes, funciones, vectores, etc, de nuestro programa. Para ello debemos tener presente algunas reglas:

>pueden tener de 1 hasta un máximo de 31 caracteres

>Debe de iniciar con una letra o subrayado

Ejemplo:

(Correctos)

c2

_c2

( Incorrectos)

2c

2 c

>No es lo mismo una minúscula que una mayúscula, ya que c distingue de entre ellas. Ejemplo: BETA ¹ Beta ¹ beta ¹ BeTa

>No son válidos los identificadores de palabras reservadas. En un inicio hablamos que c posee 32 palabras reservadas, entre ellas están:

float char while

int else return

Estas palabras no pueden ser utilizadas para identificar variables, constantes, funciones etc

identificadores:
En todo programa que estemos diseñando en C (o en cualquier otro lenguaje de programación); es necesario insertar ciertos comentarios en el código, para que en posteriores modificaciones y cuando se realice el mantenimiento, podamos recordar cosas importantes ya que, en los comentarios, podemos incluir aspectos importantes del programas, explicaciones del funcionamiento de las sentencias, etc.

El formato de los comentarios en C, es el siguiente:

/*este es un comentario en C */

/*Podemos colocar mucha información importante

de nuestro Programa */

Comentarios
Permite que, el pre-procesador, incluya funciones proporcionadas por el fabricante, a nuestro programa. Ejemplo:

#include <stdio.h> /* le decimos al compilador que incluya la librería

stdio.h */

La Directiva #include
permite definir constantes simbólicas. Pero hasta ahora ha sido poco lo que hemos hablado acerca de las constantes, es por ello que en aprovechando, este especio; dedicaré unas cuantas líneas para aclarar ello.

Las variables pueden cambiar de valor, durante la ejecución del programa, por eso es que se llaman variables. Y las constantes como su nombre lo indica, son valores que permanecen constantes durante toda la ejecución del programa, un ejemplo de ello, es el valor de p (pi) que equivale a 3.14159....

En C existen diferentes tipos de variables, entre ellas tenemos:

1. Constates Numéricas:

Son valores numéricos, enteros o de reales (de punto flotante). Se permiten también constantes octales y hexadecimales.

2. Constantes Simbólicas:

las constantes simbólicas tiene un nombre (identificador), y en esto se parecen las variables. Sin embargo, no pueden cambiar de valor a lo largo de la ejecución del programa. En C, se pueden definir mediante el preprocesador.

(Tomado del Manual "Aprenda Lenguaje ANSI C como si estuviera en Primero" Escuela superior de Ingenieros Industriales. Universidad de Navarra. Febrero de 1998).

Ejemplo:

#define N 100

#define PI 3.1416

#define B 45

Esta directiva (#define) va, inmediatamente después de los #include. Se escribe la directiva, se deja un espacio y se escribe el identificador de la constante, otro espacio y su valor.

la directiva #define
/ ! % ^ & * () - + {} [] ; : <> ¿ .

Signos de Puntuación y de Separación
Al momento de programar en C, esta es una regla de oro, y la causa por la cual nuestro programa puede darnos muchos errores de sintaxis, cuando se omite, al final de cada sentencia un punto y coma (. Ya que con ello le indicamos al compilador que ha finalizado una sentencia.

NOTA: el lector no debe confundirse, las directivas: #include, #define. Main(), no llevan punto y coma, por que no son sentencias.

Recordemos el ejemplo 1.1, y vea que al final de cada sentencia lleva su correspondiente punto y coma:

#include <stdio.h>

#include <conio.h>

main()

{

float radio, area;

printf("Radio=n";

scanf("%f", &radio);

area=3.14159*radio*radio;

printf("El Area es %fnn", area);

getch();

return 0;

}

Todas las Instrucciones o sentencias del programa terminan con un punto y coma (
Esta consideración toma mayor auge, cuando veamos las instrucciones anidadas en condiciones, ciclos, etc.

Ejemplo:

{

...

printf("Holanb";

...

}

Todo Bloque de Instrucciones debe ir entre llaves
En una línea se pueden escribir más de una instrucción separada por un punto y coma
Esto es posibles, por que con el punto y coma, le estamos indicando al compilador el fin de una sentencia o instrucción.

Ejemplo:

b = c + d; d = 2*k;

Declaración de Variables

Una Variable, como su nombre lo indica, es capaz de almacenar diferentes valores durante la ejecución del programa, su valor varía. Es un lugar en la memoria el cual, posee un nombre (identificador), y un valor asociado.

La declaración de variables en C, se hace en minúsculas.

Formato:

Tipo_de_dato nombre_de_la_variable;

Ejemplos:

*Declare una variable de tipo entero y otra de tipo real, una con el nombre de "x" y otra con el identificador "y":

int x;

float y;

*Declare una variable de tipo entero llamada moon, e inicialícela con un valor de 20

int x = 20;

*Declare una variable de tipo real, llamada Pi, e inicialícela con una valor de 3.1415

float pi=3.1415;

*Declare una variable de tipo caracrter y asígnele el valor de "M"

char car = ’M’;

*Declare una variable llamada nombre, que contenga su nombre:

char nombre[7]="Manuel";

Explicación:

En el apartado anterior, se explicó, que C, no tiene el tipo de dato llamado string, o mejor conocido como cadenas de texto, pero nosotros podemos hacer uso de ellas, por medio de un arreglo, (de lo cual hablaremos con más detalle, posteriormente); pero para declarar este tipo de datos colocamos el tipo de datos, es decir la palabra reservada char luego el nombre, e inmediatamente abrimos, entre corchetes, va el número de letras, que contendrá dicha variable. Es muy importante que al momento de declarar el tamaño, sea un número mayor, al verdadero número de letras; por ejemplo, la palabra "Manuel", solo tiene 6 letras, pero debemos declararlo para 7 letras ¿Por qué?.

Veámoslo gráficamente, en la memoria, C crea un variable llammada nombre y esta posee la palabra Manuel, así:
tutorial
en realidad, hay 7 espacios, pero la cuanta llega hasta 6, por que c, toma la primera posición como la posición cero, y para indicar el final de la cadena lo hace con un espacio en blanco.

Declaración de Constantes

Las constantes, como su nombre lo indica, son valores que se mantiene invariables durante la ejecución del programa.

Su formato es el siguiente:

const tipo_de_dato nombre= valor;

donde const, es una palabra reservada, para indicarle al compilador que se esta declarando una constante.

Ejemplo:

const int dia=7;

const float pi=3.14159;

const char caracter= ‘m’;

const char fecha[]="25 de diciembre";

Caso Especial Constantes Simbólicas

Las constantes simbólicas, se declaran mediante la directiva #define, como se explicó anteriormente. Funcionan de la siguiente manera, cuando C, encuentra el símbolo que representa a la constante, lo sustituye por su respectivo valor.

Ejemplo:

#define N 150

#define PI 3.1416

#define P 50

Entrada y Salida Por Consola

Entrada y Salida por consola: se refiere a las operaciones que se producen en el teclado y en la pantalla de la computadora. En C no hay palabras claves para realizar las acciones de Entrada/Salida, estas se hacen mediante el uso de las funciones de la biblioteca estándar (stadio.h).

Para utilizar las funciones de E / S debemos incluir en el programa el archivo de cabecera stdio.h, mediante la declaratoria:

#include <stdio.h>

Las Funciones de E / S más simples son getchar() que lee un carácter del teclado, espera un retorno de carro (¿ ), es decir un enter y el eco aparece. Es decir la tecla presionada.

*putchar(): Imprime un carácter en la pantalla, en la posición actual del cursor.

Algunas variaciones:

*getche(): Aparece el Eco

*getch(): No aparece el eco

estas instrucciones se encuentran en la biblioteca conio.h

Veamos un ejemplo:

Programa que espera que se presiona una tecla, la muestra en pantalla, y además muestra el carácter siguiente:

Ejemplo 2.1:

#include <stdio.h>

#include <conio.h>

main()

{

char car;

clrscr(); /*Se encarga de borrar la pantalla por eso se llama claer screen*/

car=getchar();

putchar(car+1);

getch();

return 0;

}

Ejemplo 2.2:

#include <stdio.h>

#include <conio.h>

main()

{

char x; /*Declaramos x como caracter*/

printf("Para Finalizar Presione cualquier Tecla:";

x= getchar();/*Captura y muestra el caracter presionado*/

getch();/*Espera a que se presione cualquier otra tecla para finalizar*/

return 0;

}

Entrada / Salida de Cadenas

Una Cadena, es una frase, compuesta por varias palabras. En C, podemos hacer uso de las cadenas, mediante, la sentencia:

*gets(): Lee una cadena de carácter introducido por el teclado. Se puede introducir caracteres hasta que se de un retorno de carro, (enter); el cual no es parte de la cadena; en su lugar se coloca un terminador nulo .

*puts(): Imprime en pantalla, el argumento guardado en la variable que se manda a impresión.

Ejemplo 2.3

Diseñe un programa en C, que lea su nombre; lo salude y mande a impresión su nombre, usando gets e y puts

#include <stdio.h>

#include <conio.h>

main()

{

char nombre[40];

puts("digite su nombre:";

gets(nombre);

puts("BIENVENIDO:";

puts(nombre);

getch();

return 0;

}

NOTA: No haré mucho énfasis en estas instrucciones, ya que más adelante, veremos las instrucciones scanf() y printf(), que son mucho más completas.

Entrada / Salida Por Consola con Formato

Las funciones gets, puts, getch, etc; son utilizadas, en una forma un poco rudimentaria, sin embargo; C posee otra serie de funciones, que son más completas, las cuales nos permiten leer e imprimir (en pantalla), datos con un formato determinado, el cual ha sido definido por el programador.

Salida Hacia Pantalla [printf()]

Se utiliza para imprimir en pantalla cadenas de texto solas, o mandar a pantalla el valor de alguna variable, o constante, o una combinación de las anteriores. Su formato es el siguiente:

Printf("cadena de control", nombre_de_variables);

En donde:

Cadena de control: contiene códigos de formato que se asocian con los tipos de datos contenidos en las variables.
manual basico
como programar en C++
aprender c++