Sistemas Operacionais e Introdução a Programação (diário 2009-2) - Prova de Lógica de Programação
Cada questão deve contemplar:
- Pseudocódigo com entrada, processamento e saída de dados;
- Diagrama de blocos.
Questão 1
Monte uma calculadora simples, que utiliza as quatro operações básicas:
- +
- -
- /
- *
A calculadora deve pedir indefinidamente números e operadores enquanto não for digitado o símbolo "=". A cada par de números e uma operação, deve-se mostrar o resultado intermediário dos cálculos. Exemplo:
Digite o primeiro número: 42 Digite a operação: + Digite o segundo número: 7
Resultado intermediário: 49
Digite a próxima operação: / Digite o próximo número: 7
Resultado intermediário: 7
Digite a próxima operação: =
Resultado final: 7
Observação: esta questão estava disponível na lista de exercícios do Prof. Sobral.
Resposta
- Pseudocódigo
- Leia o primeiro número e armazene em "numeroUm".
- Enquanto "operador" for diferente de "=" faça
- Apresente a lista de operadores possíveis (+, -, / e *).
- Leia o operador e armazene em "operador".
- Se "operador" é diferente de "=" então
- Leia o segundo número e armazene em "numeroDois".
- Aplique o operador "operador" sobre "numeroUm" e "numeroDois", nesta ordem, e armazene o resultado em "numeroUm".
- Apresente na tela o resultado intermediário da operação - armazenado em "numeroUm".
- Fim Se
- Fim Enquanto
- Apresente na tela o resultado final das operações - armazenado em "numeroUm".
- Diagrama em blocos
<graphviz> digraph Questao1 { "Início" "Leia numeroUm" [shape=invtriangle
"Início" -> "Leia numeroUm" } </graphviz>
Questão 2
Construa um programa que gera código, automaticamente, para o programa Kturtle para desenhar estrelas de n pontas. Assuma os segmentos de reta com tamanho 100.
Para resolver o problema, bastam apenas duas instruções do Kturtle:
- forward
- turnleft ou turnright
Exemplo: para desenhar uma estrela de 5 pontas no Kturtle, é preciso o seguinte conjunto de instruções:
forward 100 turnleft 144 forward 100 turnleft 144 forward 100 turnleft 144 forward 100 turnleft 144 forward 100
Observação: já foi proposta em aula uma atividade parecida.
Resposta
Questão 3
Dada uma equação de 2º grau, leia os três números e aplique a fórmula de Bhaskara - para obter a(s) resposta(s).
Observação: diferente da questão 2, já foi proposta em aula esta mesma atividade.
Resposta
Questão 4
Leia um número e, a partir do mesmo conjunto de instruções, identifique se o número é primo e/ou perfeito.
Observação: é uma combinação de atividades já propostas.