You are on page 1of 29

ALGORITMOS Y

PROGRAMAS

OBJETIVOS

Escribir algoritmos en lenguaje de programacin C++ para resolver


problemas.

Refinar la habilidad de encontrar soluciones mediante algoritmos


computarizados.

PROGRAMACIN
Definicin
Es el proceso de disear, codificar, depurar y mantener el cdigo fuente de
programas computacionales. El cdigo fuente es escrito en un lenguaje
de programacin.
El lenguaje de programacin es un lenguaje formal (posee smbolos, reglas
sintcticas y semnticas especficas) que permite expresar algoritmos.
Existen cientos de lenguajes de programacin y cada uno est regido por
sus propias reglas. Ejemplos: C/C++, Java, PHP, Javascript, Phyton, Perl,
Ruby, Fortran, VB, C#, Objective C, ASP, etc.
El propsito de la programacin es solucionar problemas en tiempos cortos
y eficientes en base a algoritmos mediante computadoras.

PROGRAMACIN
Fases de la programacin
La programacin est compuesta por tres fases.

Codificacin del algoritmo en un programa: Se refiere a escribir en


un lenguaje de programacin especfico un algoritmo previamente
diseado.

Ejecucin de un programa: Se refiere al proceso de compilar un


programa (pasar del lenguaje de programacin a lenguaje mquina) y
ejecutarlo en caso de que est correctamente escrito.

Comprobacin del programa: Se refiere a comprobar que las salidas


del programa sean las correctas en todos los casos. Si no es as se
deber corregir el algoritmo y/ el cdigo fuente segn sea el caso.

PROGRAMACIN
Estructura de programacin en C++
En general, los programas escritos en C++ tienen una
estructura (bsica) compuesta por las siguientes
secciones:
Inclusin de bibliotecas y libreras
Declaraciones globales y funciones
Programacin del algoritmo

PROGRAMACIN
Estructura de programacin en C++
INCLUSIN DE BIBLIOTECAS Y LIBRERAS
Aqu se incluirn todas las bibliotecas y libreras que necesitar el programa
(Existen varias bibliotecas con funciones especficas).
Siempre estar al inicio del cdigo fuente.
Para incluir una biblioteca, se deber utilizar la directiva #include seguida del
nombre de la biblioteca a cargar entre signo menor que (<) y mayor que (>).
Ejemplo:

#include <iostream>
#include <string>

Nombre biblioteca

PROGRAMACIN
Estructura de programacin en C++
DECLARACIONES GLOBALES Y FUNCIONES
En esta seccin se declaran todas las variables y cabeceras de
funciones que sern vistas de manera global, es decir, que su
alcance es total en el programa.
Posteriormente se trabajar sobre las funciones por lo que en un
principio esta seccin se encontrar vaca.

PROGRAMACIN
Estructura de programacin en C++
PROGRAMACIN DEL ALGORITMO
En esta seccin se declaran las variables, clculos, estructuras de control y
procedimientos que necesita un algoritmo previamente diseado
para
resolver un problema.
Es la parte ms importante del cdigo fuente de un programa.
Esta seccin siempre tendr la siguiente estructura:
int main(void) {
//Aqu va todo el algoritmo expresado en lenguaje C++
return 0; //Retorna 0 si es que el algoritmo se ejecut con xito
}

PROGRAMACIN
Reglas generales de programacin en C++
Todas las lneas de cdigo que se refieren a declaraciones terminarn con punto y
coma (;).
suma = numero1 + numero2;

En la programacin C++ se organiza el cdigo mediante la llave de apertura para


expresar comienzo ({) y la llave de cerrado para (}) expresar fin. Esta regla siguen
las expresiones de control y funciones. Adems se utilizan sangras y espaciado
para diferenciar graficamente lo que se encuentra dentro de una sentencia de
este tipo
int main(void) {
return 0;
}
Si se desea escribir comentarios en el cdigo fuente se deber utilizar doble
slash // antes del comentario.
int main(void) {
//Este es un comentario que no tomar en cuenta el compliador
}

