M. C. Bertha López Azamar - UNPA SUNEOblopez/ProgramacionEstructurada/...La lógica de la...

Post on 10-Aug-2020

1 views 0 download

Transcript of M. C. Bertha López Azamar - UNPA SUNEOblopez/ProgramacionEstructurada/...La lógica de la...

5. Modulos

(funciones y procedimientos)

Tema:

Profesor:

M. C. Bertha López AzamarTuxtepec, Oaxaca. Octubre/2005

Universidad del Papaloapan

Materia:

Objetivos:

Conocer la estructura general de un

programa y los conceptos de

procedimientos y funciones.

Comprender el ámbito de las variables al

estructurar módulos.

Manejar la declaración y manipulación de

valores de variables locales y variables

globales.

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

3

Un programa generalmente tiene dos

bloque principales:

Bloque de declaraciones:

Se especifican todos los elementos a

utilizar :

▪ Variables

▪ Constantes

▪ Arreglos

▪ Registros

▪ otros

Bloque de instrucciones:

El conjunto de operaciones a realizar para la

obtener resultados deseados.

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

4

Esquema general de un programa en

Lenguaje C:

• Directivas del preprocesador

• Declaraciones

• constantes

• variables globales

• declaraciones de funciones (Prototipos de funciones)

• Bloque de funciones

• función principal main()

• funciones del usuario

Cada función se sitúa entre las { y } y contiene:

- cabecera

- declaración de variables locales

- cuerpo de la función (bloque de instrucciones)

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

5

Esquema general de un programa en lenguaje Pascal:

• Cabecera:

(sentencia PROGRAM para escribir el nombre del

programa) (es opcional)

• Declaraciones:

- de constantes

- de tipos

- de variables

- de procedimientos y funciones

• Cuerpo del programa:

(situado entre las palabras BEGIN y END)

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

6

Esquema general de un programa en lenguaje Visual Basic:

•Un proyecto general que puede contener tres tipos de

modulos

• De formulario (objetos Forms)

• Estándar

• De clase

•Cada formulario puede contener:

•Interfaz - componentes y propiedades

•Código

• General – declaraciones globales:

- de constantes

- de tipos

- de variables globales al modulo

• Procedimientos (variables locales)

procedimientos de eventos

procedimientos del usuario

funciones del usuario

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

7

Subprogramas o módulos

La lógica de la programación modular se basa en que

resulta más fácil escribir un buen programa si se divide

en trozos pequeños (O’Brien & Nameroff, 1993).

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

8

Ventajas de los Subprogramas o módulos

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

9

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

10

Función1

Función2

Programa

principal

Procedimiento1

Procedimiento2

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

11

Concepto de procedimiento

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

12

Ejemplo de un programa en pascal que ocupa un

procedimiento :

Program DemoProc;var:

X, Y : integer;

Procedure Resta; {nombre del procedimiento}

beginX := X – 1; {bloque del procedimiento}

Y := Y – 1;end;

BeginX := 5;Y := 10;Resta; {llamada al procedimiento}

end;

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

13

Ejemplo de un procedimiento de evento en Visual Basic:

interfaz

Private Sub Command1_Click()Const Pi = 3.14159Dim Radius, AreaIf Text1.Text = " " Then

MsgBox "Falta que introduzcas el radio"Else

Radius = CInt(Text1.Text)Area = Pi * Radius * RadiusLabel2.Caption = "Area = " & Str(Area)

End IfEnd Sub

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

14

Ejemplo de una función en Visual Basic:

Private Sub Option1_Click()Call Estado(Option1.Name) //llamada a función

Label1.Caption = UCase(Text1.Text)End Sub

Private Sub Estado(X As String) //definición de función

Select Case XCase Option1

Label2.Caption = "convertir a mayusculas"Case Option2

Label2.Caption = "convertir a minusculas"End Select

End sub

Private Sub Option2_Click()Call Estado(Option1.Name) //llamada a función

