Académique Documents
Professionnel Documents
Culture Documents
Pgina 1 de 18
Objetivo de la asignatura:
El alumno podr plantear de manera sistemtica la solucin de problemas susceptibles de ser computarizados
mediante tcnicas estructuradas de diseo y formulacin de algoritmos.
La asignatura ser la herramienta inicial requerida por el alumno para aprender las estructuras bsicas de
control de instrucciones, que le permitan desarrollar soluciones lgicas a problemas susceptibles de ser
computarizados.
Unidades
1. Conceptos bsicos y reglas para el desarrollo de algoritmos
2. Tcnicas de diseo y formulacin de algoritmos
3. Estructuras algortmicas
4. Arreglos
5. Introduccin a C++
Bibliografa (el presente material es un resumen)
"Programacin en C++" Luis Joyanes Aguilar - Mc Graw Hill - 2000
Aprenda C++ como si estuviera en primero Referencia electrnica
Tutorial de Algoritmos del Instituto Tecnolgico de la Paz (http://www.itlp.edu.mx/publica/tutors.htm)
Cualquier texto que trate el diseo estructurado de algoritmos e introduccin a la programacin
Criterios de evaluacin
Examen escrito = 70%
Proyectos = 30%
Reglas del juego (a nivel universitario)
Programacin es una materia que requiere prctica y que se le dedique tiempo. No se recomienda hacer
copias ilegales de los trabajos del compaero y repasar 30 minutos antes del examen.
Se requiere puntualidad. Habr una tolerancia de 10 minutos para el pase de lista. No se manejan
retrasos.
Es necesaria completa responsabilidad y comportamiento en el trabajo. Esto implica puntualidad en la
entrega de trabajos, calidad ptima en los entregables y conducta adecuada. Persona que sea expulsada
del saln pierde sus 30 puntos de proyectos del parcial automticamente.
Mi trabajo consiste en ensear, el del estudiante de estudiar y preguntar sus dudas. Reservarse las dudas
del tema, se considerar como tema entendido y comprendido al 100%.
Persona que se sorprenda con la intencin de intercambiar informacin durante el examen, se le anular.
Slo habr un da de revisin de examen donde al trmino la calificacin ser definitiva.
Cualquier situacin que concierna a la asignatura y la clase se discutir conmigo. Hablando se entiende la
gente.
BIENVENIDO AL CURSO
Introduccin a la Programacin
Pgina 2 de 18
INTRODUCCIN
LOS LENGUAJES DE PROGRAMACIN
Software son todos los componentes intangibles de una
computadora, es decir, el conjunto de programas y
procedimientos necesarios para hacer posible la realizacin de
una tarea especfica, en contraposicin a los componentes fsicos
del sistema (hardware).
Las herramientas para desarrollar software (desde sistemas
operativos (Windows, Unux, Linux, BSD, ) hasta aplicaciones
particulares) reciben el nombre de lenguajes de programacin, y
stos estn compuestos por conjuntos de palabras que se
eslabonan unas con otras de acuerdo a ciertas reglas de sintaxis,
y que unidas correctamente, instruyen a la computadora (u otro
dispositivo) sobre qu debe hacer en determinadas
circunstancias.
La diversidad de los lenguajes de programacin es amplia, pero
de acuerdo con el enfoque seguido al crear software, es posible
dividirlos en tos tipos: los estructurados y los orientados a objetos.
Para desarrollar software, primero se escribe un documento de
texto siguiendo las reglas del lenguaje de programacin. El
archivo que contiene ese documento de texto se denomina
archivo fuente. Despus es preciso compilar los archivos fuente, o
sea, traducirlos al lenguaje de mquina. Una vez terminada la
compilacin, se crean archivos ejecutables, que son los que la
computadora corre cuando se le indica.
Lenguaje Mquina
Son aqullos que estn escritos en lenguajes directamente
inteligibles por la mquina (computadora), ya que sus
instrucciones son cadenas binarias que especifican una operacin
y las posiciones (direccin) de memoria implicadas en la
operacin. Las instrucciones en lenguaje mquina dependen del
hardware de la computadora y, por tanto, diferirn de una
computadora a otra.
Ventajas
Posibilidad de cargar (transferir un programa a la memoria)
sin necesidad de traduccin posterior, lo que supone una
velocidad de ejecucin superior a cualquier otro lenguaje de
programacin.
Desventajas
Dificultad y lentitud en la codificacin.
Poca fiabilidad.
Gran dificultad para verificar y poner a punto los programas.
Los programas solo son ejecutables en el mismo procesador
(CPU). Esto afecta directamente a la transportabilidad del
software.
Introduccin a la Programacin
Pgina 3 de 18
Introduccin a la Programacin
Pgina 4 de 18
DISEO ESTRUCTURADO DE
ALGORITMOS
CONCEPTOS BSICOS
ALGORITMOS
"Un algoritmo se define como un mtodo que se realiza paso a
paso para solucionar un problema que termina en un nmero finito
de pasos". Las caractersticas fundamentales que debe cumplir
todo algoritmo son:
1. Debe ser preciso. Indicando el orden de realizacin de cada
paso.
2. Debe ser definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
3. Debe ser finito. Si se sigue un algoritmo, se debe terminar en
algn momento; o sea debe tener un nmero finito de pasos.
Por ejemplo: determinar el mayor de 2 nmeros
Inicio
Obtener el primer nmero (entrada), denominado NUM1
Obtener el segundo nmero (entrada), denominado NUM2
Si NUM1 > NUM2 entonces
MAYOR=NUM1
En caso contario
MAYOR=NUM2
Fin
Algo que le da versatilidad a la programacin es que puede haber
varios algoritmos para resolver el mismo problema. La diferencia
reside en que unos son ms ptimos que otros, ya sea porque
son ms rpidos, consumen menos recursos etc.
Por ejemplo, qu hacer si se desea obtener el rea de un
tringulo?
SOLUCION 1: Aplicar (b x h) / 2
SOLUCION 2: Obtener el rea bajo la curva por medio de una
integral definida
Si el problema es resuelto satisfactoriamente no hay solucin
mala, sino menos ptima.
TIPOS DE DATOS
Un dato se define como la expresin general que describe los
objetos con los cuales opera una computadora. Los datos de
entrada se transforman por el programa, despus de las etapas
intermedias, en datos de salida.
Datos de
entrada
Procesamiento
Informacin
de entrada
Introduccin a la Programacin
Pgina 5 de 18
CONSTANTES Y VARIABLES
Una Constante es aqulla que no cambia de valor durante la
ejecucin de un programa.
Las Variables son aqullas que pueden modificar su valor durante
la ejecucin de un programa. Su representacin se da a travs de
identificadores que se les asigna un valor.
OPERADORES
Operadores Aritmticos
Son aqullos que permiten la realizacin de clculos aritmticos.
Utilizan operandos numricos y proporcionan resultados
numricos.
+
*
/
Div
Mod
^
Suma
Resta
Multiplicacin
Divisin real
Divisin entera
Residuo o mdulo
Exponenciacin
Operadores Relacionales
Permiten realizar comparaciones de valores de tipo numrico o
carcter. Estos operadores sirven para expresar las condiciones
en los algoritmos. Proporcionan resultados lgicos (verdadero o
falso).
<
>
=
<=
>=
<>
Menor que
Mayor que
Igual que
Menor o igual que
Mayor o igual que
Diferente de
Operadores Lgicos
Son aqullos que permiten la combinacin de condiciones para
formar una sola expresin lgica. Utilizan operandos lgicos y
proporcionan resultados lgicos tambin.
Se utilizan para formar condicionales complejas como por
ejemplo: todos los nmeros z entre 1 y 10.
Forma 1:
z>=1 Y z<=10
Forma 2:
NO (z<1 O z>10)
not
and
or
Negacin (No)
Conjuncin (Y)
Disyuncin (O)
Prioridad de Operadores
Determina el orden en que habrn de realizarse las operaciones
en una expresin determinada.
Las operaciones que estn encerradas entre parntesis se
evalan primero. Si existen diferentes parntesis anidados
(interiores unos a otros), las expresiones ms internas se evalan
primero.
En las operaciones aritmticas se sigue el siguiente orden de
prioridad: exponenciacin; multiplicaciones y divisiones; sumas y
restas. Si los operadores tienen la misma prioridad entonces se
evalan de izquierda a derecha.
As:
10 / 5 + 2 =
10 / (5 + 2) =
2+2
4
10 / 7
1.42
ACUMULADOR = ACUMULADOR + X
CONTADOR
Cualquier dispositivo que se utilice para acumular el nmero de
veces que se realiza un proceso. Es un tipo especial de
acumulador que se inicializa con cero y los valores que va
acumulando cada vez es la unidad.
CONT = 0
CONT = CONT + 1
MULTIPLICADOR
Identificador que se emplea para multiplicar otro y acumular el
producto generado. Debe ser inicializado con la unidad para evitar
la nulificacin del producto.
MULT = 1
MULT = MULT * X
Introduccin a la Programacin
Pgina 6 de 18
PSEUDOCDIGO Y
DIAGRAMAS DE FLUJO
Inicio
PSEUDOCDIGO
Es una tcnica para expresar en lenguaje natural la lgica de un
programa mediante el empleo de palabras claves. Permite
obtener la solucin a un problema mediante aproximaciones
sucesivas pues es una herramienta para el diseo de programas y
no una notacin para la descripcin de los mismos. A
continuacin las instrucciones y la forma en que trabaja.
DIAGRAMA DE FLUJO
Es la representacin grfica de la solucin de un problema, por
medio de smbolos estandarizados que se colocan en una
secuencia adecuada para indicar las fases lgicas de la solucin
de un problema.
El sentido de ejecucin es de arriba hacia abajo y de izquierda a
derecha. Sirve como un medio de comunicacin eficiente, como
herramienta de anlisis y una forma concisa de documentacin.
Entre sus ventajas estn:
1. Presentar un panorama total de la solucin del problema
2. Facilita la deteccin de posibles errores
3. Detecta si alguna alternativa no ha sido tomada en cuenta
para la solucin
4. Puede codificarse para cualquier lenguaje de programacin
5. Puede documentarse el problema con precisin
6. Representa grficamente el flujo de datos
Ejemplo: Redactar el pseudocdigo y hacer el diagrama de flujo
correspondiente para calcular el rea de un tringulo.
INICIO
LEER base
LEER altura
HACER area = (base * altura) / 2
IMPRIMIR El rea del triangulo es , area
TERMINAR
Smbolo de terminal
Representa inicio
base, altura
Smbolo de entrada de
datos
Smbolo de
procesamiento de datos
El rea del
triangulo es , area
Fin
Smbolo de impresin
Notar el Texto que se
imprime Vs las
variables
Smbolo de terminal
Representa final
INSTRUCCIONES DE DECISIN
SI ENTONCES SINO FIN DE SI
Esta instruccin se emplea cada vez que es necesaria una
comparacin a la hora de tomar una decisin al realizar un
proceso. Cuando la condicin dada se cumple (se dice que es
VERDADERA) se ejecuta el proceso indicado despus del
ENTONCES. Cuando la condicin no se cumple (se dice que es
FALSA) se ejecuta el proceso indicado despus del SINO.
Independientemente que se cumpla o no la condicin, es decir,
que sea VERDADERA o FALSA, despus de cada proceso se
sale de la instruccin SI por un FIN DE SI. As tenemos:
SI condicin ENTONCES
Grupo de instrucciones que se realizan si la condicin se
cumple (es VERDADERA)
SINO
Grupo de instrucciones que se realizan si la condicin no se
cumple (es FALSA)
FIN DE SI
Ntese la identacin, es decir las sangras que se dejan para
poder diferenciar las instrucciones que le corresponden al
ENTONCES y a las que les corresponde al SINO.
Puede ser omitido el manejo del SINO cuando no se requiera
accin cuando la condicin sea FALSA. As tenemos:
SI condicin ENTONCES
Grupo de instrucciones que se realizan si la condicin se
cumple (es VERDADERA)
FIN DE SI
Al no existir el SINO, cuando la condicin sea FALSA se sale del
SI por medio del FIN DE SI sin haber hecho ninguna accin.
Introduccin a la Programacin
Pgina 7 de 18
Introduccin a la Programacin
Pgina 8 de 18
INSTRUCCIONES DE REPETICIN
MIENTRAS HACER FIN DE MIENTRAS
En esta estructura, se revisa en primer lugar una condicin. Si
esta condicin es verdadera se pasa a realizar las acciones. Una
vez que se terminen con estas acciones se vuelve a evaluar la
condicin y se repite el proceso de manera sucesiva. En el
momento que la condicin sea falsa se sale de la instruccin. Si
en la primera vez la condicin es falsa las instrucciones no se
realizarn ni siquiera una vez.
Introduccin a la Programacin
Pgina 9 de 18
HACER MIENTRAS
Esta instruccin es muy similar al MIENTRAS HACER FIN DE
MIENTRAS. De igual forma se tiene una condicin, pero ser
evaluada al final de las acciones, de manera que stas se realizan
al menos una vez. De forma anloga, si la condicin es verdadera
se repetirn las acciones. En el momento que la condicin resulte
falsa se sale del ciclo repetitivo.
Qu ciclo usar?
Aunque pueden utilizarse en la mayora de los casos un ciclo
MIENTRAS, HACER MIENTRAS o DESDE; en algunas
circunstancias son deseables algunos por sus caractersticas
propias.
Por ejemplo, supongamos que en un momento del programa se
debe leer una calificacin. Obviamente la calificacin no puede
ser un nmero diferente al rango 0-100. Por lo tanto se puede
forzar la repeticin hasta que se proporcione un dato correcto.
FORMA 1 (usando MIENTRAS)
LEER calif
MIENTRAS calif < 0 calif >100 HACER
LEER calif
FIN DE MIENTRAS
HACER
LEER calif
MIENTRAS calif < 0 calif >100 HACER
Introduccin a la Programacin
Pgina 10 de 18
ARREGLOS
Los arreglos tienen como caracterstica que con un nico
identificador se puede representar mltiples datos individuales,
donde cada uno de ellos puede ser referenciado de forma
separada. Pueden considerarse como conjuntos de elementos del
mismo tipo de dato en donde cada uno de esos elementos tiene
una posicin determinada. Dicha posicin la marca un ndice que
puede ser un identificador variable o constante con valor
numrico. La ventaja primordial es que los valores se almacenan
en memoria y pueden ser utilizados sin necesidad de leerlos
nuevamente.
El nombre de un arreglo se forma de la siguiente forma: se da un
identificador seguido de un identificador que representa un ndice
que debe ir encerrado entre corchetes. Este ndice nos indica la
posicin del elemento dentro del arreglo.
Hay varios tipos de arreglos:
Unidimensionales o vectores: son los que slo utilizan un
ndice
Bidimensionales, matrices o tablas: si tienen 2 ndices
Tridimensionales: si tienen 3 ndices.
Desde el momento en que se tengan ms de un ndice se llamar
arreglo multidimensional.
La sintaxis para la representacin de los elementos de un arreglo
es la siguiente:
Identificador_arreglo
ndice
,
El orden o rango de un arreglo es el nmero de elementos que lo
conforman. Los elementos del arreglo pueden ser utilizados como
si fueran variables ordinarias. En estos casos el elemento del
arreglo se expresa por el nombre del arreglo, seguido del valor del
ndice apropiado encerrado entre corchetes.
Condiciones de los ndices
Su valor debe ser un entero positivo
Puede ser una constante, una variable o una expresin
Pueden realizarse operaciones aritmticas, pero los
resultados de estas deben satisfacer a la primera condicin.
Pueden ser elementos de otro arreglo
Lectura de arreglos unidimensionales
Se recomienda ampliamente el uso de la iteracin que el DESDE
ofrece, para que de esta forma se lean consecutivamente los
elementos que lo conforman.
Por ejemplo: leer 5 valores y almacenarlos en un arreglo llamado
x.
MTODOS DE ORDENAMIENTO
Mtodos de la burbuja
El mtodo de la burbuja consiste en que el elemento con el cual
se inicie la ordenacin quede ubicado en la primera posicin del
arreglo y as sucesivamente se contina con los dems elementos
que conforman el arreglo en cuestin.
Se lleva a efecto N 1 veces la comparacin de los elementos del
arreglo consigo mismo, hasta que no se efecte intercambio
alguno de los valores.
Introduccin a la Programacin
Pgina 11 de 18
Mtodos de intercambio
Tambin conocido como burbuja mejorada. Consiste en efectuar
N comparaciones de dos elementos con posicin subsiguiente
(primero con segundo, segundo con tercero), hasta el momento
en el cual no se lleve intercambio alguno de los valores del
arreglo. Para controlar el proceso se maneja una bandera, la cual
cambiar de valor cuando se haya realizado algn intercambio de
valores.
HACER MIENTRAS
Cambios = false
DESDE i = 1 HASTA (N 1) HACER
SI x[ i ] > x[i + 1] ENTONCES
aux = x[ i ]
x[ i ] = x[i + 1]
x[i + 1] = aux
Cambios = true
FIN DE SI
FIN DE DESDE
MIENTRAS Cambios
ARREGLOS MULTIDIMENSIONALES
Los arreglos multidimensionales permiten trabajar tablas de datos
compuestos de filas y columnas. Esto es, el primer ndice sirve
para referirse a la fila y el segundo a la columna donde se
encuentra el elemento en cuestin. Independientemente de cual
sea su dimensin, un arreglo siempre constar de una serie de
datos del mismo tipo.
Para las aplicaciones de los arreglos multidimensionales se
utilizan los bucles o ciclos anidados, esto es, que es necesario un
bucle para cada una de las dimensiones (uno para cada ndice).
Orden de columna
DESDE j = 1 HASTA NumeroColumnas HACER
DESDE i = 1 HASTA NumeroFilas HACER
LEER x[i, j]
FIN DE DESDE
FIN DE DESDE
En ambos casos, puede observarse que el ciclo interno es ms
rpido que el externo.
CONCEPTOS MATRICIALES
Matriz: Arreglo formado por elementos que estn distribuidos en
filas y columnas. En cada elemento se tienen dos ndices, el
primero representa la fila y el segundo la columna que ocupa en el
arreglo.
Igualdad de matrices: Para que dos matrices sean iguales deben
tener el mismo orden y que cada uno de los elementos de una de
ellas sea igual al correspondiente de la otra.
Matriz cuadrada: Es aquel arreglo donde el nmero de filas es
igual al de columnas. Tiene dos diagonales:
Diagonal principal: la conforman aquellos elementos que tienen en
el ndice de la columna el mismo valor que el ndice de la fila.
Diagonal inversa: son los elementos cuya suma de los valores de
los ndices da por resultado el valor del orden ms uno.
Matriz identidad: Es aquella que en la diagonal principal tiene
elementos cuyo valor es la unidad y los restantes son ceros.
Matriz simtrica: Los elementos que estn debajo de la diagonal
principal son iguales a sus correspondientes que estn arriba de
la diagonal.
Es decir, se cumple que A[I, J] = A[J, I]
Matriz antisimtrica: Los elementos que estn debajo de la
diagonal principal son iguales a sus correspondientes que estn
arriba de la diagonal pero con signo cambiado.
Es decir, se cumple que A[I, J] = A[J, I]
Introduccin a la Programacin
Pgina 12 de 18
BUG
Es un error que posee el programa (usualmente detectado por
el usuario) que implica que el software requiere una
depuracin.
ERROR SINTCTICO
Error cometido cuando se escribe un cdigo que viola las
reglas de sintaxis del lenguaje de programacin. Son errores
sencillos de depurar pues los compiladores los detectan.
ERROR LGICO
Error cometido en la lgica del programa pero sin violar
ninguna regla de sintaxis. Son extremadamente complicados
de detectar, pues el compilador interpreta que todo se
encuentra correcto aunque el software arroje resultados
equivocados. Ejemplo de error lgico muy comn: no inicializar
con cero los contadores.
Cmo se programa en C++?
Una vez que se tiene la lgica del programa plasmada en un
algoritmo se deber escribir el cdigo en la sintaxis de C++ en un
archivo de texto plano. Esto significa que debe usarse un editor de
textos que NO establezca formato como el edit, notepad, o
similares.
Se debe evitar el uso de procesadores de texto que incluyan en
los archivos basura (para el proceso de codificacin) de formato.
Lo anterior significa usar Word o parecidos.
Una vez que tenemos el archivo fuente (archivo con extensin
CPP) con todo el cdigo en C++, ste no es ejecutable por el
sistema operativo (Windows, Linux, Unix, etc.). Deber
compilarse para obtener un archivo ejecutable (archivo con
extensin EXE).
El compilador, adems de traducir el cdigo fuente a cdigo
ejecutable se encargar de revisar el cdigo fuente en busca de
errores. Turbo C++ presentar 2 tipos de errores. Los errors son
errores de sintaxis que debern ser corregidos obligatoriamente
para generar el ejecutable. Los warnings son situaciones en los
que el ejecutable se ha generado pues no implica necesariamente
un error en el cdigo, pero deber ser revisado porque podra ser
el causante de algn problema posterior.
Una vez que se poseen 0 errors y 0 warnings se puede considerar
que el cdigo fuente est depurado al 100% en la sintaxis. Deber
probarse el cdigo para cerciorarse de que no se han cometido
errores lgicos.
C++ es un lenguaje de programacin muy estricto en cuanto a la
sintaxis. Por lo tanto esta debe ser estudiada de memoria.
Introduccin a la Programacin
Pgina 13 de 18
//Bibliotecas
//Opcional
Comentarios
Hay dos tipos de comentarios: los de estilo C comienzan con la
secuencia /* y terminan con la secuencia */ y pueden ocupar una
o ms lneas. Los de estilo C++ siempre comienzan con // y se
considera comentario todos los caracteres que sigan hasta el final
de la lnea.
El objetivo de los comentarios es mencionar algn aspecto de
inters por parte del programador en el programa. Es importante
establecer la sintaxis de comentario de forma adecuada, pues de
lo contrario el compilador intentar compilar el texto que se est
escribiendo y como lo ms probable es que no coincida con la
rigurosa sintaxis de C++ se marcar error.
Identificadores
Un identificador es una secuencia de letras, dgitos y subrayados.
Las maysculas y minsculas se consideran diferentes. Los
identificadores sern utilizados para trabajar variables.
Es indispensable que las variables antes de ser utilizadas sean
declaradas especificando un tipo de dato y que su nombre no sea
una palabra reservada.
Tipos de datos
C++ es un lenguaje fuertemente tipado. Esto significa que antes
de usar una variable deber ser declarada.
Introduccin a la Programacin
Pgina 14 de 18
Booleano o lgico
C++ no incluye el tipo de dato booleano como en otros lenguajes
de programacin. Puede simularse con el tipo de dato entero,
pues para C++ todo valor entero diferente de cero es considerado
como verdadero y el 0 es considerado como falso.
clrscr();
//se limpia la pantalla
cout<< Hola. Bienvenido al 1er programa;
cout<< \nTu nombre: ;
gets(nombre);
cout<< \nAo de nacimiento: ;
cin>> anioNac;
cout<< \nAo actual: ;
cin>> anioAhora;
cout<< \nPromedio anterior: ;
cin>> promedio;
Constantes carcter
Es un carcter encerrado entre comillas simples ( ).
Secuencias de escape
En realidad representan un solo carcter, aunque se escriban con
ms de uno. Las ms tiles son:
\n
nueva lnea
\t
tabulacin
\0
carcter nulo
Constante cadena
Es una secuencia de caracteres encerrados entre comillas dobles
( ). En memoria se representan por una serie de caracteres
ms un carcter nulo. El carcter nulo marca el final de la cadena
y se inserta automticamente por el compilador. Por lo tanto no es
lo mismo A que A. La primera es una constante de carcter A,
mientras que la segunda es una cadena que en realidad posee el
carcter A y el carcter nulo.
OPERADORES Y EXPRESIONES
El operador de asignacin = asigna el valor de la expresin
derecha a la variable situada a su izquierda, y puesto que este
operador es asociativo por la derecha se permite realizar
asignaciones mltiples como a=b=c=45;
Operadores de asignacin
Op.
=
*=
/=
%=
+=
-=
Uso
a=b
a*=b
a/=b
a%=b
a+=b
a-=b
Equivale a
a=a*b
a=a/b
a=a%b
a=a+b
a=a-b
Operadores aritmticos
ESCRITURA DEL PRIMER PROGRAMA EN C++
No se debe olvidar que C++ considera diferente a las maysculas
y minsculas.
/* Este es el primer programa en C++. Se utiliza
un comentario tipo C para que pueda abarcar ms de
una lnea de comentario */
//LIBRERAS DE BIBLIOTECA
#include<iostream.h> //Para usar cin y cout
#include<conio.h> //Para usar getch() y clrscr()
#include<stdio.h> //Para usar gets()
//PROGRAMA PRINCIPAL
void main(){
//Declaracin de variables
int edad;
//dato entero
int anioNac;
//dato entero
int anioAhora;
//dato entero
Op.
+
*
/
%
Introduccin a la Programacin
Pgina 15 de 18
Operadores relacionales
Op.
==
!=
>
<
>=
<=
ESTRUCTURAS DE SELECCIN
Significado
igual que
diferente que
mayor que
menor que
mayor o igual que
menor o igual que
Operadores lgicos
Op.
!
&&
||
Significado
Funcin
Negacin
Niega de V a F y viceversa
Y lgica
Devuelve V si todos los operandos son V
O lgica
Devuelve V si al menos un operando es V
int a=10;
float b=20.3;
b=a; //No hay problema
a=b; //Resultado impredecible
Conversin de tipos explcita
Se hace mediante el operador de cast. Hay 2 maneras:
(Tipo_de_dato) valor //Estilo C: convierte valor a Tipo_de_dato
Tipo_de_dato (valor) //Estilo C++: convierte valor a Tipo_de_dato
Esto es muy til para evitar divisiones enteras por accidente.
if - else
if (condicin) {
Instrucciones a ejecutar si condicin es verdadera
}
else {
Instrucciones a ejecutar si condicin es falsa
}
Caractersticas
En su forma ms sencilla el if puede omitir la parte else. Si l
condicin fuera falsa no se realizar ninguna accin.
Si tenemos un if que trae else, en su ejecucin o se ejecutan
slo las instrucciones correspondientes al if o slo las
instrucciones que le corresponden al else. La razn de lo
anterior se debe a que la condicin o es verdadera o falsa en
un momento determinado.
Independientemente si la condicin es verdadera o falsa, si
las instrucciones del if o else son en realidad una sola
instruccin, entonces podrn omitirse las llaves.
switch
switch (expresin) {
case valor1:
Instrucciones a ejecutar si expresin es igual a valor1
break;
case valor2:
Instrucciones a ejecutar si expresin es igual a valor2
break;
default: // opcional
Instrucciones si expresin no coincide con ninguna etiqueta
}
Caractersticas
El valor de la expresin debe ser de tipo int o char
Cada etiqueta (por ejemplo valor1) es un valor nico,
constante. Si estamos trabajando con tipo char, no olvides
encerrar el carcter entre comillas simples.
Si el valor de expresin es igual a una de las etiquetas case,
entonces la ejecucin comenzar con la primera instruccin
a partir del case y terminar hasta encontrar el primer break
que se encuentre
Si el valor de expresin no coincide con ninguna etiqueta
case y no se ha establecido un default entonces el control se
pasar a la siguiente instruccin despus del switch sin
realizar ninguna accin.
CICLOS O BUCLES
while
while (condicin) {
Instrucciones que se ejecutan mientras condicin sea
verdadera
}
Introduccin a la Programacin
Pgina 16 de 18
do - while
do {
Instrucciones que se ejecutan mientras condicin sea
verdadera
} while (condicin);
Caractersticas
Los bucles while y do-while son muy parecidos. Ambos estn
controlados por una condicin que ser verdadera o falsa. La
diferencia consiste en que momento se analiza la condicin.
En los ciclos while la condicin se evala al principio. Si la
primera vez que se revisa dicha condicin es falsa, las
instrucciones no se ejecutarn ni una sola vez devolviendo el
control del programa a la siguiente instruccin despus del
while. Si la condicin fuera verdadera, entonces se llevan a
cabo las instrucciones del bucle y se vuelve a revisar la
condicin repitiendo el procedimiento explicado.
En los ciclos do-while la condicin se evala hasta el final. La
primera vez se ejecutarn las instrucciones (sin importar si la
condicin es verdadera o falsa) y luego se verificar la
condicin. Si sta es falsa se sale del ciclo (pero las
instrucciones ya se ejecutaron al menos una vez) y se
devuelve el control del programa a la siguiente instruccin
despus del do-while. Si es verdadera se vuelven a ejecutar
las instrucciones del bucle una vez ms y se revisa
nuevamente la condicin repitiendo el procedimiento
explicado.
De forma anloga al if, si las instrucciones a ejecutar en el
ciclo (ya sea do o do-while) en realidad es una sola
instruccin, podrn omitirse las llaves.
Las condiciones debern ser falsas en algn momento. De lo
contrario se cae en un bucle infinito.
3.
4.
Caractersticas
Los bucles for difieren de los bucles while y do-while en que
el for est controlado por contador mientras que los otros
estn controlados por condicin. Esto significa que con el for
ya se sabe de antemano cuantas veces han de repetirse las
instrucciones, mientras que con el while y do-while este dato
no se sabe por anticipado.
Ejemplo:
for(i=0; i <=5; i++) {
// incremento de uno en uno
cout << Esto se repite 6 veces. No 5. \n;
cout << i = << i << \n; // i = 0, 1, 2, 3, 4 y 5. Cuando i = 6
// la condicin (i <=5) ser falsa y el
// for termina
}
do {
cout << Esto se imprime una sola vez;
} while (0); // La condicin es falsa
ARREGLOS
El bucle for contiene 4 partes:
1. Inicializacin. Inicializa las variables de control del bucle.
Pueden usarse una o ms variables. Estas variables son en
realidad contadores.
2. CondicinIteracin. Contiene una expresin lgica que hace
que el bucle realice las iteraciones de las instrucciones,
mientras que la expresin sea verdadera. Esta condicin
Introduccin a la Programacin
Pgina 17 de 18
Declaracin de un arreglo
tipo_de_datos Nombre_del_arreglo [ Nmero_de_elementos ];
Introduccin a la Programacin
Pgina 18 de 18
EJERCICIOS
A continuacin se especifican diversas situaciones en las que se
desea una solucin especfica. Escribe el programa completo en
C++ para lograr dichas peticiones.
Ejercicios de estructuras de seleccin y repeticin
1. Leer el radio de un crculo y calcular el rea y permetro.
2. Leer 4 datos de tipo real llamados A, B, C y D y calcular el
valor de x en funcin de un valor entero k de acuerdo a lo
siguiente:
Si k=1 entonces x= A+B+C+D
Si k=2 entonces x= (A+B+C+D)/4
Si k=3 entonces x= (A/B) (C/D)
Si k=4 entonces x= A2+B2-C2-D2
Si k=5 entonces x= (A+B)1/2 (C+D)1/2
Se debe validar que k est en el rango de 1 a 5 y que no se
hagan operaciones incorrectas (divisiones entre cero y races
cuadradas con nmeros negativos)
3. Leer el nmero de da, mes y el ao (cuatro dgitos). Debe
obtenerse el nombre del mes y la cantidad de das
transcurridos desde el primero de enero. Tmese en cuenta
el ao bisiesto. Sugerencia: si el ao es divisible entre 4
puede considerarse como bisiesto.
4. Dado dos puntos en el eje cartesiano, obtener la distancia
entre ellos. La frmula es: D = ((x1 - x2)2 + (y1 - y2)2)1/2
5. Convertir una temperatura en grados Celsius a Fahrenheit.
La frmula de conversin es F = (9 / 5)C + 32
6. Resolver una ecuacin cuadrtica de la forma ax2 + bx + c =
0
7. Leer n nmeros enteros que deben ser positivos. Contar los
pares y efectuar el producto de los impares. Contar cuantos
terminan en 6. Averiguar cual es el mayor y el menor.
8. Generar los n primeros nmeros de la secuencia de
Fibonacci. En la secuencia de Fibonacci el primer valor es 0
y el segundo 1, los dems se calculan a partir de la suma de
los 2 valores anteriores. As: 0, 1, 1, 2, 3, 5, 8, 13,
9. Calcular el logaritmo natural de un nmero entero positivo x,
mediante la evaluacin de w trminos de la siguiente serie:
Ln( x) =
r!( n r )!
Ejercicios de arreglos
18. Leer n calificaciones. Calcular cuantos estn reprobados.
Averiguar cual es la mayor y la menor. Cuantos estn abajo
y arriba del promedio. Ordenarlas de forma ascendente y
mostrarlas al usuario.
19. Se debe proporcionar un arreglo de dos dimensiones de
orden M x N. Determinar cual es el elemento menor de todo
el arreglo as como la posicin que ocupa en l.
20. Leer un arreglo bidimensional de orden L x L. Calcular el
producto de los elementos de la diagonal inversa y principal.
21. Leer dos arreglos llamados A y B de orden M x N y calcular
la suma de los arreglos dados. Determinar el elemento
menor y la posicin que ocupa en el arreglo calculado.
22. Leer un vector x de n elementos numricos. Calcular la
varianza
de
dicho
vector.
La
frmula
es:
N
(x[i ] media )
Var =
i =1
de la siguiente forma: R = 1
6 ( x[i ] y[i ])
i =1
N N 2 1
INVESTIGACIONES
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Compilador Vs Intrprete
Historia y caractersticas Fortran, C, Java, Visual Basic, C#
Programacin secuencial Vs Modular Vs POO
IDEs. NetBeans, SharpDevelop, Visual Studio .Net
C Vs C++ / C++ Vs C#
C++ Vs Java / Java Vs VB .Net
Basic Vs Visual Basic 6 / Visual Basic 6 Vs VB .Net
Mquina virtual (JRE, Framework .Net)
Modelo espiral de desarrollo de software
Caractersticas y funcionamiento de printf y scanf
Caractersticas de UML para desarrollo de software
Caractersticas (que es, lenguaje en que se programa,
tecnicismos) de GNOME y KDE
AJAX, PHP, ASP, JavaScript
API, DirectX, OpenGL
Ensamblador como HW + SW (Programacin de PICs)
Programacin distribuida y multihilo (o concurrente)