PROGRAMACIN
Entradas y salidas en C++
C++ utiliza funciones especificas para entradas y salidas de
datos. Las ms utilizadas son las funciones cout<< para
imprimir y cin>> para leer.
Para utilizarlas basta llamar a la librera iostream y utilizar el
espacio de nombres (namespace) std.
Para los saltos de lnea es preciso utilizar la funcin endl.
EJEMPLO:
Para escribir un mensaje al
usuario

cout<< Por favor ingresa un

Para leer un nmero desde el


teclado y guardarlo en la variable
num1
cin>>num1;

PROGRAMACIN
MI PRIMER HOLA MUNDO

OBJETIVOS DEL PROGRAMA: Al ejecutar el programa imprimir


en pantalla HOLA MUNDO.

DISEO DEL ALGORITMO

Inicio

INICIO
Imprimir Hola Mundo
FIN

Hola Mundo

Fin

PROGRAMACIN
MI PRIMER HOLA MUNDO
PROGRAMACIN:

Ingrese a su IDE/compilador de C++ favorito (Dev C++, Netbeans, CodeBlocks,


Visual Studio, etc)

Incluya las bibliotecas necesarias: En este caso ser solamente la biblioteca que
permite leer y escribir (iostream) y el espacio de nombres std.
# include <iostream>
using namespace std;

Escribimos la estructura bsica del cdigo fuente:


int main(void) {
return 0;
}

Finalmente escribimos dentro el mensaje del hola mundo mediante cout<<


int main(void) {
cout<< " Hola Mundo ";
return 0;
}

PROGRAMACIN
MI PRIMER HOLA MUNDO
PROGRAMACIN:

El cdigo fuente completo quedar de la siguiente manera:


# include <iostream>
using namespace std;
int main(void) {
cout<< "Hola Mundo";

return 0;
}

PROGRAMACIN
Elementos de la programacin:
OPERADORES:
Para poder expresar condiciones asignaciones en C++ tenemos que
utilizar los operadores adecuados. Para ello tenemos los siguientes
Nombre del
operador
Menor que
Menor o igual
que
Mayor que
Mayor o igual
que
Diferente de
Igual que
Asignacin
bsica
Llamada a
funcin

Sintaxis en
C++
a<b
a <= b
a>b
a >= b
a != b
a == b
a=b
a()

PROGRAMACIN
Elementos de la programacin
VARIABLES:
Las variables son ttulos asignados a espacios en memoria para
almacenar datos especficos, en otras palabras son contenedores de
datos.
Al contener informacin, necesitan ser declaradas junto a su respectivo
tipo de dato que expresar la naturaleza de la informacin. Los tipos
de datos que se encuentran presentes en la mayora de lenguajes de
programacin se encuentran en la siguiente tabla:

Tipo de
dato
char
int
float

Descripcin
Estas variables contienen un nico carcter, es decir, una letra, un signo o un
nmero.
Contienen un nmero entero.
Contienen un nmero decimal.
Contienen cadenas de texto, o lo que es lo mismo, es un vector con varias
variables del tipo Char.

string
boolea
n
Solo pueden contener dos posibles valores: un cero (falso) un uno (verdadero).
date
Contienen fechas horas

PROGRAMACIN
Elementos de la programacin: VARIABLES
DECLARACIN DE VARIABLES EN C/C++:

Las variables por lo general debern expresar en una o varias palabras en


letra minscula lo que representan; no debern contener espacios en
blanco, ni tampoco caracteres especiales.

En el lenguaje C/C++ se deber primero indicar el tipo de dato, seguido del


nombre de la variable y declarar su valor (mediante el smbolo =) que
contendr. Finalmente el ;

Ejemplo:

int primer_numero = 1;
float decimal = 1.679;
char letra = c;

PROGRAMACIN
Elementos de la programacin: ESTRUCTURAS DE
CONTROL
ESTRUCTURAS DE CONTROL:
En C++ las estructuras de control se expresan mediante sus
palabras clave y sintaxis propia. Si hacemos una analoga con el
pseudocdigo tendramos lo siguiente:
ESTRUCTURAS DE CONTROL
PSEUDOCDIGO

