C# CGI UNIDAD 4: PROCEDIMIENTOS Y FUNCIONES

TEMA 3: VARIABLES LOCALES Y GLOBALES


El lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable.

Las reglas basicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar una variable.

* En primer lugar es dentro de cualquier función o procedimiento, a estas se les llama variables locales y solo pueden ser usadas por instrucciones que esten dentro de esa función o procedimiento.

* En segundo lugar es como parametro de una función, donde despues de haber recibido el valor podra actuar como variable local en esa función o procedimiento.

En escencia una variable local solo es conocida por el código de esa función o procedimieto y es desconocida por otras funciones o procedimientos.

* En tercer lugar es fuera de todas los procedimiento o funciones a este tipo de variables se les llama variables globales y podran ser usadas por cualquier función o procedimiento del programa, sin embargo hay que agregarle la palabra reservada STATIC y a partir del momento en que se declara, acompañada de dicha palabra reservada static, se considera y puede usarse como variable global.

En programación en serio no es acostumbrado usar muchas variables globales por varias razones, una de ellas es que variables globales estan vivas todo el tiempo de ejecución del programa y si una global solo la ocupa unos cuantos procedimientos no tiene caso que este viva para todo el resto, otra razón es que es peligroso tener variables globales porque todo el conjunto de procedimiento y funciones que componen un programa tienen acceso o comparten su valor y se corre el riesgo de que inadvertidamente alguno de ellos modifique su valor.

Prog15.html


<HTML>

<FORM ACTION=/cgi-bin/tusitio/prog15.exe METHOD=get>

BASE <INPUT TYPE=text NAME="BASE1"><BR>

ALTURA <INPUT TYPE=text NAME="ALTURA"><BR>

<INPUT TYPE=submit VALUE="OK">

</FORM></HTML>

prog15.cs


using System;

public class prog15

{

// creando variables globales fuera de todo procedimiento

static int base1, altura;

static double area;

public static void Main()

{

// llamando a proc1

proc1();

} // termina main

static void proc1(){

//creando objeto de captura

lnet capturar=new lnet();

// capturando,cargando y convirtiendo

//los datos de la forma a las variables

base1=Int32.Parse(capturar.getparametro("BASE1"));

altura=Int32.Parse(capturar.getparametro("ALTURA"));

// operaciones

area=base1*altura/2.0;

// enlazando a proc2 y no se manda nada

proc2();

} // termina proc proc1

static void proc2()

{

//construyendo y desplegando la pagina de salida

System.Console.WriteLine("Content-Type:text/html\n");

System.Console.WriteLine("<HTML>");

System.Console.WriteLine("altura= "+altura.ToString()+"<BR>");

System.Console.WriteLine("base= "+base1.ToString()+"<BR>");

System.Console.WriteLine("AREA= "+area.ToString()+"<BR>");

} //termina proc2

} // termina prog15

* Es muy agradable trabajar sin parametros, pero recordar la nota de arriba, que no es muy bueno usar muchas variables globales:

corrida prog15.html

image305.jpg

corrida prog15.cs or .exe

image306.jpg

corrida prog23.aspx

PROBLEMAS PROGRAMACION SUGERIDOS

1.- BOLETA DE CALIFICAIONES Y SOLO USAR DOS VARIABLES GLOBALES

2.- UNA TABLA DE MULTIPLICAR Y SOLO USAR UNA VARIABLE GLOBAL

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad