Professional Documents
Culture Documents
Estructuras (Registros)
Una estructura es una agrupacin de variables que hacen referencia a un mismo elemento y que por lo tanto es lgico que vayan todas juntas.
Por ejemplo, si queremos guardar los datos de una persona necesitaramos una serie de cadenas de texto para el nombre y los apellidos, otra para el DNI, un entero para la edad. Un long para el nmero de telfono.
En Pascal, esto sera: Type TipoPersona = RECORD Nombre : String[12]; Apellido1 : String[12]; Apellido2 : String[12]; DNI : String[9]; Edad : Integer; Telefono : LongInt; END;
Acceder a los campos de una estructura. Cuando queremos asignar valor u obtener el valor de las variables que estn dentro de la estructura se utiliza la siguiente notacin: Variable.nombreCampo
Bucles
Repeticin un nmero finito de veces de un conjunto de instrucciones. El bucle termina cuando la condicin de parada se cumple. La condicin de parada es una variable de tipo booleano o una expresin de la que resulte un booleano (operaciones lgicas). Es importante recordar, que la condicin de parada debe ser actualizada dentro del bucle. Una condicin de parada mal definida, mal actualizada o no actualizada, puede dar lugar a un bucle infinito.
En el momento de escribir el programa, sabemos el nmero exacto de repeticiones que el bucle va a realizar. Son denominados bucles tipo for . Se utiliza una variable para llevar la cuenta de la repeticin en la que se est. Esta variable es conocida como ndice. FOR variable := inicio TO final DO action;
Utilizando la partcula TO, el bucle se ejecutar mientras el valor de variable sea menor o igual que final . Y con la partcula DOWNTO, mientras sea mayor o igual. repeticiones := 10; FOR i := 0 TO repeticiones DO BEGIN writeln ( El ndice vale , i); i := i + 1; END;
No podemos saber al escribir el programa el nmero de repeticiones del bucle. Un ejemplo sera un bucle controlado por la opcin del usuario. El bucle no termina hasta que el usuario pulsa la tecla A y en cada iteracin se solicita que presione una tecla.
REPEAT write( Pulse una tecla, a para terminar ); readln(letra); writeln ( Pulso la tecla , letra); UNTIL letra = a ;
...
error :=false; Randomize; WHILE error DO BEGIN write( Hola ); numero := Random(9); error := numero > 5; END;
Condicionales
Son instrucciones que evalan una condicin lgica (boolean) y en funcin del resultado ejecutan o no ejecutan una determinada porcin de cdigo.
Condicionales positivos.
Ejecutan una porcin de cdigo slo si la condicin evaluada es positiva. IF condicion THEN accion;
readln (numero); IF numero = 10) THEN writeln ( Tu nmero es de dos cifras ); write ( Escribe un nmero de 2 a 20); ...
Condicionales dobles.
Ejecutan una porcin de cdigo si la condicin evaluada es positiva y otra porcin de cdigo distinta si la condicin es negativa. IF condicion THEN accion si positiva; ELSE accion si negativa;
Ejemplo write ( Escribe un nmero de 1 a 10 ); readln (numero); IF numero > 5) THEN writeln ( Tu nmero es mayor de 5 ); ELSE writeln ( Tu nmero es menor o igual de 5 ); write ( Escribe un nmero de 2 a 20); ...
Condicionales mltiples.
Son utilizadas para ejecutar distintas porciones de cdigo en funcin del valor de una variable de tipo Integer, Byte o Char. CASE variable OF valor1: accion; valor2: accion; ... ELSE accionElse; END;
La entrada ELSE no es obligatoria, pero si recomendada, ya que se ejecuta si variable no tiene ninguno de los valores definidos por valor1 , valor2 ..
Ejemplo write ( Escribe un nmero de 1 a 10 ); readln (numero); CASE numero OF 1 : writeln ( Ha escrito 1 ); 2 : BEGIN writeln ( Ha escrito 2 ); writeln ( Es un numero par); END; 3 : writeln ( Ha escrito 3 );
Funciones y procedimientos
El objetivo de crear funciones (y procedimientos) es agrupar y generar mdulos que realizan una funcin muy concreta. Modularidad. Los argumentos son informacin que se le pasa a la funcin con la que realiza operaciones. Los argumentos se definen de la siguiente manera: nombreArgumento : tipo del argumento
Las funciones devuelven un valor como resultado de sus operaciones. Los procedimientos no devuelven ningn valor.
Existen dos mtodos de pasar argumentos, por valor o por variable. Cuando se pasa un argumento por variable se utiliza la partcula VAR . El valor de la variable cambia fuera de la funcin o procedimiento. Mientras que si se pasa por valor, cualquier cambio se descarga una vez terminado el procedimiento o funcin.
Funciones
Devuelven un valor, hay que definir un tipo de dato para el retorno. Para devolver ese nivel se realiza la siguiente accin. nombreFuncion := ValorRetorno
Procedimientos
No devuelven nada.