Fundamentos de Algoritmos
Estructuras secuenciales
1 EJEMPLO
Escribir un algoritmo, sus diagramas y programa c++ que calcule el rea de un crculo
1.1 ALGORITMO
Datos de Salida
rea del crculo: area
Datos de Entrada
Radio: radio
Proceso
area PI * radio * radio
1.2 REPRESENTACIN
Pseudocdigo
Algoritmo sin_titulo
Escribir "valor del radio: "
Leer radio
area <- PI * radio * radio
Escribir "el area es: ", area
FinAlgoritmo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"Valor del radio: ";
int radio;
cin>>radio;
double area;
double const PI = 3.141596;
area = PI * radio * radio;
cout<<"El area es: "<<area<<endl;
return 0;
}
2 EJEMPLO
Escribir un algoritmo, sus diagramas y programa C++ que encuentre el volumen de un cilindro
conociendo el radio y la altura
2.1 ALGORITMO
Datos de Salida
Volumen del cilindro: volumen
Datos de Entrada
Altura: altura
Radio: radio
Proceso
Volumen PI * radio * radio * altura
2.2 REPRESENTACIN
Pseudocdigo
Algoritmo sin_titulo
Escribir "altura: "
Leer altura
Escribir "radio: "
Leer radio
volumen <- PI * radio * radio * altura
Escribir "el volumen es: ", volumen
FinAlgoritmo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
#include <iostream>
//#define PI 3.141596
using namespace std;
int main(int argc, char *argv[]) {
cout<<"altura: ";
int altura;
cin>> altura;
cout<<"radio: " ;
int radio;
cin>> radio ;
double volumen ;
double const PI = 3.141596;
volumen = PI * radio * radio * altura;
cout<<"el volumen es: "<<volumen<<endl;
return 0;
}
3 EJEMPLO
Escribir un algoritmo, sus diagramas y programa C++ que lea dos nmeros e intercambie sus
valores
3.1 ALGORITMO
Datos de Salida
Valor de a: a
Valor de b: b
Datos de Entrada
Valor de a: a
Valor de b: b
Proceso
temp a
ab
b temp
3.2 REPRESENTACIN
Pseudocdigo
Algoritmo sin_titulo
Escribir "valor de a: "
Leer a
Escribir "Valor de b: "
Leer b
temp <- a
a <- b
b <- temp
Escribir "valor de a: ",a
Escribir "valor de b: ",b
FinAlgoritmo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"valor de a: " ;
int a;
cin>> a ;
cout <<"valor de b: " ;
int b;
cin>> b ;
int temp ;
temp = a ;
a = b;
b = temp;
cout<<"valor de a: " <<a<<endl;
cout<<"valor de b: " <<b<<endl ;
return 0;
}
4 EJEMPLO
Escribir un algoritmo, sus diagramas y programa C++ que encuentre el volumen de un tronco de
cono
4.1 ALGORITMO
Datos de Salida
Volumen: volumen
Datos de Entrada
Altura: altura
Radio menor: radioMenor
Radio mayor: radioMayor
Proceso
volumen PI * altura * ( radioMayor* radioMayor + radioMenor * radioMenor +
radioMayor * radiomenor) / 3
4.2 REPRESENTACIN
Pseudocdigo
Algoritmo sin_titulo
Escribir "Ingrese altura: "
Leer altura
Escribir "Ingrese radio mayor: "
Leer radioMayor
Escribir "Ingrese radio menor: "
Leer radioMenor
volumen <- PI * altura * ( radioMayor* radioMayor + radioMenor * radioMenor +
radioMayor * radioMenor) / 3
Escribir "El volumen del tronco de cono: ", volumen
FinAlgoritmo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"Ingresar altura: ";
int altura;
cin>> altura;
cout<<"Ingresar radio mayor: ";
int radioMayor;
cin>> radioMayor;
cout<<"Ingresar radio menor: ";
int radioMenor;
cin>>radioMenor;
double volumen;
double const PI=3.141596;
volumen=
PI*altura*(radioMayor*radioMayor+radioMenor*radioMenor+radioMayor*radioMenor)/3;
cout<<"El volumen es: "<<volumen<<endl;
return 0;
}
5 EJEMPLO
Leer una nota entre 0 y 20 y determinar su calificativo de acuerdo a las siguientes condiciones:
0 10 malo
11 15 regular
16 20 bueno
5.1 ALGORITMO
Datos de Salida
Mensaje: mensaje
Datos de Entrada
Nota: nota
Proceso
1) Si nota < 11 entonces hacer paso 2
2) Escribir malo
3) De lo contrario si nota < 16 hace paso 4
4) Escribir regular
5) De lo contrario escribir bueno
5.2 REPRESENTACIN
Pseudocdigo
Algoritmo sin_titulo
Escribir "Leer nota: "
Leer nota
Si nota<11 Entonces
Escribir "malo"
SiNo
Si nota<16 Entonces
Escribir "regular"
SiNo
escribir "bueno"
Fin Si
Fin Si
FinAlgoritmo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"\n\t nota del alumno"<<endl;
cout<<"\n\t -----------------"<<endl;
cout<<"leer la nota :";
int nota ;
cin>>nota;
if(nota<11){
cout<<"el alumno es :\t malo";
}else if (nota<16){
cout<<"el alumno es :\t regular";
}else{
cout<<"el alumno es :\t\a bueno";
}
return 0;
}
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"\n\t nota del alumno"<<endl;
cout<<"\n\t -----------------"<<endl;
cout<<"leer la nota :";
int nota ;
cin>>nota;
if(nota<11){
cout<<"el alumno es :\t malo";
}else{
if (nota<16){
cout<<"el alumno es :\t regular";
}else{
cout<<"el alumno es :\t\a bueno";
}
}
return 0;
}
6 EJEMPLO
Dado un tringulo cuyos lados a y b son conocidos, adems de los ngulos alfa y beta y gamma,
encontrar el lado c aplicando la ley de senos.
6.1 ALGORITMO
Datos de Salida
Lado c: ladoC
Datos de Entrada
Lado a: ladoA
Lado b: ladoB
ngulo alfa: alfa
ngulo beta: beta
ngulo gamma: gamma
Proceso
1) Si (alfa + beta + gamma = 180) hacer paso 2
2) C laboB * sen(gamma)/sen (beta)
3) De lo contrario mostrar mensaje los angulos no suman 180
6.2 REPRESENTACIN
Pseudocdigo
Algoritmo sin_titulo
Escribir "lado A: "
Leer ladoA
Escribir "lado B: "
Leer ladoB
Escribir "ngulo alfa: "
Leer alfa
Escribir "ngulo beta: "
Leer beta
Escribir "ngulo gamma: "
Leer gamma
Si alfa+ beta + gamma = 180 Entonces
alfa <- alfa*PI/180
beta <- beta*PI/180
gamma <- gamma*PI/180
ladoC <- ladoB * sen(gamma)/sen(beta)
Escribir "Lado c: ", ladoC
SiNo
Escribir "Los ngulos no suman 180"
Fin Si
FinAlgoritmo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"Lado A: ";
int ladoA;
cin>>ladoA;
cout<<"Lado B: ";
int ladoB;
cin>>ladoB;
cout<<"angulo alfa: ";
double alfa;
cin>>alfa;
cout<<"angulo beta: ";
double beta;
cin>>beta;
cout<<"angulo gamma: ";
double gamma;
cin>>gamma;
double const PI = 3.141596;
double ladoC;
if(alfa + beta + gamma == 180){
alfa = alfa * PI / 180;
beta = beta * PI / 180;
gamma= gamma * PI / 180;
ladoC = ladoB * sin(gamma)/sin(beta);
cout<<"Lado C: "<<ladoC<<endl;
}else{
cout<<"Los angulos no suman 180"<<endl;
}
return 0;
}
7 EJEMPLO
7.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
7.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
8 EJEMPLO
8.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
8.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
9 EJEMPLO
9.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
9.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
10 EJEMPLO
10.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
10.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
11 EJEMPLO
11.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
11.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
12 EJEMPLO
12.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
12.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
13 EJEMPLO
13.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
13.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
14 EJEMPLO
14.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
14.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
15 EJEMPLO
15.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
15.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
16 EJEMPLO
16.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
16.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
17 EJEMPLO
17.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
17.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
18 EJEMPLO
18.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
18.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
19 EJEMPLO
19.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
19.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++
20 EJEMPLO
20.1 ALGORITMO
Datos de Salida
Datos de Entrada
Proceso
20.2 REPRESENTACIN
Pseudocdigo
Diagrama de Flujo
Diagrama N-S
Cdigo C++