2. A finales de los años 1960 surgió una nueva forma de
programar que no solamente daba lugar a programas fiables y
eficientes, sino que además estaban escritos de manera que
facilitaba su comprensión posterior. El teorema del programa
estructurado demuestra que todo programa puede escribirse
utilizando únicamente las tres instrucciones de control
siguientes:
-Secuencia
-Instrucción condicional
-Iteración (bucle de instrucciones)
PROGRAMACIÓN ESTRUCTURADA
3. PROGRAMACIÓN ESTRUCTURADA
La metodología de programación estructurada se fundamenta
en técnicas de segmentación, la cual plantea que un problema
se puede dividir en problemas más pequeños (módulos) y más
simples de resolver, de tal forma que la suma de las
soluciones de cada problema sea el resultado de la solución
total de éste.
4. Esta metodología permite desarrollar algoritmos a través de
módulos(PROGRAMACIÓN MODULAR), los cuales realizan
tareas bien definidas. De esta forma, el módulo se define una
sola vez y se llama tantas veces como sea necesario,
mediante el nombre que lo identifica.
La forma gráfica que lo representa sería la siguiente:
PROGRAMACIÓN ESTRUCTURADA
5. PROGRAMACIÓN ESTRUCTURADA
VENTAJAS Y DESVENTAJAS
Ventajas
- Los programas son mas fáciles de leer
- La estructura de los programas es clara
- Reducción de esfuerzo en las pruebas
- Se incrementa el rendimiento del programador
Desventajas
- Se obtiene un único bloque del programa que cuando
se hace demasiado grande puede ser problemático para
el manejo del código fuente
7. PROCEDIMIENTOS
Un camino para dividir un gran programa en partes mas
pequeñas es el uso de los llamados procedimientos.
Un procedimiento es un grupo de instrucciones, variables,
constantes, etc., que están diseñados con un propósito
particular y tiene su nombre propio.
Es decir un procedimiento es un modulo de un programa que
realiza tareas especificas y que no puede regresar valores a la
parte principal del programa u otro procedimiento que lo este
invocando.
Existente 2 tipos de procedimientos: P. Vacíos y P. Parámetros
9. Después de escribir un procedimiento se usa su propio
nombre como una sola instrucción o llamada al procedimiento.
Los procedimientos se podrán escribir después del cuerpo
principal del programa utilizando el formato:
void Nombre_Procedimiento( ) {instrucciones;};
Pero también los procedimientos pueden declararse antes del
main( ) así:
void Nombre_Procedimiento( );
Sin embargo, si el procedimiento se construye antes del
main() entonces no hay necesidad de declararlo antes.
PROCEDIMIENTOS
vacíos
10. PROCEDIMIENTOS
void nombre_procedimiento( )
{
// area de declaración de variables
int _, _;
float _, _;
double _, _;
char _, _;
//area de captura
cout<<"____";
cin>>_____;
// area de operaciones
__ = (__* ___) / 2;
// area de despliegue de resultados
cout<<___;
}
vacíos
11. PROCEDIMIENTOS
vacíos
Para utilizar una procedimiento dentro de un programa:
1.- El procedimiento debe estar implementado antes del programa
principal main ( ).
2.- Si el procedimiento es implementada después del main( ), este
deberá estar declarada antes del main ( ).
IMPORTANTE
12. PROCEDIMIENTOS
PRÁCTICA
Diseñar un programa que Calcule el Area de un Triangulo solicitando la
base y la altura al usuario; el programa debe ser implementado con el uso
de procedimientos.
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
area_triangulo( );
getch();
return 0;
}
void area_triangulo ( )
{
int base,altura;
float area;
cout<<"Base:"; cin>>base;
cout<<"Altura:"; cin>>altura;
area = base * altura / 2;
cout<<"El area es:"<<area;
}
vacíos
13. PROCEDIMIENTOS
EJERCICIOS
vacíos
Diseñar un programa que muestre un MENU DE OPCIONES y que permita
realizar las cuatro operaciones básicas de 2 números ingresados por el
usuario (utilice procedimientos para cada operación).
Diseñar un programa que muestre en pantallas un MENU DE OPCIONES;
¿Calcular el mayor de 3 números ?, ¿?Calcular el menor de 3 números?,
¿Ordenar 3 números ascendentemente?, ¿Ordenar 3 números
descendentemente? ¿Salir?. Una vez escogida cualquier opción el usuario
debe ingresar 3 números enteros distintos y a continuación se mostrar en
pantalla en resultado; (utilice procedimientos para cada opción)
15. PROCEDIMIENTOS
con parámetros
Un parámetro en C++ es una variable que puede pasar su valor a un
procedimiento desde el principal o desde otro procedimiento. Existen
ocasiones en que es necesario mandar al procedimiento ciertos valores
para que los use en algún proceso.
Estos valores que se pasan del cuerpo principal del programa o de un
procedimiento a otros procedimientos se llaman parámetros.
Entonces la declaración completa de un procedimiento es :
void Nom_Proc(lista de parametros) {instrucciones;}
Donde lista de parámetros es una o mas variables separadas por coma,
como lo muestra el ejemplo a continuación:
16. PROCEDIMIENTOS
con parámetros
void Nom_Proc(int dato) {intrucciones; }
void Nom_Proc(int a, int b , int c) {intrucciones; }
void Nom_Proc(float x, float y ) {intrucciones; }
void Nom_Proc(char nomb[ ], char apell[ ]) {intrucciones; }
void Nom_Proc( int a, float b, char x) {intrucciones; }
17. PROCEDIMIENTOS
con parámetros
REGLAS
1.- Cuando se usan variables como parámetros, la variable que se
envían debe ser declarada dentro del main( ) o del procedimiento de
donde se esta enviando.
2.- La variable que se envía tiene un nombre, la que se recibe puede
tener otro nombre o el mismo nombre por claridad de programa, pero
recordar que internamente en la memoria del computador existirán
dos variables diferentes.
3.- La cantidad de variables que se envían deben ser igual en cantidad,
orden y tipo a las variables que reciben.
4.- La variable que se recibe tiene un ámbito local dentro del
procedimiento, es decir solo la puede usar en ese procedimiento.
5.-Se puede enviar en un procedimiento un dato, o una
expresión(palabra)
18. PROCEDIMIENTOS
con parámetros
PRÁCTICA
Diseñar un programa que Calcule el Area de un Triangulo solicitando la
base y la altura al usuario; el programa debe ser implementado con el uso
de procedimientos con parámetros .
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
void area_triangulo ( float base, float altura)
{
float area;
area = base * altura / 2;
cout<<"El area es:"<<area;
}
int main()
{
float b, a;
cout<<"Base:"; cin>>b;
cout<<"Altura:"; cin>>a;
area_triangulo( b,a);
getch();
return 0;
}
19. PROCEDIMIENTOS
con parámetros
EJERCICIOS
Diseñar un programa que solicite al usuario ingresar 2 números, a
continuación se muestre un MENU DE OPCIONES con las cuatro
operaciones básicas y la opción salir, el programa mostrar el resultado
según la opción escogida. (utilice procedimientos con parámetros para cada
operación matemática).
20. PROCEDIMIENTOS
LECCION
Diseñar un programa que solicite al usuario ingresar 1 numero entero, a
continuación se muestre un MENU DE OPCIONES como:
1. Factorial
2. Primo
3. Fibonacci
4. Salir
. (utilice procedimientos con parámetros para cada opción).
22. Una función es un miniprograma dentro de un programa. Es un conjunto de
sentencias que se pueden llamar desde cualquier parte
del programa.
Las funciones sirven para realizar tareas concretas y simplificar el
programa, sirven también para evitar escribir el mismo código varias veces
Las funciones son un conjunto de instrucciones que realizan una tarea
específica. En general toman ciertos valores de entrada, llamados
parámetros y proporcionan un valor de salida o valor de retorno.
VENTAJAS Y DESVENTAJAS
Aislar mejor los problemas
Escribir programas más rápido
Programas más fáciles de mantener
Reutilización de código
FUNCIONES
23. Las funciones son muy similares en apariencia a un
procedimiento con parámetros; es decir permiten el ingreso de
parámetros y en su interior se pueden hacer cualquier proceso
(cálculo), la diferencia radica en que una función devuelve un
valor (resultado) sobre el mismo nombre de la función.
La declaración de una función es :
tipo_dato nombre_funcion ( tipo_dato nombre_variable * ) {instrucciones;}
* Pueden ser una lista de parámetros.
Ejemplo:
int suma (int a, int b) { ……..return resultado; }
int resta (int a, int b) { ……..return resultado; }
float division( float a, float b) { ……..return resultado; }
FUNCIONES
24. La forma general de expresar una función es:
tipodato Nomfun (parametros)
{
instrucciones;
return [dato,var,expresion];
}
tipodato
Donde tipodato especifica el tipo de dato que regresara la función,
pueden ser: int, float, double, char, char[ ], boolean. Una función nunca
es vacía Void como lo es un procedimiento.
FUNCIONES
25. FUNCIONES
La forma general de expresar una función es:
tipodato Nomfun (parametros)
{
instrucciones;
return [dato,var,expresion];
}
Nomfun
Donde Nomfub especifica el nombre de la función, se aplican las
mismas reglas para crear una variable.
26. La forma general de expresar una función es:
tipodato Nomfun (parametros)
{
instrucciones;
return [dato,var,expresion];
}
(parametros)
Donde parametros especifica la variable o variables que permiten
ingresar valores a la función (similar al procedimiento con parámetros),
se especifica tipo de dato y variable (,).
FUNCIONES
27. La forma general de expresar una función es:
tipodato Nomfun (parametros)
{
instrucciones;
return [dato, var, expresion];
}
La instrucción return es quien regresa un y solo un dato a la parte del
programa que la este llamando o invocando, sin embargo es de
considerar que return puede regresar un dato, una variable o una
expresión algebraica(no ecuación o formula) como lo muestran los
siguientes ejemplos:
a) return 3.1416;
b) return area;
c) return x + 15/2;
FUNCIONES
28. Imaginemos esta expresión:
res = suma(2,3)
¿Cuál será el resultado de la variable res ?
¿Cuál es la función?
¿Qué operación ejecuta la función?
¿Qué parámetros estoy usando?
5
suma(x,y)
Suma de 2 números
2 y 3
FUNCIONES
PRÁCTICA
29. Implementar la función suma !!!
# include <iostream.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
int main( )
{
int a, b, res;
cout<<"Ingresar el primer número";
cin>>a;
cout<<"Ingresar el segundo número";
cin>>b;
res=suma(a,b);
cout<<res;
getch();
return 0;
}
int suma (int x, int y)
{
int z;
z=x+y;
return z;
}
int suma (int x, int y)
{
return x+y;
}
Ejemplo con return en variable
Ejemplo con return en expresión
PRÁCTICA
FUNCIONES
30. Para utilizar una función dentro de un programa:
1.- La función debe estar implementada antes del programa
principal main ( ).
2.- Si la función es implementada después del main( ), esta
deberá estar declarada antes del main ( ).
IMPORTANTE
Una diferencia entre una función y un procedimiento es principalmente
que un procedimiento es vacío, es decir no devuelve valores, mientras
que la función necesariamente devuelve un valor por lo que necesita
asociarse a un tipo de dato
Procedimiento void sumar_2_numeros (int x , int y)
Función int suma(int x , int y)
FUNCIONES
31. # include <iostream.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
int suma (int x, int y)
{
int z;
z=x+y;
return z;
}
int main( )
{
int a, b, res;
cout<<"Ingresar el primer número";
cin>>a;
cout<<"Ingresar el segundo número";
cin>>b;
res=suma(a,b);
cout<<res;
getch();
return 0;
}
# include <iostream.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
int suma (int x, int y)
{
return x+y;
}
int main( )
{
int a, b, res;
cout<<"Ingresar el primer número";
cin>>a;
cout<<"Ingresar el segundo número";
cin>>b;
res=suma(a,b);
cout<<res;
getch();
return 0;
}
Función implementada antes del main ( )
32. # include <iostream.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
int suma (int x, int y);
int main( )
{
int a, b, res;
cout<<"Ingresar el primer número";
cin>>a;
cout<<"Ingresar el segundo número";
cin>>b;
res=suma(a,b);
cout<<res;
getch();
return 0;
}
int suma (int x, int y)
{
int z;
z=x+y;
return z;
}
# include <iostream.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
int suma (int x, int y);
int main( )
{
int a, b, res;
cout<<"Ingresar el primer número";
cin>>a;
cout<<"Ingresar el segundo número";
cin>>b;
res=suma(a,b);
cout<<res;
getch();
return 0;
}
int suma (int x, int y)
{
return x+y;
}
Función implementada después del main ( ) y declaración antes del mismo.
33. Implementar un programa que me permita determinar si un número
(entero positivo) es par o impar. (utilizar funciones).
int main( )
{
int a;
cout<<"Ingrese 1 numero: ";
cin>>a;
if (par_impar(a)==1)
{
cout<<"es par";
}
else
{
cout<<"es impar";
}
getch();
return 0;
}
int par_impar (int x)
{
int res;
if ( x%2 == 0)
{
res=1;
}
else
{
res=0;
}
return res;
}
PRÁCTICA
FUNCIONES
34. Implementar un programa que me permita determinar si un número
(entero positivo) es par o impar. (utilizar funciones).
int main( )
{
int a;
cout<<"Ingrese 1 numero: ";
cin>>a;
if (par_impar(a)==1)
{
cout<<"es par";
}
else
{
cout<<"es impar";
}
getch();
return 0;
}
int par_impar (int x)
{
if ( x%2 == 0)
{
return 1;
}
else
{
return 0;
}
}
PRÁCTICA
FUNCIONES
35. EJERCICIOS
FUNCIONES
Desarrollar un programa que permita ingresar 2 números, y mediante un
menú de opciones se puedan realizar las cuatro operaciones básicas con
los números ingresados.
Desarrollar un programa que muestre los N primeros números PRIMOS
Desarrollar mediante un programa la función POTENCIA, el usuario
ingresara 2 números correspondientes a la base y el exponente, y hará
uso de dicha función para conocer el resultado.