You are on page 1of 11

1 . Exerccio 3 da pg 57 QUESTO : A,E,G,I,T,V.

a) ler uma temperatura em graus Celsius e apresent-la convertida em graus Fahrenheit. A frmula de
converso F (9*C + 160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
INCIO
PROGRAM TEMPERATURA;
USES CRT;
VAR C
C,F:REAL;
BEGIN
CLRSCR; F (9*C + 160) / 5
WRITELN ('DIGITE A TEMPERATURA EM
GRAUSCELSIUS:');READLN(C);
F:=(9*C+160)/5;
WRITELN ('GRAUS CELSIUS CONVERTIDO PARA F
GRAUS FAHRENHEIT:',F:7:2);
READKEY;
END. FIM

e) Efetuar o clculo e apresentar o valor de uma prestao de um bem em atraso, utilizando a frmula
PRESTAO VALOR + (VALOR * (TAXA/100)*TEMPO).

PROGRAM PRESTACAO;
USES CRT; INCIO
VAR
PRESTACAO,VALOR,TAXA:REAL;
TEMPO:INTEGER; VALOR,TAXA,TEMPO
BEGIN
CLRSCR;
WRITELN ('DIGITE O VALOR DA PRESTAO:');READLN(VALOR); PRESTAOVALOR+(VALOR*(TAXA/100)*TEMPO
WRITELN ('DIGITE O VALOR DA TAXA:');READLN (TAXA);
WRITELN ('DIGITE O TEMPO DE ATRASO EM DIAS:');READLN (TEMPO);
PRESTACAO:=VALOR+(VALOR*(TAXA/100)*TEMPO); PRESTAO
WRITELN ('VALOR DA PRESTAO COM JUROS:',PRESTACAO:7:2);
READKEY; FIM
END.

g) Ler quatro valores numricos inteiros e apresentar o resultado das adies e das multiplicaes utilizando
o mesmo raciocnio aplicado quando do uso de propriedades distributivas para a mxima combinao possvel entre
as quatro variveis. No para calcular a propriedade distributiva, apenas para usar sua formula de combinao.
Considerando a leitura de valores para as variveis A, B, C e D, devem ser feitas seis adies e seis multiplicaes,
ou seja, deve ser combinada a varivel A com a varivel B, a varivel A com a varivel C, a varivel A com a
varivel D. Depois necessrio combinar a varivel B com a varivel C e a varivel B com a varivel D e
por fim, a varivel C ser combinada com a varivel D.
INCIO
PROGRAM SOMA_E_MULTIPLICACAO;
USES CRT;
VAR
A, B, C, D: INTEGER; A, B, C, D
A1, A2, A3, A4, A5, A6, M1, M2, M3, M4, M5, M6: INTEGER;
BEGIN
CLRSCR; A1 A + B
WRITELN (VALOR DE A:); READLN (A); A2 A + C
A3 A + D
WRITELN (VALOR DE B:); READLN (B); A4 B + C
WRITELN (VALOR DE C:); READLN (C); A5 B + D
WRITELN (VALOR DE D:); READLN (D); A6 C + D
M1 A*B
A1:= A + B;
M2 A*C
A2:= A + C;
M3 A*D
A3:= A + D;
M4 B* C
A4:= B + C; M5 B*D
A5:= B + D; M6 C*D
A6:= C + D;
M1:= A * B;
M2:= A * C; A1, A2, A3, A4, A5, A6,
M3:= A * D; M1, M2, M3, M4, M5, M6
M4:= B * C;
M5:= B * D;
M6:= C * D;
FIM
WRITELN (VALOR DE A+B:, A1);
WRITELN (VALOR DE A+C:, A2);
WRITELN (VALOR DE A+D:, A3);
WRITELN (VALOR DE B+C:, A4);
WRITELN (VALOR DE B+D:, A5);
WRITELN (VALOR DE C+D:, A6);
WRITELN (VALOR DE A*B:, M1);
WRITELN (VALOR DE A*C:, M2);
WRITELN (VALOR DE A*D:, M3);
WRITELN (VALOR DE B*C:, M4);
WRITELN (VALOR DE B*D:, M5);
WRITELN (VALOR DE C*D:, M6);
READKEY;
END.

i) Efetuar a leitura de um valor numrico inteiro e apresentar o resultado do valor lido ao quadrado.
INCIO
PROGRAM ELEVADO_QUADRADO;
USES CRT;
VAR
A,X: INTEGER;
A
BEGIN
CLRSCR;
WRITELN (ESCREVA UM NUMERO INTEIRO:);READLN (N); XA*A
X:=A*A;
WRITELN (NUMERO ELEVADO AO QUADRADO:, X);
READKEY;
END. X
FIM
t) Construir um programa que calcule e apresente em metros por segundo o valor da velocidade de um
projtil que corre uma distncia em quilmetros a um espao de tempo em minutos. Utilize a frmula
VELOCIDADE(DISTNCIA*1000)/(TEMPO*60).
INCIO
PROGRAM VELOCIDADE;
USES CRT;
VAR
DISTNCIA, TEMPO
VELOCIDADE, DISTANCIA, TEMPO: REAL;
BEGIN
CLRSCR;
WRITELN (DIGITE A DISTNCIA PERCORRIDA EM KM/MIN:); VELOCIDADE(DISTNCIA*1000) / (TEMPO*60)
READLN (DISTANCIA);
WRITELN (DIGITE O TEMPO EM MINUTOS:);READLN(TEMPO);
VELOCIDADE:= (DISTANCIA * 1000) / (TEMPO * 60);
VELOCIDADE
WRITELN (A DISTANCIA PERCORRIDA EM MT/S :,VELOCIDADE:7:2);
READKEY;
END.
FIM

