Trabalho de Programação 2 Processador CESAR. 1. Descrição Geral. 2. Especificação do Trabalho

Documentos relacionados
Trabalho de Programação 2 Processador CESAR

Execute o instalador atiecli5 clicando duas vezes sobre o mesmo e será apresentada a tela inicial:

Tutorial 133 DUO Criação de telas e utilização do teclado

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

DESENHAR COM PRECISÃO - O SISTEMA DE COORDENADAS

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 1 BUSCA HEURÍSTICA

CADASTRO DO CLIENTE vermelho Código: CPF/CNPJ Nome: Insc. Municipal: Nome Fantasia Gr. Econômico Endereço: Número: Cidade: Telefone: Inativo:

MANUAL DO SISTEMA WEBDIÁRIO PERFIL COORDENADOR. Diário Eletrônico do Sistema Nambei

Painel de Mensagens TXT TXT TXT Manual do Usuário

Orientações sobre a apostila eletrônica

ENSINO MÉDIO INTEGRADO INFORMÁTICA LINGUAGEM DE PROGRAMAÇÃO Trabalho Semestral

Junho Utilização do CCS

Informática Básica. Aula 2.9 Formatação no Writer. Prof. Dr. Bruno Moreno

Unidade 2: Navegação e Edição Básica

Soluções Simulado OBMEP 2017 Nível 1 6º e 7º anos do Ensino Fundamental. = 7 cm. Logo, ela parou na marca de = 13 cm.

Como cadastrar um produto, e o que é necessário para um cadastro correto. Controle de estoque > Tabelas gerais > produtos > acesso a dados gerais

SISTEMA DE ENVIO DE CORREÇÃO DE PROVAS

2ª. Competição Tecnológica (Outubro/2010)

O que é Microsoft Word?

MANUAL PARA CADASTRO DE PEDIDO DE VENDA

Manual UPLOAD FORNECEDOR. Carregamento online de documentos

Exercícios: Vetores e Matrizes

Schaeffler Online. Manual de Operação

O teclado Expandido é hoje o teclado mais simples, pois cada vez mais, novas funcionalidades são adicionadas aos teclados tornando-os verdadeiras

APP INVENTOR. APP INVENTOR Exercício 1 Cálculo do IMC

MANUAL DE UTILIZAÇÃO DO SOFTWARE DE IMPRESSÃO DE ETIQUETAS MOORE.

CENTRO PAULA SOUZA ETEC PADRE JOSÉ NUNES DIAS APLICATIVOS INFORMATIZADOS WORD 2007 PROFESSORA: ALINE PRISCILA SCHMIDT ALUNO:

COBOL DB2- CICS. Prof. Maromo [Aula 6]

Manual de Utilização do software Colacril Office para criação e impressão de etiquetas. Manual de Utilização

Porque usar um montador? Formato de uma linha de código fonte:

Aula 07 Excel

Módulo I. Desejamos boa sorte e bom estudo! Em caso de dúvidas, contate-nos pelo site Atenciosamente Equipe Cursos 24 Horas

Portal de Cotação da FCC S.A.

Visite nosso site em

Estruturas de Dados Estáticas Cont.

LibreOffice Calc: aula 3

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Apostila de Desenho Técnico II

Produção de tutoriais. Suellem Oliveira

Escrito por: Bruno Geronimo da Silva. Integrando XML usando o Icarus

INF 1620 Estruturas de Dados Semestre Segundo Trabalho: Jogo de Caça-Palavras

EXCEL Atividade Prática

Manual de operação. Fonte de tensão e corrente digital FTC-111

Especificações e limites de planilha e de pasta de trabalho

Inserindo Imagem. Inserindo uma imagem a partir da Galeria

Inserindo Quebra de Página

Desenho auxiliado por computador

Manual de Utilização do Sistema de Controle de BM da Priner

Nível 6.º e 7.º anos do Ensino Fundamental 1. a Fase 21 de maio de 2019

TECLAS DE ATALHO POWER POINT 2010

Manual de Instruções NSS Editor MANUAL DE INSTRUÇÕES. Editor de bases de dados NSS EDITOR

CAPÍTULO 1... Iniciando o Word Conhecendo a tela do word...10 Exercício...14

Carta de Correção Eletrônica

PLANILHA ELETRÔNICA EXCEL

MAC 115 Introdução à Ciência da Computação ROTHELO

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

MANUAL DE UTILIZAÇÃO DO MÓDULO DE ENTRADA DE NOTAS FISCAIS VIA B2B ONLINE

Manual de utilização do sistema EditorWeb

Variáveis, Atribuição, Entrada e Saída

Capítulo 1... Iniciando o Word Conhecendo a tela do word...10 Exercício...14

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Universidade Federal do Vale do São Francisco Sistema de Concursos

