Prévia do material em texto
Comandos básicos (entrada, saída,
atribuição e declaração)
Apresentação
Nesta Unidade de Aprendizagem, estudaremos os comandos de entrada e saída de dados em um
algoritmo através da representação em pseudolinguagem e fluxograma.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Analisar algoritmos simples com comandos de entrada e saída em pseudolinguagem.•
Identificar algoritmos simples com comandos de entrada e saída em fluxograma.•
Aplicar comandos de entrada e saída na solução de problemas.•
Desafio
Muitas linguagens de programação possuem funções para inverter um número já pronto na
linguagem. O nosso desafio é encontrar uma solução utilizando os comandos de entrada, saída e
atribuição para que faça a inversão de um número inteiro de 4 dígitos.
O valor lido deve estar armazenado em uma única variável e, ao final, deverá ser impressa como
saída somente uma variável com o valor invertido, e não 4 variáveis separadas. A inversão deverá
ser desenvolvida utilizando comandos aritméticos, resto da divisão e divisão inteira.
Exemplo:
Valor normal : 4567
Valor invertido: 7654
a) Declare as variáveis necessárias e seus tipos para resolver o problema apresentado. Todos os
valores da tabela devem ser atribuídos para as variáveis para serem utilizadas nos cálculos.
b) Identifique e descreva quais são os comandos de entrada necessários para solucionar o problema
apresentado (representar em pseudolinguagem e fluxograma).
c) Analise o problema e descreva a sequência correta dos comandos de atribuições e cálculos
necessários para a solução do problema apresentado (para inverter o número). (Representar em
pseudolinguagem e fluxograma.)
d) Identifique e descreva quais são os comandos de saída necessários para solucionar o problema
apresentado (representar em pseudolinguagem e fluxograma).
Infográfico
O esquema mostra os principais temas que serão abordados nesta Unidade de Aprendizagem.
Conteúdo do livro
Os algoritmos sequenciais normalmente possuem uma estrutura básica com três etapas: entrada de
dados, processamento (cálculos e atribuições) e saída de dados. Em alguns algoritmos, esse
esquema básico pode não ter definida a entrada de dados, quando os valores já estão predefinidos
no programa.
Para auxiliar nos estudos, acompanhe um trecho da seguinte obra: EDELWEISS, N.; LIVI, M.A.C.
Algoritmos e programação com exemplos em Pascal e C - Vol. 23. Série Livros Didáticos Informática
UFRGS. Porto Alegre: Bookman, 2014. O livro servirá como base para esta Unidade de
Aprendizagem.
Boa leitura.
s
é
r
ie
liv
ro
s
d
id
á
tic
o
s
in
fo
r
m
á
tic
a
u
fr
g
s
23
s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s
volume 3 Linguagens Formais e Autômatos, 6.ed.,
de Paulo Blauth Menezes
volume 4 Projeto de Banco de Dados, 6.ed.,
de Carlos Alberto Heuser
volume 5 Teoria da Computação: Máquinas Universais
e Computabilidade, 3.ed, de Tiarajú Asmuz Diverio
e Paulo Blauth Menezes
volume 6 Arquitetura de Computadores Pessoais,
2.ed., de Raul Fernando Weber
volume 7 Concepção de Circuitos Integrados, 2.ed.,
de Ricardo Augusto da Luz Reis e cols.
volume 8 Fundamentos de Arquitetura de Computadores,
4.ed., de Raul Fernando Weber
volume 10 Tabelas: Organização e Pesquisa,
de Clesio Saraiva dos Santos e Paulo Alberto de Azeredo
volume 11 Sistemas Operacionais, 4.ed.,
de Rômulo Silva de Oliveira, Alexandre da Silva Carissimi
e Simão Sirineo Toscani
volume 12 Teoria das Categorias para Ciência
da Computação, 2.ed., de Paulo Blauth Menezes
e Edward Hermann Haeusler
volume 13 Complexidade de Algoritmos, 3.ed.,
de Laira Vieira Toscani e Paulo A. S. Veloso
volume 16 Matemática Discreta para Computação
e Informática, 4.ed., de Paulo Blauth Menezes
volume 18 Estruturas de Dados, de Nina Edelweiss
e Renata Galante
volume 19 Aprendendo Matemática Discreta com
Exercícios, de Paulo Blauth Menezes, Laira Vieira Toscani
e Javier García López
volume 20 Redes de Computadores,
de Alexandre da Silva Carissimi, Juergen Rochol
e Lisandro Zambenedetti Granville
volume 21 Introdução à Abstração de Dados,
de Daltro José Nunes
volume 22 Comunicação de Dados, de Juergen Rochol
COMPUTAÇÃO
www.grupoa.com.br
A Bookman é um dos selos editoriais do Grupo A Educação, empresa que
oferece soluções em conteúdo, tecnologia e serviços para a educação
acadêmica e profissional.
algoritmos
e programação
com exemplos em Pascal e C
nina edelweiss
maria aparecida castro livi
Material didático para professores
Visite www.grupoa.com.br
nina edelweiss
maria aparecida castro livi
l i v r o s d i s p o n í v e i s
algoritm
os e program
ação
com
exem
plos em
P
ascal e C
23
edelw
eiss
livi
23
algoritmos
e programação
com exemplos em Pascal e C
Aprender programação não é uma tarefa simples.
Requer um entendimento perfeito do problema, a análise
de como solucioná-lo e a escolha da forma de implementação
da solução. algoritmos e programação apresenta
o processo de construção de algoritmos e de programas,
enfatizando as etapas de abstração, organização, análise
e crítica na busca de soluções eficientes. Os elementos
de um programa são introduzidos pouco a pouco ao longo
do texto, inicialmente apresentados em pseudolinguagem e,
em seguida, exemplificados nas linguagens de programação
Pascal e C. Este é um livro-texto para disciplinas iniciais
de programação de duração de um semestre. Pode ser
utilizado sobretudo em cursos de bacharelado e licenciatura
em ciência da computação, análise de sistemas e engenharia
da computação.
E22a Edelweiss, Nina.
Algoritmos e programação com exemplos em Pascal e C
[recurso eletrônico] / Nina Edelweiss, Maria Aparecida Castro
Livi. – Dados eletrônicos. – Porto Alegre : Bookman, 2014.
Editado também como livro impresso em 2014.
ISBN 978-85-8260-190-7
1. Informática. 2. Algoritmos – Programação. I. Livi,
Maria Aparecida Castro. II. Título.
CDU 004.421
as autoras
Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni-
versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge-
nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora
do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três
livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais
e internacionais. Participou de diversos projetos de pesquisa financiados por agências de
fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e
desenvolvimento de software.
Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da
Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro-
fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na
carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para
alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de
interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial
quanto a distância.
Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052
Edelweiss_Iniciais_eletronica.indd iiEdelweiss_Iniciais_eletronica.indd ii 14/05/14 16:5114/05/14 16:51
32 Algoritmos e Programação com Exemplos em Pascal e C
2.3.1 expressões aritméticas
Expressões aritméticas são expressões cujos resultados são valores numéricos, inteiros ou
fracionários. A sintaxe de uma expressão aritmética é a seguinte:
Na pseudolinguagem utilizada neste livro, os operadores que podem ser usados em expres-
sões aritméticas são os mesmos utilizados nas expressões aritméticas comuns. Mas, da mes-
ma forma que nas linguagens de programação, o símbolo utilizado para a multiplicação é o
asterisco, eo símbolo de divisão é a barra inclinada. A Tabela 2.1 mostra os operadores que
podem ser utilizados em expressões aritméticas, na forma adotada pela pseudolinguagem.
Edelweiss_02.indd 32Edelweiss_02.indd 32 12/03/14 08:5912/03/14 08:59
Capítulo 2 Unidades Léxicas, Variáveis, Constantes e Expressões 33
tabela 2.1 Operadores aritméticos na pseudolinguagem
Operador Significado Observação
+ Soma -
- Subtração -
* Multiplicação -
/ Divisão -
** Potência -
Div Divisão inteira Operandos inteiros
Mod Resto da divisão inteira Operandos inteiros
Os operadores aritméticos têm diferentes precedências na execução das operações: primeiro são
calculadas as potências, depois as multiplicações e as divisões e, no final, as somas e as subtra-
ções. Expressões com operadores de mesma precedência justapostos são avaliadas da esquerda
para a direita. Essa ordem de precedência pode ser alterada através do uso de parênteses.
Os seguintes tipos de operandos podem ser utilizados:
1. valores numéricos literais;
2. variáveis numéricas;
3. chamadas a funções1 que devolvem um valor numérico;
4. expressões aritméticas, as quais podem incluir partes entre parênteses.
Se uma expressão aritmética incluir funções, essas terão precedência maior na execução.
Exemplos de expressões aritméticas:
a + 1
a * 2 + 7,32
( x / 2 ) / C – ( valor + 1 / 2 )
2 + cos(x) onde cos(x) é uma função
As expressões aritméticas devem ser escritas horizontalmente, em uma mesma linha, com
eventuais valores fracionários expressos linearmente. Muitas vezes é necessário o emprego de
parênteses para garantir a execução na ordem correta. A necessidade de linearização possibi-
lita a uma expressão aritmética ter sua aparência inicial bastante modificada, como no caso
da expressão a seguir:
A representação dessa expressão em pseudolinguagem fica:
a + ( ( b – 4 ) * ( a / 2 + 4 * z42) / ( c + d ) )
1 Uma FUNÇÃO é um subprograma. Pode receber parâmetros (valores) para realizar sua tarefa e
normalmente devolve um valor em seu nome, sendo o tipo do valor devolvido o próprio tipo da função.
Mais detalhes sobre definição de funções são vistos no Capítulo 9.
Edelweiss_02.indd 33Edelweiss_02.indd 33 12/03/14 08:5912/03/14 08:59
34 Algoritmos e Programação com Exemplos em Pascal e C
Algumas funções básicas predefinidas já vêm embutidas nas linguagens de programação. Entre
elas, funções matemáticas, como o cálculo do cosseno de um ângulo utilizado no exemplo an-
terior. Algumas dessas funções necessitam de alguma informação para calcular o que é pedido
como, por exemplo, o valor do ângulo do qual se quer o cosseno. As informações requeridas
são chamadas de parâmetros da função e são listadas logo após o nome da função, entre
parênteses. Um parâmetro pode ser fornecido através de uma expressão cujo valor, depois de
avaliado, será utilizado pela função.
Na Tabela 2.2 são listadas algumas funções que podem ser utilizadas na pseudolinguagem,
definidas de forma idêntica ou similar àquela em que ocorrem na maioria das linguagens de
programação.
tabela 2.2 Funções predefinidas na pseudolinguagem
Nome da função Parâmetro Significado
abs valor Valor absoluto do valor
sen ângulo Seno do ângulo
cos ângulo Cosseno do ângulo
tan ângulo Tangente do ângulo
arctan valor Arco cuja tangente tem o valor
sqrt valor Raiz quadrada do valor
sqr valor Quadrado do valor
pot base, expoente Base elevada ao expoente
ln valor Logaritmo neperiano
log valor Logaritmo na base 10
Edelweiss_02.indd 34Edelweiss_02.indd 34 12/03/14 08:5912/03/14 08:59
58 Algoritmos e Programação com Exemplos em Pascal e C
3.1 esquema básico dos algoritmos sequenciais
Os problemas puramente sequenciais geralmente incluem três atividades, que ocorrem nor-
malmente na ordem indicada a seguir: entrada de dados, processamento realizado sobre es-
ses dados (cálculos, comparações) e saída de dados ou apresentação dos resultados. Mesmo
em problemas mais complexos, essas atividades constituem o esquema básico subjacente.
O processamento e a saída de dados são elementos sempre presentes; já a entrada pode
eventualmente não ocorrer, como nos casos em que o processamento se baseia em valores
predefinidos e constantes.
Entradas são os dados fornecidos pelo usuário durante a execução do programa, sem os quais
não é possível solucionar o problema. Existem casos em que alguns dados de entrada, pela
sua constância e regularidade, podem ser utilizados como constantes em uma solução. No
Exercício de Fixação 3.3 (discutido na Seção 3.6), em que um valor em reais é convertido para
dólares, em um período de estabilidade da moeda americana a taxa de conversão para o dólar
poderia ser colocada como um valor constante na expressão de cálculo. Mas caso fosse preciso
alterar essa taxa, seria necessário alterar o código. Nesse, e em casos semelhantes, sugere-se
optar pela solução mais genérica, em que mesmo os dados relativamente estáveis são sempre
fornecidos como entradas.
As saídas de um problema são geralmente os elementos mais facilmente determináveis, uma
vez que correspondem aos resultados esperados.
No problema apresentado no Algoritmo 1.1 (no Capítulo 1, Seção 1.1.4), em que é calculada
a soma de dois valores, os dois valores a serem somados são as entradas que devem ser infor-
madas; o processamento é o cálculo da soma; e a saída é a soma calculada.
Na sequência veremos os comandos que permitirão a leitura dos dados de entrada, a produ-
ção de resultados e sua apresentação em um meio externo.
Edelweiss_03.indd 58Edelweiss_03.indd 58 12/03/14 09:0312/03/14 09:03
Capítulo 3 Algoritmos Sequenciais 59
3.2 comandos de entrada e de saída
Os comandos de entrada e de saída de dados fazem a ligação entre o programa e o usuá-
rio. Toda a comunicação entre o mundo virtual e o mundo real é feita através desses co-
mandos, sem os quais o usuário não ficaria ciente do que ocorre durante e ao término do
processamento.
3.2.1 comando de entrada de dados
Através de um comando de entrada de dados, o programador solicita que um ou mais
dados sejam obtidos (lidos) pelo computador a partir de um dispositivo de entrada como, por
exemplo, o teclado. Os valores lidos devem ser armazenados em variáveis na memória para
que essas possam depois ser utilizadas pelo programa. Para isso, o comando de entrada de
dados deve, além de solicitar a operação de leitura, informar os nomes das variáveis que irão
armazenar os valores lidos.
Na pseudolinguagem, um comando de entrada de dados é identificado pela palavra reserva-
da ler, seguida da lista de variáveis que irão armazenar os valores lidos, as quais aparecem
separadas por vírgulas e entre parênteses:
ler ( )
Por exemplo, o comando:
ler (nota)
pede que seja lido um valor no dispositivo de entrada de dados, dizendo ainda que o valor
lido deve ser armazenado na variável denominada nota. Outro exemplo é o comando:
ler (a, b, c)
onde a, b e c são nomes de variáveis. Através desse comando serão lidos três valores de entra-
da, sendo o primeiro colocado na variável a, o segundo na b e o terceiro na c.
3.2.2 comando de saída de dados
Comandos de saída de dados são usados para transferir para fora do computador os re-
sultados que foram solicitados a fim de que esses sejam vistos pelo usuário ou utilizados em
futuro processamento. Um comando de saída inicia sempre pela palavra reservada escrever,
seguida da lista de valores que deverão ser informados, os quais aparecem separados por
vírgulas e entre parênteses:
escrever ( )
A lista de valores de saída pode conter:
Edelweiss_03.indd 59Edelweiss_03.indd 59 12/03/14 09:0312/03/14 09:03
60 Algoritmos e Programação com Exemplos em Pascal e C
■ nomes das variáveis cujos conteúdos devem ser informados;
■ expressões que serão avaliadas, sendo seu resultado informado na saída;
■ strings formadas por cadeias de caracteres entre apóstrofossimples. As strings não são
analisadas pelo computador, sendo simplesmente copiadas para o dispositivo de saída.
Servem para explicar ao usuário o significado dos valores que são listados.
Por exemplo, o comando:
escrever (a, b)
vai transferir para a saída o valor contido na variável a, seguido do valor da variável b. Já o
comando:
escrever (a * b + 1 / sin (c))
vai avaliar a expressão fornecida (a * b + 1 / sin (c)), transferindo para a saída somente
seu resultado. Como exemplo da utilização de strings na saída, considere o comando:
escrever ('Maior valor: ', maior, ' Resultado: ' , soma)
Neste comando, maior e soma são nomes de variáveis. Supondo que o valor contido na variá-
vel maior seja 15 e que o valor de soma seja 20, a saída produzida seria a seguinte:
Maior valor: 15 Resultado: 20
3.2.3 formatação de entrada e saída
As linguagens de programação possibilitam definir como os dados deverão ser apresentados,
ou seja, como as informações deverão ser fornecidas na entrada de dados e como os resul-
tados deverão ser dispostos na saída. Ao escrever um algoritmo, deve-se analisar somente
quais as ações que devem integrá-lo para que represente uma solução adequada e correta
para o problema que se pretende solucionar. Não é aconselhável definir formatos de entrada
e saída neste momento, deixando para fazê-lo na tradução do algoritmo para uma linguagem
de programação específica. Por isso, a pseudolinguagem utilizada ao longo deste livro não
define a formatação de entrada e de saída de dados, deixando para mostrá-la nas seções
específicas das linguagens Pascal e C.
3.3 comando de atribuição
No comando de atribuição, o resultado de uma expressão é atribuído a uma variável, ou
seja, é colocado no espaço de memória reservado para essa variável. Se já existia algum valor
armazenado na variável, ele é substituído pelo novo valor, e o valor anterior é perdido. Na
pseudolinguagem, um comando de atribuição tem à esquerda o nome da variável que vai
receber o valor, seguido de uma flecha direcionada para a esquerda, seguida à direita pela
expressão cujo valor vai ser utilizado na atribuição. O sentido da flecha representa visualmente
que o resultado da expressão é colocado na variável:
←
Edelweiss_03.indd 60Edelweiss_03.indd 60 12/03/14 09:0312/03/14 09:03
Capítulo 3 Algoritmos Sequenciais 61
Somente um nome de variável pode ser colocado à esquerda em um comando de atribuição.
A execução do comando inicia avaliando a expressão à direita, colocando depois seu resulta-
do na variável à esquerda. Por exemplo, no comando:
a ← b + 1
o resultado da expressão b + 1 é atribuído à variável a.
O tipo da variável que vai receber a atribuição deve ser compatível com o resultado da expres-
são à direita. Dependendo do tipo dessa variável, três tipos de atribuição são identificados, os
quais são analisados a seguir.
3.3.1 atribuição numérica
Se a variável for numérica, o valor da expressão deve ser também um valor numérico. O valor
a ser atribuído à variável pode ser (1) informado diretamente através de um número, (2) o
valor armazenado em outra variável numérica ou (3) o resultado de uma expressão aritmética.
Pode ser utilizada qualquer expressão aritmética, incluindo nomes de variáveis e chamadas
a funções. O nome da variável à qual vai ser atribuído o valor pode também ser utilizado na
expressão aritmética – nesse caso, a expressão é avaliada com o valor que a variável conti-
nha antes da execução do comando, sendo esse valor perdido ao ser feita a atribuição do
novo valor.
O tipo do valor a ser atribuído à variável deve ser compatível com o tipo da variável que vai
receber a atribuição. Assim, variáveis inteiras devem receber valores inteiros, e variáveis reais
devem receber valores reais. Uma exceção a essa regra, entretanto, é a atribuição de valores
inteiros a variáveis reais.
Vamos supor que foram declaradas as seguintes variáveis:
i, k (inteiro)
a, r (real)
Utilizando essas variáveis, os comandos de atribuição a seguir são válidos:
i ← 10 { i RECEBE O VALOR 10 }
i ← k { i RECEBE O VALOR DA VARIÁVEL k }
i ← k – 2 { i RECEBE VALOR DA EXPRESSÃO ARITMÉTICA k – 2}
i ← i + k – 7 { VARIÁVEL PODE SER UTILIZADA NA EXPRESSÃO }
a ← 10 { VARIÁVEL REAL PODE RECEBER VALOR INTEIRO }
a ← 3,14 * sqr(r) { EXPRESSÃO π.r2 UTILIZANDO CHAMADA À FUNÇÃO }
Os comandos de atribuição a seguir são inválidos:
i ← a { VARIÁVEL INTEIRA NÃO PODE RECEBER VALOR REAL}
i ← i + a { EXPRESSÃO TEM RESULTADO REAL POIS a É REAL }
i ← a > r { EXPRESSÃO NÃO PODE SER LÓGICA }
a + b ← a { NO LADO ESQUERDO NÃO PODE TER EXPRESSÃO }
a, b ← 0 { SOMENTE UMA VARIÁVEL NO LADO ESQUERDO }
Edelweiss_03.indd 61Edelweiss_03.indd 61 12/03/14 09:0312/03/14 09:03
62 Algoritmos e Programação com Exemplos em Pascal e C
Uma construção bastante comum é a variável que vai receber o valor da atribuição ser tam-
bém utilizada na expressão à direita do sinal de atribuição. Nesses casos, a expressão é avalia-
da utilizando o valor contido na variável e, terminada a avaliação da expressão, seu resultado
é colocado na variável, alterando então seu valor. Por exemplo, supondo que a variável a é
inteira e contém o valor 5, o valor contido em a, após a execução do comando de atribuição
a seguir, é 8:
a ← a + 3
3.3.2 atribuição lógica
Se a variável à esquerda do comando de atribuição for lógica, ela poderá receber somente um
dos dois valores lógicos: verdadeiro ou falso. O valor lógico a ser atribuído pode (1) ser re-
presentado explicitamente através de uma dessas duas palavras reservadas, (2) ser o conteúdo
de outra variável lógica ou (3) resultar da avaliação de uma expressão lógica.
Considerar as seguintes declarações:
i, k (inteiro)
x, y (lógico)
Os exemplos a seguir são comandos de atribuição lógica válidos:
x ← verdadeiro { VALOR LÓGICO INFORMADO EXPLICITAMENTE }
x ← y { x RECEBE VALOR LÓGICO DE y }
x ← i = k { x verdadeiro SE i IGUAL A k }
x ← i > 7 ou y { x RECEBE RESULTADO DA EXPRESSÃO LÓGICA }
Os comandos a seguir são inválidos:
x ← i { i É INTEIRO, NÃO É VALOR LÓGICO }
x ← x > 7 { ERRO NA EXPRESSÃO LÓGICA }
x ← k + 1 { EXPRESSÃO TEM VALOR INTEIRO, NÃO LÓGICO }
3.3.3 atribuição de caracteres
Se a variável for do tipo caractere, a expressão à direita deve resultar em um caractere; se a
variável for do tipo string, a expressão deve resultar em uma string.
Considerar que foram declaradas as seguintes variáveis:
nome (string)
letra, letra2 (caractere)
Utilizando essas variáveis, os exemplos a seguir mostram comandos de atribuição válidos:
nome ← 'Ana Terra' { STRING ATRIBUÍDA À VARIÁVEL nome }
letra ← 'Z' { letra RECEBE CARACTERE 'Z' }
letra ← letra2 { letra RECEBE CARACTERE DE letra2 }
Edelweiss_03.indd 62Edelweiss_03.indd 62 12/03/14 09:0312/03/14 09:03
Capítulo 3 Algoritmos Sequenciais 63
Ainda utilizando as mesmas variáveis, os comandos a seguir são inválidos:
nome ← 10 { STRING NÃO PODE RECEBER VALOR NUMÉRICO }
letra ← i > 2 { CARACTERE NÃO PODE RECEBER VALOR LÓGICO }
letra ← nome { VARIÁVEL CARACTERE NÃO PODE RECEBER STRING }
letra ← letra + 10 { EXPRESSÃO À DIREITA ESTÁ INCORRETA}
Edelweiss_03.indd 63Edelweiss_03.indd 63 12/03/14 09:0312/03/14 09:03
Encerra aqui o trecho do livro disponibilizado
para esta Unidade de Aprendizagem. Na
Biblioteca Virtual da Instituição, você encontra
a obra na íntegra.
Dica do professor
O comando de entrada permite que o algoritmo possa receber dados informados pelo usuário, que
serão utilizados pelo algoritmo em seu processamento. Da mesma forma, o comando de saída
permite ao usuário ter acesso aos resultados do processamento, mostrando mensagens e valores
das variáveis e constantes.
Assista ao vídeo para conhecer um pouco mais sobre esse tema.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/2f5176e79bac9decb2e2d5b80a1c3db2
Exercícios
1) Uma empresada indústria automotiva recebeu como doação um forno para moldar
ponteiras de eixo por calor, um equipamento importado muito antigo, que foi desenvolvido
pelos funcionários de uma empresa americana. Esse equipamento utiliza um termômetro
com a medida em Fahrenheit.
Em função da dificuldade encontrada pelos operadores em realizar a conversão que não faz
parte da medida utilizada no Brasil, a empresa está buscando um programador para
desenvolver um algoritmo que receba a temperatura do operador em graus Celsius,
converta-a em Fahrenheit e exiba a informação em Fahrenheit para o operador do
equipamento.
A) Entrada: Leia(Celsius) Saída: Escreva(Fahrenheit)
B) Entrada: Leia (Fahrenheit) Saída: Escreva(Celsius)
C) Entrada: Leia (Fahrenheit,Celsius) Saída: Escreva(Fahrenheit)
D) Entrada: Não possui comandos de entrada Saída: Escreva(Fahrenheit)
E) Entrada: Leia (Celsius) Saída: Não possui comandos de saída
2) Uma empresa necessita calcular o salário reajustado do funcionário. Para isso, analise os
algoritmos abaixo, e assinale o que traz as diretrizes solicitadas pela empresa listadas abaixo:
-
O valor do salário bruto será informado pelo usuário.
- Todos os funcionários recebem um bônus de 20% sobre o valor do salário bruto como
presente de final de ano.
- Após o acréscimo do bônus, deverá ser descontado o imposto de 7% do salário reajustado.
Ao término do algoritmo, deverá ser impresso na tela o valor final do salário com o bônus e
depois o valor reajustado do salário do funcionário.
Regras:
Regras
https://statics-marketplace.plataforma.grupoa.education/sagah/ac73949d-429c-4826-8798-97890d69b570/a268f2df-4d1e-45e3-8f47-ae6d287b1762.pdf
A) Estão corretas as alternativas I e II.
B) Apenas a alternativa I.
C) Estão corretas as alternativas I e III.
D) Todas as alternativas.
E) Nenhuma das alternativas.
3) Considerando-se os comandos de entrada, comandos de saída e atribuição, analise as
sentenças apresentadas abaixo.
I. O comando de saída é utilizado para mostrar os dados na tela ou na impressora.
II. O comando de entrada é utilizado para receber dados digitados pelo usuário, que serão
armazenados em variáveis.
III. O comando de entrada é representado pela palavra reservada Leia ou Ler, e o comando
de saída é representado por Escreva ou Imprima.
É INCORRETO apenas o que se afirma em:
A) Alternativa I.
B) Alternativas I e II.
C) Alternativas I e III.
D) Todas as alternativas.
E) Nenhuma alternativa.
São dados os seguintes blocos aplicados na representação em fluxograma:4)
Quais figuras podem ser utilizadas para representar comandos de entrada?
A) Figuras 1, 2 e 3.
B) Figuras 3 e 4.
C) Figuras 2, 5 e 6.
D) Figuras 4, 5 e 6.
E) Figura 2.
5) Os comandos de entrada e saída utilizam periféricos para introduzir os dados para serem
processados e visualizar os dados após serem processados. Os periféricos de entrada enviam
a informação para o computador, e os periféricos de saída transmitem a informação do
computador para o usuário. Para isso, temos vários dispositivos-padrão utilizados como
periféricos de entrada e de saída, e até mesmo periféricos que servem tanto para entrada
como para saída (discos de armazenamento).
Selecione o periférico básico que é considerado periférico de saída.
A) Teclado.
B) Mouse.
C) Leitor de código de barras.
D) Impressora.
E) Câmera de vídeo.
Na prática
Quanto de ração meus cachorros consomem? Quanto devo comprar? Para quantos dias duram a
ração que comprei?
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/0ea92ae3-e162-4a73-9bd4-6a5dc732fdec/21d1ced1-5189-452f-9a4a-14b702d69a78.png
Vamos desenvolver um algoritmo para auxiliar na questão de cálculo de quantos dias dura a ração
comprada.
As regras são:
- A ração comprada é em quilos
- A quantidade diária consumida pelo cachorro é sempre a mesma.
- A quantidade de ração consumida diariamente é medida em gramas.
- Temos 2 cachorros
- Cada cachorro consome quantidade diferente de ração, em função do seu tamanho. Ex: Cachorro
1 consome 300 gramas e o Cachorro 2 consome 100 gramas diárias.
Quais serão os dados de entrada necessários para resolver o problema?
Quantos quilos de ração foram comprados?
Quantas gramas eles consomem diariamente: o cachorro1 e o cachorro2?
Quais serão os dados de saída do problema?
O Número de dias que a ração comprada vai durar para alimentar os 2 cachorros.
Uma solução proposta:
Algoritmo "consumo"
Var
Racao, cachorro1, cachorro2, Consumo_cachorro1, Consumo_cachorro2, Total_consumo_dia, Dias:
real
Inicio
Escreva("Digite a quantidade de ração comprada ( em quilos):" )
Leia (Racao)
Escreva("Digite a quantidade de ração consumida Cachorro 1 ( em gramas) por dia:”)
Leia (cachorro1)
Escreva("Digite a quantidade de ração consumida Cachorro 2 ( em gramas) por dia:”)
Leia (cachorro2)
// agora já temos os dados de entrada, podemos realizar as atribuições(cálculos)
// calcula a quantidade de quilos consumidos por cada cachorro
Consumo_cachorro1