Professional Documents
Culture Documents
11 de noviembre de 2011
2011
/Con
Programacin
Introduccin
Este documento contiene aspectos generales sobre programacin
estructurada, sin embargo, son lo suficientemente slidos para poder crear las
bases necesarias para la incursin en programacin sobre plataformas web,
abriendo as la puerta para el siguiente nivel de lenguajes de programacin.
Introduccin a la Programacin
www.cotzureu.com| www.ia2web.com Enrique Brn
AFC IA2WEB
11/11/2011
1 Contenido
1 Contenido ........................................................................................................................................... 2
2 Cronograma de Actividades ................................................................................................................ 3
3 Introduccin ....................................................................................................................................... 4
3.1 Preparacin del entorno de trabajo ............................................................................................... 4
4 Introduccin a la programacin en C ................................................................................................... 5
5 Variables en C++ ................................................................................................................................. 8
5.1 Tipos de variables .......................................................................................................................... 8
6 Constantes .......................................................................................................................................... 9
7 Instrucciones de Entrada ..................................................................................................................... 9
8 Instrucciones de Salida........................................................................................................................ 9
9 Estructuras de Programacin ............................................................................................................ 13
9.1 Estructuras de Decisin ............................................................................................................... 13
9.1.1 IF ......................................................................................................................................... 13
9.1.2 Switch-Case ......................................................................................................................... 14
9.2 Estructuras Repetitivas ................................................................................................................ 15
9.2.1 While ................................................................................................................................... 15
9.2.2 Do While .............................................................................................................................. 15
9.2.3 For ....................................................................................................................................... 16
10 Funciones ......................................................................................................................................... 18
10.1 Instruccin Return ....................................................................................................................... 18
10.2 Tipos de Funciones ...................................................................................................................... 18
11 Vectores y Arrays .............................................................................................................................. 19
12 Punteros ........................................................................................................................................... 22
13 Programacin Orientada a Objetos ................................................................................................... 22
Introduccin a la Programacin
www.cotzureu.com| www.ia2web.com
2 Cronograma de Actividades
Primer Semestre
Introduccin a la Programacin
3 www.cotzureu.com| www.ia2web.com
3 Introduccin
En segundo lugar deberas decidir el compilador de C/C++ que deseas usar, los ejemplos aqu mostrados
fueron testeados sobre Borland C++ 5.02, pero la mayora deberan funcionar igual en gcc.
Por ltimo, debes tener en cuenta que en ningn caso programaremos utilizando las caractersticas propias
del entorno, es decir: aunque utilices un compilador de C en entorno Windows por ejemplo, todos los
programas que hars utilizando este manual, en principio funcionan igual en el entorno MS/DOS o UNIX, por
citar dos muy conocidos.
Sera materia de otro curso el estudio del entorno de desarrollo e interfaz grfico de tu compilador de
C/C++
Introduccin a la Programacin
4 www.cotzureu.com| www.ia2web.com
4 Introduccin a la programacin en C
Introduccin Terica
Creador:Dennis Ritchie (Laboratorios Bell) el 1972, cuando trabajaba junto con Ken Thompson en el diseo
delsistema operativo UNIX.
El C se cre como herramienta para programadores, en consecuencia su principal objetivo es ser
unlenguaje til, no necesariamente sencillo.
Caractersticas:El C es un lenguaje de programacin de alto nivel (alto nivel quiere decir cercano al
lenguajehumano), pero con caractersticas de bajo nivel (bajo nivel= prximo al lenguaje mquina).
Es de ALTO NIVEL porque es racional, estructurado y fcil de aprender.
Es de BAJO NIVEL porque permite trabajar con bits, registros de la C.P.U. y posiciones de memoria.
Por qu el C?: El lenguaje C es poderoso y flexible: la mayor parte del sistema operativo UNIX est
escrito en C.
Incluso estn escritos en C los compiladores e intrpretes de otros lenguajes.El lenguaje C es amistoso
porque es lo suficientemente estructurado para ejercer buenos hbitos deprogramacin. Es el lenguaje de
programacin ms utilizado por el programador de sistemas.
Cdigo Compilar
Cdigo Linkear
Programa
Fuente Objeto Ejecutable
Cdigo Fuente: es el programa que nosotros escribimos, se graba con la extensin CPP, o H en caso de las
libreras.
Cdigo Objeto: es el programa fuente pero traducido a lenguaje mquina (sucesin de ceros y unos), se
graba con la extensin OBJ
Programa Ejecutable: es el programa objeto ms las libreras del C, se graba con la extensin EXE. Y no
necesita el programa que hemos utilizado para crearlo, para poder ejecutarlo. Para crear el ejecutable en
C++, solamente se debe presionar al mismo tiempo las teclas Ctrl+F9.
El cdigo objeto que genera un compilador de C, es casi tan eficiente (rpido) como si lo hubiramos
escrito en lenguaje ENSAMBLADOR (lenguaje de programacin ms cercano al lenguaje mquina).
Introduccin a la Programacin
5 www.cotzureu.com| www.ia2web.com
Primer programa
Para aprender a programar, se debe practicar, este, como todos los programas de este documento, debe
ser compilado en el Borland para ver su funcionamiento.
Libreras
Inicio programa,
funcinmain
Llaveparainicio
de cdigo
Sentenciaparamos
trarmensajes en
pantalla Ilustracin 1
Ilustracin2
Introduccin a la Programacin
6 www.cotzureu.com| www.ia2web.com
Antes de continuar, se muestra a continuacin la lista de palabras reservadas de C y C++, las cuales no
podemos utilizar como nombres de variables o de nuestras propias funciones:
Introduccin a la Programacin
7 www.cotzureu.com| www.ia2web.com
5 Variables en C++
El concepto de variables ya fue trabajado en el mdulo de algoritmos, de tal manera que aqu solo explicar
aspectos especficos de C++, que son los siguientes:
C++ identifica maysculas y minsculas, es decir, si tenemos una variable llamada Nombre, no ser
correcto tratar de utilizarla escribiendo nombre o cualquier otra variante de escritura.
Las variables pueden declararse prcticamente en cualquier lugar del cdigo, con sus respectivas
limitantes, por ejemplo, una variable debe ser declarada antes de ser utilizada.
Las variables solo son accesibles dentro de la funcin donde fue declarada, excepto las declaradas
globalmente.
Ilustracin 3
Es decir, primero se escribe el tipo de dato que almacenar la variable y luego el nombre de la variable y se
finaliza con un ; punto y coma.
Para el caso de los datos tipo char tambin se debe especificar cuantos caracteres como mximo
almacenar la variable, en caso contrario solo permitir almacenar 1 caracter, de tal manera que la
declaracin cambiara dependiendo cuantos espacios dejaremos disponibles para lo que se debe guardar, la
cantidad de espacios se debe escribir despus del nombre de la variable dentro de corchetes [ ], en la
Ilustracin 4 se declara una variable tipo char, llamada nombre y que acepta como mximo 10 caracteres.
Ilustracin 4
Introduccin a la Programacin
8 www.cotzureu.com| www.ia2web.com
6 Constantes
Una constante es un lugar en la memoria con un dato que no va a cambiar en ningn momento dentro del
programa, por ejemplo, suelen definirse como constantes valores deporcentaje del IVA, el valor de PI, el
porcentaje para calcular el IGSS, etc.
Aunque con este tema se puede profundizar ms, para este curso solamente veremos 2 formas declaracin.
Una forma es utilizando la palabra reservada const, la otra es definiendo un valor especfico, utilizando la
directiva#define, esta es la manera antigua.La sintaxis es la siguiente:
const tipo nombre=valor;
#define nombre valor;
Particularmente recomendara utilizar #define cuando se desee declarar constantes tipo char, como se ve
en el ejemplo:
Ilustracin 5
Como se puede notar en la Ilustracin 5, la palabra reservada no requiere colocar el tipo de dato para la
constante, tampoco el signo = para hacer la asignacin y si fuese un valor numrico, tampoco necesitara las
comillas.
7 Instrucciones de Entrada
Ahora veremos ms detalladamente la sentencia cin>>, cabe mencionar que no es la nica para capturar o
recibir datos ingresados por el usuario, pero es la ms sencilla y fue incluida especficamente en C++, puesto
que en C no exista.
Esta funcin permite capturar los datos que el usuario ingrese desde el teclado y los almacena dentro de la
variable que se indique despus de los signos >>
Su sintaxis es la siguiente:
Ilustracin 6
8 Instrucciones de Salida
Aqu ampliar la sentencia cout<<, que al igual que la sentencia cin>>, tiene otras alternativas como
printf, pero que no ser utilizada.
La sentencia cout permite mostrar mensajes en pantalla y valores contenidos dentro de las variables que
tengamos declaradas, su sintaxis es la siguiente:
Ilustracin 7
Como se puede apreciar en la Ilustracin 7, lo que est dentro de comillas, es el mensaje que se mostrar,
luego se cierran las comillas y hay dos signos < menor que los cuales indican que la sentencia no ha
terminado y a continuacin est una variable, de la cual se mostrar su contenido, otro ejemplo de una
aplicacin vlida est a continuacin:
Introduccin a la Programacin
9 www.cotzureu.com| www.ia2web.com
Ilustracin 8
La diferencia en este cdigo es que no se realiz un cambio de lnea, puesto que no existe dentro de
comillas la \n que es la instruccin que realiza esta accin.
Ejercicios propuestos
1. La empresa X ha solicitado un programa para calcular el valor que debe pagar de IGSS cada
empleado, as como el salario neto que recibir. Utilizando los temas vistos hasta el momento,
escriba el programa. Tome en cuenta que el pago del IGSS corresponde al 4.83%
2. La empresa Y ha solicitado un programa para calcular el valor del IVA que se debe pagar sus
productos, as como el precio final de venta. Utilizando los temas vistos hasta el momento, escriba
el programa, considere que el IVA corresponde al 12% sobre el costo del producto.
3. Los empleados de la empresa Z reciben un salario por horas trabajadas, las horas ordinarias son
pagadas a Q45.00 y las extraordinarias a Q65.00, escriba un programa que reciba la cantidad de
horas trabajadas de los empleados, tanto ordinarias como extraordinarias y muestre el total que
debe recibir como salario el empleado, sin descontar el pago de IGSS.
4. La empresa XYZ necesita un sistema para realizar el pago de nmina, el cual debe tener en cuenta
las siguientes reglas para generar un salario final.
a) Todos los trabajadores tienen un salario base de Q. 1850.00
b) Todos los trabajadores tienen una bonificacin de Q. 350.00
c) El IGSS se debe calcular solamente sobre el salario base.
d) Todos los trabajadores hicieron 8 horas extras, las cuales se les pagan a Q65.00 c/u.
e) Calcular el salario a recibir.
Introduccin a la Programacin
10 www.cotzureu.com| www.ia2web.com
Introduccin a la Programacin
11 www.cotzureu.com| www.ia2web.com
Introduccin a la Programacin
12 www.cotzureu.com| www.ia2web.com
9 Estructuras de Programacin
9.1.1 IF
Permite la ejecucin condicional de una sentencia.
Sintaxis:
Ilustracin 9
Como se puede ver en la Ilustracin 10, se pueden utilizar llaves para encerrar las instrucciones que se
quieran realizar, o tambin pueden omitirse, con la diferencia que si no incluye llaves, solo se ejecutar la
lnea ms prxima a la instruccin.
Ilustracin 10
Introduccin a la Programacin
13 www.cotzureu.com| www.ia2web.com
9.1.2 Switch-Case
Esta sentencia es una generalizacin de las sentencias if...else. En el caso de las sentencias if, la expresin
que se evala como condicin es booleana, lo que quiere decir que slo hay dos valores posibles, y por lo
tanto, slo se puede elegir entre dos sentencias a ejecutar.
En el caso de la sentencia switch, la expresin a evaluar ser entera o 1 char, por lo tanto, el nmero de
opciones es mucho mayor, y en consecuencia, tambin es mayor el nmero de diferentes sentencias que se
pueden ejecutar.
Sintaxis:
Ilustracin 11
Introduccin a la Programacin
14 www.cotzureu.com| www.ia2web.com
9.2 Estructuras Repetitivas
9.2.1 While
Es la sentencia de bucle ms sencilla, y sin embargo es tremendamente potente. En C++ se usa la palabra
reservada while (que significa "mientras"), y la sintaxis es la siguiente:
while (<condicin>) <sentencia>
Si se desea ejecutar ms de una lnea de sentencias, se deben encerrar entre llaves como se aprecia en la
Ilustracin 12, el programa se ejecutarmientras el usuario presione 1 en la pregunta inicial.
Ilustracin 12
Se puede apreciar la inclusin en la lnea 12 de la funcin clrscr(); para limpiar pantalla, cuando vuelva a
iniciarse el ciclo.
9.2.2 Do While
A diferencia del bucle while, la evaluacin de la condicin se realiza despus de ejecutar la sentencia, de
modo que sta se ejecutar al menos una vez.
Sintaxis:
do <sentencia> while(<condicion>);
Si se desea ejecutar ms de una lnea de sentencias, se deben encerrar entre llaves. Como se aprecia en la
Ilustracin 13.
Introduccin a la Programacin
15 www.cotzureu.com| www.ia2web.com
Ilustracin 13
9.2.3 For
Permite repetir un fragmento de cdigo determinadas veces, su sintaxis es:
Ilustracin 14
Por partes:
x=0 Indica el inicio del ciclo. Puede ser cualquier variable y cualquier valor de inicio.
x<=10 Indica el fin del ciclo. Cuando la condicin deja de cumplirse el ciclo termina. Cuando el ciclo
no es menor o igual a 10 el ciclo termina.
x=x+2 Indica que la variable x aumenta de dos en dos. Para aumentar de uno en uno: x++, de tres:
x+=3 x=x+3.
Introduccin a la Programacin
16 www.cotzureu.com| www.ia2web.com
Ejercicios propuestos
1. Escriba un programa en Borland C++ que permita ingresar 10 nmeros y calcule el promedio de los
mismos.
2. Hacer un programa que imprima los nmeros del 0 al 100
Ayuda: Recuerda utilizar una variable contador para ir incrementando su valor de uno en uno
mediante un bucle hasta llegar a 100.
6. Hacer un programa que imprima los nmeros impares hasta el 100 que imprima cuantos hay.
7. Hacer un programa que imprima los mltiplos de 5 que hay entre 1 y 500.
8. Hacer un programa que reciba un nmero por teclado menor que 100, e imprima la suma y cuantos
nmeros pares hay inferiores al recibido.
Introduccin a la Programacin
17 www.cotzureu.com| www.ia2web.com
10 Funciones
Una funcin es un mdulo de un programa separado del cuerpo principal, que realiza una tarea especfica y
que puede regresar un valor a la parte principal del programa u otra funcin o procedimiento que la
invoque. La sintaxis general de una funcin es:
Tipodato Nomfun(parametros)
{
Sentencias;
return [dato| variable | expresin];
}
Donde tipodato especifica el tipo de dato que regresara la funcin.
La instruccin RETURN es quien regresa un y solo un dato a la parte del programa que la est llamando o
invocando, sin embargo es de considerar que return puede regresar:
a) Un dato = return 3.1416;
b) Una variable = return area;
c) Una expresin algebraica (no ecuacin o formula) = return x + 15/2;
La lista de parmetros formales es una lista de variables separadas por comas , que almacenaran los valores
que reciba la funcin, estas variables actan como locales dentro del cuerpo de la funcin.
Aunque no se ocupen parmetros los parntesis son requeridos.
Introduccin a la Programacin
18 www.cotzureu.com| www.ia2web.com
Ejemplo: Un programa para calcular el salario de una persona, utilizando una funcin construida por el
programador.
Introduccin a la Programacin
19 www.cotzureu.com| www.ia2web.com
ndices comienzan en 0. Esto significa que un arreglo de 10 elementos tendra los ndices del 0 al 9:
[0...9]
Ejemplo prctico:
Introduccin a la Programacin
20 www.cotzureu.com| www.ia2web.com
Introduccin a Matrices
Las matrices aparecen por primera vez hacia el ao 1850, introducidas por J.J. Sylvester
El desarrollo inicial de la teora se debe al matemtico W.R. Hamilton en 1853.
En 1858, A. Cayley introduce la notacin matricial como una forma abreviada de escribir un sistema de m
ecuaciones lineales con n incgnitas.
Las matrices se utilizan en el clculo numrico, en la resolucin de sistemas de ecuaciones lineales, de las
ecuaciones diferenciales y de las derivadas parciales. Adems de su utilidad para el estudio de sistemas de
ecuaciones lineales, las matrices aparecen de forma natural en geometra, estadstica, economa,
informtica, fsica, etc
La utilizacin de matrices (arrays) constituye actualmente una parte esencial de los lenguajes de
programacin, ya que la mayora de los datos se introducen en los ordenadores como tablas organizadas en
filas y columnas: hojas de clculo, bases de datos.
Las matrices son realmente vectores bidimensionales, es decir, para indicar una posicin, se debe establecer
el ndice sobre el cateto X y sobre el cateto Y. Por tanto, su representacin grfica es una tabla.
Para declarar este tipo de arrays, se hace de igual manera que los vectores unidimensionales, es decir:
Introduccin a la Programacin
21 www.cotzureu.com| www.ia2web.com
12 Punteros
La declaracin de punteros utiliza un asterisco *, que en este caso acta como calificador de tipo, en una
sintaxis muy parecida a la utilizada en la declaracin de objetos normales. En este captulo nos referimos
exclusivamente a declaracin de punteros a objetos.
La sintaxis general de la declaracin de puntero a objeto es:
tipo_objeto * nombre_puntero
Introduccin a la Programacin
22 www.cotzureu.com| www.ia2web.com
se definen las variables miembro que va a tener la estructura Alumno y luego se crean dos variables alu1 y
alu2 de esa estructura. En C++ los objetos son las variables concretas que se crean de una determinada
clase. A veces se llaman tambin instances o data objects. Las clases de C++ son como una generalizacin de
las estructuras de C.
En C++ las clases son verdaderos tipos de datos definidos por el usuario y pueden serutilizados de igual
manera que los tipos de datos propios del C++, tales como int o float. Los objetos son a las clases como las
variables a los tipos de variables. Un objeto tiene su propio conjunto de datos o variables miembro, aunque
no de funciones, que aunque se aplican a un objeto concreto son propias de la clase a la que pertenece el
objeto.
Introduccin a la Programacin
23 www.cotzureu.com| www.ia2web.com