SUPORTE TELTEC SOLUTIONS MANUAL DE ABERTURA DE CHAMADOS

Interface. Movimentação na planilha

MECDAISY PARA LEITURA DE LIVROS DIGITAIS BENTO GONÇALVES

Especificação do Trabalho Prático

Produção de tutoriais. Suellem Oliveira

GUIA RÁPIDO. MDIForms. Sintel Informática Ltda. Rua Vergueiro, nº º andar Vila Mariana, São Paulo - SP CEP:

Estácio-FIC Graduação em Redes de Computadores

1 - Obter as séries temporais de um ponto (pág. 1/2)

SISGRAD para docentes

CÍRCULO DADO O DIÂMETRO

Instruções para Digitação de Notas pela Web

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

2. Folha de Desenho Folhas de Desenho Formatos da série A

Tutorial do usuário Alunos Concluintes e Inativos

TRIBUNAL SUPERIOR ELEITORAL - TSE Secretaria de Tecnologia da Informação Coordenadoria de Logística Testes Complementares do ME UE2015 PROJETO BÁSICO

Registros, Vetores e Matrizes

Apostila Fusion - Compras

Manual para tratamento de WAP

Editor de Texto. Microsoft Word 2007

Qual é a posição do Centro de Massa de um corpo de material homogêneo que possui um eixo de simetria

Apresentação. Acesso ao Moodle. O acesso será feito através do site

ARQUITETURA DE COMPUTADORES

Universidade Federal de Sergipe Núcleo de Tecnologia da Informação 2018 Dúvidas: / (79)

Produção de tutoriais. Suellem Oliveira

AJUDA DE NAVEGAÇÃO OFFICE2 CRM - CLIENTE

Ambiente de programação

SIB Envio para 05/12/2009. FI-Sistemas

Manual do Docente Caderneta Eletrônica

Módulo de Solicitação de Recursos

Inventario Saldo Inicial FS111

Desenho Computacional. Parte III

Carnê de Pagamento. Copyright ControleNaNet

Partes Principais da Janela 3/26

Para visualizar corretamente configurar a tela para 1024 x 768 pixels. Tabelas

ou (11) capital ou demais localidades Fechamento (11) , (11) , Atendimento

Microsoft Excel INTRODUÇÃO PARTE 1

Requisitos do sistema... 3 Produzindo Imagens de Código de Barras... 4 Gerando imagem de código de barras de forma manual... 4 Gerando imagens de

Tutorial rápido CMAP TOOLS

Transcrição:

1. Descrição Geral UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Trabalho de Programação 2 Processador CESAR O trabalho para o computador CESAR está baseado no trabalho desenvolvido para o computador RAMSES. Da mesma forma anterior, você deverá ser capaz de determinar o comprimento de um rio. Para isso, serão necessárias as coordenadas da nascente (ou fonte ) e as alturas de cada um dos elementos da matriz que representa o terreno por onde o rio deverá fluir. Nesse trabalho, o terreno será dividido em um reticulado com 64 linhas e 64 colunas. Cada elemento desse reticulado será identificado pela sua posição (linha, coluna), de tal forma que as coordenadas do elemento superior da esquerda será (0,0) e o elemento inferior da direita será (63,63). Além disso, será associado a cada elemento um número entre 0 e 999. Esse número representa a altitude média do terreno representado pelo elemento do reticulado. Dessa forma, dadas as altitudes de cada elemento do reticulado e as coordenadas da nascente do rio, pode-se determinar o trajeto da água, tomando por base que o escoamento se dará para os elementos de menor altitude. 2. Especificação do Trabalho O programa a ser desenvolvido deverá permitir as seguintes funcionalidades: Apresentação das alturas dos elementos (3,0 pontos); Apresentação do cursor (2,0 pontos); Movimentação rápida do cursor (1,0 pontos); Alteração da altitude de um elemento (2,0 pontos); Cálculo do comprimento do rio (2,0 pontos); Alteração da altitude de uma região (2,0 pontos de bônus); Apresentação das alturas dos elementos Essa funcionalidade coloca os valores das altitudes de cada elemento no visor. Como o visor não comporta toda a matriz é necessário que o usuário possa navegar pela matriz. Para isso, os elementos cujos valores são colocados no visor devem ser alterados de maneira que se possa andar para a direita (usando a tecla d ) ou para a esquerda (usando a tecla a ), para cima (usando a tecla w ) ou para baixo (usando a tecla s ). Na figura abaixo está representada a forma como essa apresentação deve ser feita. Os dois valores mais a esquerda do visor correspondem a linha e a coluna da altura apresentada no primeiro elemento (número com três dígitos) da esquerda. Apresentação do cursor Nessa funcionalidade deverá ser apresentado um cursor (caracteres [ e ] ), que circunda a altitude do elemento selecionado, conforme pode ser visto na figura abaixo. Na figura está indicada que o terceiro elemento apresentado (aquele que está delimitado pelos caracteres [ e ] ) está nas coordenadas (1,3), conforme aparece à esquerda do visor. A implementação dessa funcionalidade incorpora a funcionalidade Apresentação das altitudes dos elementos. Porém, com a diferença que as coordenadas que aparecem mais a esquerda no visor correspondem ao do cursor e não a coordenada do elemento apresentado mais a esquerda. A movimentação do cursor utiliza as mesmas teclas anteriores: a movimento para a esquerda; d movimento para a direita; w movimento para cima e s movimento para baixo.

