Lógica de Programação
Exercícios resolvidos
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TRIÂNGULO MINEIRO Campus Uberlândia Centro
Até estrutura condicional
Três comandos:
leitura, atribuição, escrita
EXERCÍCIO RESOLVIDO 1:
Fazer um programa para ler as medidas de largura e comprimento de um terreno retangular, bem como o valor de mercado do metro quadrado do terreno. Em seguida, mostrar a área e o preço do terreno.
Três comandos:
leitura, atribuição, escrita
Etapa 1: análise (entendimento do problema)
Terreno
Fazer um programa para ler as medidas de largura e comprimento de um terreno retangular, bem como o valor de mercado do metro quadrado do terreno. Em seguida, mostrar a área e o preço do terreno.
Dica: elabore um exemplo!
25 10 Valor de mercado do metro quadrado: R$ 100 Resultados esperados: Área = 250 Preço = R$ 25000
Três comandos:
leitura, atribuição, escrita
Etapa 2: projeto (planejar a solução) Dica: imagine o programa executando!
Digite a largura do terreno: 10
Digite o comprimento do terreno: 25
Qual o valor do metro quadrado? 100
Área do terreno = 250
Preço do terreno = R$ 25000
Fazer um programa para ler as medidas de largura e comprimento de um terreno retangular, bem como o valor de mercado do metro quadrado do terreno. Em seguida, mostrar a área e o preço do terreno.
Três comandos:
leitura, atribuição, escrita
Etapa 3: codificação
Digite a largura do terreno: 10
Digite o comprimento do terreno: 25
Qual o valor do metro quadrado? 100
Área do terreno = 250
Preço do terreno = R$ 25000
print "Digite a largura do terreno: ";
$largura = trim(fgets(STDIN));
print "Digite o comprimento do terreno: ";
$comp = trim(fgets(STDIN));
print "Qual o valor do metro quadrado? ";
$mq = trim(fgets(STDIN)); $area = $largura * $comp; $preco = $area * $mq;
print "\nÁrea do terreno = " . $area;
Estrutura condicional
EXERCÍCIO RESOLVIDO 2:
Fazer um programa ler as duas notas que um aluno obteve no primeiro e segundo semestres de uma disciplina anual (cada nota semestral pode valer de 0 a 100). Em seguida, mostrar a média aritmética das duas notas. Caso a média do aluno foi inferior a 60, imprimir a mensagem “Reprovado”.
Estrutura condicional
Etapa 1: análise (entendimento do problema)
Nota do 1º semestre: 70 Nota do 2º semestre: 80 Média = 75 Exemplo 1: Nota do 1º semestre: 60 Nota do 2º semestre: 40 Média = 50 Reprovado Exemplo 2:
Estrutura condicional
Exemplo 2:
Etapa 2: projeto (planejar a solução)
Digite a nota do 1º semestre: 60
Digite a nota do 2º semestre: 40
Média = 50 Reprovado
Estrutura condicional
Etapa 3: codificação
print "Digite a nota do 1º semestre: ";
$n1 = trim(fgets(STDIN));
print "Digite a nota do 2º semestre: ";
$n2 = trim(fgets(STDIN)); $med = ($n1 + $n2) / 2;
print "Média = " . $med;
if ($med < 60) {
print "\nReprovado";
Estrutura condicional
EXERCÍCIO RESOLVIDO 3:
Fazer um programa para ler os coeficientes a, b e c
de uma equação do segundo grau (ax2 + bx + c = 0)
e depois retornar as raízes da equação. Se a equação não possuir raízes, exibir uma mensagem.
Estrutura condicional
Etapa 1: análise (entendimento do problema)
Fazer um programa para ler os coeficientes a, b e c de uma equação do segundo grau (ax2 + bx + c = 0) e depois retornar as raízes da equação. Se a equação não possuir raízes, exibir uma mensagem.
a
x
2+
b
x +
c
= 0
x
2-
4
x +
3
= 0
Forma geral Exemploa = 1
b = -4
c = 3
Estrutura condicional
Etapa 1: análise (entendimento do problema)
Fazer um programa para ler os coeficientes a, b e c de uma equação do segundo grau (ax2 + bx + c = 0) e depois retornar as raízes da equação. Se a equação não possuir raízes, exibir uma mensagem.
a
x
2+
b
x
+
c
= 0
x
2-
4
x
+
3
= 0
Forma geral Exemplo
Raizes: valores de x tais que a igualdade seja válida.
Estrutura condicional
Etapa 1: análise (entendimento do problema)
a
x
2+
b
x
+
c
= 0
x
2-
4
x
+
3
= 0
Forma geral Exemplo3
2-
4
.3
+
3
= 0
→
9 - 12 + 3 = 0
→
0 = 0
1
2-
4
.1
+
3
= 0
→
1 - 4 + 3 = 0
→
0 = 0
Raizes: valores de x tais que a igualdade seja válida.
Estrutura condicional
Etapa 1: análise (entendimento do problema)
a
x
2+
b
x
+
c
= 0
Forma geral
Fórmula para encontrar as raizes:
a b x 2 1 = − + ∆ a b x 2 2 = − − ∆
ac
b
2−
4
=
∆
e ondeObs.: se delta for negativo, a
equação não possui raízes reais (pois não existe raiz quadrada real para número negativo)
Estrutura condicional
Etapa 1: análise (entendimento do problema)
x
2-
4
x +
3
= 0
Exemploa = 1
b = -4
c = 3
4 12 16 3 1 4 ) 4 ( 4 2 2 = − = ⋅ ⋅ − − = − = ∆ b ac 3 2 6 1 2 4 ) 4 ( 2 1 = = ⋅ + − − = ∆ + − = a b x 1 2 2 1 2 4 ) 4 ( 2 2 = = ⋅ − − − = ∆ − − = a b xEstrutura condicional
Exemplo 2:
Etapa 2: projeto (planejar a solução)
Digite o valor do coeficiente 'a': 1
Digite o valor do coeficiente 'b': -4
Digite o valor do coeficiente 'c': 3
Raízes da equação: X1 = 3
Estrutura condicional
Etapa 3: codificação
print "Digite o valor do coeficiente 'a': ";
$a = trim(fgets(STDIN));
print "Digite o valor do coeficiente 'b': ";
$b = trim(fgets(STDIN));
print "Digite o valor do coeficiente 'c': ";
$c = trim(fgets(STDIN));
$delta = pow($b, 2) - 4*$a*$c;
if ($delta < 0) {
print "\nEsta equação não possui raízes reais";
}
else {
$x1 = (-$b + sqrt($delta)) / (2 * $a); $x2 = (-$b - sqrt($delta)) / (2 * $a);
print "\nRaizes da equação:";
print "\nX1 = " . $x1;
print "\nX2 = " . $x2;
Estrutura condicional
EXERCÍCIO RESOLVIDO 4:
Fazer um programa para ler três números
quaisquer. Em seguida, mostrar na tela o menor dentre os três números (em caso de empate, mostrar apenas uma vez).
Estrutura condicional
Etapa 1: análise (entendimento do problema)
1º número: 9 2º número: 4 3º número: 7 MENOR = 4 Exemplo 1: 1º número: 5 2º número: 12 3º número: 5 MENOR = 5 Exemplo 2: 1º número: 7 2º número: 7 3º número: 7 MENOR = 7 Exemplo 3:
Estrutura condicional
Exemplo 2:
Etapa 2: projeto (planejar a solução)
Digite o primeiro valor: 9
Digite o segundo valor: 4
Digite o terceiro valor: 7
Estrutura condicional
Etapa 3: codificação
print "Digite primeiro valor: "; $a = trim(fgets(STDIN));
print "Digite segundo valor: "; $b = trim(fgets(STDIN));
print "Digite terceiro valor: "; $c = trim(fgets(STDIN));
if ($a < $b && $a < $c) {
print "Menor = " . $a; } else { if ($b < $c) { print "Menor = " . $b; } else { print "Menor = " . $c; } }