PROGRAM MultMatriz;
USES CRT;
VAR MAT: ARRAY [1..2,1..2] OF INTEGER;
RESULTADO: ARRAY [1..2,1..2] OF INTEGER;
M,N, MAIOR : INTEGER;
BEGIN
CLRSCR;
FOR M:= 1 TO 2 DO
BEGIN
WRITELN ('DIGITE A LINHA ', M, ' DA MATRIZ');
FOR N:= 1 TO 2 DO
READLN (MAT[M,N]);
END;
MAIOR := MAT [1,1];
FOR M:= 1 TO 2 DO
BEGIN
FOR N:= 1 TO 2 DO
IF MAT [M,N] > MAIOR THEN MAIOR := MAT [M,N];
END;
FOR M:= 1 TO 2 DO
BEGIN
FOR N:= 1 TO 2 DO
BEGIN
RESULTADO[M,N] := MAIOR * MAT[M,N];
END;
END;
WRITELN ('O RESULTADO DA MULTIPLICACAO DA MATRIZ FOI :',RESULTADO[M,N]);
READKEY;
END.
Este Blog foi criado com o intúito de ajudar a alunos iniciantes, ingressantes nos cursos de tecnologia da informação, a manusearem a programação em PASCAL.
domingo, 30 de janeiro de 2011
Relatório de notas de alunos
PROGRAM RelaórioNotas;
USES CRT;
VAR NOME: ARRAY [1..2] OF STRING;
NOTA: ARRAY [1..2] OF REAL;
I, J,CONTJ: INTEGER;
BEGIN
CLRSCR;
FOR I:= 1 TO 2 DO
BEGIN
WRITELN ('DIGITE O NOME DO ',I,' ALUNO');
BEGIN
READLN (NOME[I]);
BEGIN
WRITELN ('DIGITE A NOTA DO ',NOME[I]);
BEGIN
READLN (NOTA[J]);
CONTJ:= J + 1;
END;
END;
END;
END;
WRITELN ('RELATORIO DE NOTAS');
WRITELN ('ALUNO ',' NOTA');
FOR I:= 1 TO 2 DO
BEGIN
WRITELN (NOME [I] ,NOTA[J]:2:2);
FOR I:= 1 TO CONTJ DO
WRITELN (NOME[I] , NOTA[J]:2:2);
END;
READKEY;
END.
USES CRT;
VAR NOME: ARRAY [1..2] OF STRING;
NOTA: ARRAY [1..2] OF REAL;
I, J,CONTJ: INTEGER;
BEGIN
CLRSCR;
FOR I:= 1 TO 2 DO
BEGIN
WRITELN ('DIGITE O NOME DO ',I,' ALUNO');
BEGIN
READLN (NOME[I]);
BEGIN
WRITELN ('DIGITE A NOTA DO ',NOME[I]);
BEGIN
READLN (NOTA[J]);
CONTJ:= J + 1;
END;
END;
END;
END;
WRITELN ('RELATORIO DE NOTAS');
WRITELN ('ALUNO ',' NOTA');
FOR I:= 1 TO 2 DO
BEGIN
WRITELN (NOME [I] ,NOTA[J]:2:2);
FOR I:= 1 TO CONTJ DO
WRITELN (NOME[I] , NOTA[J]:2:2);
END;
READKEY;
END.
Mostra os números digitados
PROGRAM EP12;
USES CRT;
VAR A: ARRAY [1..5] OF INTEGER;
I, ACUM: INTEGER;
SOMA: STRING;
BEGIN
CLRSCR;
FOR I:= 1 TO 5 DO
BEGIN
WRITELN ('DIGITE O',I,' NUMERO');
BEGIN
READLN (A[I]);
END;
END;
ACUM:= 0;
FOR I:= 1 TO 5 DO
BEGIN
ACUM:= ACUM + A[I];
END;
WRITELN ('OS NUMEROS DIGITADOS FORAM:');
BEGIN
WRITELN (ACUM);
END;
READKEY;
END.
USES CRT;
VAR A: ARRAY [1..5] OF INTEGER;
I, ACUM: INTEGER;
SOMA: STRING;
BEGIN
CLRSCR;
FOR I:= 1 TO 5 DO
BEGIN
WRITELN ('DIGITE O',I,' NUMERO');
BEGIN
READLN (A[I]);
END;
END;
ACUM:= 0;
FOR I:= 1 TO 5 DO
BEGIN
ACUM:= ACUM + A[I];
END;
WRITELN ('OS NUMEROS DIGITADOS FORAM:');
BEGIN
WRITELN (ACUM);
END;
READKEY;
END.
Elementos de um vetor
PROGRAM EP1;
USES CRT;
VAR VETOR:ARRAY[1..6] OF INTEGER;
PAR: ARRAY[1..6] OF INTEGER;
IMPAR: ARRAY[1..6] OF INTEGER;
I,J,AUX, QTDP, QTDI: INTEGER;
BEGIN
CLRSCR;
FOR I:= 1 TO 6 DO
BEGIN
WRITELN ('DIGITE O ',I,' NUMERO DO VETOR');
READLN (VETOR[I]);
IF (VETOR[I] MOD 2 = 0) THEN (QTDP):= (QTDP + 1)
ELSE (QTDI):= (QTDI + 1);
END;
WRITELN ('O VETOR POSSUI ',QTDP,' ELEMENTOS PARES QUE SAO:');
FOR I:= 1 TO 6 DO
BEGIN
IF (VETOR[I] MOD 2 = 0) THEN WRITE (VETOR[I],',');
END;
WRITELN;
WRITELN ('O VETOR POSSUI ',QTDI,' ELEMENTOS IMPARES QUE SAO:');
FOR I:= 1 TO 6 DO
BEGIN
IF (VETOR[I] MOD 2 <> 0) THEN WRITE (VETOR[I],',');
END;
READKEY;
END.
USES CRT;
VAR VETOR:ARRAY[1..6] OF INTEGER;
PAR: ARRAY[1..6] OF INTEGER;
IMPAR: ARRAY[1..6] OF INTEGER;
I,J,AUX, QTDP, QTDI: INTEGER;
BEGIN
CLRSCR;
FOR I:= 1 TO 6 DO
BEGIN
WRITELN ('DIGITE O ',I,' NUMERO DO VETOR');
READLN (VETOR[I]);
IF (VETOR[I] MOD 2 = 0) THEN (QTDP):= (QTDP + 1)
ELSE (QTDI):= (QTDI + 1);
END;
WRITELN ('O VETOR POSSUI ',QTDP,' ELEMENTOS PARES QUE SAO:');
FOR I:= 1 TO 6 DO
BEGIN
IF (VETOR[I] MOD 2 = 0) THEN WRITE (VETOR[I],',');
END;
WRITELN;
WRITELN ('O VETOR POSSUI ',QTDI,' ELEMENTOS IMPARES QUE SAO:');
FOR I:= 1 TO 6 DO
BEGIN
IF (VETOR[I] MOD 2 <> 0) THEN WRITE (VETOR[I],',');
END;
READKEY;
END.
Determinante: Matrix de ordem 4
Program Determinante;
Uses CRT;
Var
M: Array [0..4,0..4] OF Integer;
Li, Co, Det, A11, A12, A13, A14: Integer;
Begin
clrscr;
Writeln ('Calcular o determinante de uma matriz de ordem n=4 e alertar quando essa ordem nao for cumprida');
writeln;
writeln;
Writeln('Informe os termos da Matriz de orden n=4: ');
For Li := 0 to 3 Do
For Co := 0 to 3 Do
Begin
M[Li,Co] := 0;
Writeln('Linha = ' , Li , ' Coluna = ' , Co);
Readln(M[Li,Co]);
End;
ClrScr;
A11 := M[0,0]*( (M[1,1]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,1]) +
(M[1,3]*M[2,1]*M[3,2]) - (M[1,3]*M[2,2]*M[3,1]) -
(M[1,1]*M[2,3]*M[3,2]) - (M[1,2]*M[2,1]*M[3,3]) );
A12 := M[0,1]*( (M[1,0]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,2]) - (M[1,3]*M[2,2]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,2]) - (M[1,2]*M[2,0]*M[3,3]) )*(-1);
A13 := M[0,2]*( (M[1,0]*M[2,1]*M[3,3]) + (M[1,1]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,1]) - (M[1,3]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,1]) - (M[1,1]*M[2,0]*M[3,3]) );
A14 := M[0,3]*( (M[1,0]*M[2,1]*M[3,2]) + (M[1,1]*M[2,2]*M[3,0]) +
(M[1,2]*M[2,0]*M[3,1]) - (M[1,2]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,2]*M[3,1]) - (M[1,1]*M[2,0]*M[3,2]) )*(-1);
Writeln('I11 = ', M[0,0] , ' I12 = ', M[0,1] , ' I13 = ', M[0,2] , ' I14 = ', M[0,3]);
Writeln('A11 = ', A11, ' A12 = ', A12, ' A13 = ', A13, ' A14 = ', A14);
Det := A11 + A12 + A13 + A14;
writeln;
Writeln('O determinante da matriz e:',Det);
Readkey;
End.
Uses CRT;
Var
M: Array [0..4,0..4] OF Integer;
Li, Co, Det, A11, A12, A13, A14: Integer;
Begin
clrscr;
Writeln ('Calcular o determinante de uma matriz de ordem n=4 e alertar quando essa ordem nao for cumprida');
writeln;
writeln;
Writeln('Informe os termos da Matriz de orden n=4: ');
For Li := 0 to 3 Do
For Co := 0 to 3 Do
Begin
M[Li,Co] := 0;
Writeln('Linha = ' , Li , ' Coluna = ' , Co);
Readln(M[Li,Co]);
End;
ClrScr;
A11 := M[0,0]*( (M[1,1]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,1]) +
(M[1,3]*M[2,1]*M[3,2]) - (M[1,3]*M[2,2]*M[3,1]) -
(M[1,1]*M[2,3]*M[3,2]) - (M[1,2]*M[2,1]*M[3,3]) );
A12 := M[0,1]*( (M[1,0]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,2]) - (M[1,3]*M[2,2]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,2]) - (M[1,2]*M[2,0]*M[3,3]) )*(-1);
A13 := M[0,2]*( (M[1,0]*M[2,1]*M[3,3]) + (M[1,1]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,1]) - (M[1,3]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,1]) - (M[1,1]*M[2,0]*M[3,3]) );
A14 := M[0,3]*( (M[1,0]*M[2,1]*M[3,2]) + (M[1,1]*M[2,2]*M[3,0]) +
(M[1,2]*M[2,0]*M[3,1]) - (M[1,2]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,2]*M[3,1]) - (M[1,1]*M[2,0]*M[3,2]) )*(-1);
Writeln('I11 = ', M[0,0] , ' I12 = ', M[0,1] , ' I13 = ', M[0,2] , ' I14 = ', M[0,3]);
Writeln('A11 = ', A11, ' A12 = ', A12, ' A13 = ', A13, ' A14 = ', A14);
Det := A11 + A12 + A13 + A14;
writeln;
Writeln('O determinante da matriz e:',Det);
Readkey;
End.
Calculo de determinante
Program Determinante;
Uses CRT;
Var
M: Array [0..4,0..4] OF Integer;
Li, Co, Det, A11, A12, A13, A14: Integer;
Begin
ClrScr;
Writeln('Informe os termos da Matriz (4x4): ');
For Li := 0 to 3 Do
For Co := 0 to 3 Do
Begin
M[Li,Co] := 0;
Writeln('Linha = ' , Li , ' Coluna = ' , Co);
Readln(M[Li,Co]);
End;
ClrScr;
A11 := M[0,0]*( (M[1,1]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,1]) +
(M[1,3]*M[2,1]*M[3,2]) - (M[1,3]*M[2,2]*M[3,1]) -
(M[1,1]*M[2,3]*M[3,2]) - (M[1,2]*M[2,1]*M[3,3]) );
A12 := M[0,1]*( (M[1,0]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,2]) - (M[1,3]*M[2,2]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,2]) - (M[1,2]*M[2,0]*M[3,3]) )*(-1);
A13 := M[0,2]*( (M[1,0]*M[2,1]*M[3,3]) + (M[1,1]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,1]) - (M[1,3]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,1]) - (M[1,1]*M[2,0]*M[3,3]) );
A14 := M[0,3]*( (M[1,0]*M[2,1]*M[3,2]) + (M[1,1]*M[2,2]*M[3,0]) +
(M[1,2]*M[2,0]*M[3,1]) - (M[1,2]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,2]*M[3,1]) - (M[1,1]*M[2,0]*M[3,2]) )*(-1);
Writeln('I11 = ', M[0,0] , ' I12 = ', M[0,1] , ' I13 = ', M[0,2] , ' I14 = ', M[0,3]);
Writeln('A11 = ', A11, ' A12 = ', A12, ' A13 = ', A13, ' A14 = ', A14);
Det := A11 + A12 + A13 + A14;
Writeln(Det);
Readkey;
End.
Uses CRT;
Var
M: Array [0..4,0..4] OF Integer;
Li, Co, Det, A11, A12, A13, A14: Integer;
Begin
ClrScr;
Writeln('Informe os termos da Matriz (4x4): ');
For Li := 0 to 3 Do
For Co := 0 to 3 Do
Begin
M[Li,Co] := 0;
Writeln('Linha = ' , Li , ' Coluna = ' , Co);
Readln(M[Li,Co]);
End;
ClrScr;
A11 := M[0,0]*( (M[1,1]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,1]) +
(M[1,3]*M[2,1]*M[3,2]) - (M[1,3]*M[2,2]*M[3,1]) -
(M[1,1]*M[2,3]*M[3,2]) - (M[1,2]*M[2,1]*M[3,3]) );
A12 := M[0,1]*( (M[1,0]*M[2,2]*M[3,3]) + (M[1,2]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,2]) - (M[1,3]*M[2,2]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,2]) - (M[1,2]*M[2,0]*M[3,3]) )*(-1);
A13 := M[0,2]*( (M[1,0]*M[2,1]*M[3,3]) + (M[1,1]*M[2,3]*M[3,0]) +
(M[1,3]*M[2,0]*M[3,1]) - (M[1,3]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,3]*M[3,1]) - (M[1,1]*M[2,0]*M[3,3]) );
A14 := M[0,3]*( (M[1,0]*M[2,1]*M[3,2]) + (M[1,1]*M[2,2]*M[3,0]) +
(M[1,2]*M[2,0]*M[3,1]) - (M[1,2]*M[2,1]*M[3,0]) -
(M[1,0]*M[2,2]*M[3,1]) - (M[1,1]*M[2,0]*M[3,2]) )*(-1);
Writeln('I11 = ', M[0,0] , ' I12 = ', M[0,1] , ' I13 = ', M[0,2] , ' I14 = ', M[0,3]);
Writeln('A11 = ', A11, ' A12 = ', A12, ' A13 = ', A13, ' A14 = ', A14);
Det := A11 + A12 + A13 + A14;
Writeln(Det);
Readkey;
End.
Mostra o valor lido e o total de notas R$.
{15 - Escrever um algoritmo que le um valor em reais e calcula qual o menor
numero possivel de notas de 100, 50, 10, 5 e 1 em que o valor lido pode ser
decomposto. Escrever o valor lido e a relacao de notas necessarias.}
Program decompornotas;
uses crt;
var valor, relac100, relac50, relac10, relac5, resto,
resto1, resto2, resto3: integer;
Begin
Clrscr;
writeln ('Digite o valor em reais');
readln (valor);
if (valor >= 100) then Begin
relac100 := valor div 100;
resto := valor mod 100;
relac50 := resto div 50;
resto1 := resto mod 50;
relac10 := resto1 div 10;
resto2 := resto1 mod 10;
relac5 := resto2 div 5;
resto3 := resto2 mod 5;
end;
writeln;
writeln ('Valor lido: ', valor ,',',' decomposto nas seguintes cedulas:');
writeln;
writeln (relac100 ,' cedulas de 100 reais');
writeln (relac50 ,' cedulas de 50 reais');
writeln (relac10 ,' cedulas de 10 reais');
writeln (relac5 ,' cedulas de 5 reais');
writeln (resto3 ,' cedulas de 1 real');
readkey;
end.
numero possivel de notas de 100, 50, 10, 5 e 1 em que o valor lido pode ser
decomposto. Escrever o valor lido e a relacao de notas necessarias.}
Program decompornotas;
uses crt;
var valor, relac100, relac50, relac10, relac5, resto,
resto1, resto2, resto3: integer;
Begin
Clrscr;
writeln ('Digite o valor em reais');
readln (valor);
if (valor >= 100) then Begin
relac100 := valor div 100;
resto := valor mod 100;
relac50 := resto div 50;
resto1 := resto mod 50;
relac10 := resto1 div 10;
resto2 := resto1 mod 10;
relac5 := resto2 div 5;
resto3 := resto2 mod 5;
end;
writeln;
writeln ('Valor lido: ', valor ,',',' decomposto nas seguintes cedulas:');
writeln;
writeln (relac100 ,' cedulas de 100 reais');
writeln (relac50 ,' cedulas de 50 reais');
writeln (relac10 ,' cedulas de 10 reais');
writeln (relac5 ,' cedulas de 5 reais');
writeln (resto3 ,' cedulas de 1 real');
readkey;
end.
Calculadora
PROGRAM CALCULADORA;
USES CRT;
VAR OPCAO: CHAR;
PROCEDURE ROT_ADICAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE ADICAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A+B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
PROCEDURE ROT_SUBTRACAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE SUBTRACAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A-B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
PROCEDURE ROT_MULTIPLICACAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE MULTIPLICACAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A*B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
PROCEDURE ROT_DIVISAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE DIVISAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A/B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
BEGIN
TEXTCOLOR (YELLOW + BLINK);
TEXTBACKGROUND (BLUE);
CLRSCR;
OPCAO:= '0';
WHILE (OPCAO <> '5') DO
BEGIN
CLRSCR;
GOTOXY (33, 1); WRITE('MENU PRINCIPAL');
GOTOXY (22, 6); WRITE('1 SOMA');
GOTOXY (22, 8); WRITE('2 SUBTRACAO');
GOTOXY (22, 10); WRITE('3 MULTIPLICACAO');
GOTOXY (22, 12); WRITE('4 DIVISAO');
GOTOXY (22, 14); WRITE('5 FIM DE PROGRAMA');
GOTOXY (22, 18); WRITE(' ESCOLHA UMA OPCAO....: ');
READLN (OPCAO);
CASE OPCAO OF
'1': ROT_ADICAO;
'2': ROT_SUBTRACAO;
'3': ROT_MULTIPLICACAO;
'4': ROT_DIVISAO;
ELSE
WRITELN ('BYEEEE');
END;
END;
END.
USES CRT;
VAR OPCAO: CHAR;
PROCEDURE ROT_ADICAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE ADICAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A+B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
PROCEDURE ROT_SUBTRACAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE SUBTRACAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A-B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
PROCEDURE ROT_MULTIPLICACAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE MULTIPLICACAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A*B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
PROCEDURE ROT_DIVISAO;
VAR X, A, B: REAL;
BEGIN
CLRSCR;
GOTOXY (32, 1); WRITE('ROTINA DE DIVISAO');
GOTOXY (5, 6); WRITE ('ENTRE UM VALOR PARA A: ');READLN (A);
GOTOXY (5, 7); WRITE ('ENTRE UM VALOR PARA B: ');READLN (B);
X:=A/B;
GOTOXY (5, 10); WRITE('O RESULTADO EQUIVALE A? ', X:6:2);
GOTOXY (25, 24); WRITELN('PRESSIONE PARA VOLTAR PARA O MENU ');
READLN;
END;
BEGIN
TEXTCOLOR (YELLOW + BLINK);
TEXTBACKGROUND (BLUE);
CLRSCR;
OPCAO:= '0';
WHILE (OPCAO <> '5') DO
BEGIN
CLRSCR;
GOTOXY (33, 1); WRITE('MENU PRINCIPAL');
GOTOXY (22, 6); WRITE('1 SOMA');
GOTOXY (22, 8); WRITE('2 SUBTRACAO');
GOTOXY (22, 10); WRITE('3 MULTIPLICACAO');
GOTOXY (22, 12); WRITE('4 DIVISAO');
GOTOXY (22, 14); WRITE('5 FIM DE PROGRAMA');
GOTOXY (22, 18); WRITE(' ESCOLHA UMA OPCAO....: ');
READLN (OPCAO);
CASE OPCAO OF
'1': ROT_ADICAO;
'2': ROT_SUBTRACAO;
'3': ROT_MULTIPLICACAO;
'4': ROT_DIVISAO;
ELSE
WRITELN ('BYEEEE');
END;
END;
END.
Efeito Matrix
Program MATRIX;
Uses Crt;
Var
col,lin,ql,cont,aux:integer;
letra:char;
Begin
Clrscr;
Repeat
col:=1+Random(79);
lin:=1+Random(23);
ql:= Random(10);
for cont:= lin to lin+ql do
Begin
if cont<24 then
Begin
letra:= chr(Random(255));
for aux:=1 to 2 do
Begin
if aux= 1 Then
Textcolor(10)
else
Textcolor(2);
gotoxy(col,cont);
write(letra);
delay(50);
end;
end;
end;
until keypressed;
end.
Var
col,lin,ql,cont,aux:integer;
letra:char;
Begin
Clrscr;
Repeat
col:=1+Random(79);
lin:=1+Random(23);
ql:= Random(10);
for cont:= lin to lin+ql do
Begin
if cont<24 then
Begin
letra:= chr(Random(255));
for aux:=1 to 2 do
Begin
if aux= 1 Then
Textcolor(10)
else
Textcolor(2);
gotoxy(col,cont);
write(letra);
delay(50);
end;
end;
end;
until keypressed;
end.
Como aplicar comando "read"
Existem diversos tipos de read no pascal: Read, readln, readkey….
Vamos ver alguns, e ver para o que servem e quando devem ser usados:
Read - O Cursor ficará na mesma linha, sendo para receber variável, ou tanto para aguardar o usuário dar [enter]
Sintaxe:
Write(’Digite um número’);
Read(numero);
Readln - O Cursor ficará na linha abaixo da qual estava antes, sendo para receber variável, ou tanto para aguardar o usuário dar [enter]
Sintaxe:
Write(’Digite um número’);
Readln(numero);
ReadKey - É usado para quando houver a necessidade de digitar apenas um dígito
Write(’Digite um algarismo’);
Readkey(algarismo);
Assinar:
Postagens (Atom)