0% encontró este documento útil (0 votos)
30 vistas5 páginas

Sintaxis y Ejemplos del Ciclo FOR

Este documento describe la sintaxis y uso de sentencias FOR-DO en Pascal para bucles repetitivos. Explica la representación gráfica de un bucle FOR-DO, su sintaxis general y provee dos ejemplos de código que ilustran cómo usar bucles FOR-DO anidados para imprimir tablas de multiplicar.

Cargado por

papitas602
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas5 páginas

Sintaxis y Ejemplos del Ciclo FOR

Este documento describe la sintaxis y uso de sentencias FOR-DO en Pascal para bucles repetitivos. Explica la representación gráfica de un bucle FOR-DO, su sintaxis general y provee dos ejemplos de código que ilustran cómo usar bucles FOR-DO anidados para imprimir tablas de multiplicar.

Cargado por

papitas602
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SENTENCIA FOR – DO

3.1 REPRESENTACIÓN GRÁFICA

A= VI --- VF

3.2 SINTAXIS GENERAL.


La sintaxis de un ciclo ascendente o descendente FOR es:

FOR Nombre := Val. Inicial TO Val. Final DO


DOWNTO
Begin
Sentencia 1;
Sentencia 2;
:
Sentencia n;
End;

3.3 EJEMPLOS DE CODIFICACIÓN


EJEMPLO 1. Codificado de una sentencia repetitiva simple.
CODIFICADO
F = 1--10

B = 5*A FOR F:= 1 TO 10 DO


Begin
B B:= 5*A;
WriteLn (B);
F End;

EJEMPLO 2. Codificación de un diagrama que presenta sentencias repetitivas anidadas.


CODIFICADO
F = 10--1

C = 1--10
FOR F := 10 DOWNTO 1 DO
Begin
A = F*C
FOR C := 1 TO 10 DO
Begin
F,'*',C,=,A A := F*C;
WriteLn (F,’ * ‘,C,’=’,A);
C End ;
End;
F
PROBLEMA A RESOLVER.
Diseñar un programa para determinar la inversa de una matriz de orden NxN, utilizando el método
numérico de Jordan. Utilice el respectivo programa para determinar la inversa de la siguiente matriz:

 4 − 9 2
 
 2 − 4 6 
 1 −1 3
 
Con la finalidad de proporcionar una adecuada plataforma en la manipulación de la información, el
programa debe presentar las siguientes pantallas de presentación:
PANTALLA DE ENTRADA PANTALLA DE SALIDA

SOLUCION DEL PROBLEMA


El programa codificado solo puede utilizarse para una matriz cuyas dimensiones como máximo son de
10x10. En caso de necesitar un orden mayor debe modificarse las dimensiones señaladas en el sector
type.

VARIABLES A UTILIZAR.
Las variables empleadas en el presente diagrama, desarrollan las siguientes tareas:
VARIABLES TAREA A REALIZAR

A Variable donde se almacena los elementos de la matriz problema.


B Variable auxiliar que permite diagonalizar la matriz coeficiente
N Variable que almacena el orden de la matriz.
F, C, D Variable que permiten inicializar los respectivos contadores de trabajo.
DISEÑO DEL DIAGRAMA DE FLUJO

INICIO @

PANTALLA NO SI
DE ENTRADA F=D
C = D -- 2*N C = 1 -- 2*N

N
B(F,C)= - A(F,D)*A(D,C)/A(D,D)+A(F,C) B(F,C)= A(F,C)
F =1 -- N
C C
C =1 -- 2*N
F
SI NO
C>N
A=B
NO SI
C=N+F
A(F,C) D
A(F,C) = 0 A(F,C) = 1

PANTALLA
DE SALIDA
C

F =1 -- N
F
C = N+1 - 2*N
D = 1 -- N

A(F,C) / A(F,F)
F = 1-- N

@ C

FIN

CORRIDO DEL PROGRAMA

PANTALLA DE ENTRADA PANTALLA DE SALIDA


CODIFICADO DEL DIAGRAMA DE FLUJO.

PROGRAM LAB_31;
USES
CRT;
TYPE
MATRIZ=ARRAY[1..10,1..10] OF REAL;
VECTOR=ARRAY[1..10] OF REAL;
VAR
N,F,C,D : Integer;
A,B : Matriz;
BEGIN
CLRSCR;
WriteLn(' Universidad Técnica de Oruro');
WriteLn(' Facultad Nacional de Ingeniería');
WriteLn(' Departamento de Matemáticas');
WriteLn;
WriteLn(' DIAGRAMA No 31');
WriteLn(' -----------------------');
WriteLn(' Orden de la matriz ? ');
WriteLn;
WriteLn(' MATRIZ PROBLEMA');
GotoXy(45,7);ReadLn(N);
FOR F:=1 TO N DO
BEGIN
FOR C:=1 TO 2*N DO
BEGIN
IF C>N THEN BEGIN
IF C=N+F THEN BEGIN
A[F,C]:=1;
END
ELSE BEGIN
A[F,C]:=0;
END;
END
ELSE BEGIN
GOTOXY(C*8,F+10);READLN(A[F,C]);
END;
END;
END;
FOR D:=1 TO N DO
BEGIN
FOR F:=1 TO N DO
BEGIN
IF F=D THEN BEGIN
FOR C:=1 TO 2*N DO
BEGIN
B[F,C]:=A[F,C];
END;
END
ELSE BEGIN
FOR C:=D TO 2*N DO
BEGIN
B[F,C]:=-A[F,D]*A[D,C]/A[D,D]+A[F,C];
END;
END;
END;
A:=B;
END;
CLRSCR;
WriteLn(' Universidad Técnica de Oruro');
WriteLn(' Facultad Nacional de Ingeniería');
WriteLn(' Departamento de Matemáticas');
WriteLn;
WriteLn(' DIAGRAMA No 31');
WriteLn;
WriteLn(' INVERSA DE LA MATRIZ');
WriteLn(' -------------------------');
WRITELN;
FOR F:=1 TO N DO
BEGIN
FOR C:=N+1 TO 2*N DO
BEGIN
WRITE(A[F,C]/A[F,F]:8:3);
END;
WRITELN;
END;
GOTOXY(3,24);WRITE('Presione ENTER para terminar');READLN;
END.

También podría gustarte