Вы находитесь на странице: 1из 9

GUIA PROGRAMCIN

Introduccin a la programacin
4 Control de flujo.
4.1 Estructuras secuenciales.
La estructura secuencial es aquella en la que una accin (instruccin) sigue a
otra en secuencia. Las tareas suceden de tal modo que la salida de una, es la
entrada de la siguiente y as sucesivamente hasta el fin del proceso.
En Pseudocdigo una Estructura Secuencial se representa de la siguiente
forma:

PSEUDOCODIGO Nombre
VARIABLES
CONSTANTES

INICIO
accion
accion1
accion2
.
.
.
accionN
FIN
Ejemplo 1: Escriba un algoritmo que pregunte por dos nmeros y muestre como resultado la suma de
estos. Use Pseudocdigo y diagrama de flujos.
PSEUDOCODIGO SUMAR
VARIABLES
Num1,Num2,Suma: Entero
INICIO
Escribir ('introduzca dos numeros')
leer (Num1, Num2)
Suma=Num1 + Num2
escribir ('La suma es:' , Suma)
FIN

http://informaticaingqmi.blogspot.mx/2010/05/estructuras-secuenciales-clasen02.html

4.2 Estructuras selectivas: simple, doble y mltiple.


ESTRUCTURAS SELECTIVAS SIMPLES.
Se identifican porque estn compuestos nicamente de una condicin. La
estructura si - entonces evala la condicin y en tal caso:
Si la condicin es verdadera, entonces ejecuta la accin Si (o acciones si
son varias).

Si la condicin es falsa, entonces no se hace nada.


Espaol

Ingls

Si <condicin>
Entonces
<accin Si>
fin_si

If <condicin>
then
<accin Si>
endif

Ejemplo 1.
Construir un algoritmo tal, que dado como dato la calificacin de un alumno en
un examen, ----escriba "Aprobado" en caso que esa calificacin fuese mayor
que 8.
Ejemplo 1 en c++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int calif;
cout<<"Programa ejemplo de estructuras de seleccion simple\n\n";
cout<<"Introduca la calificacion del alumno: ";
cin>>calif; cout<<"\n\n";
if (calif>=8){

cout<<"El alumno esta aprovado\n\n";


}
system("PAUSE");
return 0;
Estructura de seleccin doble.
Son estructuras lgicas que permiten controlar la ejecucin de varias acciones
y se utilizan cuando se tienen dos opciones de accin, por la naturaleza de
estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son
mutuamente excluyentes.
Representacin pseudocodificada.
Espaol
Si <condicin>
Entonces
<accin S1>
Sino
<accin S2>
Fin_Si

Ingls
If<condicin>
Then
<accin S1>
Else
<accin S2>
End_if

Entonces, si una condicin C es verdadera, se ejecuta la accin S1 y si es falsa,


se ejecuta la accin S2.
Ejemplo 2
Dado como dato la calificacin de un alumno en un examen, escriba
"aprobado" si su calificacin es mayor que 8 y "Reprobado" en caso contrario.
Ejemplo 2 en c++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
int calif;
cout<<"Programa ejemplo de estructuras de seleccion simple\n\n";
cout<<"Introduca la calificacion del alumno: ";
cin>>calif; cout<<"\n\n";
if (calif>=8){
cout<<"El alumno esta aprovado\n\n";
}

else {
cout<<"El alumno esta reprovado\n\n";
}
system("PAUSE");
return 0;
}

Ejemplo 3
Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si su
sueldo es inferior a $1000 y 12% en caso contrario, luego imprimir el nuevo
sueldo del trabajador.
Ejemplo 3 en c++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
int sueldo;
cout<<"Programa para calcular el aumento de sueldo\n\n";
cout<<"Cual es el sueldo del trabajador?: ";
cin>>sueldo; cout<<"\n\n";
if (sueldo<1000){
sueldo=sueldo+(sueldo*0.15);
cout<<"El nuevo sueldo del trabajador sera: "<<sueldo<<"\n\n";
}
else{
sueldo=sueldo+(sueldo*0.12);
cout<<"El nuevo sueldo del trabajador sera: "<<sueldo<<"\n\n";
}
system("PAUSE");
return 0;
}

Estructuras selectivas compuestas.

En la solucin de problemas encontramos numerosos casos en los que luego de


tomar una decisin y marcar el camino correspondiente a seguir, es necesario

tomar otra decisin. Dicho proceso puede repetirse numerosas veces. En


aquellos problemas en donde un bloque condicional incluye otro bloque
condicional se dice que un bloque est anidado dentro del otro.

Ejemplo 4
Determinar la cantidad de dinero que recibir un trabajador por concepto de
las horas extras trabajadas en una empresa, sabiendo que cuando las horas de
trabajo exceden de 40, el resto se consideran horas extras y que stas se
pagan al doble de una hora normal cuando no exceden de 8; si las horas extras
exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora
normal y el resto al triple.
Ejemplo 4 en c++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
int sueldo,SueldoTotal,horas,horasextras,horasexedentes;
cout<<"Programa para calcular el pago de horas extras de un
trabajador\n\n";
cout<<"Cuantas horas trabajo el trabajador?: ";
cin>>horas; cout<<"\n";
cout<<"Cual es el sueldo por hora del trabajador?: ";
cin>>sueldo; cout<<"\n\n";
if (horas>40){
horasextras=horas-40;
if (horasextras>8){
horasexedentes=horasextras-8;
horasextras=horasextras-horasexedentes;
SueldoTotal= (horas*sueldo)+(sueldo * 2 * 8) +
(sueldo * 3 *
horasexedentes);
}
else {
horas=horas-horasextras;
SueldoTotal= (horas*sueldo)+(sueldo * 2 *
horasextras);
}
}
else{
SueldoTotal=horas*sueldo;

}
cout<< "El sueldo total del trabajador es: "<<SueldoTotal<<"\n\n";
system("PAUSE");
return 0;
}

