Você está na página 1de 5

Estudo dirigido 1 12/04/2023

Projeto de Lógica e Programação


Pablo Rafael Neves Marciano

Engenharia de produção/civil noturno Valor 30% da prova.


Estudante: Nota:

Pontos importantes:
Todo código deve estar no formato “.por” (formato nativo do Portugol). Todo diagrama deve estar no
formato JPEG “.jpg”. Todas as suas respostas devem estar numa pasta chamada
“NOME_SOBRENOME_ESTUDO_DIRIGIDO_1”. Essa pasta deve ser zipada no formato “.zip”
e enviada pelo portal AVA no ESTUDO DIRIGIDO 1.

Parte 1: A lógica de programação e o pensamento lógico

1. Com suas palavras diga o que é o pensamento lógico?


2. Como podemos utilizar o pensamento lógico? Como ele se relaciona com um problema que
encaramos?
3. Utilize o pensamento lógico e resolva os seguintes problemas:
a. Um homem precisa atravessar o um rio e levar um bode, um lobo e um saco de alfafa.
Mas ele só tem um barco que pode levar ele e mais outro item. Ele deve tomar
cuidado para que o lobo não fique sozinho com o bode, nem que o bode fique sozinho
com o saco de alfafa. Crie uma lógica para que o homem atravesse o rio sem perder
nenhuma de suas cargas.
b. Crie uma lógica para resolver a problema da torre de Hanoi.
Obs.: uma peça maior não pode ficar sobre uma peça menor. Só pode mover uma
peça por vez.

4. Métodos de raciocínio lógico:


Das premissas até a conclusão, o processo de raciocínio lógico pode ser explicado de três
formas:

Dedução: tem o uso de uma premissa geral e uma premissa particular do processo de
raciocínio lógico para alcançar uma conclusão. Deste modo, inicialmente é criada uma lei
geral e depois são observados casos particulares com objetivo de verificar se essa lei não é
falsa.

Indução: considerado o oposto do método anterior, uma vez que, inicia-se do particular e
segue para o geral. Nesse caso, primeiro é realizada uma coleta de casos particulares até
alcançar uma certa quantidade, em seguida é feita uma generalização.
Estudo dirigido 1 12/04/2023
Projeto de Lógica e Programação
Pablo Rafael Neves Marciano

Abdução: está na condição de intermediário entre os métodos anteriores. Geralmente, esse


raciocínio tem início com observações incompletas e conduz-se para uma explicação mais
possível dentro do conjunto de observações.

Confira abaixo os exemplos e indique qual processo pode ser aplicados a cada tipo de
raciocínio:
a. 1: Todos os feijões daquela saca são brancos. Esses feijões são daquela saca. Logo,
esses feijões são brancos (dedução).
b. 2: Esses feijões são daquela saca. Esses feijões são brancos. Logo, todos os feijões
daquela saca são brancos (indução).
c. 3: Todos os feijões daquela saca são brancos. Esses feijões são brancos. Logo, esses
feijões são daquela saca (abdução).

5. Resolva os problemas de lógica a seguir:


a. Dada a sequência 1, 3, 5, 7, _ ... qual o próximo número?

b. Um pastor diz para outro:


"Dê um de seus carneiros que ficamos com igual número de carneiros."

O outro responde:
"Nada disso, dê-me um de seus carneiros que ficarei com o dobro dos seus".

Quantos carneiros têm cada um?

c. Amanda, Bruno, Camila e Denise são as quatro primeiras pessoas de uma fila, não
necessariamente nesta ordem. João olha para os quatro e afirma:

“Bruno e Camila estão em posições consecutivas na fila”


“Amanda está entre Bruno e Camila na fila”.

Contudo, as duas afirmações de João são falsas. Mas sabe-se que Bruno é o terceiro
da fila. Quem está antes dele?

Parte 2: A liguagem Portugol e suas Aplicações

1. O que é um algoritmo?
2. Em quantas partes podemos dividir um algoritmo? Como essas partes são normalmente
denominadas? Quais as características de cada parte? Utilize um exemplo para auxiliar na sua
resposta.
3. Quais são as três estruturas possíveis de um algoritmo? Comente brevemente sobre cada uma.
Estudo dirigido 1 12/04/2023
Projeto de Lógica e Programação
Pablo Rafael Neves Marciano

4. O que é um algoritmo em blocos? Quais as suas vantagens?


5. O que é uma variável? Quais os tipos existentes no Portugol?
6. O que são operadores aritméticos? Quais são nativos do Portugol?
7. O que são operadores relacionais? Quais são nativos do Portugol?
8. O que são operadores lógicos? Quais são nativos do Portugol?
9. A operação lógica 10 > 5 e (Não(10 < 9) ou 3 <= 4) é verdadeira ou falsa? (Atenção aos
parênteses)
10. O que as chaves destacadas representam:

11. Prova: IUDS - 2021 - IF-RJ - Analista de Tecnologia da Informação


A programação estruturada consiste numa metodologia de projeto de programas visando a:
I - Facilitar a escrita dos programas.
II - Facilitar a leitura dos programas.
III - Facilitar a manutenção e modificação dos programas.
Estão corretas as afirmações:
a. I e II.
b. I e III.
c. II e III.
d. I, II e III.
e. Nenhuma alternativa acima.
Estudo dirigido 1 12/04/2023
Projeto de Lógica e Programação
Pablo Rafael Neves Marciano

12. O uso da recursão é particularmente apropriado para a solução daqueles problemas que
podem ser definidos de modo natural em termos recursivos. Avalie o seguinte código em
Portugol e selecione a alternativa que mostra o que será apresentado.

Alternativas:
a. 4
b. 5
c. 24
d. 120
e. 720

13. Procedimentos, funções, métodos, subprogramas e sub-rotinas são alguns dos termos usados
em diversas linguagens de programação para definir trechos de código que encapsulam um
comportamento útil em múltiplas situações durante a execução de programas. Esses(as) se
comunicam com o programa que os(as) chama através da passagem de zero ou mais
parâmetros (ou argumentos) e da recepção de 0 ou mais valores de retorno. Com relação ao
processo de passagem de argumentos e recepção de valores de retorno em linguagens de
programação, assinale a alternativa INCORRETA.
Alternativas
a. A passagem de parâmetro por valor garante a preservação do conteúdo original da
variável correspondente no programa que chama o procedimento, mesmo que o
procedimento modifique esse parâmetro.
b. Uma passagem de parâmetro por referência garante que o procedimento tem acesso
diretamente ao local de armazenamento do parâmetro no programa que o chama.
c. Ao passar um parâmetro por endereço para um procedimento, o programa permite
que esse procedimento modifique a estrutura de valores associada ao armazenamento
original da estrutura no programa chamador (destruindo-a ou alterando-a).
Estudo dirigido 1 12/04/2023
Projeto de Lógica e Programação
Pablo Rafael Neves Marciano

d. É possível para um procedimento devolver como valor de retorno aquele de uma


variável local definida no procedimento.
e. É possível para um procedimento devolver como valor de retorno uma referência para
uma variável local definida no procedimento.
14. Faça um fluxo grama de um programa que deve ler três valores inteiros. O programa deve
verificar se eles podem ser os lados de um triângulo. Se forem, informar qual o tipo de
triângulo que eles formam: equilátero, isósceles ou escaleno. Propriedade: O comprimento de
cada lado de um triangulo é menor do que a soma dos comprimentos dos outros dois lados.
15. Com base no problema descrito abaixo, faça um fluxograma a fim de resolver o seguinte
problema (Problema retirado do desafio de programação de UFMA – 2008).

Um fazendeiro resolveu lotear sua fazenda e vender os lotes de terra. Sabe-se que sua fazenda
é um retângulo-quadrado e que todos os lotes também são retângulo-quadrados. O nosso
amigo fazendeiro, entretanto, está com um pequeno problema. Depois de dividir a terra em N
lotes ele acredita que irá desperdiçar uma grande quantidade de terra. (Leia-se desperdício
como “terra” que o fazendeiro não vai vender, ou seja, que não pertence a nenhum lote). O
que você acha de ajudá-lo?

Para isso o programa deve:

- Receber o valor da largura (L) e comprimento (C) do terreno do fazendeiro.


- Receber o numero de lotes que o fazendeiro dividiu o terreno
- Receber o valor da largura (LL) e comprimento (LC) de cada lote.

Por exemplo:
Se o fazendeiro falar que seu terreno possui 10 m x 10 m e que vendeu 4 lotes de 4,5 m x 4,5
m, teremos uma distribuição de terras conforme apresentado na figura 4.

Figura 4. Exemplo para solução do problema.

a. Com base nas informações acima, faça um fluxograma que represente um algoritmo
para resolver o problema.
b. Com base nas informações acima, faça um programa que calcule a área vendida. Pode
utilizar o exemplo acima para testar o seu programa. Nesse caso foi de 81 m² e a área
desperdiçada que foi de 19 m².
16. Faça um fluxograma que resolva o problema da torre de Hanoi.
17. Faça um algoritmo em Portugol que resolva o problema da torre de Hanoi de forma recursiva.

Você também pode gostar