Por exemplo, caso seja digitado d o cursor deve andar para a direita. O resultado está apresentado na figura abaixo: Pode-se ver que o cursor moveu-se para a direita e a indicação das coordenadas desse cursor (que estão mais a esquerda no visor) foram alteradas de acordo com essa alteração. Se o cursor chegar à posição mais a direita e for digitado o d, todos os elementos apresentados serão alterados, de maneira que sob o cursor estará aparecendo um novo elemento que não estava visível anteriormente. Essa situação é apresentada na figura abaixo, que foi alcançada após ter sido digitado d quatro vezes. Movimentação rápida do cursor Essa funcionalidade permite movimentar o cursor para os extremos da matriz. Na figura abaixo está apresentado o resultado de digitar q, o que coloca o cursor nas coordenadas (0,0): Na próxima figura está apresentado o resultado de digitar e, o que coloca o cursor nas coordenadas (0,63): A seguir está apresentado o resultado de digitar z, colocando o cursor nas coordenadas (63,0): Finalmente, na figura abaixo está apresentado o resultado de se digitar c, o que coloca o cursor nas coordenadas (63,63): Alteração da Altitude de um Elemento Com essa funcionalidade deve ser possível alterar o valor da altitude de um elemento. Por exemplo, para alterar a altitude do elemento de coordenadas (5,2), deve-se posicionar o cursor nessas coordenadas, conforme a figura abaixo. Depois disso, deve ser digitado h, o que vai levar a apresentação da tela abaixo, onde o usuário poderá digitar o novo valor da altitude. Notar na figura a apresentação de um _ (underscore), que indica o local onde será colocado o próximo caractere numérico digitado.

Observar que é possível alterar as altitudes das coordenadas de qualquer elemento da matriz, com exceção das bordas. Dessa forma, a solicitação de alteração da altitude do elemento das bordas deve gerar uma mensagem de erro, conforme figura abaixo: Então, o usuário poderá digitar as seguintes teclas: Dígitos numéricos entre 0 e 9 ; Caractere Backspace, para permitir a correção de digitação; Caractere Esc, para que seja cancelada a entrada de novos valores; Caractere Enter, para que o valor digitado seja colocado na matriz. Na figura abaixo é apresentado o resultado após a digitação do valor 450. Se, após a entrada do valor 450, for digitado Enter, o valor será colocado nas coordenadas correspondentes, levando o visor para uma situação como apresentado na figura abaixo: Cálculo do comprimento do rio Nessa funcionalidade, além de calcular e informar o comprimento do rio, o trajeto do mesmo deve ser sinalizado junto com os valores de altitude. Considera-se o comprimento do rio a distância percorrida por ele desde a sua nascente até um lago. Um lago é um elemento cuja altitude é menor ou igual a qualquer dos elementos que o cercam. Observar que na inicialização do programa os elementos das bordas da matriz devem ser inicializados com valor 999. Ou seja, as linhas 0 e 63 assim como as colunas 0 e 63 devem ter todos os seus elementos com altitude 999. Observar, também, que as coordenadas da nascente do rio podem estar em qualquer elemento da matriz, com exceção das bordas. Dessa forma, a solicitação de determinação do comprimento do rio com o cursor sobre as bordas deve gerar uma mensagem de erro, conforme figura abaixo: Cabe ainda ressaltar que pode acontecer de haver mais de um caminho possível para o fluxo do rio. Nesse caso, pode ser escolhido um dos caminhos para ser utilizado, desconsiderando-se todos os outros. Finalmente, o comprimento do rio deverá ser um número inteiro sem sinal com 16 bits e deverá ser considerado o seguinte: Quando o fluxo do rio acontece na horizontal ou vertical, a distância percorrida será 2 ; Quando o fluxo do rio acontece na diagonal, a distância percorrida será 3. Na figura abaixo estão representadas essas duas situações. (a) distância = 2 (b) distância = 3

