M. C. Bertha López Azamar - UNPA SUNEOblopez/ProgramacionEstructurada/...La lógica de la...
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