Seguidores
Datos personales
lunes, 28 de marzo de 2011
lunes, 14 de marzo de 2011
ejemplos de FOR, PASCAL
For c := 1 to 5 do
Begin
Write (`aa´);
Write (`BB´)
End;
Al ejecutarse, visualiza:
AaBBaaBBaaBBaaBBaaBB
For Caracter := `A´ to `Z´ do
WriteLn (Caracter);
3. 4. 1. 1 Decremento del contador FOR (Downto)
El contador del ciclo se puede decrementar de uno en uno en lugar de incrementar. La sintaxis es la siguiente:
For variable := valor inicial downto valor final do
Sentencia;
Ejemplos:
For C := 5 downto 1 do
Begin
Write (`C´);
Writeln
End;
Lo anterior produce la siguiente salida:
5
4
3
2
1
También podemos encontrar ciclos FOR anidados:
For m := 1 to 10 do
begin
For n := 10 downto 2 do
WriteLn (m,n)
end;
3.4.2 La sentencia REPEAT
Es una variante de la sentencia while. La sentencia REPEAT especifica un ciclo condicional que se repite hasta que la condición se hace verdadera.
El diagrama de flujo se representa de la siguiente manera:
El seudocódigo se representa así:
Repetir
Sentencias
Hasta_que condición
Sintaxis:
Repeat
Begin
Sentencia 1;
Sentencia 2;
...
...
...
Sentencia n;
End;
Until expresion lógica
Ejemplo:
(* El siguiente programa imprime las secuencias de caracteres hasta que se presione cualquier tecla *)
Uses wincrt;
Var m : char; n : integer;
Begin
Repeat
Begin
Write ('a e i o u');
Write ('1 2 3 4 5');
End;
Until keypressed
End.
ejemplos de WHITE-DO.
program prog5;
uses crt;
var
x:integer;
begin
clrscr;
x:=1;
while x <= 5 do
begin
gotoxy(10,4+x);write(x,' pato');
x:=x+1;
end;
readln;end.
OTRO EJEMPLO.
ejemplos:
Program Ej_While;Uses Crt; {El siguiente programa captura una cadena, hasta que se presione la tecla Esc(escape), cuyo ordinal es el #27.} Const Esc = #27;Var nombre : string[30]; tecla : char; cont : word;begin ClrScr; cont:=1; While (tecla<>Esc) do begin Write(cont,' Nombre : '); ReadLn(nombre); inc(cont); tecla:=ReadKey end end.
otro ejemplo de repeat-until
program EJE13121;
uses Crt;
var
Seguir : Char;
Acumulador, Numero : Integer;
{ En Acumulador se va a guardar la suma de
los numeros introducidos por el usuario. }
begin
ClrScr;
Acumulador := 0;
repeat
WriteLn;
Write( ' Introduzca un numero entero: ' );
ReadLn( Numero );
Acumulador := Acumulador + Numero;
WriteLn;
Write( ' Desea introducir otro numero (s/n)?: ' );
ReadLn( Seguir );
until Seguir = 'n';
{ Mientras que el usuario desee introducir
mas numeros, el bucle iterara. }
WriteLn;
Write( ' La suma de los numeros introducidos es: ', Acumulador );
end.
uses Crt;
var
Seguir : Char;
Acumulador, Numero : Integer;
{ En Acumulador se va a guardar la suma de
los numeros introducidos por el usuario. }
begin
ClrScr;
Acumulador := 0;
repeat
WriteLn;
Write( ' Introduzca un numero entero: ' );
ReadLn( Numero );
Acumulador := Acumulador + Numero;
WriteLn;
Write( ' Desea introducir otro numero (s/n)?: ' );
ReadLn( Seguir );
until Seguir = 'n';
{ Mientras que el usuario desee introducir
mas numeros, el bucle iterara. }
WriteLn;
Write( ' La suma de los numeros introducidos es: ', Acumulador );
end.
ejemplo de pascal.(repeat until)
program EJE13101;
uses Crt;
var Contador : Integer;
begin
ClrScr;
GotoXY( 4, 2 );
Contador := 1; { Inicializacion del contador }
repeat
Write( Contador, ' ' ); { Salida }
Contador := Contador + 1; { Incremento }
until Contador > 10; { Condicion }
end.
uses Crt;
var Contador : Integer;
begin
ClrScr;
GotoXY( 4, 2 );
Contador := 1; { Inicializacion del contador }
repeat
Write( Contador, ' ' ); { Salida }
Contador := Contador + 1; { Incremento }
until Contador > 10; { Condicion }
end.
CICLOS DE PASCAL
For –Do
Este ciclo ejecuta una serie de instrucciones incrementando o decrementando una variable hasta un tope determinado.SINTAXIS GENERAL
For Variable:=Inicio To Tope Do
{Bloque De Instrucciones}
End;
Forma Incremental
For Variable:=Valor_Menor To Valor_Mayor Do
{Bloque De Instrucciones}
End;
Forma Decremental
For Variable:=Valor_Menor To Valor_Mayor Do
{Bloque De Instrucciones}
End;
La variable controladora del ciclo es generalmente de tipo INTEGER, pero tambien se puede en algunas ocasiones declarar de tipo carácter asi:
For Letras:=’a’ to ‘z’ do
Begin
{En este ciclo se recorre el alfabeto de la ‘a’ a la ‘z’ de letra en letra}
End;
Similar a otras instrucciones, si el ciclo FOR – DO tiene una sola instrucción no requiere BEGIN – END, en caso contrario si!, una delas desventajas de este ciclo es que hasta que no se hallan ejecutado el número de instrucciones determinado no se detiene, si alguna vez tienes un problemilla de este tipo deberas recurrir a alguno de los otros dos : REPEAT – UNTIL o WHILE – DO.
Repeat-Until
EL CICLO "REPITA" (Como cariñosamente se le llama en la jerga de los programadores) actua de manera similar al ciclo WHILE – DO, con la pequeña diferencia de que en este se ejecutan las instrucciones y despues se evalua la condición. Este no necesita BEGIN ni END, aunque tampoco dice nada si se los colocas.
SINTAXIS
Repeat
{Bloque de instrucciones}
Until (Expresión_a_evaluar)
Program ciclo_repeat_until;
Uses crt;
Const
N=5;
Type
Vector = Array[1..N] of Integer;
Var
Vector_numeros : Vector;
Suma : Integer;
Promedio : Real;
I : Byte;
Begin
Clrscr;
Textcolor(LightMagenta);
Writeln(‘Lectura con ciclo REPEAT ‘);
Textcolor(White);
i:=0;{Notese que primero se debe inicializar la variable}
Repeat
Until (i>=N);
Write(‘Digite número :’); I:=i+1;{La variable controladora del ciclo se incrementa en un valor determinado, en este caso hemos escogido 1, pero podría ser otro}
Readln(Vector_numeros[i]);
Suma:= Suma + Vector_numeros[i];
Ppromedio:=Suma/N;
Writeln(‘La Suma es = ‘,SUMA);
Writeln(‘El promedio es = ‘,PROMEDIO:0:2);
Readln;
End.
CICLO WHILE – DO
Este ejecuta una serie de instrucciones un número no determinado de veces hasta que se cumpla con una condición establecida , aunque tambien se puede hacer que trabaje de manera similar al ciclo FOR. Una de las ventajas del ciclo WHILE es que puede evaluar variables de muchos mas tipos que el ciclo FOR(Recuerda que en este solo se pueden usar variables de tipo CARÁCTER y ENTERAS) entre ellas destacamos las de tipo STRING, BOOLEAN, INTEGER, REAL, ARREGLO.
El ciclo WHILE evalua y despues ejecuta instruccciones
Si lleva mas de una instrcción necesita BEGIN - END
SINTAXIS
While (Expresión_A_Evaluar) Do
Begin
{Bloque De Instrucciones}
End;
Program Ciclo_While;
Uses Crt;
Const
N=5;
Type
Vector = Array[1..N] Of Integer;
Var
Vector_Numeros : Vector;
Suma : Integer;
Promedio : Real;
I : Byte;
Begin
Clrscr;
Textcolor(Lightmagenta);
Writeln(‘Lectura Con Ciclo While ‘);
Textcolor(White);
I:=0;{Notese Que Primero Se Debe Inicializar La Variable}
While (I<=N) Do
Begin
Write(‘ Digite Número :’); I:=I+1;{La Variable Controladora Del Ciclo Se Incrementa En Un Valor Determinado, En Este Caso Hemos Escogido 1, Pero Podría Ser Otro}
End;
Readln(Vector_Numeros[I]);
Suma:= Suma +Vector_Numeros[I];
Ppromedio:=Suma/N;
Writeln(‘La Suma Es = ‘,Suma);
Writeln(‘El Promedio Es ‘,Promedio:0:2);
Readln;
End.
martes, 8 de marzo de 2011
Suscribirse a:
Entradas (Atom)