Introdução à programação/Exercícios: diferenças entre revisões

[edição verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
He7d3r.bot (discussão | contribs)
Atualizando a categoria do livro, com AutoCat (detalhes). utilizando AWB
Abacaxi (discussão | contribs)
Alguém deveria converter o código Pascal para C
Linha 93:
[[Introdução à programação/Soluções dos exercícios|Soluções dos exercícios]]
<p>&nbsp;</p>
 
----
=== Exercícios de introdução ===
:
 
<div id="naveg" style="background-color: #ffffff; border: solid 0px black; padding-left:
1) Faça um programa que mostre na tela a frase "Olá Mundo!".
15px; padding-right: 15px; margin: 4px; text-align: right; font-size: 100%">
<source lang="Pascal">
[[Introdução à programação|Índice]] - [[Introdução à programação/Orientação a objectos|Orientação a objectos]] | [[Introdução à programação/Bibliografia|Bibliografia]]
uses crt;
</div>
begin
writeln(‘Olá Mundo!’);
end
</source>
 
2) Faça um programa que peça para o usuário digitar seu nome e, em seguida, escreva seu nome na tela.
<source lang="Pascal">
uses crt;
var
nome:string;
begin
writeln(‘Escreva seu nome: ’);
readln(nome);
writeln(‘Seu nome é: ’,nome);
end
</source>
 
3) Faça um programa que leia nome e idade e mostre na tela.
<source lang="Pascal">
uses crt;
var
nome:string;
idade:integer;
begin
writeln(‘Escreva seu nome: ’);
readln(nome);
writeln(‘Escreva sua idade: ’);
readln(idade);
writeln(‘Seu nome é ’,nome,‘ e você tem ’,idade,‘ anos.’);
end
</source>
 
4) Faça um programa que leia nome, idade e altura e mostre na tela as informações.
<source lang="Pascal">
uses crt;
var
nome:string;
idade:integer;
altura:real;
begin
write(‘Escreva seu nome: ’);
readln(nome);
write(‘Escreva sua idade: ’);
readln(idade);
write(‘Entre com sua altura: ‘);
readln(altura);
writeln(‘Seu nome é ’,nome,‘, você tem ’,idade,‘ anos e ’,altura:4:2,‘m de altura.’);
end
</source>
 
5) Fazer um programa que leia o nome e duas notas de um aluno, e em seguida calcule a sua média.
 
Algoritmo:
# Ler o nome;
# Ler as duas notas;
# Calcular a media:
## Somar as duas notas;
## Dividir a soma por dois;
# Exibir a media;
 
<source lang="Pascal">
uses crt;
var
nome:string;
n1,n2,m:real;
begin
writeln(‘Entre com o nome: ’);
readln(nome);
writeln(‘Entre com as duas notas: ’);
readln(n1,n2);
m:=(n1+n2)/2;
writeln(‘A média é: ’,m:4:2);
end
</source>
 
6) Três massas m1, m2, m3 estão separadas por distâncias ''r12'', ''r13'' e ''r23'', como mostra a figura:
 
Se G é a constante de gravitação universal, a força de coesão mantendo a massa das partículas juntas é dada pela formula:
<center><math>F = G\left(\frac{M_1 M_2}{R_{12}^2} + \frac{M_1 M_3}{R_{13}^2} + \frac{M_2 M_3}{R_{23}^2}\right)
</math></center>
 
Fazer um programa para ler os valores de ''m1'', ''m2'', ''m3'', ''r12'', ''r13'', ''r23''; calcular e imprimir a força de coesão. Para massa em quilogramas e distância em metros, G = 6,67 × 10<sup>−11</sup> N·m<sup>2</sup>/kg<sup>2</sup>. Assumir que todos os valores são reais.
<source lang="Pascal">
uses crt;
const
G=6.67E-11;
var
F,m1,m2,m3,r12,r13,r23:real;
begin
writeln(‘Entre com as três massas: ’);
readln(m1,m2,m3);
writeln(‘Entre com as três distâncias: ’);
readln(r12,r13,r23);
F:=G*((m1*m2/r12*r12)+(m1*m3/r13*r13)+(m2*m3/r23*r23));
writeln(‘A força de coesão é: ’,F:4:15,‘ N.’);
end
</source>
 
7) Dados os comprimentos dos lados de um triângulo (lado1 e lado2), fazer um programa para calcular a hipotenusa.
<source lang="Pascal">
uses crt;
var
L1,L2,H:real;
begin
writeln(‘Escreva o valor de um lado: ’);
readln(L1);
writeln(‘Escreva o valor do outro lado: ’);
readln(L2);
H:=sqrt(sqr(L1)+sqr(L2));
writeln(‘O valor da hipotenusa é: ’,H:2:2);
end
</source>
 
8) Faça um programa que leia a duração de uma tarefa em segundos e transforme para hora, minuto e segundo.
<source lang="Pascal">
uses crt;
var
s,m,h:longint;
begin
writeln(‘Entre com o tempo em segundos: ’);
readln(s);
h:=(s)div(3600);
m:=((s)mod(3600))div(60);
s:=((s)mod(3600))mod(60);
writeln(s,‘ segundos é: ’,h,‘ hora(s) ’,m,‘ minutos e ’,s,‘ segundos’);
end
</source>
 
