5. PROGRAMACION ESTRUCTURADA C++.pptx

85 views 36 slides Sep 07, 2022
Slide 1
Slide 1 of 36
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36

About This Presentation

Procedimientos y Funciones


Slide Content

PROGRAMACIÓN ESTRUCTURADA Mgs. Diego Reina Haro LENGUAJE C++ copyrigth  2021

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

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.

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

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

PROCEDIMIENTOS Y FUNCIONES PROGRAMACIÓN MODULAR

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

PROCEDIMIENTOS VACÍOS PROCEDIMIENTOS

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

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

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

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

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)

PROCEDIMIENTOS CON PARAMETROS PROCEDIMIENTOS

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:

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 ; }

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 )

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; }

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).

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).

PROGRAMACIÓN MODULAR FUNCIONES

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

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

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

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 .

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

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

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

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

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

# 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 ( )

# 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.

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

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

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.

GRACIAS Mgs. Diego Reina Haro copyrigth  2021