C++

SI
SINO
DESDE i=<valor_inicial> HASTA i=<valor_final>
MIENTRAS
HACER - MIENTRAS

if{ }
else{ }
for (int i=<valor_inicial>; <condicin>; <incremento>) { }
while (<condicin>){ }
do { } while (<condicin>)

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: SI - SINO
SI SINO: En C++ se utiliza las palabra reservada if seguido de la
condicin entre parentesis; despus se tendr todas las acciones
que cumplan la condicin entre llaves. Si es que existieran acciones
en caso de que no se cumpla la condicin se utilizar else seguidas
de las acciones que no cumplan la condicin entre llaves:
PSEUDOCDIGO
Inicio
SI (<condicin>)
<acciones si la
condicin se
cumple>
SINO
<acciones si la
condicin no se
cumple>
Fin SI
Fin

DIAGRAMA DE FLUJO

PROGRAMACIN EN
C++
if(<condicin>)
{
//Acciones
si
se
cumple
}
else
{
//Acciones si no se
cumple
}

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: SI - SINO
EJEMPLO: Dada una calificacin, determinar si es que el
alumno APRUEBA o REPRUEBA la materia. Se sabe que se
aprueba si la calificacin es mayor o igual a 7
PSEUDOCDIGO
Inicio
Leer calificacion
Si (calificacin>=7)
Escribir aprobado
Si no
Escribir Reprobado
Fin si
Fin

DIAGRAMA DE FLUJO
Inicio
Leer calificacin

Verdadero

Falso
calificacin>=7

Escribir Reprobado

Escribir Aprobado

Fin

PROGRAMACIN EN C++
#include<iostream>
using namespace std;
int main(void){
int calificacion;
cin>>calificacion;
if(calificacion>=7)
{
cout<<APROBADO;
}
else
{
cout<<REPROBADO;
}
return 0;
}

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: SI - SINO
EJEMPLO: Dada una calificacin, determinar si es que el
alumno APRUEBA o REPRUEBA la materia. Se sabe que se
aprueba si la calificacin es mayor o igual a 7
La salida al ejecutar el cdigo con una calificacin menor a 7:

La salida al ejecutar el cdigo con una calificacin mayor o igual a 7:

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: DESDE - HASTA
DESDE - HASTA: En C++ se utiliza la palabra reservada for seguido
entre parntesis de una variable auxiliar (usualmente la letra I, j, k
) con su valor inicial, la condicin, y el valor del incremento de la
variable auxiliar. Despus dentro de llaves todo lo que se debera
repetir siguiendo esas condiciones:
PSEUDOCDIGO
Inicio
DESDE i=<valor_inicial>
HASTA i=<valor_final>
<acciones si la condicin
se cumple>
Fin DESDE
Fin

DIAGRAMA DE FLUJO
desde v=vi hasta
vf

<acciones>

PROGRAMACIN EN C++
for(int
i=0;condicin;incremento)
{
//Acciones que se repetirn
mientras la condicin se
cumpla
}

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: DESDE - HASTA
EJEMPLO: Escribir los nmeros del 5 al 20 de 1 en 1
PSEUDOCDIGO
Inicio
DESDE i=5 HASTA
i<=20
Escribir i
Fin DESDE
Fin

DIAGRAMA DE FLUJO

PROGRAMACIN EN C++
#include<iostream>
using namespace std;
int main(void){
for(int i =5;i<=20;i++)
{
cout<< i<<endl;
}
return 0;
}

Inicio
desde i=5 hasta
i<=20

Imprimir i

Fin

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: DESDE - HASTA
EJEMPLO: Escribir los nmeros del 5 al 20 de 1 en 1
La salida del programa compilado ser lo siguiente:

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: MIENTRAS
MIENTRAS: En C++ se utiliza la palabra reservada while seguido
entre parntesis de la condicin. Despus dentro de llaves todo lo
que se debera repetir mientras cumpla la condicin.
PSEUDOCDIGO
Inicio
MIENTRAS <condicin>
HACER
<acciones si la condicin
se cumple>
Fin MIENTRAS
Fin