Após o cálculo do comprimento do rio essa informação deve ser colocada no visor, conforme figura abaixo: Além disso, a partir do cálculo desse comprimento, a informação das altitudes de cada elemento deve ser sinalizada no visor, quando a matriz estiver sendo apresentada. Na figura abaixo é apresentado um exemplo dessa informação. Com pode-se observar, o cursor está nas coordenadas (1,6), onde está a fonte (ou nascente) do rio, sinalizada pela letra F antes da altitude. Nas coordenadas (1,5), que estão à esquerda do cursor, a altitude está indicada com um *, sinalizando que o rio passa por essa coordenada. Na figura abaixo, na coordenada (2,4) está sinalizado o lago, através da letra L ao lado da altitude. Alteração da altitude de uma região Com essa funcionalidade deve ser possível alterar o valor da altitude de um elemento e de sua vizinhança. Esse comportamento visa possibilitar a criação de montanhas no terreno representado pela matriz. Por exemplo, para alterar a altitude do elemento de coordenadas (5,2), deve-se posicionar o cursor nessas coordenadas, conforme a figura abaixo. Depois disso, deve ser digitado m, o que vai levar a apresentação da tela abaixo, onde o usuário poderá digitar o novo valor da altitude. Notar na figura a apresentação de um _ (underscore), que indica o local onde será colocado o próximo caractere numérico digitado. Observar que é possível alterar as altitudes das coordenadas de qualquer elemento da matriz, com exceção das bordas. Dessa forma, a solicitação de alteração da altitude do elemento das bordas deve gerar uma mensagem de erro, conforme figura abaixo: Então, o usuário poderá digitar as seguintes teclas: Dígitos numéricos entre 0 e 9 ; Caractere Backspace, para permitir a correção de digitação; Caractere Esc, para que seja cancelada a entrada de novos valores; Caractere Enter, para que o valor digitado seja colocado na matriz. Por exemplo, se o cursor estiver nas coordenadas (10,10), for digitado m e for entrado um valor de 15 seguido de Enter, esse valor 15 será colocado nas coordenadas correspondentes ao cursor e a sua vizinhança também sofrerá uma elevação. Na figura abaixo é apresentado o resultado dessa operação:

Observação 1: notar que o novo valor da altitude só será colocado em um determinado elemento, caso esse novo valor seja maior do que o valor já existente; Observação 2: a altitude do elemento correspondente às coordenadas do cursor deve ser ajustado para o valor selecionado, independentemente do valor pré-existente. Para determinar as altitudes das vizinhanças deve-se considerar 7 quadrados concêntricos com as coordenadas do cursor. Os quadrados são caracterizados por um número que vai de 1 (o mais interno) até 7 (o mais externo). As altitudes do quadrado 1 são 7/8 da altitude digitada anteriormente; o quadrado 2 tem 6/8 da altitude digitada; o quarado 3 tem 5/8 da altitude e assim por diante até o quadrado 7 que terá 1/8 da altitude digitada anteriormente. Na figura abaixo quatro desses quadrados estão representados. No centro (em vermelho) está o cursor; o quadrado 1 está em amarelo; o quadrado 2 está em azul; o quadrado 3 está em verde e o quadrado 4 está em cinza. Notar também que os quadrados devem ficar no interior da matriz, sem alterar as bordas. Assim, por exemplo, se as coordenadas do cursor forem (4,2), algumas partes dos retângulos não serão usados (notar os elementos da borda em preto).

3. Entregáveis: o que deve ser entregue? 1. Arquivo fonte da implementação. UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL 2. Relatório de sua implementação, com o algoritmo utilizado (arquivo PDF). Esse relatório deve conter: Identificação do aluno; Principais dificuldades encontradas. 3. O trabalho só será considerado entregue se forem enviados os arquivos acima descritos. 4. O trabalho deverá ser entregue até a data prevista. Admite-se a entrega do trabalho com até uma semana de atraso. Nesse caso a nota final do trabalho será reduzida para 50% da nota obtida no trabalho. Não serão aceitos trabalhos entregues além dos prazos estabelecidos. 5. Os programas serão corrigidos segundo as funcionalidades especificadas e o valor de cada uma delas. Além disso, as implementações podem ganhar 2,0 pontos caso a funcionalidade Alteração da altitude de uma região esteja funcionando corretamente. 4. Observações Recomenda-se a troca de ideias entre os alunos. Entretanto, a identificação de cópias de trabalhos acarretará na aplicação do Código Disciplina Discente e a tomada das medidas cabíveis para essa situação. O professor da disciplina reserva-se o direito, caso necessário, de solicitar uma demonstração do programa, onde o aluno será arguido sobre o trabalho como um todo. Nesse caso, a nota final do trabalho levará em consideração o resultado da demonstração.