ALGORITMOS APLICADOS À ENGENHARIA I A2 – Exercícios

Propaganda
ALGORITMOS APLICADOS À ENGENHARIA I
A2 – Exercícios preparatórios
Fluxograma, Pseudocódigo e Pascal
1. Problema: Montar um algoritmo capaz de ler os dois lados de um retângulo e calcular sua área e apresentar o
resultado na tela:
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Programa AreaDoRet
{cabeçalho do programa}
Program AreaDoRet;
Início
“Digite a medida do lado 1”
Var L1, L2, AreaRe:Real
{área de declarações}
Var L1, L2, AreaRe:Real;
Início
Escreva “Digite a medida de lado
1”
Leia L1
Escreva “Digite a medida do lado
2”
Leai L2
AreaRe L1 * L2
Escreva “A área do retângulo é”,
AreaRe
{corpo do programa}
Begin
Writeln(‘Digite a medida de lado
1’);
Readln(L1);
Writeln(‘Digite a medida do lado
2’);
Readln(L2);
AreaRe := L1 * L2;
Writeln(‘A área do retângulo é’,
AreaRe);
L1
“Digite a medida do lado 2”
L2
AreaRe L1 * L2
“A área do retângulo é”,
AreaRe
End.
FIM
Fim.
Observações:
1. Percebam que a diferença entre o Pseudocódigo e o código Pascal é mínima.
2. E que a lógica (raciocínio) realizada para um, é a mesma utilizada para o outro.
3. Todo conteúdo entre chaves {comentário} no código Pascal é identificado como comentário, e não altera
em nada a compilação ou lógica do programa. Seu único objetivo é facilitar o entendimento do código.
4. Diferentemente do Fluxograma e do Pseudocódigo, toda representação de texto em código Pascal vem
entre aspas simples ‘texto ‘.
5. O símbolo de atribuição (←) em código Pascal é representado por (:=).
ALGORITMOS APLICADOS À ENGENHARIA I
2. Problema: Montar um algoritmo capaz de ler os dois números inteiros e escrevê-los na tela (um em cada linha):
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Programa N1N2
{cabeçalho do programa}
Program N1N2;
Var
{área de declarações}
Var
N1, N2: Integer;
Início
“Digite o primeiro número: ”
N1, N2: Inteiro
N1
“Digite o segundo número: ”
N2
N1
Início
Escreva “Digite o primeiro
número: ”
Leia N1
Escreva “Digite o segundo
número: ”
Leai N2
Escreva N1
Escreva N2
{corpo do programa}
Begin
Write(‘Digite o primeiro número:
’);
Readln(N1);
Writeln(‘Digite o segundo
número: ’);
Readln(N2);
Writeln(N1);
Writeln(N2);
Fim.
End.
N2
FIM
ALGORITMOS APLICADOS À ENGENHARIA I
3. Problema: Montar um algoritmo capaz de ler os dois números inteiros e escrevê-los na tela (na mesma linha):
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Início
“Digite o primeiro número: ”
Programa N1N2
{cabeçalho do programa}
Program N1N2;
Var
{área de declarações}
Var
N1, N2: Integer;
N1, N2: Inteiro
N1
“Digite o segundo número: ”
N2
Início
Escreva “Digite o primeiro
número: ”
Leia N1
Escreva “Digite o segundo
número: ”
Leai N2
Escreva N1,N2
N1,N2
FIM
{corpo do programa}
Begin
Write(‘Digite o primeiro número:
’);
Readln(N1);
Write(‘Digite o segundo número:
’);
Readln(N2);
Writeln(N1, ’,’ ,N2); {Aparece na
tela o valor de N1,N2}
Fim.
End.
ALGORITMOS APLICADOS À ENGENHARIA I
4. Problema: Montar um algoritmo capaz de ler os dois números inteiros e somá-los e escrever o resultado na tela:
Fluxograma
Pseudocódigo (Portugol)
Início
Programa SomaNum
“Digite o primeiro número”
Código Pascal
{cabeçalho do programa}
Program SomaNum;
Var N1, N2, Soma:Inteiro
{área de declarações}
Var N1, N2, Soma:Inteiro;
Início
Escreva “Digite o primeiro
número”
Leia N1
Escreva “Digite o segundo
número”
Leai N2
Soma N1 + N2
Escreva “A soma de N1 com N2 é
”, Soma
{corpo do programa}
Begin
Writeln(‘Digite o primeiro
número’);
Readln(N1);
Writeln(‘Digite o segundo
número’);
Readln(N2);
Soma := N1 + N2
Writeln(‘A soma de N1 com N2 é
‘, Soma);
N1
“Digite o segundo número”
N2
Soma N1 + N2
“A soma de N1 com N2 é ”,
Soma
End.
FIM
Fim.
ALGORITMOS APLICADOS À ENGENHARIA I
5.
Problema: Montar um programa que leia dois números inteiros, identifica o maior e escreve ele na tela
novamente:
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Início
Programa Omaior
“Digite o primeiro número”
Var N1, N2, Soma:Inteiro
{cabeçalho do programa}
Program Omaior;
{área de declarações}
Var N1, N2, Soma:Inteiro;
N1
“Digite o segundo número”
N2
SIM
NÃO
N1>N2 ?
N1
Início
Escreva “Digite o primeiro
número”
Leia N1
Escreva “Digite o segundo
número”
Leai N2
Se N1 > N2
Então
Escreva N1
Senão
Escreva N2
{corpo do programa}
Begin
Writeln(‘Digite o primeiro
número’);
Readln(N1);
Writeln(‘Digite o segundo
número’);
Readln(N2);
If (N1>N2)
Then
Writeln(N1) {sem ;}
Else
Writeln(N2);
N2
Fim.
FIM
End.
ALGORITMOS APLICADOS À ENGENHARIA I
6.
Problema: Montar um algoritmo que calcule o perímetro e a área de um círculo, baseado no raio digitado pelo
usuário. Escrever os resultados na tela: (P := 2 * PI * R A:= PI * R ^ 2)
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Programa Circulo
{cabeçalho do programa}
Program Circulo;
Const PI=3.14
Var raio, Per, Area:real
{área de declarações}
Const PI=3.14
Var N1, N2, Soma:Inteiro;
Início
Escreva “Digite o raio do círculo”
Leia raio
{corpo do programa}
Begin
Writeln(‘Digite o raio do
círculo’);
Readln(raio);
Início
“Digite o raio do círculo:”
raio
Per  2 * π * raio
Per  2 * PI * raio
Area  PI * raio * raio
Area  π * raio * raio
“A medida do
perímetro é ”, Per
Escreva “A medida do perímetro
é ”, Per
Escreva “A medida da área é ”,
Area
Per := 2 * PI * raio;
Area := PI * raio * raio;
Writeln(‘A medida do perímetro
é ’, Per);
Writleln(‘A medida da área é ’,
Area);
“A medida da área é ”,
Area
Fim.
FIM
End.
ALGORITMOS APLICADOS À ENGENHARIA I
7.
Problema: Montar um algoritmo que leia 4 notas (A1,A2,A3 e A4), escolha a maior entre A1 e A2, e calcule a
média de acordo os critérios da Uninove (Media := (A1+A3+A4)/3 ou Media := (A2+A3+A4)/3). Escrever a média
na tela:
ALGORITMOS APLICADOS À ENGENHARIA I
8.
Problema: Pretende-se elaborar um programa que permita ler um número a partir do teclado, e apresentar a
indicação de que é positivo, negativo ou nulo.
Entradas: Num
Saídas: mensagens
Descrição do problema:
Se N = 0 então  N é nulo
Se N > 0 então  N é positivo;
senão  N é negativo
Este problema faz então uso de estruturas condicionais (estruturas de seleção).
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Programa TipoN
{cabeçalho do programa}
Program TipoN;
Var N:Inteiro
{área de declarações}
Var N:Inteiro;
Início
Escreva “Digite um número”
Leia N
{corpo do programa}
Begin
Writeln(‘Digite um número’);
Readln(N);
Início
“Digite um número”
N
SIM
N=0?
NÃO
NÃO
N>0?
SIM
N, “ é
positivo”
Se N =0
Então
Escreva N, “ é nulo”
Senão
Se N > 0
Então
Escreva n, “ é positivo”
Senão
Escreva n, “ é negativo”
If (N = 0)
Then
Writeln( N, ‘ é nulo’)
Else
If (N > 0)
Then
Writeln(n, ‘ é
positivo’)
Else
Writeln(n, ‘ é
negativo’); {; apenas aqui}
N, “ é
N, “ é
nulo”
negativo”
FIM
Fim.
End.
ALGORITMOS APLICADOS À ENGENHARIA I
9. Problema: Montar um algoritmo capaz de ler um caractere do teclado e escrevê-lo na tela duas vezes seguidas
(na linha de baixo):
ALGORITMOS APLICADOS À ENGENHARIA I
10. Problema: Escrever um programa que peça para digitar M se o sexo é feminino ou H se o sexo é masculino.
Baseado na letra digitada escrever na tela ‘Seu sexo é masculino’ ou ‘Seu sexo é feninimo’.
Fluxograma
Pseudocódigo (Portugol)
Código Pascal
Programa TipoSexo
{cabeçalho do programa}
Program TipoSexo;
Var Sexo:Caracter
{área de declarações}
Var Sexo:Char;
Início
Escreva “Digitar M se o sexo é
feminino ou H se o sexo é masculino”
Leia Sexo
{corpo do programa}
Begin
Writeln(‘Digitar M se o sexo é
feminino ou H se o sexo é
masculino’);
Readln(Sexo);
Início
“Digitar M se o sexo é
feminino ou H se o sexo
é masculino”
Sexo
SIM
Sexo =
“M” ?
NÃO
Sexo =
“H” ?
SIM
“Seu sexo é
masculino”
“Seu sexo é
feminino”
NÃO
Se Sexo = “M”
Então
Escreva “Seu sexo é feminino”
Senão
Se Sexo = “H”
Então
Escreva “Seu sexo é
masculino”;
Fim.
FIM
If (Sexo = ‘M’)
Then
Writeln(‘Seu sexo é
feminino’)
Else
If (Sexo = ‘H’)
Then
Writeln(‘Seu sexo é
masculino’); {; aqui porque neste caso
não há o Else}
End.
ALGORITMOS APLICADOS À ENGENHARIA I
11. Problema: Montar um algoritmo capaz de ler a base maior, a base menor e a altura de um trapézio. Em seguida
calcular sua área e escrever o resultado na tela: (AreaTrapezio := (Bmaior + Bmenor) * Altura /2)
12. Problema: Montar um algoritmo capaz de ler os dois números reais, calcular a multiplicação entre eles, somar 80
ao resultado e escrevê-lo na tela:
13. Problema: Montar um programa que leia dois números e escreva na tela qual é o maior:
14. Problema: Montar um programa que leia três números e escreva na tela qual é o maior:
15. Problema: Montar um programa que leia o lado de um quadrado e o raio de uma circunferência, calcule e área de
cada um deles e diga qual tem área maior:
Download