Você está na página 1de 5

Programação Estruturada

Lista de Exercícios – Aula 06


Vetores e MatrizesPor que os jogos atraem as pessoas?

Exercício 1
Montanha

Um sistema de informações geográficas computadorizado está representando o perfil de uma


montanha através de uma sequência de números inteiros (vetor de inteiros), na qual não há dois
números consecutivos iguais, como ilustrado na figura abaixo para três montanhas. Os números
representam a altura da montanha ao longo de uma certa direção.

O gerente do sistema de informações geográficas pesquisou e encontrou uma maneira de


identificar se uma sequência de números inteiros representa uma montanha com mais de um pico,
ou com apenas um pico. Ele observou que, como não há números consecutivos iguais, se houver
três números consecutivos na sequência, tal que o número do meio é menor do que os outros dois
números, então a montanha tem mais de um pico. Caso contrário, a montanha tem apenas um
pico. Ele quer saber se há uma posição i, para 2 ≤ i ≤ N-1, tal que Ai-1 > Ai e Ai < Ai+1.

Para ajudar o gerente, seu programa deve determinar, dada a sequência de números inteiros
(vetor de inteiros) representando a montanha, se ela tem mais de um pico, ou se tem um pico
apenas.

Entrada
Um vetor de inteiros, representando a sequência de alturas da montanha.

Saída
Seu programa deve imprimir uma linha contendo o caractere "S" se há mais de um pico, ou o
caractere "N" se há apenas um pico.

Exemplos:

2 3 5 6 7 5 4 2
Entrada (vetor):
Saída: N

2 3 6 5 4 6 3 2
Entrada (vetor):
Saída: S

1
Programação Estruturada
Lista de Exercícios – Aula 06
Vetores e MatrizesPor que os jogos atraem as pessoas?

Questão 02:
Um elemento minimax, na Teoria de Sistemas, define-se como o menor elemento de uma matriz
da linha em que se encontra o maior elemento da matriz. Faça um programa determine o elemento
minimax de uma matriz M(3,3).

Utilize a seguinte matriz para encontrar o minimax:

Resposta questão 01:

2
Programação Estruturada
Lista de Exercícios – Aula 06
Vetores e MatrizesPor que os jogos atraem as pessoas?

Resposta questão 02:

3
Sistemas Digitais
Lista de Exercícios – Aula 04
VHDL – Parte I

ROTEIRO PRÁTICO
Exercício 1
Desenvolva um código completo (bibliotecas, entidade e arquitetura) que descreva o circuito
lógico a seguir e simule o circuito utilizando o Simulation Waveform Editor e todas as
possíveis combinações das entradas.

Ocorreu algum erro na compilação? Se não, parabéns! Você realmente estudou o


assunto. Se sim, citaremos alguns dos principais erros na programação em VHDL (na lista
abaixo) para que verifique se seu erro pertence a algum desses citados.
• O projeto, o arquivo com extensão “vhd” e a entidade têm o mesmo nome?
• Foram colocados ponto-e-vírgula nos lugares necessários? Como exemplo, no final de
instruções, final da entidade, final da arquitetura etc.
• Foram colocadas as variáveis necessárias nos argumentos do “process”?
• Foram colocados o “begin” e o “end” do “process”?
Caso o seu erro não tenha sido reportado aqui, leia novamente o código e caso
persista o erro, procure a tutoria ou a monitoria.

RESPOSTA: A expressão lógica deste circuito é 𝑌 = ̅̅̅̅̅̅̅̅̅̅̅̅


𝐴𝐵 + 𝐶𝐷. O código será:

library ieee;
use ieee.std_logic_1164.all;

ENTITY entidade_q1 IS
PORT (
A, B, C, D : IN std_logic;
Y : OUT std_logic);
END entidade_q1;

ARCHITECTURE arq_q1 OF entidade_q1 IS


BEGIN
Y <= not((A and B) or (C and D));
END arq_q1;

4
Sistemas Digitais
Lista de Exercícios – Aula 04
VHDL – Parte I

Exercício 2
Agora que efetuamos as simulações e checamos que o circuito implementado em VHDL está
correto, seguiremos para a prototipagem de um circuito digital no FPGA baseados no
experimento realizado nessa aula. Para isso siga o roteiro apresentado na aula 13 da disciplina
de sistemas digitais (slide 10/13) e efetue as devidas alterações no planejamento de portas
para que o código funcione corretamente no sistema físico.