A Lógica de Programação
Por: joaocrz • 29/4/2017 • Trabalho acadêmico • 1.603 Palavras (7 Páginas) • 264 Visualizações
Universidade do Sul de Santa Catarina – Unisul[pic 1][pic 2]
Campus Virtual
[pic 3] | Atividade de avaliação a distância (AD) |
Unidade de Aprendizagem: Lógica de Programação
Curso: Sistemas para Internet
Professor: Osmar de Oliveira Braz Júnior
Nome do aluno:
Data: 20/10/2016
Orientações:
- Procure o professor sempre que tiver dúvidas.
- Insira o código fonte desenvolvido na resposta de cada questão.
- Compacte todo o código fonte do desenvolvimento das questões juntamente com o arquivo da Atividade.
- Entregue a atividade no prazo estipulado.
- Esta atividade é obrigatória e fará parte da sua média final.
- Encaminhe a atividade via Espaço UnisulVirtual de Aprendizagem (EVA).
Questão 1 (2,0 pontos):
Um vetor é uma estrutura de armazenamento de dados, que possibilita armazenar diversas informações em uma mesma variável. Cada dado de um vetor pode ser acessado através de um índice.
Utilize vetores para resolver o seguinte problema:
Um armador possui 15 navios. Sabendo que cada navio transporta em média 1.300 contêineres por mês, faça um programa que armazene em um vetor a quantidade total de contêineres transportados por mês em um período de 12 meses (1 ano). Após o usuário informar o total de cada mês e o programa armazenar no vetor, percorra o mesmo mês a mês verificando quantos meses obtiveram a média de contêineres transportados, quantos meses ficaram abaixo da média e quantos meses ficaram acima da média.
Para resolver esse problema considere o seguinte:
- O algoritmo deve ser escrito em pseudocódigo.
- O usuário quem deve informar a quantidade de contêineres transportados em cada mês.
- O algoritmo quem deve fazer os cálculos das quantidades de meses.
Resposta:
início
{declaração de variáveis}
QTDPROD: vetor [12] inteiro
QTDFUNC, QTDACIMA, QTDMEDIO, QTDABAIXO, CONT, POS: inteiro
MEDFUNC: real
{Entrada de dados}
para POS de 0 até 11 faça
escreva "Quantidade total"
leia (QTDPROD[POS])
fim-para
MEDFUNC<- 0
QTDFUNC<- 15
QTDACIMA<- 0
QTDMEDIO<- 0
QTDABAIXO<- 0
para POS de 0 até 11 faça
MEDFUNC< - QTDPROD[POS]/QTDFUNC
se MEDFUNC = 1300 então
QTDMEDIO<- QTDMEDIO + 1
senão
se MEDFUNC> 1300 então
QTDACIMA< - QTDACIMA + 1
senão
QTDABAIXO< - QTDABAIXO + 1
fim-se
fim-se
fim-para
{Saída de dados}
escreva "Quantidade produzida acima da média."
escreva (QTDACIMA)
escreva "Quantidade produzida na média."
escreva (QTDMEDIO)
escreva "Quantidade produzida abaixo da média."
escreva (QTDABAIXO)
fim
Questão 2 (2,0 pontos):
Uma matriz pode ser considerada um vetor bidimensional, uma vez que se podem armazenar dados em linhas e colunas. A utilização de matrizes pode ser vista em diversos segmentos, como por exemplo:
Uma companhia aérea faz o controle de reservas de um determinado avião/voo através de uma matriz chamada “LUGAR”, tendo ao todo 32 filas com 6 poltronas em cada fila. As poltronas são identificadas pelas letras A, B, C, D, E e F. As poltronas ocupadas são assinaladas na matriz através do valor 1 e as desocupadas através de 0.
Com base nos conceitos de matrizes e nas regras da companhia aérea, faça um algoritmo que:
Assinale uma poltrona como ocupada, sendo fornecida sua fila e sua posição, usando as letras que identificam a poltrona, sendo capaz de assinalar várias vezes a ocupação de lugares. Após a ocupação dos lugares, o usuário deve poder verificar se uma determinada poltrona, lida como dado, está ou não ocupada.
Para resolver esse problema considere o seguinte:
- O algoritmo deve ser escrito em pseudocódigo
- O usuário quem deve informar as posições de ocupação ou consulta das poltronas
Reposta:
início
{Declaração de variáveis}
LUGAR: matriz[32,6] literal
RESERVA, LIVRE: literal
I, A, B, C, D, E, F: inteiro
{Entrada de dados}
para I de 0 até 31 faça
para A de 0 até 5 faça
para B de 0 até 5 faça
para C de 0 até 5 faça
para D de 0 até 5 faça
para E de 0 até 5 faça
para F de 0 até 5 faça
LUGAR[I,A,B,C,D,E,F] <- "livre"
fim-para
fim-para
enquanto (i<99) ou (j<99) faça
escreva "Digite a posição da poltrona ou 99 para sair:"
leia(i)
leia(j)
se (I>31) ou (A>14) (B>14) (C>14) (D>14) (E>14) (F>14) então
escreva "Poltrona não cadastrada. Tente novamente."
senão
se (LUGAR[I,A,B,C,D,E,F]="reservado") então
escreva "Poltrona reservada."
senão
LUGAR[I,A,B,C,D,E,F] <- "reservado"
fim-se
fim-se
fim-enquanto
{Saída de dados}
escreva "Mapa de reservas."
para I de 0 até 31 faça
para A de 0 até 5 faça
para B de 0 até 5 faça
para C de 0 até 5 faça
para D de 0 até 5 faça
...