DIAGRAMA DE FLUJO

Condicin
lgica

<acciones>

PROGRAMACIN EN C++
while(condicin)
{
//Acciones que se repetirn
mientras la condicin se
cumpla
}

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: MIENTRAS
EJEMPLO: Escribir los nmeros del 1 al 10
PSEUDOCDIGO
Inicio
variable entera
contador = 1
MIENTRAS
(contador <=10)
HACER
Imprimir contador
Incrementar
contador en 1
Fin MIENTRAS
Fin

DIAGRAMA DE FLUJO

PROGRAMACIN EN C++
#include<iostream>
using namespace std;
int main(void){
int contador = 1;
while(contador<=10)
{
cout<<
contador<<endl;
contador =
contador+1;
}
return 0;
}

Inicio
contador = 1
contador<=1
0

Imprimir contador
contador = contador +
1
Fin

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: MIENTRAS
EJEMPLO: Escribir los nmeros del 1 al 10
La salida del programa compilado ser lo siguiente:

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: SWITCH - CASE
SWITCH - CASE: Esta estructura de control es propio de la
programacin y sirve para escribir varias condiciones de igualdad
anidadas. En C++ se utiliza la palabra reservada switch seguido
entre parntesis de la variable de entrada a comprobar. Despus la
palabra reservada case seguido del caso de igualdad (solo puede
ser nmero) y dos puntos

PSEUDOCDIGO

Inicio
SI <condicin de igualdad>
Acciones
SINO
SI <condicin de
igualdad>
Acciones
SINO
Acciones
Fin SI
Fin SI
Fin

DIAGRAMA DE FLUJO

PROGRAMACIN EN C++
switch(variable)
{
case 1:
//Acciones que se ejecutaran
si <variable> es igual a 1
break;
case 2:
//Acciones que se ejecutaran
si <variable> es igual a 1
break;
default:
//Acciones que se ejecutaran
si <variable> no cumple con
ningn caso
}

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: SWITCH - CASE

EJEMPLO: Dado el subtotal de una factura y la forma de pago


calcular el total. Tomando en cuenta que el IVA es de 10% si
el mtodo de pago es 1, 12% si mtodo de pago es 2 14%
si mtodo de pago es 3

PSEUDOCDIGO

Inicio
Leer (subtotal)
Leer (forma_pago)
SI (forma_pago es igual a 3)
Imprimir (subtotal*1.14)
SINO
SI (forma_pago es igual a 2)
Imprimir (subtotal*1.12)
SINO
SI (forma_pago es igual a 1)
Imprimir (subtotal*1.10)
SINO
Imprimir (Mtodo no valido)
Fin SI
Fin SI
Fin SI
Fin

PROGRAMACIN EN C++

#include<iostream>
#include<string>
using namespace std;
int main(void){
float subtotal;
int forma_pago;
cout<<"Escriba el subtotal"<<endl;
cin>>subtotal;
cout<<endl<<"Escriba la forma de pago: 1. Dinero E. | 2.Tarjeta | 3.Efectivo "<<endl;
cin>>forma_pago;
switch(forma_pago)
{
case 1:
cout<<subtotal*1.10;
break;
case 2:
cout<<subtotal*1.12;
break;
case 3:
cout<<subtotal*1.14;
break;
default:
cout<<"Forma de pago invalida";
}
return 0;
}

PROGRAMACIN: ESTRUCTURAS DE
CONTROL: SWITCH - CASE
EJEMPLO: Dado el subtotal de una factura y la forma de pago
calcular el total. Tomando en cuenta que el IVA es de 10% si
el mtodo de pago es 1, 12% si mtodo de pago es 2 14%
si mtodo de pago es 3
La salida del programa compilado ser lo siguiente:

You might also like