=== Exercícios de decisão ===
 
1) Faça um programa que leia dois números inteiros distintos e diga qual desses dois números é o maior.
<source lang="Pascal">
uses crt;
var
a,b:longint;
begin
writeln(‘Entre com dois números inteiros distintos: ’);
readln(a,b);
if a>b then
writeln(a,‘>’,b)
else
writeln(b,‘>’,a);
end
 
 
2) Faça um programa que leia três números distintos e mostre o maior dos 3.
<source lang="Pascal">
uses crt;
var
a,b,c:longint;
begin
writeln(‘Escreva três números inteiros e distintos: ’);
readln(a,b,c);
if (a>b)and(a>c) then
writeln(‘O maior número é ’,a);
if (b>c)and(b>a) then
writeln(‘O maior número é ’,b);
if (c>a)and(c>b) then
writeln(‘O maior número é ’,c);
end
</source>
 
3) Faça um programa que leia os coeficientes de uma equação do 2º grau e calcule suas raízes. O programa deve mostrar, quando possível, o valor das raízes calculadas e a classificação das raízes (imaginárias, única, distintas)
<source lang="Pascal">
uses crt;
var
a,b,c,d:real;
begin
writeln(‘Toda equação do 2ª grau é do tipo: ax² + bx +c’);
writeln(‘Atribua valores a: a, b, c: ’);
readln(a,b,c);
d:=(sqr(b))-(4*a*c);
if d<0 then
begin
writeln(‘Raízes Imaginárias’);
if d=0 then
begin
x1:=(-b)/(2*a);
writeln(‘A raiz é única e é: ’x1);
end;
if d>0 then
begin
x1:=((-b)+sqrt(d))/(2*a);
x2:=((-b)-sqrt(d))/(2*a);
writeln(‘As raízes são distintas e são: ’,x1,‘ e ’,x2);
end;
end;
end
</source>
 
4) Dados 3 valores x, y e z, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo eqüilátero, isósceles ou escaleno.
<source lang="Pascal">
uses crt;
var
a,b,c:real;
begin
writeln(‘Entre com os 3 lados: ’);
readln(a,b,c);
if (a+b>c)and(a+c>b)and(b+c>a) then
begin
if (a=b)and(b=c) then
writeln(‘Triângulo Equilátero’)
else
if (a=b)or(a=c)or(b=c) then
writeln(‘Triângulo Isósceles’)
else
writeln(‘Triângulo Escaleno’);
end
else
writeln(‘Este triângulo não existe!’);
end
 
5) Faça um programa para verificar se o número é par.
<source lang="Pascal">
uses crt;
var
a:integer;
begin
writeln(‘Entre com um número inteiro: ’);
readln(a);
if ((a)mod(2)=0) then
writeln(‘Par’)
else
writeln(‘Ímpar’);
end
</source>
 
=== Exercícios de repetição ===
 
1) Faça um programa que leia dois números inteiros e faça a multiplicação sem utilizar o operador de multiplicação *.
<source lang="Pascal">
uses crt;
var
a,b,i,n:longint;
begin
writeln('Entre com dois valores positivos: ');
readln(a,b);
if (a>0)and(b>0) then
begin
n:=0;
i:=0; {Se i:=1, i<b}
while (i<=b) do
begin
n:=a+n;
i:=i+1;
end;
writeln(a,' x ',b,' = ',n);
end
else
writeln('Valor(es) Incorreto(s)');
end
</source>
 
2) Faça um programa que leia dois números inteiros e faça a multiplicação sem utilizar o operador *.
<source lang="Pascal">
uses crt;
var
a,b,i,n:longint;
begin
writeln('Entre com dois valores: ');
readln(a,b);
if (a>=0)and(b>=0) then
begin
n:=0;
i:=1;
repeat
n:=n+a;
i:=i+1;
until i>b;
writeln(a,' x ',b,' = ',n);
end
else
writeln('Valor(es) Incorreto(s)!');
end
</source>
 
 
{{wikipedia|Programação de computadores|Introdução à programação}}
[[Introdução à programação/Prefácio|Prefácio]]
[[Introdução à programação/Programar|Programar, o que é a programação?]]
[[Introdução à programação/Como programar|Como programar: pensar como uma máquina]]
[[Introdução à programação/Aprendizagem|Aprendizagem: o "padrão eficaz"]]
[[Introdução à programação/Linguagens de programação|Linguagens de programação]]
[[Introdução à programação/Estruturas de manipulação de dados|Estruturas de manipulação de dados]]
[[Introdução à programação/Orientação a objectos|Orientação a objectos]]
[[Introdução à programação/Exercícios|Exercícios]]
[[Introdução à programação/Bibliografia|Bibliografia e ligações externas]]
<p>&nbsp;</p>
----
 
{{AutoCat}}