Prévia do material em texto
das
A
Gabarito
utoatividades
FUNDAMENTOS DA COMPUTAÇÃO
Centro Universitário Leonardo da Vinci
Rodovia , nº .BR 470 Km 71, 1 040
Bairro Benedito - CEP 89130-000
I daialn - Santa Catarina - 47 3281-9000
Elaboração:
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci - UNIASSELVI
2017
Prof. Djone Kochanski
3UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
GABARITO DAS AUTOATIVIDADES DE
FUNDAMENTOS DA COMPUTAÇÃO
Centro Universitário Leonardo da Vinci
Rodovia , nº .BR 470 Km 71, 1 040
Bairro Benedito - CEP 89130-000
I daialn - Santa Catarina - 47 3281-9000
Elaboração:
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci - UNIASSELVI
2017
UNIDADE 1
TÓPICO 1
1 A partir do momento em que a humanidade começou a se preocupar
com a necessidade de uma forma de comunicação, surgiram os
símbolos, com seus respectivos significados. Qual o nome da
primeira forma de escrita?
R.: Cuneiforme.
2 A invenção da primeira forma de escrita, da cerveja, a fabricação do
vidro e dos primeiros instrumentos agrícolas são atribuídas a um
povo que ocupou a região atualmente conhecida como Iraque. Qual
o nome desse povo?
R.: Sumérios.
3 Diversos estudiosos da matemática contribuíram para o
aperfeiçoamento dos cálculos e a criação de novas simbologias.
Qual o nome do matemático responsável pela popularização dos
algarismos de zero a nove e que contribuiu significativamente no
ramo da álgebra?
R.: Al-Kowarizmi.
4 A partir do momento em que o homem passou a utilizar elementos
para representação numérica e a realizar operações matemáticas,
criou também dispositivos que facilitem o processo. Qual o primeiro
artefato criado pelo homem para automatizar cálculos?
R.: Ábaco.
4 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
TÓPICO 2
1 A calculadora mecânica desenvolvida por Blaise Pascal é considerada
um marco no processo de criação e evolução de dispositivos de
automação de cálculos. Porém, a calculadora de Pascal, denominada
Pascalina, permitia realizar apenas as operações de soma e subtração.
Algum tempo depois, outro pesquisador construiu uma calculadora
dotada também das operações de divisão e multiplicação. Qual o
nome desse pesquisador?
R.: Gottfried Wilhelm von Leibniz.
2 Muitos pesquisadores tiveram participação no processo de evolução
dos dispositivos de automação dos cálculos até que se chegasse
aos modernos computadores. Nessa trajetória de evolução há um
pesquisador que é considerado o pai do computador. Qual o nome dele?
R.: Charles Babbage.
3 Computadores são máquinas que precisam ser dotadas de
“inteligência” para que operem adequadamente. A essa “inteligência”
chamamos software ou simplesmente programas. A descrição de
como programas devem funcionar foi realizada no século XIX. Qual
o nome da pessoa que descreveu os princípios da programação de
computadores?
R.: Lady Ada.
4 As exigências do mundo moderno tornam a utilidade da Tecnologia
da Informação cada vez mais importante. Qual a primeira vez que a
Tecnologia da Informação foi utilizada em larga escala para atender
à necessidade de uma população?
R.: Censo americano de 1890.
TÓPICO 3
1 Diversas formas de representação dos números foram criadas através
dos tempos, porém teve uma representação que passou a ser adotada
como modelo universal. Como se chama esse modelo de algarismos?
R.: Hindu-arábicos.
5UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
2 Os primeiros computadores eram essencialmente baseados em
dispositivos eletromecânicos e a aritmética utilizada era a decimal.
Num dado momento um pesquisador iniciou o uso da aritmética
binária. Qual o nome desse pesquisador?
R.: Helmut Schreyer.
3 Durante a Segunda Guerra Mundial, dois dispositivos para
codificação e decodificação de mensagens foram construídos. Esses
dispositivos tiveram grande significação em sua utilização relativa
às comunicações de guerra. Qual o nome deles?
R.: Enigma e Colossus.
4 A ideia de uma máquina que pudesse executar quaisquer instruções
baseadas em um programa foi concebida há bastante tempo, porém
a descrição do funcionamento de tal máquina foi realizada apenas
no século XX. Qual o nome do pai da teoria da computabilidade?
R.: Alan Mathison Turing.
TÓPICO 4
1 A internet é produto de pesquisas sobre comunicação de dados
para finalidades militares. O objetivo inicial da rede era permitir
a comunicação mesmo que um dos nós entre emissor e receptor
falhasse ou estivesse fora de operação. Por esse motivo criou-se
o conceito de roteamento, no qual cada vez que a comunicação é
estabelecida pode ocorrer numa diferente rota. Qual o primeiro nome
que a internet recebeu?
R.: ARPANET.
2 Diversos pesquisadores se empenharam em desenvolver ferramentas
informatizadas que auxiliassem a aprendizagem. Um desses
pesquisadores desenvolveu uma linguagem de programação para
ingressantes em cursos de computação/informática. Qual o nome
dessa linguagem de programação e por que ela recebeu esse nome?
R.: O nome da linguagem de programação é Pascal, cujo nome foi dado em
homenagem ao inventor da primeira calculadora mecânica, Blaise Pascal.
6 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
3 Diversas instituições contribuíram para a evolução da computação/
informática. Dentre essas, indique as duas que mais são populares
atualmente e justifique por quê.
R.: Dentre as mais populares estão a Microsoft, pelo fato de ter criado muitos
softwares de uso fácil, e a Apple, que possui uma linha de produtos de alta
tecnologia, como o iPhone, iPad, iPod, entre outros.
4 Descreva o que Bill Gates pretendia dizer quando pronunciou a frase
“Um computador em cada casa e em cada mesa de trabalho”.
R.: A ideia fundamental era a popularização dos recursos computacionais de
tal forma que qualquer pessoa pudesse utilizá-los e tornar-se dependente
deles.
5 A computação/informática, bem como outras áreas do conhecimento,
possuem ondas de tendências. A tendência nos primórdios era
grandes equipamentos, depois surgiram os computadores pessoais,
trazendo a onda da redução de tamanho. Quando a internet se tornou
acessível às pessoas comuns, os microcomputadores continuaram
sendo utilizados, porém a comunicação passou a ser realizada através
de servidores com grande capacidade de processamento. A onda
atual indica tendência em pequenos dispositivos de comunicação.
Cite dois exemplos desses dispositivos.
R.: Smartphones (Apple iPhone, Samsung Galaxy, etc.) e tablets (Apple iPad,
Samsung Galaxy Tab, Motorola Xoom, Toshiba Tablet, BlackBerry PlayBook,
Lenovo IdeaPad U1 Hybrid, HP Slate etc.).
UNIDADE 2
TÓPICO 1
1 Converter os valores da base decimal para a base binária:
a) 89 = 1011001 b) 172 =10101100
2 Converter os valores da base decimal para a base octal:
7UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
a) 125 = 175 b) 247 = 367
3 Converter os valores da base decimal para a base hexadecimal:
a) 158 = 9E b) 218 = DA
4 Converter os valores da base binária para a base decimal:
a) 100100101 = 293 b) 111011001 = 473
5 Converter os valores da base octal para a base decimal:
a) 137 = 95 b) 253 = 171
6 Converter os valores da base hexadecimal para a base decimal:
a) AF5 = 2805 b) B12 = 2834
TÓPICO 2
1 Descreva a função realizada pela Unidade de Lógica e Aritmética (ULA).
R.: A Unidade de Lógica e Aritmética é responsável pela realização de
operações lógicas, operações de deslocamento e operações aritméticas. O
nome da unidade já identifica as principais funções, que são o tratamento de
operações lógicas e a realização de operações aritméticas.
2 Descreva a função de um Sistema Operacional dentro de um sistema
computacional.
R.: O Sistema Operacional é umsoftware, tipicamente formado por um
conjunto de programas, que tem a finalidade de prover uma interface entre o
hardware e as aplicações utilizadas pelos usuários deste hardware. O Sistema
Operacional também é dito como o software que permite tornar o hardware
útil, pois o hardware sem um Sistema Operacional é pouco útil para a grande
maioria dos usuários.
3 Descreva a finalidade de uma ferramenta de desenvolvimento.
R.: As ferramentas de desenvolvimento têm a finalidade de permitir que sejam
construídos programas, tipicamente programas aplicativos para auxiliar os
usuários em suas atividades profissionais.
8 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
4 Descreva a diferença entre um sinal analógico e um sinal digital.
R.: Um sinal analógico tem a característica de possuir uma variação
denominada contínua, formando o que se chama de ondas. Já o sinal digital
tem a característica de possuir uma variação na forma de pulsos.
5 Qual a abrangência de uma rede WAN?
R.: As redes WAN (Wide Area Network) são tipicamente denominadas de
redes de longa distância, as quais podem abranger cidades, países ou
continentes.
TÓPICO 3
1 Qual é o principal enfoque da Engenharia de Software?
R.: O principal enfoque da Engenharia de Software é lidar com os aspectos
relativos a como softwares são planejados, construídos e implantados. Isso
significa também um cuidado com todas as fases do ciclo de vida do software.
2 Quais são os quatro fundamentos absolutos de gestão da qualidade,
de acordo com Crosby (1979)?
R.: Os quatro fundamentos de gestão da qualidade, de acordo com Crosby
(1979), são:
• Qualidade é definida como conformidade com os requisitos.
• A forma para obter qualidade é a prevenção, não inspeção.
• O padrão de desempenho deve ser zero defeitos, não sendo aceito meio
termo.
• A medida da qualidade é o custo da qualidade.
3 Quais são os processos definidos por Juran (1988) para o
gerenciamento da qualidade?
R.: Os processos propostos por Juran (1988) para o gerenciamento da
qualidade são:
• Planejamento da qualidade.
• Controle da qualidade.
• Melhoria da qualidade.
4 Quais os objetivos da realização do processo de medição?
9UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
R.: Os objetivos da realização do processo de medição são:
• prover apoio à gerência e melhoria de processos de software;
• prover apoio à gerência e melhoria de produtos de software.
5 Qual é o recurso de um sistema de banco de dados que permite o
gerencimento de acessos concorrentes por diferentes processos ao
mesmo conjunto de dados?
R.: O gerenciamento de transação.
TÓPICO 4
1 Uma mídia capturada pode ser contínua? Explique e exemplifique.
R.: Sim, um vídeo capturado é uma mídia contínua.
2 Uma mídia sintetizada pode ser discreta? Explique e exemplifique.
R.: Sim, um desenho produzido em computador é uma mídia sintetizada
discreta.
3 Quais são as categorias em que são divididos os sistemas multimídia?
R.: Standalone e distribuídos.
4 Qual o nome do fenômeno da sensação de continuidade das imagens
em um vídeo?
R.: Persistência da visão.
5 Qual a principal solução utilizada para viabilizar a transmissão de
dados mutimídia na internet?
R.: Compressão dos dados.
10 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
UNIDADE 3
TÓPICO 1
1 Assinale os identificadores corretamente definidos:
a) (x) _Soma b) ( ) 2Numero c) (x) Numero2
d) (x) primeirovalor e) ( ) índice f) ( ) caminhão
g) ( ) c_avião h) (x) sNome i) ( ) $Valor
j) ( ) #Telefone k) (x) TotalBruto l) (x) Total
m) (x) Data n) (x) endereco_32 o) ( ) A&C
p) (x) a q) ( ) rel&gio r) (x) X_y_Z
s) (x) HoRa t) (x) Continua u) (x) H2O
2 Defina o tipo de dado mais adequado para as variáveis segundo o
conteúdo a ser armazenado:
a) Nome
a) ( ) inteiro b) ( ) real c) (x) caractere d) ( ) lógico
b) Metros
a) ( ) inteiro b) (x) real c) ( ) caractere d) ( ) lógico
c) Quantidade
a) (x) inteiro b) ( ) real c) ( ) caractere d) ( ) lógico
d) Endereco
a) ( ) inteiro b) ( ) real c) (x) caractere d) ( ) lógico
e) Achou
a) ( ) inteiro b) ( ) real c) ( ) caractere d) (x) lógico
3 Assinale o tipo de operador utilizado em cada expressão, considerando
que uma expressão pode conter mais de um operador:
a) 198 + 12
a) (x) Aritmético
b) ( ) Aritmético e Lógico
c) ( ) Relacional e Aritmético
b) (Parar = Sim) ou (Sinal = ‘Vermelho’)
a) ( ) Aritmético e Lógico
b) ( ) Aritmético e Relacional
c) (x) Lógico e Relacional
11UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
c) ((10 / 5) + (3 * 2)) = 8
a) ( ) Aritmético
b) ( ) Aritmético e Lógico
c) (x) Aritmético e Relacional
d) (Soma >= 5) e (Soma <= 50 )
a) ( ) Aritmético e Lógico
b) (x) Lógico e Relacional
c) ( ) Aritmético e Relacional
e) (Valor_Compra – Desconto) > LimiteCredito
a) (x) Aritmético e Relacional
b) ( ) Relacional e Lógico
c) ( ) Relacional
4 Desenvolva os algoritmos propostos a seguir.
a) Elabore um algoritmo que leia o preço de compra, o percentual de acréscimo
e calcule o preço de venda de uma mercadoria. Ao final, escreva o preço de
compra, o acréscimo aplicado e o preço de venda.
R.: Algoritmo CalculaVenda;
variaveis
PrecoCompra, PrecoVenda, Percentual : real;
inicio
escreva('Informe o preço de compra: ');
leia(PrecoCompra);
escreva('Informe o percentual: ');
leia(Percentual);
Acrescimo ← (PrecoCompra * Percentual) / 100;
PrecoVenda ← PrecoCompra + Acrescimo;
escreva('Preço de compra..: ', PrecoCompra);
escreva('Acréscimo........: ', Acrescimo);
escreva('Preço de venda...: ', PrecoVenda);
fim.
b) Construa um algoritmo que leia o capital e uma taxa de rendimento a ser
aplicada. Escreva o capital, a taxa de rendimento, o rendimento e o montante
(capital + rendimento).
R.: Algoritmo CalculaCapital;
variaveis
Capital, Taxa, Rendimento, Montante : real;
inicio
12 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
escreva('Informe o valor do capital: ');
leia(Capital);
escreva('Informe o valor da taxa (%): ');
leia(Taxa);
Rendimento ← (Capital * Taxa) / 100;
Montante ← Capital + Rendimento;
escreva('O valor do capital é ', Capital);
escreva('A taxa aplicada foi ', Taxa);
escreva('O rendimento foi de ', Rendimento);
escreva('O montante é de ', Montante);
fim.
c) Elabore um algoritmo que leia um número, identifique se é par ou ímpar
e escreva o resultado.
R.: Algoritmo ParImpar;
variaveis
Numero : inteiro;
Resultado : caractere;
inicio
escreva('Informe um número: ');
leia(numero);
se ((numero mod 2) = 0) entao
Resultado ← 'par'
senao
Resultado ← 'ímpar';
escreva('O número informado é ', Resultado);
fim.
d) Faça um algoritmo que leia quatro notas de um aluno e escreva a média
obtida.
R.: Algoritmo MediaAluno;
variaveis
Nota1, Nota2, Nota3, Nota4, Media : real;
inicio
escreva('Informe a primeira nota: ');
leia(Nota1);
escreva('Informe a segunda nota: ');
leia(Nota2);
escreva('Informe a terceira nota: ');
leia(Nota3);
escreva('Informe a quarta nota: ');
leia(Nota4);
13UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Media ← (Nota1 + Nota2 + Nota3 + Nota4) / 4;
escreva('A média das notas é ', Media);
fim.
e) Um mercado resolveu oferecer três condições de pagamento a prazo aos
clientes (15, 30 ou 45 dias). Construa um algoritmo para ler o valor da compra
e a taxa de juros para cada um dos prazos e escreva quanto o cliente irá
pagar em cada condição.
R.: Algoritmo CondicoesPagto;
variaveis
ValorCompra, Taxa15, Taxa30, Taxa45 : real;
Pagar15, Pagar30, Pagar45 : real;
inicio
escreva('Informe o valor da compra: ');
leia(ValorCompra);
escreva('Informe a taxa para pagamento em 15 dias: ');
leia(Taxa15);
escreva('Informea taxa para pagamento em 30 dias: ');
leia(Taxa30);
escreva('Informe a taxa para pagamento em 45 dias: ');
leia(Taxa45);
Pagar15 ← ValorCompra + ((ValorCompra * Taxa15) / 100);
Pagar30 ← ValorCompra + ((ValorCompra * Taxa30) / 100);
Pagar45 ← ValorCompra + ((ValorCompra * Taxa45) / 100);
escreva('Para pagamento em 15 dias o valor será R$ ', Pagar15);
escreva('Para pagamento em 30 dias o valor será R$ ', Pagar30);
escreva('Para pagamento em 45 dias o valor será R$ ', Pagar45);
fim.
TÓPICO 2
1 Desenvolva os algoritmos propostos a seguir.
a) Elabore um algoritmo onde será lido o valor de vários itens de compra e
ao final escreva o valor a ser pago. O algoritmo deverá continuar lendo itens
enquanto o valor digitado for diferente de zero.
R.: Algoritmo Compras;
variaveis
Valor, Somatorio : real;
inicio
14 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Somatorio ← 0;
escreva('Informe o valor do item de compra (0 para parar): ');
leia(Valor);
enquanto (Valor <> 0) faca
inicio
Somatorio ← Somatorio + Valor;
escreva('Informe o valor do item de compra (0 para parar): ');
leia(Valor);
fim enquanto;
escreva('O valor a ser pago é R$ ', Somatorio);
fim.
b) Uma loja deseja saber quantos clientes compram 1 = à vista, 2 = 30 dias
e 3 = 60 dias. Desenvolva um algoritmo que leia uma quantidade ilimitada
de clientes. Ao informar zero, o algoritmo será finalizado e deverá apresentar
quantos clientes foram digitados em cada condição.
R.: Algoritmo Estatistica;
variaveis
Opcao, QtdeAVista, Qtde30Dias, Qtde60Dias : inteiro;
inicio
QtdeAVista ← 0;
Qtde30Dias ← 0;
Qtde60Dias ← 0;
escreva('Informe a opção de pagamento do cliente (1=à vista/ 2=30 dias/
3=60 dias): ');
leia(Opcao);
enquanto (Opcao <> 0) faca
inicio
escolha Opcao
caso 1 : QtdeAVista ← QtdeAVista + 1;
caso 2 : Qtde30Dias ← Qtde30Dias + 1;
caso 3 : Qtde60Dias ← Qtde60Dias + 1;
senao
escreva('Opção informada deve ser apenas 1=à vista/ 2=30 dias/ 3=60
dias!');
fim escolha;
escreva('Informe a opção de pagamento do cliente (1=à vista/ 2=30 dias/
3=60 dias): ');
leia(Opcao);
fim enquanto;
escreva('Opções de pagamento selecionadas: ');
escreva('À vista = ', QtdeAVista);
15UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
escreva('30 Dias = ', Qtde30Dias);
escreva('60 Dias = ', Qtde60Dias);
fim.
c) Construa um algoritmo para calcular e escrever o IMC (Índice de Massa
Corporal) de uma pessoa. São fornecidos o nome da pessoa, o peso e a
altura. A fórmula para calcular o IMC é o peso dividido pela altura ao quadrado.
Com base no resultado do cálculo do IMC, escreva o resultado conforme as
seguintes faixas:
até 20,0 (inclusive) = abaixo do peso
acima de 20,0 e abaixo de 25,0 = peso normal
entre 25,0 e abaixo de 30,0 = sobrepeso
entre 30,0 e abaixo de 40,0 = obeso
40,0 e acima = obeso mórbido
O algoritmo deverá ser executado até que seja informado “FIM” no nome da
pessoa.
R.:
Algoritmo CalculaIMC;
variaveis
Peso, Altura, IMC : real;
Nome, Classificacao : caractere;
inicio
escreva('Informe o nome da pessoa: ');
leia(Nome);
enquanto (Nome <> 'FIM') faca
inicio
escreva('Informe o peso da pessoa: ');
leia(Peso);
escreva('Informe a altura da pessoa: ');
leia(Altura);
IMC ← Peso / (Altura * Altura);
se (IMC <= 20) entao
Classificacao ← 'Abaixo do peso'
senao
se (IMC < 25) entao
Classificacao ← 'Peso normal'
senao
se (IMC < 30) entao
Classificacao ← 'Sobrepeso'
senao
se (IMC < 40) entao
Classificacao ← 'Obeso'
16 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
senao
Classificacao ← 'Obeso mórbido'
fim se;
fim se;
fim se;
fim se;
escreva('A pessoa é/está ', Classificacao);
escreva('Informe o nome da pessoa: ');
leia(Nome);
fim enquanto;
fim.
d) Faça um algoritmo que leia o nome de uma pessoa e várias ligações
telefônicas (número do telefone e valor da ligação), enquanto o número do
telefone informado for diferente de zero. Ao final, escreva o nome do cliente
e o valor da conta telefônica.
R.:
Algoritmo Telefone;
variaveis
Nome, Fone : caractere;
Somatorio, Valor : real;
inicio
Somatorio ← 0;
escreva('Informe o nome da pessoa: ');
leia(Nome);
escreva('Informe o número do telefone: ');
leia(Fone);
enquanto (Fone <> ) faca
inicio
escreva('Informe o valor: ');
leia(Valor);
Somatorio ← Somatorio + Valor;
escreva('Informe o número do telefone: ');
leia(Fone);
fim enquanto;
escreva('O valor da conta de ', Nome, ' é R$ ', Somatorio);
fim.
e) No controle de qualidade de uma empresa são classificadas as mercadorias
como de primeira, de segunda e refugo. Elabore um algoritmo para ler 100
peças e no final escreva quantas são de primeira, quantas são de segunda
e quantas são refugo.
17UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
R.: Algoritmo Qualidade;
variaveis
Indice, Tipo, Primeira, Segunda, Refugo : inteiro;
inicio
Primeira ← 0;
Segunda ← 0;
Refugo ← 0;
para Indice de 1 ate 100 faca
inicio
escreva('Informe a classificação da peça (1=primeira/ 2=segunda/
3=refugo): ');
leia(Tipo);
escolha Tipo
caso 1 : Primeira ← Primeira + 1;
caso 2 : Segunda ← Segunda + 1;
caso 3 : Refugo ← Refugo + 1;
senao
escreva('Opção informada deve ser apenas 1=primeira/ 2=segunda/
3=refugo!');
fim escolha;
fim para;
escreva('As quantidades de peças são: ');
escreva('Primeira = ', Primeira);
escreva('Segunda = ', Segunda);
escreva('Refugo = ', Refugo);
fim.
TÓPICO 3
1 Desenvolva os algoritmos propostos a seguir.
a) Elabore um algoritmo que leia 30 números inteiros e utilizando um
subalgoritmo que recebe como parâmetro se deve mostrar os números pares
ou ímpares. Ao final, mostre os números pares e depois os números ímpares.
R.: Algoritmo ParesImpares;
constante
Max = 30;
tipo
TNumeros = Vetor[1..Max] de inteiro;
variaveis
ListaNumeros : TNumeros;
18 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Indice, Numero : inteiro;
Subalgoritmo Listagem(Pares : logico);
variaveis
IndLocal : inteiro;
inicio
para IndLocal de 1 ate Max faca
inicio
se (Pares = verdadeiro) entao
inicio
se ((ListaNumeros[IndLocal] mod 2) = 0) entao
escreva(ListaNumeros[IndLocal]);
senao
se ((ListaNumeros[IndLocal] mod 2) <> 0) entao
escreva(ListaNumeros[IndLocal]);
fim se;
fim para;
fim;
inicio
para Indice de 1 ate 30 faca
inicio
escreva('informe um número inteiro: ');
leia(Numero);
ListaNumeros[Indice] ← Numero;
fim para;
escreva('Listagem dos número pares: ');
Listagem(verdadeiro);
escreva('Listagem dos número ímpares: ');
Listagem(falso);
fim.
b) Para manter uma conta corrente, um banco cobra R$ 29,90 mensais de
taxa. Construa um algoritmo que leia quantos correntistas o banco possui e
mostre quanto o banco arrecadará em um ano. O cálculo deverá ser realizado
por um subalgoritmo.
R.: Algoritmo Banco;
constantes
TaxaMensal = 29.90;
variaveis
QtdeCorrentistas : inteiro;
Arrecadacao : real;
19UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Subalgoritmo Calcula(Qtde : inteiro): real;
inicio
Calcula ← QTde * TaxaMensal;
fim;
inicio
escreva('Informe a quantidade de correntistas do banco: ');
leia(QtdeCorrentistas);
escreva('O banco arrecadará R$ ', Calcula(QtdeCorrentistas));
fim.
c) Em uma competição deagilidade são cadastrados 20 cães. Construa um
algoritmo que leia o nome, a raça e a pontuação do cão. Ao final, utilize um
subalgoritmo para mostrar os dados em ordem crescente de pontuação.
R.: subalgoritmo Impressao;
variaveis
IndLocal, PontosLocal : inteiro;
Trocou : logico;
NomeLocal, RacaLocal : caractere;
inicio
Trocou ← verdadeiro;
while Trocou faca
inicio
Trocou ← falso;
para IndLocal de 2 ate Max faca
inicio
se (Lista[IndLocal.Pontuacao < Lista[IndLocal-1].Pontuacao) entao
inicio
NomeLocal ← Lista[IndLocal].Nome;
RacaLocal ← Lista[IndLocal].Raca;
PontosLocal ← Lista[IndLocal].Pontuacao;
Lista[IndLocal].Nome ← Lista[IndLocal-1].Nome;
Lista[IndLocal].Raca ← Lista[IndLocal-1].Raca;
Lista[IndLocal].Pontuacao ← Lista[IndLocal-1].Pontuacao;
Lista[IndLocal-1].Nome ← NomeLocal;
Lista[IndLocal-1].Raca ← RacaLocal;
Lista[IndLocal-1].Pontuacao ← PontosLocal;
Trocou ← verdadeiro;
fim se;
fim para;
fim enquanto;
20 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
para IndLocal de 1 ate Max faca
escreva('Nome: ', Lista[IndLocal].Nome, ' Raça: ', Lista[IndLocal].Raca, '
Pontuação: ', Lista[IndLocal.Pontuacao);
fim;
inicio
para Indice de 1 ate Max faca
inicio
escreva('Informe o nome do cão: ');
leia(Nome);
escreva('Informe a raça: ');
leia(Raca);
escreva('Informa a pontuação: ');
leia(Pontos);
Lista[Indice].Nome ← Nome;
Lista[Indice].Raca ← Raca;
Lista[Indice].Pontuacao ← Pontos;
fim para;
Impressao;
fim.
d) Faça um algoritmo que leia a descrição e o valor de cada item de uma
lista de material escolar. Em seguida, mostre a lista (descrição e valor) e o
percentual que cada item representa em relação ao valor total da compra. O
percentual deverá ser calculado por um subalgoritmo.
R.: Algoritmo Materiais;
constantes
Max = 100;
tipo
TMateriais
Descricao : caractere;
Valor : real;
fim registro;
TVetor = Vetor[1..Max] de TMateriais;
variaveis
Lista : TVetor;
Indice : inteiro;
Descricao : caractere;
Valor, Somatorio : real;
21UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
subalgoritmo Calcula(Total, Vlr : real);
inicio
Calcula ← (Vlr 100)/ Total;
fim;
inicio
Somatorio ← 0;
QtdeItens ← 0;
escreva('Informe a descrição ("FIM" para encerrar): ');
leia(Descricao);
enquanto (Descricao <> 'FIM') faca
inicio
escreva('Informe o valor do item: ');
leia(Valor);
Somatorio ← Somatorio + Valor;
QtdeItens ← QtdeItens + 1;
Lista[QtdeItens].Descricao ← Descricao;
Lista[QtdeItens].Valor ← Valor;
escreva('Informe a descrição ("FIM" para encerrar): ');
leia(Descricao);
fim enquanto;
para Indice de 1 ate QtdeItens faca
inicio
escreva('Descrição ', Lista[Indice].Descricao);
escreva('Valor ', Lista[Indice].Valor);
escreva('Representatividade do item ', Calcula(Somatorio, Lista[Indice].
Valor), ' %');
fim para;
fim.
e) Em um cinema são apresentados cinco filmes. Construa um algoritmo
que leia o nome do filme, a categoria, o gênero e a bilheteria alcançada.
Utilizando um subalgoritmo, mostre qual foi o campeão de bilheteria e quanto
em percentual ele está à frente do último colocado.
R.: Algoritmo Cinema;
constantes
Max = 5;
tipo
TDados
Nome : caractere;
Categoria : caractere;
Genero : caractere;
22 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Bilheteria : inteiro;
fim registro;
TVetor = Vetor[1..Max] de TDados;
variaveis
Lista : TVetor;
Indice : inteiro;
Nome, Categoria, Genero : caractere;
Bilheteria : inteiro;
subalgoritmo Seleciona;
variaveis
IndLocal, Menor, Maior : inteiro;
inicio
Menor ← 1;
Maior ← 1;
para IndLocal de 1 ate Max faca
inicio
se (Lista[IndLocal].Bilheteria < Lista[Menor].Bilheteria) entao
Menor ← IndLocal;
se (Lista[IndLocal].Bilheteria > Lista[Maior].Bilheteria) entao
Maior ← IndLocal;
fim para;
escreva('O campeão de biblheteria é ', Lista[Maior].Nome);
escreva('Ele está ', (Lista[Maior].Bilheteria * 100)/ Lista[Menor].Bilheteria,
'% à frente do último colocado');
fim;
inicio
para Indice de 1 ate Max faca
inicio
escreva('Informe o Nome do filme: ');
leia(Nome);
escreva('Informe a Categoria do filme: ');
leia(Categoria);
escreva('Informe o gênero do filme: ');
leia(Genero);
escreva('Informe a bilheteria: ');
leia(Bilheteria);
Lista[Indice].Nome ← Nome;
Lista[Indice].Categoria ← Categoria;
23UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Lista[Indice].Genero ← Genero;
Lista[Indice].Bilheteria ← Bilheteria;
fim para;
Seleciona;
fim.
TÓPICO 4
1 Elabore os algoritmos propostos a seguir.
a) Elabore um algoritmo que implemente uma matriz de 15 X 12 onde as linhas
são os produtos em estoque e as colunas são as quantidades incluídas em
cada mês do ano. Ao terminar a inclusão dos dados, liste a matriz.
R.: Algoritmo Matriz15x12;
constantes
MaxCol = 12;
MaxLin = 15;
tipo
TMatriz = Vetor[1..MaxCol, 1..MaxLin] de inteiro;
variaveis
Matriz : TMatriz;
IndL, IndC, Qtde : inteiro;
inicio
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva('Informe a quantidade do produto ', IndL, ' para o mês ', IndC);
leia(Qtde);
Matriz[IndC, IndL] ← Qtde;
fim para;
fim para;
escreva('Listagem dos dados:');
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva('A quantidade do produto ', IndL, ' para o mês ', IndC, ' é ',
24 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
Matriz[IndC, IndL]);
fim para;
fim para;
fim.
b) Faça um algoritmo que leia uma matriz de 5 X 5 e multiplique cada um
dos seus elementos por um número qualquer. Carregue uma segunda matriz
com os valores multiplicados. Ao final, liste a matriz original e a matriz com
os números multiplicados.
R.: Algoritmo Matriz5x5;
constantes
MaxCol = 5;
MaxLin = 5;
tipo
TMatriz = Vetor[1..MaxCol, 1..MaxLin] de inteiro;
variaveis
Matriz1, Matriz2 : TMatriz;
IndL, IndC, Numero, Fator : inteiro;
inicio
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva('Informe o número para a posição ', IndC, '/', IndL);
leia(Numero);
Matriz1[IndC, IndL] ← Numero;
fim para;
fim para;
escreva('Informe o fator multiplicador: ');
leia(Fator);
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
Matriz2[IndC, IndL] ← Matriz1[IndC, IndL] * Fator;
fim para;
fim para;
escreva('Listagem dos dados da matriz 1:');
para IndC de 1 ate MaxCol faca
25UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva(Matriz1[IndC, IndL]);
fim para;
fim para;
escreva('Listagem dos dados da matriz 2:');
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva(Matriz2[IndC, IndL]);
fim para;
fim para;
fim.
c) Construa um algoritmo que leia duas matrizes de 3 X 3 e ao final mostre
as matrizes e uma terceira matriz com a soma das duas.
R.: Algoritmo Matriz3x3;
constantes
MaxCol = 3;
MaxLin = 3;
tipo
TMatriz= Vetor[1..MaxCol, 1..MaxLin] de inteiro;
variaveis
Matriz1, Matriz2, Matriz3 : TMatriz;
IndL, IndC, Numero : inteiro;
inicio
escreva('Entrada dos dados da matriz 1:');
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva('Informe o número para a posição ', IndC, '/', IndL);
leia(Numero);
Matriz1[IndC, IndL] ← Numero;
fim para;
fim para;
escreva('Entrada dos dados da matriz 2:');
26 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva('Informe o número para a posição ', IndC, '/', IndL);
leia(Numero);
Matriz2[IndC, IndL] ← Numero;
fim para;
fim para;
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
Matriz3[IndC, IndL] ← Matriz1[IndC, IndL] + Matriz2[IndC, IndL];
fim para;
fim para;
escreva('Listagem dos dados da matriz 1:');
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva(Matriz1[IndC, IndL]);
fim para;
fim para;
escreva('Listagem dos dados da matriz 2:');
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva(Matriz2[IndC, IndL]);
fim para;
fim para;
escreva('Listagem dos dados da matriz 3:');
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva(Matriz3[IndC, IndL]);
fim para;
fim para;
fim.
27UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
d) Uma empresa de turismo solicitou uma pesquisa que coletou dados sobre
o local onde as pessoas gostam de estar nos dias de feriado. A pesquisa
disponibilizou as opções: em casa, na praia ou no campo e dividiu em faixas
de idade: até 15 anos, de 16 a 25, de 26 a 40 e acima de 40 anos. Faça um
algoritmo que armazene os dados solicitados em uma matriz de 3 X 5 onde
as linhas são as opções e as colunas são as faixas de idade. Ao final, mostre,
do total de pessoas pesquisadas, qual o local mais escolhido e qual o local
que as pessoas acima de 40 anos preferem.
R.: Algoritmo Matriz3x4;
constantes
MaxCol = 3;
MaxLin = 4;
tipo
TMatriz = Vetor[1..MaxCol, 1..MaxLin] de inteiro;
variaveis
Matriz : TMatriz;
IndL, IndC, Opcao, Idade : inteiro;
Total, Soma, Maior, Maior40 : inteiro;
inicio
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
Matriz[IndC, IndL] ← 0;
fim para;
fim para;
escreva('Informe o local em que prefere passar os feriados:');
escreva('0 = concluir digitação, 1 = em casa, 2 = na praia ou 3 = no campo: ');
leia(Opcao);
enquanto (Opcao <> 0) faca
inicio
escreva('Informe sua idade:');
escreva('1 = até 15, 2 = até 25, 3 = até 40 e 4 = acima de 40 anos:');
leia(Idade);
Matriz[Opcao, Idade] ← Matriz[Opcao, Idade] + 1;
fim enquanto;
Total ← 0;
para IndC de 1 ate MaxCol faca
inicio
28 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
para IndL de 1 ate MaxLin faca
inicio
Total ← Total + Matriz[IndC, IndL];
fim para;
fim para;
escreva('O total de pessoas pesquisadas foi ', Total);
fim.
e) Para controlar a qualidade da água de uma fonte são retiradas três amostras
de manhã e três amostras à tarde. Uma análise considera o grau de turbidez,
que varia de 0 a 5 pontos. Construa um algoritmo com uma matriz de 2 X
3 que armazene estes dados e ao final mostre em qual período a água se
encontrava melhor, qual o grau de turbidez, em qual período se encontrava
pior e o grau de turbidez.
R.: Algoritmo Matriz2x3;
constantes
MaxCol = 2;
MaxLin = 3;
tipo
TMatriz = Vetor[1..MaxCol, 1..MaxLin] de inteiro;
variaveis
Matriz : TMatriz;
IndL, IndC, Manha, Tarde : inteiro;
inicio
Manha ← 0;
Tarde ← 0;
para IndC de 1 ate MaxCol faca
inicio
para IndL de 1 ate MaxLin faca
inicio
escreva('Informe o grau de turbidez: ');
leia(Matriz[IndC, IndL]);
fim para;
fim para;
para IndL de 1 ate MaxLin faca
inicio
Manha ← Manha + Matriz[1, IndL];
fim para;
para IndL de 1 ate MaxLin faca
29UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
F
U
N
D
A
M
E
N
T
O
S
D
A
C
O
M
P
U
T
A
Ç
Ã
O
inicio
Tarde ← Tarde + Matriz[2, IndL];
fim para;
se (Manha > Tarde) então
escreva('O maior grau de turbidez ocorre pela manhã')
senao
escreva('O maior grau de turbidez ocorre pela tarde');
fim se;
fim.