V) Elaborar um programa que leia dois valores numricos inteiros,


Os quais devem representar a base e o expoente de uma ptencia,
Calcule a ptencia e apresente o resultado obtido.

PROGRAM POTENCIA;
USES CRT;
VAR
I,B,E,R: INTEGER;
BEGIN
CLRSCR;
WRITELN ('INFORME O VALOR DA BASE:');READLN (B);
WRITELN ('INFORME O VALOR DO EXPOENTE:'); READLN (E);
R:=1;
FOR I:=1 TO E DO
BEGIN
R:=R*B;
END;
WRITELN;
WRITELN('RESULTADO:',R);
READKEY;
END.
2. Cap 4. Exericios : C,F,J,M pg-99.
.
c) Realizar a leitura dos valores de quatro notas
escolares bimestrais de um aluno representadas pelas INCIO
variveis N1, N2, N3 e N4. Calcular a mdia aritmtica
(varivel MD) desse aluno e apresentar a mensagem
aprovado se a mdia obtida for maior ou igual a 5; caso N1, N2, N3, N4
contrrio, apresentar a mensagem reprovado. Informar
tambm, aps a apresentao das mensagens, o valor da
mdia obtida pelo aluno.
MD (N1 + N2 + N3 + N4) / 4

PROGRAM MEDIA;
USES CRT;
VAR MD >= 5

N1,N2,N3,N4,MD: REAL;
BEGIN
Aluno Reprovado, MD Aluno Aprovado, MD
CLRSCR;
WRITELN ('DIGITE A NOTA DO 1BIMESTRE:'); READLN(N1);
WRITELN ('DIGITE A NOTA DO 2BIMESTRE:'); READLN (N2);
WRITELN ('DIGUTE A NOTA DO 3BIMESTRE:');READLN (N3);
WRITELN ('DIGITE A NOTA DO 4BIMESTRE:'); READLN (N4);
MD:=(N1+N2+N3+N4)/4;
FIM
IF (MD>=5)AND(MD<=10)THEN
WRITELN ('APROVADO:',MD:7:2)
ELSE
WRITELN('REPROVADO:',MD:7:2);
READKEY;
END.

f) Ler trs valores inteiros representados pelas


variveis A, B e C e apresentar os valores lidos dispostos em
ordem crescente. Dica: Utilizar tomada de deciso
sequencial e as trabalhadas nos exerccios g (propriedade
distributiva) e f (troca de valores) do capitulo 3.

