Informe T3
Informe T3
Informe T3
INTEGRANTES:
1
Índice
INTRODUCCION.....................................................................................................................................3
1. Estructuras de control ...................................................................................................................4
2. Estructuras repetitivas: .................................................................................................................8
3. Vectores y matrices .....................................................................................................................11
4. Arreglos de caracteres ................................................................................................................13
Bibliografía ........................................................................................................................................34
2
INTRODUCCION
Este proyecto tiene como objetivo hacer que el estudiante aplique lo aprendido
en el curso a partir del análisis de un caso y haciendo uso de las diversas
estructuras de control en un lenguaje de programación de alto nivel,
demostrando lógica, legibilidad y buenas prácticas en la solución de problemas.
Objetivos:
Se tiene como objetivo, en primer lugar, la demostración de lo aprendido por los
alumnos en este curso de Fundamentos de Algoritmos.
Se debe demostrar que, a lo largo del ciclo, los alumnos han aprendido diversas
formas para desarrollar distintos tipos de ejercicios con la ayuda de una interfaz
de desarrollo en c++ llamado “Zinjai”.
Igualmente, que, los alumnos están preparados para cualquier tipo de ejercicios
con respecto a: Estructuras de control, estructuras repetitivas y todo tipo de
arreglos.
3
1. Estructuras de control
Estructura secuencial
La estructura secuencial está formada por una secuencia de
instrucciones que se ejecutan en orden una a continuación de la otra.
Cada una de las instrucciones están separadas por el carácter punto y coma (;).
No obstante, en algunos casos nos interesará agrupar en un bloque una serie de
instrucciones, como veremos al explicar las estructuras de selección y de
iteración. El bloque de sentencias se define por el carácter llave de apertura ({)
para marcar el inicio del mismo, y el carácter llave de cierre (}) para marcar el
final.
Ejemplo:
{
Instrucción 1;
Instrucción 2;
Instrucción 3;
.....
Instrucción N;
}
“Sin embargo, en caso de que el bloque de sentencias este constituido por una
única sentencia no es obligatorio el uso de las llaves de apertura y cierre ({ })”.
(Hernández, 2013 )
Estructura condicional
Las estructuras condicionales controlan si una sentencia o bloque de sentencias
se ejecutan, en función del cumplimiento o no de una condición o expresión
lógica.
4
Instrucción “IF”:
Esta instrucción hace que se ejecuten unas sentencias u otras dependiendo del
valor que toma una condición.
Alternativa simple:
if (condición)
instrucción1;
if (condición)
{
Instrucción 1;
Instrucción 2;
Instrucción 3;
}
Alternativa doble.
if (condicion)
instrucción1;
else {
instrucción2;
}
if (condicion)
{
Instrucción 1;
instrucción 2;
}
else
{
instrucción 3;
instrucción 4;
}
5
#include <iostream>
using namespace std;
int main(void)
{
int num;
cout <<"Introduzca numero:";
cin >> num;
if ((num%2)==0)
cout << "PAR" << endl;
else
cout << "IMPAR" << endl;
system("pause");
}
instrucción 6;
instrucción 7;
......
#include <iostream>
using namespace std;
int main(void)
{
int hora;
cout << "\nIntroduzca una hora (entre 0 y 24): ";
cin >> hora;
if ((hora >= 0) and (hora < 12))
6
cout << "\nBuenos dias\n";
else if ((hora >= 12) and (hora < 18))
cout << "\nBuenas tardes\n";
else if ((hora >= 18) and (hora < 24))
cout << "\nBuenas noches\n";
else
cout << "\nHora no válida\n";
system("pause");
}
Instrucción “switch":
La sentencia “switch” es una instrucción en C++ que se utiliza para seleccionar
una de entre múltiples alternativas. La sentencia “switch” es especialmente útil
cuando la selección se basa en el valor de una variable simple discreta o de una
expresión simple denominada expresión de control o selector.
switch (expresión)
{
case constante1:
instrucciones;
break;
case constante 2:
instrucciones;
break;
···
default:
instrucciones;
}
En una instrucción “switch”, expresión debe ser una expresión con un valor
entero, y constante1, constante2, deben ser constantes enteras, constantes de
tipo carácter o una expresión constante de valor entero. Expresión también
puede ser de tipo “char”, ya que los caracteres individuales tienen valores
enteros
Dentro de un case puede aparecer una sola instrucción o un bloque de
instrucciones.
La instrucción “switch” evalúa la expresión entre paréntesis y compara su valor
con las constantes de cada case. Se ejecutarán las instrucciones de aquel case
cuya constante coincida con el valor de la expresión, y continúa hasta el final del
bloque o hasta una instrucción que transfiera el control fuera del bloque del
“switch” (una instrucción break, o return). Si no existe una constante igual al valor
7
de la expresión, entonces se ejecutan las sentencias que están a continuación
de default si existe (no es obligatorio que exista, y no tiene porqué ponerse
siempre al final).
Ejemplo de uso de la instrucción switch en C++. Programa que lee dos números
y una operación y realiza la operación entre esos números.
#include <iostream>
using namespace std;
int main(void)
{
int A,B, Resultado;
char operador;
cout << "Introduzca un numero:";
cin >> A;
cout << "Introduzca otro numero:";
cin >> B;
cout <<"Introduzca un operador (+,-,*,/):";
cin >> operador;
Resultado = 0;
switch (operador)
{
case '-' : Resultado = A - B;
break;
case '+' : Resultado = A + B;
break;
case '*' : Resultado = A * B;
break;
case '/' : Resultado = A / B; //suponemos B!=0
break;
default : cout << "Operador no valido"<< endl;
}
cout << "El resultado es: ";
cout << Resultado << endl;
system("pause");
}
2. Estructuras repetitivas
8
Ejecuta una instrucción o un bloque de instrucciones cero o más veces,
dependiendo del valor de la condición.
Ejemplo de instrucción “while” en C++. Programa que lee números enteros hasta
que se lee un número negativo. Se muestra la suma de todos los números leídos
excepto el número negativo.
9
Do
{
Instrucción 1;
..............
Instrucción N;
} While (condición);
-Zona de inicialización
-Zona de condición
-Zona de incremento ó decremento.
En alguna ocasión puede no ser necesario escribir alguna de ellas. En ese caso
se pueden dejar en blanco, pero los puntos y coma deben aparecer.
El funcionamiento de un bucle for el siguiente:
10
1. Se inicializa la variable o variables de control.
2. Se evalúa la condición.
3. Si la condición es cierta se ejecutan las instrucciones. Si es falsa, finaliza la
ejecución del bucle y continúa el programa en la siguiente instrucción después
del for.
4. Se actualiza la variable o variables de control (incremento/decremento).
5. Se pasa al punto 2.
Ejemplo de instrucción “for” en C++. Programa que muestra los números del 1 al
10.
3. Vectores y matrices
Vectores:
Un vector, también llamado array(arreglo) unidimensional, es una estructura de
datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo
bloque de memoria juntos, uno después de otro. A este grupo de elementos se
les identifica por un mismo nombre y la posición en la que se encuentran. La
primera posición del array es la posición 0.
11
Ejemplo:
#include <iostream>
#include <cmath>
using namespace std;
void LeerX(int n, float x[]);
void MediaGeo(int n, float x[]);
int main(int argc, char *argv[]) {
float x[50];
cout<<"numero de datos a leer:";
int n;
cin>>n;
LeerX(n,x);
MediaGeo(n,x);
return 0 ;
}//ingreso datos en vector
void LeerX(int n,float x[]);{
for(int i=0; i<n; i++)
{
cout<<"ingrese elemento["<<i<<"]:";
cin>>x[i];
}
//calcula la media geometrica
Matrices:
Una matriz es un vector de vectores o un también llamado array bidimensional.
La manera de declarar una matriz es C++ es similar a un vector:
1 int matrix[rows][cols];
“Int” es el tipo de dato, “matrix” es el nombre del todo el conjunto de datos y debo
de especificar el número de filas y columnas.
Las matrices también pueden ser de distintos tipos de datos como char, float,
double, etc. Las matrices en C++ se almacenan al igual que los vectores en
posiciones consecutivas de memoria.
Usualmente uno se hace la idea que una matriz es como un tablero, pero
internamente el manejo es como su definición lo indica, un vector de vectores,
es decir, los vectores están uno detrás de los otros juntos.
12
Si coloco int matriz [2][3] = 10; estoy asignando al cuarto elemento de la tercera
fila el valor 10.
Ejemplo:
(Martí, 2014)
4. Arreglos de caracteres
• Cadenas de caracteres o "strings" (inglés).
• Declaración:
• Se declaran como arreglos unidimensionales.
• Debe contener 1 carácter más que la cadena más larga que pueda contener.
CADENA DE CARACTERES
• Cuando se declara una cadena hay que tener en cuenta que tendremos que
reservar una posición para almacenar el carácter nulo.
• Así el primer carácter de nuestra cadena sería cad [0], que es la 'H'.
13
(Licencia Creative Commons Atribución-CompartirIgual, 2017)
1.1 Algoritmo
Datos de Salida
Valor absoluto: -n o n
Datos de Entrada
Número: n
Proceso
1. Si n>0
2. Escribir n
3. Sino n=-n
4. Escribir n
1.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingresar numero: "
leer n
si (n>0)
Escribir n
Sino n=-n
FinSi
Escribir "El valor absoluto del numero es: ", n
FinAlgoritmo
Diagrama de Flujo
14
Código C++
#include <iostream>
#include <cmath>
using namespace std;
int absoluto (int n);
int main(int argc, char *argv[]) {
int n;
cout<<"Ingrese el numero: ";
cin>>n;
cout<<"El valor absoluto del numero es: "<<absoluto (n);
return 0;
}
int absoluto (int n){
if(n>=0)
cout<<n;
else n=-n;
return n;
cout<<endl;
}
2. Ejemplo
Determinar si un numero es par o impar.
2.1 Algoritmo
Datos de Salida
Saber si es par o impar
Datos de Entrada
Numero: n
Proceso
Si MOD 2 =0
Escribir “Numero par”
De lo contrario escribir “Numero impar”
2.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingresar numero: "
leer n
si (n MOD 2=0)
Escribir "Numero par"
Sino Escribir "Numero impar"
FinSi
FinAlgoritmo
15
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[]) {
cout<<"Ingrese numero: ";
int n;
cin>>n;
parimpar (n);
return 0;
}
void parimpar (int n){
if(n % 2==0)
cout<<"Numero par";
else cout<<"Numero impar";
cout<<endl;
}
3. Ejemplo
Escribir los numero Fibonacci menores que “l”.
3.1 Algoritmo
Datos de Salida
Números Fibonacci
Datos de Entrada
Límite: l
Proceso
Escribir "Ingresar límite: "
leer l
a=0
b=1
Escribir a
Mientras b<l Hacer
Escribir b
c=a+b
a=b
b=c
16
3.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingresar limite: "
leer l
a=0
b=1
Escribir a
Mientras b<l Hacer
Escribir b
c=a+b
a=b
b=c
Fin Mientras
FinAlgoritmo
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
using namespace std;
void fibonacci(int m);
int main(int argc, char *argv[]) {
return 0;
}
void fibonacci(int m){
int a=0;
int b=1;
cout << a << endl;
while ( b < m )
{
int c;
cout << b << endl;
c = a + b;
a = b;
b = c;
}
}
17
4. Ejemplo
Sacar el cociente y el residuo de una división por restas sucesivas.
4.1 Algoritmo
Datos de Salida
Cociente: coc
Residuo: r
Datos de Entrada
Dividendo: a
Divisor: b
Proceso
coc=0
Mientras a>b Hacer
a=a-b
coc=coc+1
Escribir "Cociemte: ", coc
Escribir "Residuo: ", a
4.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingresar dividendo: "
leer a
Escribir "Ingresar divisor: "
leer b
coc=0
Mientras a>b Hacer
a=a-b
coc=coc+1
Fin Mientras
Escribir "Cociemte: ", coc
Escribir "Residuo: ", a
FinAlgoritmo
18
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
using namespace std;
void division (int a,int b);
int main(int argc, char *argv[]) {
cout <<"Ingrese dividendo: ";
int a;
cin >> a;
cout <<"Ingrese divisor: ";
int b;
cin >> b;
division (a,b);
return 0;
}
void division (int a,int b){
int coc=0;
while ( a>b )
{ a = a - b;
coc = coc + 1;
}
cout <<"Cociente: " << coc << endl;
cout <<"Residuo: " << a <<endl;
}
5. Ejemplo
Lectura y escritura de un vector.
5.1 Algoritmo
Datos de Salida
Vector: v(i)
Datos de Entrada
Elementos del vector: n
Proceso
Definir v,n,i como entero;
Escribir "Ingrese numero de elementos del vector: ";
19
leer n;
Dimension v(100);
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir "V [",i,"] =";
leer v(i);
Fin Para
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir V(i);
Fin Para
2.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Definir v,n,i como entero;
Escribir "Ingrese numero de elementos del vector: ";
leer n;
Dimension v(100);
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir "V [",i,"] =";
leer v(i);
Fin Para
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir V(i);
Fin Para
FinAlgoritmo
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
using namespace std;
void mostrarV(int v[], int n);
void leerVec(int v[],int n);
int main(int argc, char *argv[]) {
cout<<"Numero de elementos: ";
int n;
cin>>n;
int v[1000];
leerV(v,n);
mostrarV(v,n);
return 0;
}
void leerV(int v[], int n){
20
for (int i=0;i<n;i++) {
cout<<"V["<<(i+1)<<"]= ";
cin>>v[i];
}
}
void mostrarV(int v[], int n){
cout<<endl;
for (int i=0;i<n;i++) {
cout<<v[i]<<"\t";
}
cout<<endl;
}
6. Ejemplo
Media de aritmética de un conjunto de datos.
6.1 Algoritmo
Datos de Salida
Media: media
Datos de Entrada
Datos: n
Proceso
Definir v,n,i como entero;
Escribir "Ingrese numero de elementos del vector: ";
leer n;
Dimension v(100);
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir "V [",i,"] =";
leer v(i);
Fin Para
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir V(i);
Fin Para
suma=0;
Para i<-1 Hasta n Con Paso 1 Hacer
suma=suma+v(i);
Fin Para
Escribir "La media aritmetica es: ", suma/n
6.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Definir v,n,i como entero;
Escribir "Ingrese numero de elementos del vector: ";
leer n;
Dimension v(100);
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir "V [",i,"] =";
leer v(i);
Fin Para
Para i<-1 Hasta n Con Paso 1 Hacer
21
Escribir V(i);
Fin Para
suma=0;
Para i<-1 Hasta n Con Paso 1 Hacer
suma=suma+v(i);
Fin Para
Escribir "La media aritmetica es: ", suma/n
FinAlgoritmo
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
using namespace std;
void mediaA (float x[],int n);
int main(int argc, char *argv[]) {
cout<<"Número de datos a leer: ";
int n;
cin>>n;
float x[50];
leerVi(x,n);
mostrarVi (x,n);
mediaA (x,n);
return 0;
}
void leerVec(int v[],int n){
for (int i=0;i<n;i++){
cout<<"Elemento "<<i+1<<": ";
cin>>v[i];
}
}
22
void media(int v[],int n){
float suma=0;
for (int i=0;i<n;i++){
suma=suma+v[i];
}
cout<<endl;
cout<<"La media aritmetica es: "<<suma/n;
}
7. Ejemplo
Declarar una matriz introduciendo valor por teclado.
7.1 Algoritmo
Datos de Salida
Matriz: m(f,c)
Datos de Entrada
Filas: f
Columnas: c
Proceso
Definir v,n,i como entero;
Escribir "Ingrese numero de filas de la matriz: ";
leer f;
Escribir "Ingrese numero de columnas de la matriz: ";
leer c;
Dimension m(100,100);
Para i<-1 Hasta f Con Paso 1 Hacer
Para j<-1 Hasta c Con Paso 1 Hacer
Escribir "m [",i,"][",j,"]= ";
leer m(i,j);
FinPara
Fin Para
Para i<-1 Hasta f Con Paso 1 Hacer
Para j<-i Hasta c Con Paso 1 Hacer
Escribir sin saltar m(i,j), " "
FinPara
Escribir " "
Fin Para
7.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Definir v,n,i como entero;
Escribir "Ingrese numero de filas de la matriz: ";
leer f;
Escribir "Ingrese numero de columnas de la matriz: ";
leer c;
Dimension m(100,100);
Para i<-1 Hasta f Con Paso 1 Hacer
Para j<-1 Hasta c Con Paso 1 Hacer
Escribir "m [",i,"][",j,"]= ";
23
leer m(i,j);
FinPara
Fin Para
Para i<-1 Hasta f Con Paso 1 Hacer
Para j<-i Hasta c Con Paso 1 Hacer
Escribir sin saltar m(i,j), " "
FinPara
Escribir " "
Fin Para
FinAlgoritmo
Diagrama de Flujo
Código C++
#include <ctime>
#include <iomanip>
using namespace std;
void leer3M (int ma[][MAX],int f,int c);
void mostrar3M(int ma[][MAX], int f, int c);
int main(int argc, char *argv[]) {
cout<<"Filas de la matriz: ";
int f;
cin>>f;
cout<<"Columnas de la matriz: ";
int c;
cin>>c;
int ma[50][50];
leer3M (ma,f,c);
mostrar3M (ma,f,c);
return 0;
}
void leer3M (int ma[][MAX],int f,int c){
for (int i=0;i<f;i++) {
for (int j=0;j<c;j++) {
cout<<"m["<<(i+1)<<"]["<<(j+1)<<"]= ";
cin>>ma[i][j];
}
}
}
void mostrar3M(int ma[][MAX], int f, int c){
cout<<endl;
for (int i=0;i<f;i++) {
for (int j=0;j<c;j++) {
cout<<setw(6)<<ma[i][j];
}
cout<<endl;
}
24
8. Ejemplo
Generar una matriz identidad.
8.1 Algoritmo
Datos de Salida
Matriz identidad
Datos de Entrada
Orden de la matriz: o
Proceso
Escribir "Ingrese orden de la matriz: ";
leer orden;
Dimension m(100,100);
Para i<-1 Hasta orden Con Paso 1 Hacer
Para j<-1 Hasta orden Con Paso 1 Hacer
Si i=j Entonces
m(i,j)<- 1
SiNo
m(i,j)<- 0
Fin Si
FinPara
Fin Para
Para i<-1 Hasta orden Con Paso 1 Hacer
Para j<-i Hasta orden Con Paso 1 Hacer
Escribir sin saltar m(i,j), " "
FinPara
Escribir " "
Fin Para
8.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingrese orden de la matriz: ";
leer orden;
Dimension m(100,100);
Para i<-1 Hasta orden Con Paso 1 Hacer
Para j<-1 Hasta orden Con Paso 1 Hacer
Si i=j Entonces
m(i,j)<- 1
SiNo
m(i,j)<- 0
Fin Si
FinPara
Fin Para
Para i<-1 Hasta orden Con Paso 1 Hacer
Para j<-i Hasta orden Con Paso 1 Hacer
Escribir sin saltar m(i,j), " "
FinPara
Escribir " "
Fin Para
FinAlgoritmo
25
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
int const MAX = 50;
void generarMI(int m[][MAX], int o);
void mostrarMI(int m[][MAX], int o);
int main(int argc, char *argv[]) {
cout<<"Orden de la matriz: ";
int o;
cin>>o;
int m[50][50];
generarMI (m,o);
mostrarMI (m,o);
return 0;
}
void generarMI(int m[][MAX], int o){
for (int i=0;i<o;i++) {
for (int j=0;j<o;j++) {
if (i==j) {
m[i][j] = 1;
} else {
m[i][j] = 0;
}
}
}
}
void mostrarMI(int m[][MAX], int o){
cout<<endl;
for (int i=0;i<o;i++) {
for (int j=0;j<o;j++) {
cout<<setw(6)<<m[i][j];
}
cout<<endl;
}
cout<<endl;
}
26
9. Ejemplo
Pasar una frase de mayúsculas a minúsculas.
9.1 Algoritmo
Datos de Salida
Frase en minúsculas
Datos de Entrada
Frase en mayúsculas
Proceso
Declarar frase(200) como carácter
Escribir “Ingresar una frase en mayúsculas: “
I =0
Mientras (frase (i) ¡= ‘\o’) Hacer
Si (frase (i)>=’A’ Y frase (i)<=’Z’)
Frase (i) += 32
I++
9.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Declarar frase(200) como carácter
Escribir "Ingresar una frase en mayúsculas: "
I =0
Mientras (frase (i) != '\o') Hacer
Si (frase (i)>='A' Y frase (i)<='Z')
Frase (i) = Frase (i)+ 32
i++
FinSI
FinMientras
FinAlgoritmo
Diagrama de Flujo
27
Código C++
#include <iostream>
using namespace std;
void mayusculas(char frase[200]);
int main(int argc, char *argv[]) {
char frase[200];
cout<<"Ingrese una frase en mayusculas: ";
cin.getline(frase,200);
cout<<"Frase original: "<<frase<<endl;
mayusculas(frase);
cout<<"Frase en minusculas: "<<frase<<endl;
return 0;
}
void mayusculas(char frase[200]){
int i=0;
while (frase[i] != '\0') {
if(frase[i]>='A' && frase[i]<='Z'){
frase[i] = frase[i] + 32;
}
i++;
}
}
10. Ejemplo
Convertir una frase de minúsculas a mayúsculas.
10.1 Algoritmo
Datos de Salida
Frase en mayúsculas
Datos de Entrada
Frase en minúsculas
Proceso
Declarar frase(200) como caracter
Escribir “Ingresar una frase en minusculas: “
I =0
Mientras (frase (i) ¡= ‘\o’) Hacer
Si (frase (i)>=’a’ Y frase (i)<=’z’)
Frase (i) =frase(i) +32
I++
10.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Declarar frase(200) como carácter
Escribir "Ingresar una frase en minusculas: "
I =0
Mientras (frase (i) != '\o') Hacer
Si (frase (i)>='a' Y frase (i)<='z')
Frase (i) = Frase (i)- 32
i++
FinSI
FinMientras
FinAlgoritmo
28
Diagrama de Flujo
Código C++
#include <iostream>
using namespace std;
void minusculas(char frase[200]);
int main(int argc, char *argv[]) {
char frase[200];
cout<<"Ingrese una frase en minusculas: ";
cin.getline(frase,200);
cout<<"frase original: "<<frase<<endl;
minusculas(frase);
cout<<"frase en MAYUSCULAS: "<<frase<<endl;
return 0;
}
11. Ejemplo
Sacar el binomio al cuadrado de cualquier conjunto de datos.
11.1 Algoritmo
Datos de Salida
Binomio cuadrado: binomiocuadrado
Datos de Entrada
Primer término: a
Segundo término: b
Proceso
Escribir "Ingresar a: "
leer a
Escribir "Ingresar b: "
leer b
29
x1 <- a*a+2*a*b+b*b
x2 <- a*a-2*a*b+b*b
Escribir "Caso 1 (suma): ", x1
Escribir "Caso 2 (resta): ", x2
11.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingresar a: "
leer a
Escribir "Ingresar b: "
leer b
x1 <- a*a+2*a*b+b*b
x2 <- a*a-2*a*b+b*b
Escribir "Caso 1 (suma): ", x1
Escribir "Caso 2 (resta): ", x2
FinAlgoritmo
Diagrama de Flujo
Código C++
#include <iostream>
#include <cmath>
using namespace std;
void binomiocuadrado(int a,int b);
int main(int argc, char *argv[]) {
cout<<"Ingresar primer coeficiente: ";
int a;
cin>>a;
cout<<"Ingresar segundo coeficiente: ";
int b;
cin>>b;
binomiocuadrado(a,b);
void binomiocuadrado(int a,int b){
cout<<endl;
int x1,x2;
x1 = (a*a)+(2*a*b)+(b*b);
x2 = (a*a)-(2*a*b)+(b*b);
cout<<"Caso 1 '+': "<<x1<<endl;
cout<<"Caso 2 '-': "<<x2<<endl;
}
30
12. Ejemplo
Resolver un trinomio al cuadrado.
12.1 Algoritmo
Datos de Salida
Trinomio: x
Datos de Entrada
Primer término: a
Segundo término: b
Tercer término: c
Proceso
Escribir "Ingresar primer coeficiente: "
leer a
Escribir "Ingresar segundo coeficiente: "
leer b
Escribir "Ingresar tercer coeficiente: "
leer c
x <- a*a+b*b+c*c+2*a*b+2*a*c+2*b*c
Escribir "El resultado es: ", x
12.2 Representación
Pseudocódigo
Algoritmo sin_titulo
Escribir "Ingresar primer coeficiente: "
leer a
Escribir "Ingresar segundo coeficiente: "
leer b
Escribir "Ingresar tercer coeficiente: "
leer c
x <- a*a+b*b+c*c+2*a*b+2*a*c+2*b*c
Escribir "El resultado es: ", x
FinAlgoritmo
Diagrama de Flujo
31
Código C++
#include <iostream>
#include <cmath>
using namespace std;
int x(int a,int b,int c);
int main(int argc, char *argv[]) {
cout<<"Ingresar primer coeficiente: ";
int a;
cin>>a;
cout<<"Ingresar segundo coeficiente: ";
int b;
cin>>b;
cout<<"Ingresar tercer coeficiente: ";
int c;
cin>>c;
cout<<"Resultado: "<<x(a,b,c)<<endl;
return 0;
}
int x(int a,int b,int c){
cout<<endl;
int x;
x = a*a+b*b+c*c+2*a*b+2*a*c+2*b*c;
return x;
cout<<endl;
}
Video:
CONCLUSIONES
32
Los lenguajes de alto nivel se desarrollaron con el objetivo de ser más
accesibles y entendibles por la mayoría de programadores, de manera que los
programadores pudieran concentrarse más en resolver la tarea o los problemas
y no en el lenguaje que la maquina tenía que entender.
33
Bibliografía
Hernández, E. G. (25 de Agosto de 2013 ). blogspot. Obtenido de
http://ejercicioscpp.blogspot.pe/2012/11/estructuras-de-control-en-c.html
34
35
36