Estructura selectiva mltiple.


Con frecuencia es necesario que existan ms de dos elecciones posibles. Este
problema se podra resolver por estructuras selectivas simples o dobles,
anidadas o en cascada, pero si el nmero de alternativas es grande puede
plantear serios problemas de escritura y de legibilidad.
Usando la estructura de decisin mltiple se evaluar una expresin que podr
tomar n valores distintos, 1, 2, 3,...., n y segn que elija uno de estos valores
en la condicin, se realizar una de las n acciones o lo que es igual, el flujo del
algoritmo seguir slo un determinado camino entre los n posibles.
Esta estructura se representa por un selector el cual si toma el valor 1
ejecutar la accin 1, si toma el valor 2 ejecutar la accin 2, si toma el valor N
realizar la accin N.
Ejemplo 5
Dados como datos la categora y el sueldo de un trabajador, calcule el aumento
correspondiente teniendo en cuenta la siguiente tabla. Imprimir la categora del
trabajador y el nuevo sueldo.
Categora
1
2
3
4

Aumento
15
10
08
07

4.3 Estructuras iterativas: repetir mientras, hasta, desde


4.4 Diseo e implementacin de funciones

5 Arreglos
5.1 Unidimensionales: conceptos bsicos, operaciones y aplicaciones.
5.2 Multidimensionales: conceptos bsicos, operaciones y aplicaciones.

Programacin Orientada a Objetos


2 Clases y objetos.
2.1 Declaracin de clases: atributos, mtodos, encapsulamiento.
2.2 Instanciacin de una clase.
2.3 Referencia al objeto actual.
2.4 Mtodos: declaracin, mensajes, paso de parmetros, retorno de valores.
2.5 Constructores y destructores: declaracin, uso y aplicaciones.
2.6 Sobrecarga de mtodos.
2.7 Sobrecarga de operadores: Concepto y utilidad, operadores unarios y binarios.
3 Herencia.
3.1 Definicin: clase base, clase derivada.
3.2 Clasificacin. Herencia simple, herencia mltiple.
3.3 Reutilizacin de miembros heredados.
3.4 Referencia al objeto de la clase base.
3.5 Constructores y destructores en clases derivadas.
3.6 Redefinicin de mtodos en clases derivadas.
4 Polimorfismo.
4.1 Definicin.
4.2 Clases abstractas: definicin, mtodos abstractos, implementacin de clases
abstractas, modelado de clases abstractas.
4.3 Interfaces: definicin, implementacin de interfaces, herencia de interfaces.
4.4 Variables polimrficas (plantillas): definicin, uso y aplicaciones.
4.5 Reutilizacin de cdigo.
5 Excepciones.
5.1 Definicin.
5.2 Tipos de excepciones.
5.3 Propagacin de excepciones.
5.4 Gestin de excepciones: manejo de excepciones, lanzamiento de
excepciones.
5.5 Creacin y manejo de excepciones definidas por el usuario.
6 Flujos y Archivos.
6.1 Definicin.
6.2 Clasificacin: Archivos de texto y binarios.
6.3 Operaciones bsicas y tipos de acceso.
6.4 Manejo de objetos persistentes.

Estructura de datos
1 Introduccin a las estructuras de datos.
1.1 Tipos de datos abstractos (TDA).

1.2 Modularidad.
1.3 Uso de TDA.
1.4 Manejo de memoria esttica.
1.5 Manejo de memoria dinmica
2 Recursividad
2.1 Definicin
2.2 Procedimientos recursivos
2.3 Ejemplos de casos recursivos
3 Estructuras lineales
Listas.
Operaciones bsicas con listas.
Tipos de listas.
Listas simplemente enlazadas.
Listas doblemente enlazadas.
Listas circulares.
Aplicaciones.
Pilas.
Representacin en memoria esttica y dinmica.
Operaciones bsicas con pilas.
Aplicaciones.
Notacin infija y postfija.
Recursividad con ayuda de pilas.
Colas.
Representacin en memoria esttica y dinmica.
Operaciones bsicas con colas.
Tipos de colas: Cola simple, Cola circular y Colas dobles.
Aplicaciones: Colas de prioridad.
4 Estructuras no lineales
4.1 Arboles.
4.1.1 Concepto de rbol.
4.1.2 Clasificacin de rboles.
4.1.3 Operaciones bsicas sobre rboles binarios.
4.1.4 Aplicaciones.
4.1.5 Arboles balanceados (AVL).
4.2 Grafos.
4.2.1 Terminologa de grafos.
4.2.2 Operaciones bsicas sobre grafos.

5 Mtodos de ordenamiento
5.1 Algoritmos de Ordenamiento Internos
5.1.1 Burbuja.
5.1.2 Quicksort.
5.1.3 ShellSort.
5.1.4 Radix
5.2 Algoritmos de ordenamiento Externos
5.2.1 Intercalacin
5.2.2 Mezcla Directa
5.2.3 Mezcla Natural
6 Mtodos de bsqueda
6.1 Bsqueda secuencial
6.2 Bsqueda binaria
6.3 Bsqueda por funciones de HASH
7 Anlisis de los algoritmos
7.1 Complejidad en el tiempo.
7.2 Complejidad en el espacio.
7.3 Eficiencia de los algoritmos.

Вам также может понравиться