PROGRAM SEQUENCIA;
USES CRT;
VAR
A,B,C: INTEGER;
BEGIN
CLRSCR;
WRITELN('VALOR 1:');READLN(A);
WRITELN ('VALOR 2:'); READLN (B);
WRITELN ('VALOR 3:');READLN (C);
IF (A <=B)AND(B<=C)AND (C>=A)AND (C>=B)THEN
WRITELN ('SEQUENCIA:',A,':',B,':',C)
ELSE
BEGIN
IF (A <=C)AND (A <=B)AND (B>=A)AND (B>=C)THEN
WRITELN('SENQUENCIA:',A,':',C,':',B)
ELSE
BEGIN
IF (B <=A)AND (B <=C)AND (C>=B)AND (C>=A)THEN
WRITELN('SEQUENCIA:',B,':',A,':',C)
ELSE
BEGIN
IF (B <=C)AND (B <=A)AND (A>=B)AND (A>=C)THEN
WRITELN('SEQURNCIA:',B,':',C,':',A)
ELSE
BEGIN
IF (C <=A)AND (C <=B)AND (B>=C)AND (B>=A)THEN
WRITELN('SEQUENCIA:',C,':',A,':',B)
ELSE
BEGIN
IF(C <=B)AND (C <=A)AND (A>=C)AND (A>=B)THEN
WRITELN('SEQUENCIA:',C,':',B,':',A)
END;
END;
END;
END;
END;
READKEY;
END.
IF (C <=A)AND (C <=B)AND (B>=C)AND (B>=A)THEN
WRITELN('SEQUENCIA:',C,':',A,':',B) IF(C <=B)AND (C <=A)AND
ELSE (A>=B)THEN
BEGIN WRITELN('SEQUENCIA:',C,':
IF(C<=B)AND(C<=A)AND(A>=C)AND(A>=B) THEN END;
WRITELN (SEQUENCIA:,C,:, B,:, A) END;
END; EN
END;
END;
END;
END;
READKEY;
END.
j) Ler um valor numrico e apresentar uma mensagem informando se o valor fornecido par
ou mpar.
INCIO

PROGRAM N_PAR_IMPAR;
VAR NUMERO:INTEGER;
N
BEGIN
WRITELN('ESCREVA UM NUMERO');
N MOD 2=0 R
READLN(NUMERO);
IF(NUMERO MOD 2)=0 THEN
WRITELN('O NUMERO DIGITADO EH PAR!!!!') N MOD 2=0
ELSE
BEGIN
WRITELN('O NUMERO DIGITADO EH IMPAR!!!!'); VALOR IMPAR VALOR PAR
END;
READLN;
END.

FIM

m) Efetuar a leitura de um nome (varivel NOME) e o sexo (varivel SEXO) de uma pessoa e
apresentar como sada uma das seguintes mensagens: Ilmo Sr, caso seja informado o sexo masculino
(utilizar como valor o caractere M), ou Ilma Sra., caso seja informado o sexo feminino (utilizar como
valor o caractere F). Aps a mensagem de saudao, apresentar o nome informado. O programa
deve, aps a entrada do sexo, verificar primeiramente se o sexo fornecido realmente vlido, ou seja,
se igual a M ou F. No sendo essa condio verdadeira, o programa deve apresentar a mensagem
Sexo informado Invlido.
INCIO

PROGRAM SEXO;
VAR
NOME, SEXO
NOME: CADEIA;
SEXO: CARACTERE;
CLRSCR
BEGIN
N SEXO = M
WRITELN (ESCREVA O NOME:);READLN(NOME);
W R I T E L N ( ESCREVA O SEXO:);READLN(SEXO);
OU S
SEXO = F
IF (SEXO = "M") AND (SEXO = "F") THEN
IF (SEXO = "M") THEN;
WRITELN (ILMO. SR. , NOME)
ELSE N SEXO = M
BEGIN
WRITELN (ILMA. SRA. , NOME);
END;
END;
S
END.
Ilma Sr,
Ilma Sra,
NOME
NOME

FIM

4. PG 131- EXERCICIOS A,K,P,R,S.

a)
PROGRAM QUADRADOS_I;
USES CRT; INCIO
VAR
QUADRADO, I: INTEGER;
CLRSCR I 15
BEGIN

FOR I:= 200 DO I <= 200


QUADRADO: = I*I;
WRITELN (QUADRADO DE :,I,=,QUADRADO); S
I I + 1; QUADRADO I*I
END.

QUADRADO

II+ 1

FIM