Label1.Caption = LCase(Text1.Text)End Sub

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

15

Concepto de función

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

16

Función1Programa

principal

datos datos

datosdatos

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

17

Ejemplo de lugares desde donde se pueden hacer

las llamadas a una función que devuelve valor:

‘desde una función de impresión

Print 10 * Adec(a)

‘asignando el valor devuelto a una variable

X = Adec(a)

‘desde una sentencia de control

If Adec(a) = 10 Then Debug.Print "Fuera del intervalo"

‘como argumento de otra función

X = OtraFunción(10 * Adec(a))

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

18

Ejemplo de una función en Pascal:

Program DemoProc;var:

Z: real;

FUNCTION Area (R: Real) : Real;CONST

Pi = 3,141592;BEGIN

Area := Pi * R * REND;

Begin{llamada a la función}

Z := Area(25); End;

Dentro del cuerpo de la

función debe tener una

asignación en alguna

parte del cuerpo cuyo

identificador de la

izquierda es el nombre de

la función, y el valor de la

derecha del signo igual, es

el valor de una variable o

el resultado de una

expresión del tipo

adecuado y es el resultado

que devuelve una función.

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

19

Ejemplo de una función en Lenguaje C:

#define Pi 3.141592float A;float Area(float R); //prototipo

void main(){

A = Area(25); //llamada a función

}

float Area(float R) //definición de función

{float a;a = Pi * R * R;return(a);

}

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

20

Ejemplo de una función en Visual Basic:

Private Sub cmdCalcular_Click()x= Adec(a) //llamada a función

End Sub

‘definición de función

Private Function Adec(X As String)

…….

End Function

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

21

Ámbito o alcance de las variables

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

22

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

23

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

24

Dentro de un modulo, si una

variable local tiene el mismo

nombre, todas las referencias

a ese nombre son sobre la

variable local y no tienen

efecto sobre la variable global.

Modulos (funciones y procedimientos)

M. C. Bertha López Azamar Programación Estructurada

Datos y tipos de datos

Variable y constantes

Operadores aritméticos y lógicos

Expresiones

Concepto de asignación

Esquema general de un programa

Concepto de función

Variables globales y locales

Paso de parámetros

Concepto de procedimiento

Introducción

25

Visual Basic le permite especificar el alcance de

una variable cuando la declara.

Alcance de las variables en Visual Basic

Ámbito Declaración Visible en

Local Dim, Static, o ReDim

(dentro de un procedimiento,

subprocedimiento o función)

El procedimiento en el que

está declarada.

Módulo Dim o Private

(sección de declaraciones del

módulo de formulario o de

código [.frm, .bas])

Todos los procedimientos

del módulo de formulario o

de código

Global Public

(sección de declaraciones del

un módulo de código [.bas])

En toda la aplicación.

No puede declarar variables

públicas dentro de un

procedimiento.

Referencias:

1. Antonakos, James L. & Kenneth C. Mansfield Jr.;

Programación Estructurada en C; Prentice Hall; 1997.

2. Cevallos, Francisco Javier; Enciclopedia del Lenguaje C; Ed.

Alfaomega; 1997.

3. Deitel, H. M. & Deitel, P. J.; Como programar en Java; Pearson

Educacion; 1998.

4. Gottfried, Byron; Programación en C; Mc Graw Hill; Segunda

edición; 1997.

5. Joyanes Aguilar, Luis; Turbo Pascal 6.0; Mc Graw Hill; 1993.

6. Lipschutz, Seymour; Estructura de datos; Mc Graw Hill; 1992.

7. O’Brien, Stephen K & Nameroff, Steve; Turbo Pascal 7; Mc

Graw Hill; 1993.

8. Schildt, Herbert; Manual de referencia C; Mc Graw Hill;

Cuarta edición; 2001.

9. http://lenguajes-de-programacion.com/programacion.shtml