Buscar

Execícios resolvidos de sequencia e seleção - Pascal

Prévia do material em texto

Lista de exercícios em Pascal, envolvendo apenas “Sequencia e Seleção”.
Alguns destes exercícios podem ser resolvidos com vetores, por exemplo, mas não é a abrangência devido ao andamento da disciplina (não foram vistos laços, vetores, matrizes, etc).
1. Fornecida a quantidade e o preço unitário de determinada peça, calcular e imprimir o total a pagar, sabendo que haverá um desconto de 10%.
program ex1;
var qnt:integer;
 pco:real;
begin
	write('Informe a quantidade: ');
	readln(qnt);
	write('Informe o preco: ');
	readln(pco);
	writeln('Total= ', qnt*(pco*0.9):0:2);
end.
2. Fornecido um número N (N>=0), imprimir o dígito mais à direita do valor.
program ex2;
var n,q,x,r:integer;
begin
	write('Digite N: ');
	readln(n);
	q:= n div 10;
	x:= q*10;
	r:= n-x;
	writeln('O digito e: ',r);
end.
Otimizando o código:
program ex2;
var n:integer;
begin
	write('Digite N: ');
	readln(n);
	writeln('O digito e: ',n-(n div 10)*10);
end.
3. Observe as seguintes características:
O número 2025 tem: 20+25=45 e 45x45=2025
O número 1063 tem: 10+63=73 e 73X73 <> 1065 (<> significa "diferente")
Dado um número inteiro positivo N de quatro dígitos, verificar se N e um número cuja raiz quadrada e formada pela soma de suas dezenas. Caso positivo, imprimir 'sim', caso contrário, imprimir 'não'.}
program ex3;
var n,d,e,x,y:integer;
begin
	write('Digite N:');
	readln(n);
	d:= n div 100;
	e:= n mod 100;
	x:= e+d;
	y:= x*x;
	if n=y then
		writeln('sim')
	else
		writeln('nao');
end.
4. Fornecidos dois números inteiros A e B (A>0 e B>0), verificar se A é divisível por B. Imprimir a mensagem “divisível” ou “não divisível”, conforme o caso.
program ex4;
var a,b,c,x,r:integer;
begin
 write('Digite A: ');
 readln(a);
 write('Digite B: ');
 readln(b);
 c:= a div b;
 x:= c*b;
 r:= a-x;
 if r=0 then
 writeln('divisivel')
 else
 writeln('nao divisivel');
end.
Otimizando o código:
program ex4;
var a,b:integer;
begin
 write('Digite A: ');
 readln(a);
 write('Digite B: ');
 readln(b);
 if a mod b = 0 then
 writeln('divisivel')
 else
 writeln('nao divisivel');
end.
5. Fornecido um número N e um intervalo fechado de A at‚ B (A<B), verificar se N está no intervalo. Imprimir a mensagem "no intervalo" ou "fora do intervalo", conforme o caso.
program ex5;
var a,b,n:integer;
begin
 write('Informe A B N: ');
 readln(a,b,n); {os valores podem ser inseridos\lidos de uma vez digitados com um espa‡o entre o outro ex.: 10 5 20}
 if (n>a) and (n<b) then
 writeln('no intervalo')
 else
 writeln('fora do intervalo');
end.
6. Fornecidos os três segmentos de reta A, B e C (a>0, b>0 e c>0), verificar se formam um triângulo. Imprimir a mensagem "formam um triangulo" ou "não formam um triângulo", conforme o caso.
program ex6;
var a,b,c:real;
begin
 write('Digite A B C: ');
 readln(a,b,c);
 if (a<b+c) and (b<a+c) and (c<a+b) then
 writeln('formam um triangulo')
 else
 writeln('nao formam um triangulo');
end.
7. Fornecido o preço e o ajuste (em porcentagem), imprimir o preço atualizado e o valor do aumento.
program ex7;
var pco,n,aj,tot:real;
begin
 write('Digite o preco e percentual de ajuste: ');
 readln(pco,n);
 n:=n/100;
 aj:= pco * n;
 tot:= pco + aj;
 writeln('Total: R$', tot:0:2);
 writeln('Ajuste de R$',aj:0:2);
end.
Otimizando o código:
program ex7;
var pco,n:real;
begin
 write('Digite o preco e o percentual de ajuste: ');
 readln(pco,n);
 writeln('Total: R$',pco+(pco*(n/100)):0:2);
 writeln('Ajuste de R$',pco*(n/100):0:2);
end.
8. Fornecida a quantidade, o preço unitário e o desconto (em porcentagem), imprimir o total a pagar sabendo que o desconto será aplicado se ao menos dez unidades forem compradas.
program ex8;
var qnt,pco,desc,n,tot:real;
begin
 write('Digite a quantidade, o preco e o desconto: ');
 readln(qnt,pco,n);
 if qnt>=10 then begin
 desc:= n/100;
 tot:= qnt*pco-((qnt*pco)*desc);
 writeln('Total: R$',tot:0:2);
 end
 else
 writeln('Total: R$',pco*qnt:0:2);
end.
9. Fornecidos os coeficientes de uma equação de segundo grau (com a<>0, ou seja, não ‚ necessário verificar a existência da equação), imprimir suas raízes.
program ex9;
var a,b,c,delt,x1,x2:real;
begin
 write('Digite A B C: ');
 readln(a,b,c);
 delt:=(b*b)-(4*a*c);
 x1:=(-b+sqrt(delt))/(2*a);
 x2:=(-b-sqrt(delt))/(2*a);
 writeln('x1= ',x1:0:2, ' ', 'x2= ' ,x2:0:2);
end.
10. Fornecida uma letra, verificar se é vogal. Imprimir "vogal" ou "não vogal", conforme o caso.
program ex10;
var l:char;
begin
 write('informe a letra: ');
 readln(l);
 if (l='a') or (l='A') or (l='e') or (l='E') or (l='i') or (l='I') or (l='o') or (l='O') or (l='u') or (l='U') then
 writeln('vogal')
 else
 writeln('nao vogal');
end.
11. Fornecidos três números inteiros distintos A, B e C, imprimir o maior valor.
program ex11;
var a,b,c:integer;
begin
 write('Digite A B C: ');
 readln(a,b,c);
 if (a>b) and (a>c) then
 writeln(a)
 else if (b>a) and (b>c) then
 writeln(b)
 else
 writeln(c);
end.
12. Fornecidos os coeficientes de uma equação de segundo grau (com a <>0, ou seja, não é preciso verificar a existência da equação), imprimir suas raízes.
Obs.: Caso o delta seja negativo, imprimir as raízes no formato: x-yi e x+yi, após calcular x e y.
program ex12;
var a,b,c,delt,x1,x2,x,y:real;
begin
 write('Digite A B C: ');
 readln(a,b,c);
 delt:=(b*b)-(4*a*c);
 if delt>=0 then begin
 x1:=(-b+sqrt(delt))/(2*a);
 x2:=(-b-sqrt(delt))/(2*a);
 writeln('x1= ',x1:0:2,'x2= ',x2:0:2);
 end
 else begin
 x:=-b/(2*a);
 y:=sqrt(-delt)/(2*a);
 writeln(x,'+',y:0:2,'i, ',x,'-',y:0:2,'i');
 end;
end.

Mais conteúdos dessa disciplina