k) Escreva um programa que calcule e apresente o somatrio do nmero de gros de trigo que
se pode obter num tabuleiro de xadrez, obedecendo seguinte regra: colocar um gro de trigo no
primeiro quadro e nos quadros seguintes o dobro do quadro anterior. Ou seja, no primeiro quadro coloca-
se um gro, no segundo quadro colocam-se dois gros (neste momento tm-se trs gros), no terceiro
quadro colocam-se quatro gros (tendo neste momento sete gros), no quarto quadro colocam- se oito
gros (tendo-se ento 15 gros) at atingir o sexagsimo quarto quadro (este exerccio foi baseado
numa situao exposta no captulo 16 do livro O homem que calculava de Malba Tahan, da Editora
Record).
PROGRAM TABULEIRO_XADREZ; INCIO
VAR
I, GRO, QUADRO: INTEGER;
BEGIN GRO 0
GRO: = 0;
QUADRO:=1;
I:=1;
QUADRO 1
FOR (I <= 64) DO;
GRAO: = GRAO + QUADRO;
QUADRO: = QUADRO * 2;
I I + 1; I1
END;
WRITELN (GRO);
END.
I <= 64

GRO GRO + QUADRO

QUADRO QUADRO 2

II+ 1

GRO

FIM

p) Elaborar um programa que apresenta os resultados da soma e da mdia aritmtica dos


valores pares situados na faixa numrica de 50 at 70.
PROGRAM VALORES;
VAR INCIO
TOTAL, SOMA, R, I: INTEGER;
MEDIA: REAL;
CLRSCR; TOTAL 0
BEGIN
TOTAL := 0;
SOMA: = 0; SOMA 0
I:=50;
FOR I <= 70 DO;
R:=I - 2 * (I DIV 2);
I 50
IF (R = 0) THEN;
SOMA:= SOMA + I;
TOTAL:=TOTAL + 1;
END;
II+ 1 I <= 70 N
END;
MDIA: = SOMA / TOTAL;
WRITELN (SOMA, MEDIA) S
END. R I - 2* (I div 2)

R=0

SOMA SOMA + I

II+ 1 TOTAL
TOTAL + 1

MDIA
FIM SOMA, SOMA / TOTAL
MDIA
r) Elaborar um programa que leia valores positivos inteiros at que um valor negativo seja
informado. Ao final devem ser apresentados o maior e o menor valores informados pelo usurio.
INCIO
PROGRAM VALOR_MAIOR_MENOR;
Var
N, VALOR_MAIOR, VALOR_MENOR: INTEGER; N
CLRSCR
Begin
VALOR_MAIOR N
Raed N;
VALOR_MAIOR N;
VALOR_MENOR N; VALOR_MENOR N
N >= 0 do;
Begin
If (VALOR_MAIOR < N) then; N >= 0
VALOR_MAIOR N;
End;
Begin VALOR_MAIOR
<N
if (VALOR_MENOR > N) then;
VALOR_MENOR N;
End;
Writeln {N}; VALOR_MAIOR N
End;
Writeln {VALOR_MAIOR, VALOR_MENOR};
Readkey
End.
VALOR_MENOR> N

VALOR_MENOR N

FIM VALOR_MAIOR, VALOR_MENOR


s) Elaborar um programa um programa que apresente o resultado inteiro da
diviso de dois nmeros quaisquer, representando o dividendo e o divisor da
diviso a ser processada. Sugesto: para a elaborao do programa, no utilize o
operador aritmtico de diviso com quociente inteiro DIV. Use uma soluo
baseada em lao de repetio. O programa deve apresentar como resultado
(quociente) quantas vezes o divisor cabe no dividendo. INCIO
PROGRAM QUOCIENTE;
USES CRT; DIVIDENDO, DIVISOR
VAR
QUOCIENTE, DIVIDENDO, DIVISOR: INTEGER;
CLRSCR; QUOCIENTE 0
BEGIN
READ DIVIDENDO, DIVISOR;
QUOCIENTE:=0;
DIVISOR<=DIVIDENDO DO DIVISOR <=
DIVIDENDO:=DIVIDENDO-DIVISOR; DIVIDENDO
QUOCIENTE:=QOUCIENTE+1:
END;
WRITELN(QUOCIENTE);
READKEY;
END.

You might also like