Practica 2. Programación Estructurada
Practica 2. Programación Estructurada
Practica 2. Programación Estructurada
EN COMUNICACIONES Y ELECTRÓNICA
PRÁCTICA 2
PROGRAMACIÓN
ESTRUCTURADA
FUNDAMENTOS DE PROGRAMACION
GRUPO – 1CM16
OBJETIVOS
El alumno resolverá problemas de ingeniería y ciencias mediante la
programación estructurada.
El alumno manipulará los elementos básicos de los sistemas
operativos y compiladores de C.
El alumno elaborara programas estructurados en lenguaje C.
1
ALGORITMO 1. SUMA DE ENTEROS
SI RECIBE Y SI RETORNA
PSEUDOCÓDIGO
Algoritmo SUMA_ENTEROS
Definir num1, num2 Como Entero //v.entrada
definir r Como Entero // v.salida
Escribir "introduce los numeros a sumar"
Leer num1, num2
r=Suma (num1,num2)//llamada de la funcion
FinAlgoritmo
Funcion r=Suma(num1,num2)
r=num1+num2
Escribir "la suma de=" ,num1, " + " ,num2, "=", r
FinFuncion
DIAGRAMAS DE FLUJO
2
ALGORITMO 1. SUMA DE ENTEROS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
int suma (int,int); //prototipo de la funcion
int main()
{
int r;
int num1, num2;
printf("Introduce los numeros:\n");
scanf("%d%d",&num1, &num2);
r=suma(num1,num2); //llamada a la funcion
printf("La suma de %d + %d = %d\n",num1,num2,r);
return 0;
}
//definicn de la funcion
int suma (num1,num2)
{
int res;
res=num1+num2;
return res;
}
RESULTADOS
3
ALGORITMO 1. SUMA DE ENTEROS
SI RECIBE Y NO RETORNA
PSEUDOCÓDIGO
Algoritmo SUMA_ENTEROS
Definirnum1, num2 Como Entero
Escribir"introduce los numeros a sumar"
Leer num1, num2
r = Suma(num1,num2)//llamada de la funcion
FinAlgoritmo
Funcion r = Suma(num1,num2)
Definir r Como Entero //v.salida
r = num1+num2
Escribir"la suma de= ",num1," + ",num2, "=", r
FinFuncion
DIAGRAMAS DE FLUJO
4
ALGORITMO 1. SUMA DE ENTEROS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
void suma (int,int);//prototipo de la funcion
int main()
{
int num1,num2;
printf("Introduce los numeros:\n");
scanf ("%d%d", &num1, &num2);
suma (num1,num2);//llamada a la funciòn
return 0;
}
//definicion de la funcion{
void suma (int a, int b)
{
int res;
res=a+b;
printf("La suma de %d + %d = %d\n",a,b,res);
}
RESULTADOS
5
ALGORITMO 1. SUMA DE ENTEROS
NO RECIBE Y SI RETORNA
PSEUDOCÓDIGO
Algoritmo SUMA_ENTEROS
Definir r Como Entero//v.salida
r=Suma()
Escribir "La suma =",r
FinAlgoritmo
Funcion res<-Suma
Definir num1, num2 Como Entero
Definir res Como Entero
Escribir "Introduce dos numeros"
leer num1,num2
res<-num1+num2
FinFuncion
DIAGRAMAS DE FLUJO
6
ALGORITMO 1. SUMA DE ENTEROS
CODIFICACIÓN
/**c)Funcion que NO recibe y retorna*/
#include <stdio.h>
#include <stdlib.h>
int suma (void);//prototipo de la funcion
int main()
{
int r;
r=suma();//llama a la funcion
printf("suma=%d",r);
return 0;
}
//definicion de la funcion
int suma(void)
{
int num1,num2,res;
printf("Introduce los numeros:\n");
scanf ("%d%d",&num1,&num2);
res=num1+num2;
return(res);
}
RESULTADOS
7
ALGORITMO 1. SUMA DE ENTEROS
NO RECIBE Y NO RETORNA
PSEUDOCÓDIGO
Algoritmo Suna_Enteros
Suma()
FinAlgoritmo
Función Suma
Definir num1, num2 Como Entero
Definir R Como Entero
Escribir 'Introduce dos numeros'
Leer num1, num2
R <- num1+num2
Escribir 'La suma de:', num1, '+', num2, '=', R
FinFunción
DIAGRAMAS DE FLUJO
8
ALGORITMO 1. SUMA DE ENTEROS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
void suma(void);
int main()
{
suma();
return 0;
}
void suma(void)
{
int num1,num2;
int r;
printf("Introduce num1:\n");
scanf("%d",&num1);
printf("Introduce num 2:\n",num2);
scanf("%d",&num2);
r=num1+num2;
printf("La suma de %d + %d = %d",num1,num2,r);
RESULTADOS
9
ALGORITMO 2. ÁREA DEL CIRCULO
SI RECIBEN Y NO RETORNAN
PSEUCODIGO
Algoritmo Area_circulo
Definir r Como Real
Definir A Como Real
Escribir 'Introduce el radio'
Leer radio
A <- pi+radio^2
Escribir "AREA = ",A
FinAlgoritmo
Funcion A<-area
A<-pi+radio^2
FinFuncion
DIAGRAMAS DE FLUJO
10
ALGORITMO 2. ÁREA DEL CIRCULO
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void area_c(float);//prototipo de la
funcion
int main()
{
float r;
printf("Introduce el radio:\n");
scanf("%f", &r);
area_c(r); // llamada a la funcion
return 0;
}
// definicion de la funcion
void area_c(float r)
{
float A;
A = M_PI * pow(r, 2);
printf("Area = %.2f\n", A);
}
RESULTADOS
11
ALGORITMO 2. ÁREA DEL CIRCULO
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo Area_circulo
Definir A Como Real // variable de entrada
A=area_c()
Escribir 'Area= ', A
FinAlgoritmo
Funcion A=area_c
DEfinir r Como Real
definir A Como Real
Escribir 'Introduce el radio'
Leer radio
A <- pi+radio^2
FinFuncion
DIAGRAMAS DE FLUJO
12
ALGORITMO 2. ÁREA DEL CIRCULO
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float area_c(void);//prototipo de la
funcion
int main()
{
float A;//v.salida
A=area_c();//llamada a la funcion
printf("Area=%.2f",A);
return 0;
}
float area_c(void)
{
float r;
printf ("Introduce radio:\n");
scanf ("%f",&r);
return(M_PI*pow(r,2));
}
RESULTADOS
13
ALGORITMO 2. ÁREA DEL CIRCULO
NO RECIBEN Y NO RETORNAN
PSEUCODIGO
Algoritmo Area_Circulo
Area_c()
FinAlgoritmo
Función Area_c
Definir radio Como Real
Definir A Como Real
Escribir 'Introduce el valor de r'
Leer radio
A <- pi*radio^2
Escribir 'Area=', A
FinFunción
DIAGRAMAS DE FLUJO
14
ALGORITMO 2. ÁREA DEL CIRCULO
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void area_c(void);
int main()
{
area_c();
return 0;
}
void area_c(void)
{
float r;
float A;
printf("Introduce el radio:\n");
scanf("%f",&r);
A=M_PI*pow(r,2);
printf("Area=%.2f:\n",A);
}}
RESULTADOS
15
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
SI RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo conversiones
Definir k,f Como Real
Escribir "introduzca el valor de k"
Escribir "Introduzca el valor de f"
Leer k,f
definir k_c Como Real
definir f_c Como Real
k_c=(k-273.15)
f_c=((f-32)/1.8)
conversion=celsius(k,f)
FinAlgoritmo
Funcion conversion=celsius (k,f)
Escribir "el valor de k_c es:",(k-273.15),k_c
Escribir "el valor de f_c es:",((f-32)/1.8),k_c
FinFuncion
DIAGRAMAS DE FLUJO
16
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
//prototipos de la funcion
float conversion_f(float);
float conversion_k(float);
int main()
{
float c, r1, r2;
printf("Introduce la temperatura en grados Celsius:\n");
scanf("%f", &c);
r1 = conversion_f(c);
r2 = conversion_k(c);
printf("La temperatura en Fahrenheit es: %.2f y la temperatura en Kelvin es: %.2f\n", r1, r2);
return 0;
}
//definicion de la funcion
float conversion_f(float c)
{
float r1;
r1 = (c * 1.8) + 32;
return r1;
}
//definicion de la funcion
float conversion_k(float c)
{
float r2;
r2 = c + 273.15;
return r2;
}
RESULTADOS
17
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
SI RECIBEN Y NO RETORNAN
PSEUDOCODIGO
//Algoritmo 3. Cambio de temperatura
Algoritmo cambio_de_temperatura
Definir c,f,k Como Real
Escribir "Ingresa los grados celsius"
Leer c
f = (c*1.8) + 32
k = c + 273.15
Escribir "La conversión a grado Fahrenheit resulta " f
Escribir "La conversión a grados Kelvin resulta " k
FinAlgoritmo
DIAGRAMAS DE FLUJO
18
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
//prototipos de la funcion
float conversion_f(float);
float conversion_k(float);
int main()
{
float c, r1, r2;
printf("Introduce la temperatura en grados Celsius:\n");
scanf("%f", &c);
r1 = conversion_f(c);
r2 = conversion_k(c);
printf("La temperatura en Fahrenheit es: %.2f y la temperatura en Kelvin es: %.2f\n", r1, r2);
return 0;
}
//definicion de la funcion
float conversion_f(float c)
{
float r1;
r1 = (c * 1.8) + 32;
return r1;
}
//definicion de la funcion
float conversion_k(float c)
{
float r2;
r2 = c + 273.15;
return r2;
}
RESULTADOS
19
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
//Algoritmo 3. Cambio de temperatura
Algoritmo cambio_de_temperatura
Definir c,f,k Como Real
Escribir "Ingresa los grados celsius"
Leer c
f = (c*1.8) + 32
k = c + 273.15
Escribir "La conversión a grado Fahrenheit resulta " f
Escribir "La conversión a grados Kelvin resulta " k
FinAlgoritmo
DIAGRAMAS DE FLUJO
20
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
// prototipos de la función
float conversion_f(void);
float conversion_k(void);
int main()
{
float r1 = conversion_f();
float r2 = conversion_k();
printf("La temperatura en Fahrenheit es: %.2f y la temperatura en Kelvin es: %.2f\n", r1, r2);
return 0;
}
// definicion de la funcion
float conversion_f(void) {
float c, r1;
printf("Introduce la temperatura en Celsius\n");
scanf("%f", &c);
r1 = (c * 1.8) + 32;
return r1;
}
//definicion de la funcion
float conversion_k(void)
{
float c,r2;
printf("Introduce nuevamente la temperatura en Celsius\n");
scanf("%f", &c);
r2 = c + 273.15;
return r2;
}
RESULTADOS
21
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
NO RECIBEN Y NO RETORNAN
PSEUDOCODIGO
//Algoritmo 3. Cambio de temperatura
Algoritmo cambio_de_temperatura
Definir c,f,k Como Real
Escribir "Ingresa los grados celsius"
Leer c
f = (c*1.8) + 32
k = c + 273.15
Escribir "La conversión a grado Fahrenheit resulta " f
Escribir "La conversión a grados Kelvin resulta " k
FinAlgoritmo
DIAGRAMAS DE FLUJO
22
ALGORITMO 3. CONVERSIONES DE TEMPERATURA
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
// prototipos de la función
void conversion_f(void);
void conversion_k(void);
int main() {
conversion_f();
conversion_k();
return 0;
}
// definicion de la función
void conversion_f(void) {
float c;
float r1;
printf("Introduce la temperatura en Celsius\n");
scanf("%f", &c);
r1 = (c * 1.8) + 32;
printf("La temperatura en farenheit es: %.2f\n", r1);
}
// definicion de la función
void conversion_k(void) {
float c;
float r2;
printf("Introduce la temperatura en Celsius\n");
scanf("%f", &c);
r2 = c + 273.15;
printf("La temperatura en kelvin es: %.2f\n", r2);
}
RESULTADOS
23
ALGORITMO 4. TEOREMA DE PITÁGORAS
SI RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo TEOREMA_PITAGORAS
Definir CO,CA como real
Definir H Como Real
Escribir "Introduce los valores de CO,CA"
Leer CO,CA
H=POTENCIA(CO,CA)
Escribir " hipotenusa ", H
Escribir " Cateto opuesto ", CO
Escribir " Cateto adyacente ", CA
FinAlgoritmo
Funcion H=POTENCIA(CO,CA)
H=RAIZ(CO^2+CA^2)
FinFuncion
DIAGRAMAS DE FLUJO
24
ALGORITMO 4. TEOREMA DE PITÁGORAS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float potencia (float,float);//prototipo de la funcion
int main()
{
float H;//v.salida
float CO,CA;//v entrada
printf("Introduce los valores de los catetos CO,CA\n");
scanf ("%f" ,&CO);
scanf ("%f" ,&CA);
H=potencia(CO,CA);//llamada a la funcion
printf("El resultado de H=%f\n",H);
return 0;
}
float potencia(float CO,float CA)//Definicion de la funcion
{
float H;
H=sqrt( (pow(CO,2))+(pow(CA,2)));
return (H);
}
RESULTADOS
25
ALGORITMO 4. TEOREMA DE PITÁGORAS
SI RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo TEOREMA_PITAGORAS
Definir CO,CA como real
Definir H Como Real
Escribir "Introduce los valores de CO,CA"
Leer CO,CA
Potencia(CO,CA)
FinAlgoritmo
Funcion Potencia(CO,CA)
H=RAIZ(CO^2+CA^2)
Escribir " Hipotenusa ", H
Escribir " Cateto Opuesto ", CO
Escribir " Cateto Adyacente ", CA
FinFuncion
DIAGRAMAS DE FLUJO
26
ALGORITMO 4. TEOREMA DE PITÁGORAS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void potencia(float,float);
int main()
{
float CO,CA;//variable de entrada
printf ("introduce los valores de CO,CA\n");
scanf ("%f",&CO);
scanf ("%f",&CA);
potencia (CO,CA);
return 0;
}
//Definicion de la funcion
void potencia (float CO,float CA)
{
float H;
H=sqrt( (pow(CO,2))+(pow(CA,2)));
printf ("El resultado de H=%f\n",H);
RESULTADOS
27
ALGORITMO 4. TEOREMA DE PITÁGORAS
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo TEOREMA_PITAGORAS
Definir H Como Real
Hip=Potencia()
Escribir " Hipotenusa ", H
Escribir " Cateto Opuesto ", CO
Escribir " Cateto Adyacente ", CA
FinAlgoritmo
Funcion Hip=Potencia
Definir CO,CA Como real
Definir H Como Real
Escribir "Introduce los valores de CO,CA"
Leer CO,CA
H=RAIZ(CO^2+CA^2)
FinFuncion
DIAGRAMAS DE FLUJO
28
ALGORITMO 4. TEOREMA DE PITÁGORAS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float potencia(void);//prototipo de la funcion
int main()
{
float H;//v.salida
H=potencia();//llamada a la funcion
printf("El valor de la hipotenusa es H=%f\n",H);
return 0;
}
//Definicion de la funcion
float potencia()
{
float CO,CA;//v.entrada
printf ("Introduce los valores de CO,CA\n");
scanf ("%f",&CO);
scanf ("%f",&CA);
float H;
H=sqrt( (pow(CO,2))+(pow(CA,2)));
return (H);
}
RESULTADOS
29
ALGORITMO 4. TEOREMA DE PITÁGORAS
NO RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo TEOREMA_PITAGORAS
Potencia()//llamada a la funcion
FinAlgoritmo
Funcion Potencia
Definir CO,CA Como Real
Definir H Como Real
Escribir "Introduce valores de CO,CA"
Leer CO,CA
H=RAIZ(CO^2+CA^2)
Escribir " Hipotenusa ", H
Escribir " Cateto Opuesto ", CO
Escribir " Cateto Adyacente ", CA
FinFuncion
DIAGRAMAS DE FLUJO
30
ALGORITMO 4. TEOREMA DE PITÁGORAS
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void potencia();
int main()
{
potencia();
return 0;
}
//Definicion de la funcion
void potencia()
{
float CO,CA;//v.entrada
float H;//v.salida
printf ("Introduce los valores de los catetos CO,CA\n");
scanf ("%f", &CO);
scanf ("%f", &CA);
H=sqrt( (pow(CO,2))+(pow(CA,2)));
printf ("El valor de la hipotenusa es %f\n",H);
}
RESULTADOS
31
ALGORITMO 5. FÓRMULA GENERAL
SI RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo FormulaG
Definir a,b,c Como Real
Definir x1 Como Real
Definir x2 Como Real
Escribir "Introduce el valor de a,b,c"
Leer a,b,c
x1<-pos (a,b,c)
Escribir "El valor de x1 es=" , x1
x2<- neg (a,b,c)
Escribir "El valor de x2 es=" ,x2
FinAlgoritmo
Funcion x1<-pos(a,b,c)
x1<-((-(b)+RAIZ(b^2-4*a*c))/(2*a))
FinFuncion
Funcion x2<-neg(a,b,c)
x2<-((-(b)-RAIZ(b^2-4*a*c))/(2*a))
FinFuncion
DIAGRAMA DE FLUJO
32
ALGORITMO 5. FÓRMULA GENERAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// Si reciben y Si retornan
float FormulaGX1(float,float,float);
float FormulaG2X2(float,float,float);
int main()
{
float a,b,c;
float x1,x2;
printf("Introduce el valor de a:\n");
scanf ("%f",&a);
printf("Introduce el valor de b:\n");
scanf ("%f",&b);
printf("Introduce el valor de c:\n");
scanf ("%f",&c);
x1=FormulaGX1(a,b,c);
x2=FormulaG2X2(a,b,c);
printf("x1=%.2f",x1);
printf("\nx2=%.2f",x2);
return 0;
}
RESULTADOS
33
ALGORITMO 5. FÓRMULA GENERAL
SI RECIBEN Y NO RETORNAN
PSEUDOCODIGO
/Algoritmo FormulaG
Definir a,b,c Como Real
Escribir "Introduce los valores de a,b,c"
Leer a,b,c
pos(a,b,c)
neg(a,b,c)
FinAlgoritmo
Funcion pos(a,b,c)
x1<-((-(b)+RAIZ(b^2-4*a*c))/(2*a))
Escribir "Elvalor de x1 es=",x1
FinFuncion
Funcion neg(a,b,c)
x2<-((-(b)-RAIZ(b^2-4*a*c))/(2*a))
Escribir "El valor de x2 es=",x2
FinFuncion
DIAGRAMA DE FLUJO
34
ALGORITMO 5. FÓRMULA GENERAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Si recibe y No retorna
void FormulaG1(float,float,float);
void FormulaG2(float,float,float);
int main()
{
float a,b,c;
printf("Introduce el valor de a:\n");
scanf("%f",&a);
printf("Introduce el valor de b:\n",&b);
scanf("%f",&b);
printf("Introduce el valor de c:\n",&c);
scanf("%f",&c);
FormulaG1(a,b,c);
FormulaG2(a,b,c);
return 0;
}
void FormulaG1(float a,float b,float c)
{
float x1;
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
printf("x1=%.2f",x1);
return 0;
}
RESULTADOS
35
ALGORITMO 5. FÓRMULA GENERAL
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo FormulaG
Definir x1,x2 Como Real
x1=pos(vocio)
x2=neg(vacio)
Escribir "El valor de x es=",x1
Escribir "el valor de x es=",x2
FinAlgoritmo
Funcion x1=pos(vasio)
Definir a,b,c Como Real
Escribir "Introduce los valores de a,b,c"
Leer a,b,c
x1<-((-(b)+RAIZ(b^2-4*a*c))/(2*a))
FinFuncion
Funcion x2=neg(vacio)
DIAGRAMA DE FLUJO
36
ALGORITMO 5. FÓRMULA GENERAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Funcion No recibe y Si retorna
float FormulaGx1(void);
float FormulaG2x2(void);
int main()
{
float E,F;
E=FormulaGx1();
F=FormulaG2x2();
printf("FormulaGx1=%.2f",E);
printf("\nFormulaG2x2=%.2f",F);
return 0;
}
float FormulaGx1(void)
{
float a,b,c;
float x1;
printf("Introduce el valor de a:\n");
scanf("%f",&a);
printf("\nIntroduce el valor de b:");
scanf("%f",&b);
printf("\nIntroduce el valor de c:\n");
scanf("%f",&c);
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
return(x1);
}
float FormulaG2x2(void)
{
float x2;
float a,b,c;
printf("\nIntroduce el valor de a:\n");
scanf("%f",&a);
printf("\nIntroduce el valor de b:");
scanf("%f",&b);
printf("\nIntroduce el valor de c:");
scanf("%f",&c);
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);
return(x2);
}
37
ALGORITMO 5. FÓRMULA GENERAL
RESULTADOS
38
ALGORITMO 5. FÓRMULA GENERAL
NO RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo FormulaG
pos(vacio)
neg(vacio)
FinAlgoritmo
Funcion pos(vacio)
Definir a,b,c Como Real
Escribir "Introduce los valores de a,b,c"
Leer a,b,c
x1<-((-(b)+RAIZ(b^2-4*a*c))/(2*a))
Escribir "El valor de x1=",x1
FinFuncion
Funcion neg(vacio)
Definir a,b,c Como Real
Escribir "Introduce los valores de a,b,c"
Leer a,b,c
x2<-((-(b)-RAIZ(b^2-4*a*c))/(2*a))
Escribir "El valor de x2=",x2
FinFuncion
DIAGRAMA DE FLUJO
39
ALGORITMO 5. FÓRMULA GENERAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//No reciben y No retornan
void Formula_g(void);
int main()
{
Formula_g();
return 0;
}
void Formula_g(void)
{
float x1;
float x2;
float a,b,c;
printf("Introduce el valor de a\n");
scanf("%f",&a);
printf("Introduce el valor de b\n");
scanf("%f",&b);
printf("Introduce el valor de c\n");
scanf("%f",&c);
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);
printf("x1=%.2f",x1);
printf("\nx2=%.2f",x2);
return 0;
}
RESULTADOS
40
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
SI RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo AREA_TRIANGULO
Definir a,b,c Como Real
Definir s Como Real
Escribir "Introduce valores de a,b,c"
Leer a,b,c
s<-division (a,b,c)
Escribir "El valor del semiperimetro es", s
Escribir 'Introduce los valores de a,b,c y del semiperimetro (s)'
Leer s
Leer a
Leer b
Leer c
A<-Multiplicacion (a,b,c,s)
Escribir "El valor del Area es", A
FinAlgoritmo
Funcion s<-division (a,b,c)
s <- a+b+c/2
FinFuncion
DIAGRAMA DE FLUJO
41
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float semiperimetro(float,float,float);
float multiplicacion(float,float,float,float);//prototipo de la funcion
int main()
{
float a,b,c; //v.entrada
float s;//v.salida
float A;
printf("Introduce los valores de a,b,c para calcular el semiperimetro\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
s=semiperimetro(a,b,c);//llamada a la funcion
printf("El resultado del semiperimetro es %f\n");
printf ("Introduce los valores de a,b,c y del semiperimetro (s)\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
scanf("%f",&s);
A=multiplicacion(a,b,c,s);//llamada a la funcion
printf ("El valor del area es %f\n,A");
return 0;
}
float semiperimetro (float a,float b,float c)//definicion de la funcion
{
float s;
s=a+b+c/2;
return (s);
}
float multiplicacion(float a,float b,float c,float s)
{
float A;
A=sqrt(s*(s-a)*(s-b)*(s-c));
return (A);
}
42
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
RESULTADOS
43
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
SI RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo AREA_TRIANGULO
Definir a,b,c Como Real
Definir s Como Real
Escribir "Introduce los valores de a,b,c"
Leer a,b,c
division(a,b,c)
FinAlgoritmo
Funcion division(a,b,c)
s<- a+b+c/2
Escribir "El valor del semiperimetro es",s
Escribir"Introduce los valores a,b,c y del semiperimetro (s)"
Leer s
Leer a
Leer b
Leer c
A<-Multiplicacion(a,b,c,s)
Escribir "el valor del area es", A
FinFuncion
Funcion A<-Multiplicacion(a,b,c,s)
A<- RAIZ(s*(s-a)*(s-b)*(s-c))
FinFuncion
DIAGRAMA DE FLUJO
44
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void semiperimetro (float,float,float);
void Area_t(float,float,float,float);
int main()
{
float a,b,c;//v.entrada
printf("Introduce los valores de a,b,c para calcular el semiperimetro (s)\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
semiperimetro(a,b,c);
printf ("Introduce los valores de a,b,c y del semiperimetro (s)\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
scanf("%f",&s);
Area_t(a,b,c,s);
return 0;
}
void semiperimetro (float a,float b,float c)//definicion de la funcion
{
float s;//v.salida
s=a+b+c/2;
printf("el resultado del semiperimetro es %f\n",s);
}
void Area_t (float a,float b,float c,float s)//definicion de la funcion
{
float A;//v.salida
A=sqrt(s*(s-a)*(s-b)*(s-c));
printf ("El valor del area es %f\n,A");
}
RESULTADOS
45
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo AREA_TRIANGULO
Definir s como real
s=Division()
Escribir " El valor del semiperimetro es ",s
FinAlgoritmo
Funcion s=Division
Definir a,b,c Como Real
Definir s como real
s<-a+b+c/2
Escribir " Valor de a,b,c"
Leer a,b,c
Escribir "Valor de a,b,c y del semiperimetro (s)"
Leer s
leer a
leer b
leer c
A<-Multiplicacion(a,b,c,s)
FinFuncion
Funcion A<-Multiplicacion(a,b,c,s)
A<-(s*(s-a)*(s-b)*(s-c))
FinFuncion
DIAGRAMA DE FLUJO
46
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float semiperimetro ();
float Area_t();
int main()
{
float s;//v.salida
float A;//v.salida
s=semiperimetro();
printf("El valor del semiperimetro es %f\n",s);
A=Area_t ("El valor del area es %f\n",A);
return 0;
}
float semiperimetro ()//Definicion de la funcion
{
float a,b,c;//v.entrada
printf ("Introduce los valores de a,b,c para calcular el semiperimetro (s)\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
float s;
s=a+b+c/2;
return (s);
}
float Area_t()//definicion de la funcion
{
float a,b,c,s;
printf("introduce los valores de a,b,c y del semiperimetro(s)\n");
scanf ("%f",&a);
scanf ("%f",&b);
scanf ("%f",&c);
scanf ("%f",&s);
float A;
A=(s*(s-a)*(s-b)*(s-c));
return (A);
}
RESULTADOS
47
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
NO RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo AREA_TRIANGULO
potencia()
FinAlgoritmo
Funcion potencia
Definir a,b,c Como Real
DEfinir s Como Real
Escribir "Introduce los valores a,b,c"
Leer a,b,c
s=a+b+c/2
Escribir "El valor del semiperimetro es", s
Leer s
Leer a
leer b
leer c
A=Multiplicacion(a,b,c,s)
Escribir "El valor del area es",A
FinFuncion
Funcion A=Multiplicacion (a,b,c,s)
A=RAIZ(s*(s-a)*(s-b)*(s-c))
FinFuncion
DIAGRAMA DE FLUJO
48
ALGORITMO 8. CALCULAR EL ÁREA DE UN TRIÁNGULO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void semiperimetro ();
void Area_t();
int main()
{
semiperimetro();
Area_t();
return 0;
}
void semiperimetro()//llamada a la funcion
{
float a,b,c;
float s;
printf("Introduce los valores de a,b,c para calcular el semiperimetro (s)\n");
scanf ("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
s=a+b+c/2;
printf("El valor del semiperimetro es %f\n",s);
}
void Area_t()//llamada a ala funcion
{
float a,b,c,s;
float A;
printf ("Introduce los valores de a,b,c y del semiperimetro (s)\n");
scanf ("%f",&a);
scanf ("%f",&b);
scanf ("%f",&c);
scanf ("%f",&s);
A=sqrt(s*(s-a)*(s-b)*(s-c));
printf ("El valor del area es %f\n",A);
}
RESULTADOS
49
ALGORITMO 9. TIRO PARABÓLICO
SI RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo Tiro_Parabolico
Definir v0,A,t Como Real
Definir x, i Como Real
Escribir "Calcular la distancia y la altura de un proyectil"
Escribir "Componente horizontal"
escribir "Introduce el valor de v0"
Leer v0
Escribir "Introduce el valor de alpha"
Leer A
Escribir "Introduce el valor del tiempo"
Leer t
x<- componenteH(v0,A,t)
i<-componentev(v0,A,t)
Escribir "El resultado de x=",x
Escribir "El resultado de i=",i
FinAlgoritmo
Funcion x<-componenteH(v0,A,t)
x<-v0*(cos(A))*t
FinFuncion
Funcion i<-componentev(v0,A,t)
i<-v0*(sen(A))*(t-.5)*9.81*(t^2)
FinFuncion
DIAGRAMAS DE FLUJO
50
ALGORITMO 9. TIRO PARABÓLICO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define g 9.81
//Si recibe y Si retorna
float ComponenteH(float,float,float);
float ComponenteV(float,float,float,float);
int main()
{
float v0,A,t,i0;
float x,y;
printf("\tCalcular la distancia y la altura de un proyectil\n");
printf("Componentes horizontal\n");
printf("Introduce el valor de velocidad inicial(v0)\n");
scanf("%f",&v0);
printf("Introduce el valor del coseno de alpha(A)\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo\n");
scanf("%f",&t);
RESULTADOS
x=ComponenteH(v0,A,t);
printf("El resultado en el componente horizontal es = %f\n \n",x);
printf("Componente en vertical\n");
printf("El valor y0\n");
scanf("%f",&i0);
printf("Introduce el valor de valocidad inicial (v0)\n");
scanf("%f",&v0);
printf("Introduce el valor del seno de alpha (A)\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo (t)\n");
scanf("%f",&t);
y=ComponenteV(v0,A,t,i0);
printf("El resultaddo de la componente en vertical es= %f",y);
return 0;
}
RESULTADOS
52
ALGORITMO 9. TIRO PARABÓLICO
SI RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo Tiro_Parabolico
Definir v0,A,t Como Real
Escribir "Calcular la distancia y la altura de un proyectil"
Escribir "Componente horizontal"
escribir "Introduce el valor de v0"
Leer v0
Escribir "Introduce el valor de alpha"
Leer A
Escribir "Introduce el valor del tiempo"
Leer t
componenteH(v0,A,t)
componentev(v0,A,t)
FinAlgoritmo
Funcion componenteH(v0,A,t)
x<-v0*(cos(A))*t
Escribir "El resultado de x=",x
FinFuncion
Funcion componentev(v0,A,t)
i<-v0*(sen(A))*(t-.5)*9.81*(t^2)
Escribir "El resultado de i=",i
FinFuncion
DIAGRAMAS DE FLUJO
53
ALGORITMO 9. TIRO PARABÓLICO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define g 9.81
//Si recibe y No retorna
void ComponenteH(float,float,float);
void ComponenteV(float,float,float,float);
int main()
{
float v0,A,t,i0;
printf("\tCalcular la distancia y la altura de un proyectil\n");
printf("Componentes Horizontal\n");
printf("Introduce el valor de velocidad inicial (v0):\n");
scanf("%f",&v0);
printf("Introduce el valor de coseno de alpha (A):\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo (t):\n");
scanf("%f",&t);
ComponenteH(v0,A,t);
RESULTADOS
printf("Componente en Vertical\n");
printf("El valor de y0:\n");
scanf("%f",&i0);
printf("Introduce el valor de velocidad inicial (v0):\n");
scanf("%f",&v0);
printf("Introduce el valor del seno de alpha (A):\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo (t):\n");
scanf("%f",&t);
ComponenteV(v0,A,t,i0);
return 0;
}
54
ALGORITMO 9. TIRO PARABÓLICO
RESULTADOS
55
ALGORITMO 9. TIRO PARABÓLICO
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo Tiro_Parabolico
Definir x, i Como Real
x<- componenteH(vacio)
i<-componentev(vacio)
Escribir "El resultado de x=",x
Escribir "El resultado de i=",i
FinAlgoritmo
DIAGRAMAS DE FLUJO
56
ALGORITMO 9. TIRO PARABÓLICO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define g 9.81
//No recibe y Si retorna
float ComponenteH(void);
float ComponenteV(void);
int main()
{
float P,S;
P=ComponenteH();
S=ComponenteV();
printf("ComponenteH=%.2F\n",P);
printf("ComponenteV=%.2F\n",S);
return 0;
}
float ComponenteH(void)
{
float v0,A,t;
float x;
printf("\tCalcular la distancia y la altura de un proyectil\n");
printf("Componentes Horizontal\n");
printf("Introduce el valor de velocidad inicial (v0):\n");
scanf("%f",&v0);
printf("Introduce el valor del coseno de alpha (A):\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo (t):\n");
scanf("%f",&t);
x=v0*(cos(A*M_PI/180))*t;
return(x);
}
float ComponenteV(void)
{
float v0,A,t,i0;
float y;
printf("Componente en Vertical\n");
printf("Introduce el valor de y0:\n");
scanf("%f",&i0);
printf("Introduce el valor de velocidad inicial (v0):\n");
scanf("%f",&v0);
printf("Introduce el valor del seno de alpha (A):\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo (t):\n");
scanf("%f",&t);
y=(i0+v0)*(sin(A*M_PI/180))*((t-.5)*g)*(pow(t,2));
return(y);
}
57
ALGORITMO 9. TIRO PARABÓLICO
RESULTADOS
58
ALGORITMO 9. TIRO PARABÓLICO
NO RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo Tiro_Parabolico
componenteH(vacio)
componentev(vacio)
FinAlgoritmo
Funcion componenteH(vacio)
Escribir "Calcular la distancia y la altura de un proyectil"
Escribir "Componente horizontal"
escribir "Introduce el valor de v0"
Leer v0
Escribir "Introduce el valor de alpha"
Leer A
Escribir "Introduce el valor del tiempo"
Leer t
x<-v0*(cos(A))*t
Escribir "El resultado de x=",x
FinFuncion
Funcion componentev(vacio)
Escribir "Componente vertical"
escribir "Introduce el valor de v0"
Leer v0
Escribir "Introduce el valor de alpha"
Leer A
Escribir "Introduce el valor del tiempo"
Leer t
i<-v0*(sen(A))*(t-.5)*9.81*(t^2)
Escribir "El resultado de i=",i
FinFuncion
DIAGRAMAS DE FLUJO
59
ALGORITMO 9. TIRO PARABÓLICO
CODIFICACION
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define g 9.81
//No reciben y No retornan
void TiroP(void);
int main()
{
TiroP();
return 0;
}
void TiroP(void)
{
float v0,A,t,i0;
float x,y;
printf("\tCalcular la distancia y la altura de un proyectil\n");
printf("Componentes horizontal\n");
printf("Introduce el valor de velocidad inicial(v0)\n");
scanf("%f",&v0);
printf("Introduce el valor del coseno de alpha(A)\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo\n");
scanf("%f",&t);
x=v0*(cos(A*M_PI/180))*t;
printf("El resultado en el componente horizontal es = %f\n \n",x);
printf("Componente en vertical\n");
printf("El valor y0\n");
scanf("%f",&i0);
printf("Introduce el valor de valocidad inicial (v0)\n");
scanf("%f",&v0);
printf("Introduce el valor del seno de alpha (A)\n");
scanf("%f",&A);
printf("Introduce el valor del tiempo (t)\n");
scanf("%f",&t);
y=(i0+v0)*(sin(A*M_PI/180))*((t-.5)*g)*(pow(t,2));
printf("El resultaddo de la componente en vertical es= %f",y);
}
60
ALGORITMO 9. TIRO PARABÓLICO
RESULTADO
61
ALGORITMO 10. MODELO POBLACIÓNAL
SI RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo MODELO_POBLACIONAL
Definir Po, r, t como reales
Definir res como real
Escribir "Ingrese la poblacion inicial:"
leer Po
Escribir "Ingrese la tasa de crecimiento: "
leer r
Escribir "Ingrese el tiempo de crecimiento:"
leer t
res<- Modelo (Po, r, t)
Escribir "La poblacion es de: ", res," habitantes"
FinAlgoritmo
Funcion res<-Modelo (Po, r, t)
res<-Po* ((1+r)^t)
FinFuncion
DIAGRAMA DE FLUJO
62
ALGORITMO 10. MODELO POBLACIÓNAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//prototipo de la función
float poblacion_f(float, float, float);
int main()
{
float Po, t, r;
float Pt;
printf("Ingrese la poblacion inicial:\n");
scanf("%f", &Po);
printf("Ingrese la tasa poblacional en decimales:\n");
scanf("%f", &r);
printf("Por último ingrese el tiempo de crecimiento:\n");
scanf("%f", &t);
//llamada a la función
float poblacion_f(Po, r, t);
printf("El valor de la poblacion final es %f\n", Pt);
return 0;
}
//definición de la función
float poblacion_f(float Po, float r, float t)
{
float Pt = Po * pow(1 + r, t);
return Pt;
}
RESULTADOS
63
ALGORITMO 10. MODELO POBLACIÓNAL
SI RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo MODELO_POBLACIONAL
Definir Po, r, t como reales
Definir res como real
Escribir "Ingrese la poblacion inicial: "
leer Po
Escribir "Ingrese la tasa de crecimiento:"
leer r
Escribir "Ingrese el tiempo de crecimiento:"
leer t
Modelo(Po, r, t)
FinAlgoritmo
Funcion Modelo(Po, r, t)
res <- Po ((1+r)^t)
Escribir "La poblacion es de: " res, "habitantes"
FinFuncion
DIAGRAMA DE FLUJO
64
ALGORITMO 10. MODELO POBLACIÓNAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//prototipo de la función
float poblacion_f(float, float, float);
int main()
{
float Po, t, r;
printf("Ingrese la poblacion inicial: ");
scanf("%f", &Po);
printf("Ingrese la tasa poblacional en decimales: ");
scanf("%f", &r);
printf("Por último ingrese el tiempo de crecimiento: ");
scanf("%f", &t);
//llamada a la función
float Pt = poblacion_f(Po, r, t);
printf("El valor de la poblacion final es %f\n", Pt);
return 0;
}
//definición de la función
float poblacion_f(float Po, float r, float t)
{
float Pt = Po * pow(1 + r, t);
return Pt;
}
RESULTADOS
65
ALGORITMO 10. MODELO POBLACIÓNAL
NO RECIBEN Y SI RETORNAN
PSEUDOCODIGO
Algoritmo MODELO_POBLACIONAL
Definir res como real
res <- Modelo
Escribir "La poblacion es de: ", res, "habitantes"
FinAlgoritmo
Funcion res<-Modelo
Definir Po, r, t como reales
Escribir "Ingrese la población inicial:"
leer Po
Escribir "Ingrese la tasa de crecimiento:"
leer r
Escribir "Ingrese el tiempo de crecimiento:"
leer t
res <- Po*((1+r)^t)
FinFuncion
DIAGRAMA DE FLUJO
66
ALGORITMO 10. MODELO POBLACIÓNAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//prototipo de la función
float poblacion_f(float, float, float);
int main()
{
float Po, t, r;
printf("Ingrese la poblacion inicial: ");
scanf("%f", &Po);
printf("Ingrese la tasa poblacional en decimales: ");
scanf("%f", &r);
printf("Por último ingrese el tiempo de crecimiento: ");
scanf("%f", &t);
//llamada a la función
float Pt = poblacion_f(Po, r, t);
printf("El valor de la poblacion final es %f\n", Pt);
return 0;
}
//definición de la función
float poblacion_f(float Po, float r, float t)
{
float Pt = Po * pow(1 + r, t);
return Pt;
}
RESULTADOS
67
ALGORITMO 10. MODELO POBLACIÓNAL
NO RECIBEN Y NO RETORNAN
PSEUDOCODIGO
Algoritmo MODELO_POBLACIONAL
Modelo
FinAlgoritmo
Funcion Modelo
Definir Po, r, t como reales
Definir res como real
Escribir "Ingrese la poblacion inicial:"
leer Po
Escribir "Ingrese la tasa de crecimiento:"
leer r
Escribir "Ingrese el tiempo de crecimiento"
leer t
res<-Po*((r)^t)
Escribir "La poblacion es de res, habitantes"
FinFuncion
DIAGRAMA DE FLUJO
68
ALGORITMO 10. MODELO POBLACIÓNAL
CODIFICACIÓN
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//prototipo de la funcion
void poblacion_f (void);
int main()
{
poblacion_f();
return 0;
}
//Definicion de la funcion
void poblacion_f(void)
{
float Po,t,r;
float Pt;
printf("Ingrese la poblacion inicial (Po)\n");
scanf("%f",&Po);
printf("Tngrese la tasa poblacional (r) en decimales\n");
scanf("%f", &r);
printf("Por último ingrese el tiempo de crecimiento (t)\n");
scanf("%f",&t);
Pt=Po*pow(1+r,t);
printf("El valor de la poblacion final es: %f/n", Pt);
}
RESULTADOS
69
SOTO Y OCHOA
CONCLUSIÓN
A lo largo de los algoritmos concluimos que hay diferentes formas de
llegar al mismo resultado, todo depende de lo requiera la persona,
observamos que tanto en pseint como en codeblocks se utilizan
similares herramientas, solo que en codeblocks el algoritmo es más
extenso como se puede ver en el desarrollo. Aprendimos otra librería a
localizar las funciones de los algoritmos y para que se utilizan, así
mismo cómo se utilizar las variables que reciben y retornan, reciben y
no retornan, no reciben y retornan y no reciben y no retornan; a cómo
desarrollar un algoritmo con un poco más de nivel.
70
REFERENCIAS
Programación ATS. (2016, 22 febrero). 6. Programación en C - Estructura general de un
programa en C [Vídeo]. YouTube. https://www.youtube.com/watch?v=YmFP8buP9CE
71