Buscar

Algoritmos de Programação CAP 4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

- -1
ALGORITMOS DE PROGRAMAÇÃO
CAPÍTULO 4 - DESENVOLVIMENTO DE 
ALGORITMOS
Rafael Alves Florindo
- -2
Objetivos do capítulo
Ao final deste capítulo, você será capaz de:
• Desenvolver um algoritmo básico seguindo as regras apresentadas em forma de pseudocódigo.
Tópicos de estudo
• Variáveis.
• Definição de variáveis.
• Tipos de variáveis.
• Memória.
• Exemplos dirigidos.
• Instruções básicas.
• Início e fim de um algoritmo.
• Declaração.
• Leitura e escrita.
• Exemplos dirigidos.
• Operadores aritméticos.
• Atribuição.
• Soma e subtração ou inverso do sinal.
• Multiplicação e divisão.
• Resto.
• Operadores relacionais e lógicos.
• Igual e diferente.
• Menor e menor igual.
• Maior e maior igual.
• Operadores And, OR e Not.
Contextualizando o cenário
Neste capítulo, será dado início ao desenvolvimento de algoritmos escritos no formato de “pseudocódigo”. Esses
são os que mais se aproximam da linguagem nativa do programador, pois contêm traços de linguagem de
programação, devido ao fato de serem utilizados comandos que estão escritos na linguagem natural do
desenvolvedor. Dar-se-á início ao desenvolvimento de códigos aplicando conceito de variáveis, instruções básicas
que proporcionaram subsídios para a estruturação do pseudocódigo. Por fim, o capítulo apresentará a aplicação
dos operadores aritméticos, relacionais e lógicos, que são de grande importância para as tomadas de decisões.
Diante desse cenário, surge como pergunta norteadora: como a correta interpretação do problema, separando-
o em entrada, processamento e saída, auxilia o processo de construção do raciocínio lógico?
4.1 Variáveis
Será abordado, neste tópico, o conteúdo de variáveis, que é empregado em todos os programas, desde os mais
simples até os maiores sistemas ERP ( , ou Planejamento dos Recursos da Empresa). OsEnterprise Resource Planning
conceitos que circundam as variáveis, seus tipos, como defini-las e o espaço que elas ocupam em memória são
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
- -3
assuntos discutidos aqui. Para fixar o conhecimento, serão resolvidos alguns exemplos; leia e revise o conteúdo
quantas vezes forem necessárias, pois a prática o levará ao conhecimento e, em muitos momentos, a prática nada
mais é do que a repetição.
4.1.1 Definição de variáveis
Antes de se definir as variáveis, é preciso recorrer ao conceito que circunda o termo. Para Manzano (2002),
Forbellone e Eberspacher (2005), uma variável é um espaço reservado em memória previamente identificada, que
permite a leitura e a escrita de um valor que tem apenas um determinado tipo de dado, o qual armazenará um
valor que está sujeito à variação no decorrer do algoritmo. O conteúdo dessas variáveis pode sofrer alterações
(editado ou excluído), além de ser consultado no decorrer do algoritmo.
Ainda conforme os autores, uma variável possui um identificador, ou seja, um nome, que é único para ela, e esses
identificadores devem seguir uma certa nomenclatura, para que seja possível manter uma padronização e evitar
erros nos códigos. Ao declarar uma variável com o nome de “nota” e atribuir a ela um valor 80, por exemplo, essa
variável terá esse valor até que o seu valor seja alterado por um novo valor, seja ele atribuído ou resultado de um
cálculo.
Para a formação do nome de um identificador, atente-se aos itens clicando nos números abaixo.
1 Se ele é composto por uma sequência de caracteres, até um limite de x caracteres.
2
Não pode começar por números, mas, no meio da sequência de caracteres, pode ocorrer de ter
números.
3
Não pode ser uma palavra reservada pela linguagem de programação. A palavra reservada quer
dizer que existem palavras que as linguagens usam, mas que não podem ser usadas como
variáveis.
4 Não pode conter caracteres especiais, acentos e espaços.
5 Não pode haver duas variáveis com mesmo nome dentro do mesmo escopo.
6 Pode conter “_” ( ) para separar variável com nome composto.underscore
Observe a figura a seguir:
- -4
Passo a passo para a formação do nome de um identificador.
A declaração das variáveis no algoritmo possui uma seção específica, denominada “Seção de declaração de
variáveis”; esta começa no início do algoritmo, com a palavra-chave var, e continua com as seguintes sintaxes:
A palavra reservada var só pode ser utilizada uma única vez no algoritmo, ou seja, se, no decorrer do seu algoritmo,
for necessário declarar outra variável, o programador recorre a esse local e faz a sua declaração. Para declarar uma
variável, basta colocar o tipo, seguido de dois pontos “:”, e a declaração.
Exemplo:
Caso deseje declarar mais de uma variável do mesmo tipo, basta separá-las por vírgula, uma após a outra.
Exemplo:
- -5
Agora, se você precisar declarar várias variáveis de tipos diferentes, deverá inserir uma em cada linha.
Exemplo:
Neste momento, ainda não serão vistos detalhes do < >, mas sim a < >, porém deve-setipo-de-dado lista-de-variáveis
saber que uma variável é um espaço reservado em memória, que armazenará uma informação e que terá um tipo
de dado específico. Verifique alguns exemplos de nomes de variáveis que são válidas:
casa, casa1, aluno_nome, rafael, nota
Note que todas as variáveis estão seguindo os itens de construção de identificadores; no caso do identificador
<casa1>, note que o número veio no fim da sequência, já no identificador <aluno_nome>, foi utilizado um “_”, 
.underscore
Agora que os identificadores válidos foram analisados, é muito importante frisar os identificadores inválidos:
1aluno, leia, escreva, caso, se, multiplicação, c@asa, media aluno, x+y
Note que a primeira variável < > é inválida, pois começa por numeral, enquanto o segundo, o terceiro, o1aluno
quarto e o quinto identificadores são palavras reservadas da linguagem; já os identificadores < > e <multiplicação
> possuem caracteres especiais, como acentuação e o símbolo do arroba. No identificador < >,c@asa media aluno
por sua vez, há um espaço, e, por fim, o identificador <x+y> pode ser identificado como um processamento
computacional ou com uso de caracteres especiais.
Veja mais um exemplo de tipo de identificadores. São marcados V, para válido, e I, para inválido.
Dessa maneira, as variáveis representam uma posição de memória, possuindo um nome único, cujo conteúdo é
único, ou seja, só pode armazenar um valor a cada instante, contudo esse valor pode variar ao longo da execução
do algoritmo ou de um programa.
- -6
4.1.2 Tipos de variáveis
Agora que já se sabe como nomear corretamente uma variável com um identificador, chegou a hora de estudar os
possíveis tipos de dados. Em pseudocódigo, podem-se utilizar quatro tipos de dados, a saber: inteiro, real, cadeia
 e (ou booleano) (FORBELLONE; EBERSPACHER, 2005; MANZANO, 2002; ASCENCIO; CAMPOS,de caracteres lógico
2010).
Confira a sintaxe para definição de variáveis.
Sintaxe:
Veja, nos próximos parágrafos, cada tipo de dado mencionado.
• Inteiro: esse tipo define as variáveis numéricas do tipo inteiro; nesse tipo, é possível utilizar números 
positivos e negativos, sem componentes decimais. 10 ou -58 são exemplos de valores do tipo inteiro. 
Confira a sintaxe desse tipo de variável.
Sintaxe:
Exemplo: ao se definir a variável < >, assume-se que, nessa variável, será armazenada apenas a parte inteira deidade
um número. Veja, a seguir, como definir uma variável do tipo real.
• real: define variáveis numéricas do tipo real, que possuem casas decimais, ou seja, são números que 
podem conter frações, e o separador desses valores é o “.”. 12.59 ou 1.298 são exemplos do tipo real. 
Confira a sintaxe desse tipo de variável.
Sintaxe:
•
•
- -7
Exemplo: caso seja definida a variável < >, assume-se que, nessa variável, serão armazenadas a parte inteira enota
fracionária de um número. Veja, a seguir, como definir uma variável do tipo caractere.
• caractere: define variáveis do tipo , ou seja, cadeia de caracteres, que é formada por texto. Aqui, há string
uma cadeia de caracteres definida pelo vetor nome_da_variavel, e a quantidade, pelo índice do vetor. Veja,a seguir, a sintaxe desse tipo.
Sintaxe:
Exemplo:
• lógico: define variáveis do tipo , podendo ser (verdadeiras) ou (falsas). Outro valor, se booleano true false
declarado em um contexto , será interpretado e convertido para ou . 0, por exemplo, é boolean true false false
, e qualquer número diferente de 0 é convertido para . Confira, a seguir, a sintaxe desse tipo de variável.true
Sintaxe:
Exemplo: se for definida a variável < >, assume-se que, nessa variável, podem-se armazenar um dos doisstatus
valores lógico possíveis. Veja, na sequência, como definir uma variável do tipo lógico.
A seguir, é apresentado um exemplo prático de declaração de variáveis, para fixação do conteúdo.
•
•
- -8
Exemplo: declarar as variáveis carro, modelo, porta e preço, cada uma com seu respectivo tipo.
Note que as variáveis carro e modelo foram declaradas uma em cada linha, devido ao fato de o tamanho de
caracteres ser diferentes.
Neste tópico, foram abordados os identificadores e os tipos de dados que cada variável pode assumir; verificou-se,
também, como declarar cada tipo de forma única ou múltipla (várias variáveis do mesmo tipo) no escopo do
algoritmo.
4.1.3 Memória
A referência à variável, em uma linguagem de programação, diz respeito a uma região de memória (do
computador) que foi previamente identificada pelo desenvolvedor e que é reservada para guardar o valor e associá-
lo ao nome criado para ela. Esse espaço corresponde a uma posição de na memória do computador,alocação
contendo um identificador, um tipo, um tamanho e um valor.
Ao declarar uma variável com o identificador , o programador usa a referência ou o seu endereço comonome
variáveis, as quais estarão alocadas na Memória Ram do computador. Na maioria das linguagens de programação,
não há necessidade de o programador definir ou manipular endereços de memória, deixando esse papel para o
responsável. O processador e o sistema operacional se encarregam de reservar um espaço físico para variável em
memória e, nesta, só se armazenará um único tipo de dado, salvo casos específicos de variáveis do tipo matriz, que
aceitam dois tipos de dados (DEITEL; DEITEL, 2006).
Quando se insere um valor dentro dessa variável, o compilador converte o que foi digitado para o tipo de dado da
variável, por exemplo, <real>, e só após essa conversão o dado será armazenado. Verifique, na figura
“Representação de armazenamentos de valores nas variáveis”, a localização do identificador e do conteúdo. Vale
ressaltar que esse é apenas um exemplo didático, o objetivo não é mostrar a fundo como funcionam a alocação e o
uso de memória pelo processador.
AFIRMAÇÃO
“Todo computador possui uma tabela de alocação que contém o nome da variável, o tipo da
variável (para saber quantos bytes ocupará) e o seu endereço inicial de armazenamento” (PUGA;
RISSETTI, 2003, p. 9).
- -9
Representação de armazenamentos de valores nas variáveis.
Ao se declarar uma variável, deve-se atentar para o seu uso real, ou seja, se uma variável só armazenará números
inteiros, não a defina como real, pois cada tipo de variável possui um espaço, “tamanho”, de memória que é
reservado para tal. Uma variável inteira pode ocupar 1, 2 ou 4 bytes, enquanto uma variável real chega a ocupar 4
ou 8 bytes (LOPES; GARCIA, 2002). Nos dias atuais, parece insignificante, mas é necessário tomar esse tipo de
cuidado, pois se aloca espaço em memória desnecessário. Tanenbaum (2016, p. 125) afirma que “A memória
principal (RAM) é um recurso importante que deve ser cuidadosamente gerenciado”.
Há tipos de constantes que armazenam informações que não variam com o tempo, ou seja, o conteúdo é um valor
fixo durante toda execução do algoritmo. Em constantes, não se defini o tipo, pois, ao receber o valor, ele assumirá,
de forma implícita, o seu tipo, proveniente do valor declarado na constante. O comando utilizado para definir
constantes é o CONST, e sua definição é dada por:
AFIRMAÇÃO
“Apesar de o computador pessoal médio, hoje em dia, ter 10.000 vezes mais memória do que o
IBM 7094, o maior computador no mundo no início da década de 1960, os programas estão
ficando maiores mais rapidamente do que as memórias” (TANENBAUM, 2016, p. 125).
- -10
Com o conceito de memória definido, ficou mais concreto o que é uma variável, pois as variáveis correspondem, na
realidade, às posições na memória do computador, e cada uma delas tem um nome, um tipo e o seu valor
correspondente.
4.1.4 Exemplos dirigidos
A seguir, serão apresentados exemplos, para que seja possível internalizar os conceitos trabalhados.
1. Declare três variáveis com os seguintes identificadores: nome_produto, quantidade e preco, cada qual com o
seu respectivo peso.
Resolução: Para declarar as variáveis, é necessário acessar o setor direcionado para a declaração de variáveis e,
depois, os identificadores e os seus tipos. Para o identificador nome_produto, utiliza-se o tipo caractere. Para o
identificador , atribui-se o tipo inteiro, pois não se pode colocar à venda um produto pela metade, aquantidade
não ser em caso específico, quando se trabalha com peso, que não é o caso aqui. Por fim, para o identificar ,preco
atribui-se o tipo real.
2. Identifique os identificadores das variáveis válidas com (V), e das inválidas com (I).
Note que há vários identificadores que atendem às normas estabelecidas, sendo que as variáveis “$nome” e
“guarda-chuva” têm caracteres especiais, enquanto as variáveis “1file” e “3produto_mes” iniciam com numeral,
restando, assim, as variáveis “file1”, “guarda_chuva”, “produtoCliente” e “somatório”.
- -11
3. Dado certo problema computacional, necessita-se que o algoritmo tenha as seguintes informações
armazenadas, para que possam ser acessadas futuramente pela gerência da empresa: nome, idade, peso, altura,
telefone e e-mail.
Resolução: Na contextualização do exemplo, foram dados os identificadores que devem ser declarados, sendo que,
para as variáveis “nome”, “telefone” e “email”, utiliza-se o tipo caractere. Você deve estar se perguntando: por que
o telefone é inserido com caractere, e não com inteiro? A resposta é simples: o número do telefone não é número,
até pode ser confundido com inteiro, mas não há um número inteiro tão grande assim para armazená-lo; seria,
então, inviável pelo tamanho em memória, por esse motivo, é utilizado o tipo caractere mesmo. Para a variável
“idade”, utiliza-se o tipo inteiro, já para o “peso” e “altura” é usado o tipo real.
4.2 Instruções básicas
Serão estudadas, agora, as instruções, de forma abrangente, de um algoritmo em pseudocódigo. Para Manzano
(2002), as instruções básicas são consideradas comandos que um computador executará para alcançar um
determinado objetivo, por exemplo, declaração de variável, operações aritméticas, estruturas de decisão e
repetição etc. As linguagens de programação, tais como Java, PHP, Python, apesar de parecidas, apresentam
algumas instruções quais diferenciam umas das outras.
Já foram estudadas a definição e a declaração de variáveis, a partir de agora, serão vistos os demais itens para a
construção de um algoritmo em pseudocódigo. Forbellone e Eberspacher (2005) destacam algumas instruções
básicas, tais como: início, fim, var, programa, enquanto, se, então, senão, para, escreva, leia, repita e até_que.
Uma boa prática de programação é a utilização dos comentários, que tem por objetivo documentar os programas,
auxiliando as pessoas leigas a lerem e compreenderem o que o desenvolvedor programou. Além de auxiliar
qualquer pessoa o comentário, é de grande importância durante a manutenção, pois diminui o tempo de ter que
estudar linha por linha, a fim de encontrar o problema (DEITEL; DEITEL, 2006).
Os compiladores ignoram essa linha, ou seja, não a executam. Cada linguagem de programação tem a sua sintaxe
para a utilização do recurso de comentário: em pseudocódigo, há um tipo de comentário de única linha, que
sempre é precedido pela marcação “//”. Quando utilizado, é ignorado, até se atingir o fim da linha. Por esse motivo,
- -12
os comentários nãose estendem por mais de uma linha: quando se deseja escrever comentários mais longos, que
ocupem várias linhas, cada uma delas deverá começar por "//".
4.2.1 Início e fim de um algoritmo
Todo algoritmo deve ter um início e um fim, no qual se delimita a seção reservada para o conjunto de instruções de
um algoritmo em pseudocódigo. Essas instruções comandam o funcionamento da máquina e determinam a
maneira como devem ser tratados os dados (FORBELLONE; EBERSPACHER, 2005). Confira, a seguir, a sintaxe e um
exemplo.
Sintaxe:
Em que:
1. algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo;
2. <nome_do_algoritmo> é um nome simbólico dado ao algoritmo;
3. seção de declaração de variáveis consiste em uma porção opcional, em que são declaradas as variáveis globais
usadas no algoritmo principal e, eventualmente, nos subalgoritmos;
4. <subalgoritmos> consiste em uma porção opcional do pseudocódigo, em que são definidos os subalgoritmos;
5. início e fim são, respectivamente, as palavras que delimitam o início e o término do conjunto de instruções do
corpo do algoritmo.
DICA
Comentários ajudam a documentar os códigos e auxiliam o entendimento de outros
desenvolvedores sobre os objetivos com relação à estrutura do código.
- -13
Tome nota
Note que, na sintaxe abordada, há um espaço no início das linhas, isso se dá pela chamada de indentação de
código, uma prática muito utilizada pelos programadores, deixando o código mais legível e com uma boa
aparência. Também foi utilizada função “escreva()” para impressão de mensagem em tela.
Exemplo 1: crie um algoritmo que imprima “Olá, seja bem-vindo!”.
Exemplo 2: crie um algoritmo que armazene a idade de 10 anos de uma pessoa e imprima a idade na tela.
- -14
Note que, neste tópico, iniciou-se a montagem do algoritmo em pseudocódigo, delimitando o início, a declaração
de variáveis e o fim.
4.2.2 Declaração
A seção de declaração de variáveis é realizada logo após a linha de identificação do programa e antes do início do
conjunto de instruções. Deve haver apenas uma seção de declaração de variáveis, na qual devem constar todas as
variáveis e seus respectivos tipos de dados, conforme o exemplo a seguir.
Exemplo: declarar as variáveis e idade, do tipo inteiro, e as variáveis , e , do tipo real.codigo nota soma media
De acordo com o exemplo, declaram-se as variáveis solicitadas, contudo, caso se queira declarar cada variável em
uma linha, também é possível, não haverá diferença na execução do algoritmo, apenas na quantidade de linhas.
4.2.3 Leitura e escrita
O recurso de leitura e escrita de sistemas pode ser entendido como entrada ( ) e saída ( ) de dados. Umainput output
vez que é realizada a entrada do dado no sistema, ele é processado e, depois, escrito em um formato de saída. Na
figura “Entrada, processamento e saída”, é possível visualizar esse processo.
- -15
Entrada, processamento e saída.
Fonte: Bakhtiar Zein / / 123RF.
Os comandos de entrada de dados são o meio pelo qual as informações dos usuários são transferidas para a
memória dos computadores, para que possam ser usadas nos programas. Podem-se utilizar de duas forma as
entradas de dados no algoritmo, seja individualmente, seja em grupos (FORBELLONE; EBERSPACHER, 2005). Clique
nas abas e veja como ler apenas uma variável ou mais do que uma variável de uma só vez, de forma sequencial.
•
Uma variável
Sintaxe:
leia (<variável>).
Exemplo:
leia (idade); leia (nome); leia (sexo);
•
Lista de variáveis
Sintaxe:
leia (<lista_de_variáveis>)
Exemplo:
leia (idade, nome, sexo);
A palavra “leia” será tratada como uma palavra reservada, e não poderá ser usada como nome de variável em
algoritmos. Na figura “Dados de entrada para a autenticação de usuário”, está sendo solicitado ao usuário que
informe os dados de “username”, “password”. Além desses campos de preenchimento, o usuário ainda pode
assinalar o recurso de “lembrar-me” no sistema “Remember me”, ou, caso ele tenha esquecido a sua senha, o
sistema pode fornecer a dica ao clicar em “Forgot password”.
•
•
- -16
Dados de entrada para a autenticação de usuário.
Fonte: © siridhata // 123RF.
Os comandos de saída de dados são o meio pelo qual informações contidas na memória dos computadores são
colocadas nos dispositivos de saída, para que os usuários possam apreciá-las. Pode-se realizar a saída de quatro
formas: variável, lista de variáveis, literal ou intercalando literal com variável. Veja, na sequência, cada uma delas
com sintaxe e exemplo.
A primeira forma que será estudada é a impressão de apenas uma variável por vez. Sintaxe:
escreva (<variável>)
Exemplo:
A segunda forma que será estudada é a impressão de uma lista de variáveis, ou seja, quando é necessário imprimir
mais do que uma variável por vez.
Sintaxe:
escreva (<lista_de_variáveis>)
Exemplo:
A terceira forma a ser estudada é a literal de um texto, ou seja, são as chamadas para as entradas, saídas ou, ainda,
informações adicionais no decorrer do algoritmo.
Sintaxe:
escreva (<literal>);
Exemplo:
- -17
Por fim, um dos tipos mais utilizados serve para montar uma resposta adequada na tela do usuário, intercalando
dentro de uma frase as respostas para cada variável.
Sintaxe:
escreva (<literal>, <variável>, ... ,<literal>, <variável>)
Exemplo:
É possível, ainda, imprimir o salto de linha, ou seja, uma quebra de linha, levando, assim, o cursor para a próxima
página. Para isso, utilize a função “escreval()”, em vez de “escreva()”.
A palavra “escreva” será considerada uma palavra reservada e não poderá ser utilizada como nome de variável, de
modo que toda vez que for encontrada em algoritmos será identificada como um comando de saída de dados. Na
figura “Geração de relatórios como saída de dados”, é possível visualizar vários documentos impressos com
diversos formatos de saídas, como texto, imagem, gráficos, dentre outros, que estão sendo utilizados para auxiliar
o gerenciamento dos departamentos da organização.
Geração de relatórios como saída de dados.
Fonte: © pratyaksa / / 123RF.
Agora que já você já aprendeu como realizar entradas e saídas das variáveis no algoritmo, pratique alguns
exemplos de declaração e impressão de valores em tela, para se acostumar a colocar nomes nas variáveis e,
principalmente, a criar variáveis com nomes válidos e coerentes.
- -18
Não fique preso apenas às atividades propostas, você deve praticar muito a programação, pois só aprende quem
programa, ou seja, erra e aprende com os erros.
4.2.4 Exemplos dirigidos
Para praticar os algoritmos, será colocado em prática o conteúdo absorvido neste tópico, por meio dos exemplos
dirigidos apresentados a seguir.
1. Construa um algoritmo em pseudocódigo que peça como dados de entrada duas notas e o nome do aluno. No
fim, imprima o nome do aluno e as suas respectivas notas na tela.
Para resolver esse problema, primeiramente, deve-se separar o que é entrada e saída, nesse caso:
Entrada: ler as notas (nota1, nota2) do aluno (aluno).
Saída: escrever na tela o nome do aluno e as notas (nota1 e nota2). Note que, nesse exemplo, não há
processamento.
2. Construa um algoritmo para que o usuário informe o peso em quilos de duas pessoas. O algoritmo deverá
mostrar para o usuário o nome e o seu peso.
DICA
Ao praticar, sugiro que, nos 30 primeiros minutos, você pense durante os primeiros 15 minutos,
digite durante 5 minutos, teste durante 5 minutos e refatore (melhore) seu código nos últimos 5
minutos.
- -19
Para resolver esse problema, primeiramente, separam-se o que é entrada e o que é saída, no caso, o peso e o nome
de duas pessoas.
Entrada: ler o peso e o nome de duas pessoas.
Saída: escrever na tela o nome e o peso das duas pessoas.
3. Classifique os conteúdos das variáveis a seguir de acordo com seu tipo, assinalando I, para inteiros, R, para reais,
L, para lógicos, e C, para caracteres.
a. ( ) 10.
b. ( ) Verdadeiro.
c. ( ) 8.2.
d. ( ) -10.
e.( ) “casa”.
a. (I) 10.
b.(L) Verdadeiro.
c. (R) 8.2.
d. (I) -10.
e. (C) “casa”.
4. Declare três variáveis com osseguinte identificadores: nome_produto, quantidade e preco, cada qual com o seu
respectivo tipo.
Para declarar as variáveis, é necessário acessar o setor direcionado para a declaração de variáveis e, depois, os
identificadores e seus tipos. Para o identificador nome_produto, será utilizado o tipo caractere. Para o
identificador quantidade, atribui-se o tipo inteiro, pois não se pode colocar à venda um produto pela metade, a não
ser em caso específico, quando se trabalha com o peso, que não é o caso aqui . Por fim, oapresentado
identificador , para o qual se atribui o tipo real.preco
Entrada: ler o nome do produto, a quantidade e o preço.
Saída: escrever na tela o nome do produto, a quantidade e o preço.
- -20
4.3 Operadores aritméticos
Após a familiarização com as instruções básicas, será estudado o processamento computacional com os
operadores aritméticos. Os operadores aritméticos são formados por um conjunto de símbolos que representa os
operadores matemáticos.
Há, também, as expressões aritméticas, que são aquelas em que aparecem os operadores aritméticos (+, -, * e /) e
os seus operandos, que são valores do tipo numérico (inteiro ou real). Esses valores numéricos podem ser
acessados por meio de constantes ou por meio de variáveis, as quais são atribuídas a um outro identificador por
meio do operador de atribuição que receberá as expressões aritméticas (FORBELLONE, EBERSPACHER, 2005;
MANZANO, 2002).
Cada operação aritmética deve ser escrita em apenas uma única linha, ou seja, é necessário utilizar parênteses
para garantir que todas as operações sejam executadas na ordem adequada. As operações aritméticas que serão
estudadas são: adição, subtração, multiplicação, divisão e o resto (módulo), além desses, há o inverso de sinal e o
operador de atribuição.
4.3.1 Atribuição
O operador de atribuição é responsável por atribuir ou alterar um valor para uma variável. Esse processo é
representado pelo símbolo de uma seta invertida (<-), quando se trabalha com identificadores/variáveis, e pelo
símbolo =, quando se trabalha com identificadores constantes.
Note que uma variável pode armazenar apenas um único valor por vez, sendo que sempre que um novo valor é
atribuído à variável o valor anterior que estava armazenado nela é perdido, ou seja, acontece uma substituição de
valores.
Sintaxe:
- -21
Exemplo:
Note que, nesse exemplo, atribui-se o nome de uma pessoa entre aspas duplas na variável , devido a esta sernome
do tipo caractere. Após, atribui-se a variável à idade de 36 anos. Em seguida, é feita uma atribuição deidade
variável, recurso muito utilizado, ou seja, inicia-se uma variável com o valor de outra, a fim de não substituir o valor
original inicial, sendo assim, fez-se a variável receber o valor da variável . Por fim, atribui-se àprofessor nome
variável uma expressão aritmética com o operador de subtração, para calcular o ano deanoNascimento
nascimento de uma pessoa.
A partir desse exemplo, é possível que você faça relação entre as áreas das exatas e os algoritmos, pois já tem
conhecimento para construir algoritmos envolvendo atribuição de valores e cálculos matemáticos.
4.3.2 Soma e subtração ou inverso do sinal
Dentro dos operadores da matemática, há os símbolos da adição e da subtração, que podem realizar a soma ou a
subtração diretamente entre os valores ou entre identificadores.
Sintaxe:
Exemplo:
- -22
Na operação de inversão de sinal, um valor inverso é ele mesmo com sinal invertido, ou seja, se há um valor inteiro
positivo (10), o seu valor inverso seria um valor inteiro negativo (-10). O mesmo ocorre no caso contrário: se há um
valor inteiro negativo (-10), o seu valor inverso será um valor inteiro positivo (10).
Para fazer essa inversão, basta multiplicar o valor pelo número 1 com o sinal negativo e armazenar o valor na
mesma variável.
Sintaxe:
Exemplo:
A partir dessas operações, pode-se calcular “n” expressões aritméticas, agilizando e resolvendo os principais
problemas computacionais.
4.3.3 Multiplicação e divisão
Dentro dos operadores da matemática, há os símbolos da multiplicação e da divisão, que podem realizar a divisão
ou a multiplicação entre valores ou entre identificadores.
Sintaxe:
PAUSA PARA REFLETIR
Com o uso do operador de inversor do sinal, será que é possível calcular o valor absoluto de um
número negativo qualquer?
- -23
Exemplo:
Com os operadores da multiplicação, é possível calcular os totais de itens de uma nota fiscal e, com o operador da
divisão, pode-se calcular a média aritmética. Note que esses não são os únicos locais em que serão utilizados esses
operadores, existe um campo vasto de uso na Matemática, na Geometria, na Trigonometria etc.
4.3.4 Resto
Na programação de computadores, existe um operador que é muito utilizado, o operador de módulo, isto é,
quando se desejar saber o resto da divisão entre duas variáveis. Por exemplo, 8 MOD 3 = 2.
Esse operador é constantemente utilizado para cálculos de números ímpares, se um número é divisível ou
multiplicador de outro.
Exemplos:
4.4 Operadores relacionais e lógicos
Para utilizar os operadores relacionais e lógicos, deve-se ter o conhecimento das instruções de .se...entao...fim_se
Essas instruções verificam uma condição, ou seja, verificam o estado de uma determinada variável; esse estado
pode resultar em verdadeiro ou falso. Dessa forma, os operadores relacionais servem para comparar dois valores
do mesmo tipo, retornando o resultado da comparação, se foi verdadeiro ou falso. Por exemplo, a expressão 20 <
33 é uma expressão lógica válida, cujo valor é verdadeiro. Em contrapartida, a expressão 20 = 80 é uma expressão
lógica também válida, mas cujo valor é falso. Confira o quadro “Operadores relacionais”.
- -24
Operadores relacionais.
Fonte: MANZANO, 2002. (Adaptado).
Os operadores lógicos são usados para representar situações lógicas que não podem ser representadas por
operadores aritméticos. Também são chamados conectivos lógicos, por unirem duas expressões simples em uma
composta. Podem ser operadores binários, que operam em duas sentenças ou expressões, ou unários, que operam
em uma sentença só. Confira o quadro “Operadores lógicos”.
Operadores lógicos.
Fonte: MANZANO, 2002. (Adaptado).
A seguir, os operadores serão estudados separadamente e, depois, serão todos unidos em exemplos.
4.4.1 Igual e diferente
Para representar o sinal de igualdade ou de diferente em um algoritmo, deve-se utilizar os símbolos de (=) e (<>),
respectivamente.
Sintaxe:
- -25
Exemplo:
Esse operador é constantemente utilizado para verificar, por exemplo, se um usuário informado é igual ao usuário
cadastrado no banco de dados (autenticação de usuário), ou, enquanto é digitada a resposta diferente de n, para
solicitar, novamente, o cadastro de outro usuário.
4.4.2 Menor e menor igual
Para representar o sinal menor e menor igual em um algoritmo, devemos utilizar os símbolos (<) e (<=),
respectivamente. O sinal de (<=) merece uma atenção especial, para que a expressão seja verdadeira; valor a ser
testado pode ser menor ou igual ao número ou sequência.
Sintaxe:
Exemplo:
Note que esses operadores funcionam como limitadores inferiores ou, ainda, terminadores de estruturas de
repetições.
4.4.3 Maior e maior igual
Para representar o sinal maior e maior igual em um algoritmo, utilizam-se os símbolos (>) e (>=), respectivamente.
Como no caso do sinal (<=), o sinal (>=) merece uma atenção especial, para que a expressão seja verdadeira, o valor
a ser testado pode ser maior ou igual ao número ou à sequência.
Sintaxe:
- -26
Exemplo:
Note que esses operadores funcionam como limitadores superiores ou, ainda, terminadores de estruturas de
repetições.
Exemplo: dadas as variáveis A, B, C, D e E, substitua-as por 4, 5, 7, 9 e 1, respectivamente, e apresente o valor lógico
das expressões.
a. ( A > B)
(4 > 5) = F
b.( B < C)
(5 < 7) = V
c.( D >= B)
(9 >= 5) = V
d.( A <> E)
(4 <> 1) = V
e. ( A = B)
(4 = 5) = F
Com esses operadores lógicos e relacionais, é possível começar a construir regras de negócios,fazendo desvios de
fluxo no código.
4.4.4 Operação , e And Or Not
Os operadores lógicos são utilizados dentro da estrutura , com o intuito de validarem umase...entao...senao
condição composta, ou seja, um condição que tenha dois valores lógicos, que podem ser obtidos por um operador
relacional ou apenas pelo identificador.
O primeiro operador é o And (e), o qual tem a função de conjunção. Para que se tenha um valor lógico verdadeiro
(V), as duas entradas devem ser verdadeiras. Confira na “Tabela verdade do operador de conjunção”, o resultado
do operador And.
- -27
Tabela verdade do operador de conjunção.
O segundo operador é o OR (ou), que tem a função de disjunção. Para que se tenha um valor lógico verdadeiro (V),
basta uma das entradas ser verdadeira. Confira a “Tabela verdade do operador de disjunção”.
Tabela verdade do operador de disjunção.
Por fim, há o operador NAO, que tem a função de inverter o sinal lógico. Veja a “Tabela verdade do operador NAO”.
Tabela verdade do operador NAO.
Exemplo: dadas as variáveis A, B, C, D e E, substitua-as por 4, 5, 7, 9 e 1, respectivamente, e apresente o valor lógico
da expressões a seguir.
a. ( A > B) AND ( B < C)
(4 > 5) AND (5 < 7)
F e V
F
b. ( B < C) OR ( A > B)
(5 < 7) OR (4 > 5)
- -28
V OR F
V
c. ( D >= B) OR ( A <> E)
(9 >= 5) OR (4 <> 1)
V OR V
V
d.( A <> E) AND ( A = B)
(4 <> 1) AND (4 = 5)
V AND F
F
e. ( A = B) AND NAO ( A = B)
(4 = 5) AND (NAO (4=5)) F AND (NAO F)
F AND V
F
De acordo com Forbelllone e Eberspacher (2005), há a prioridade na ordem de execução dos operadores, conforme
expõe a tabela “Prioridades de execução dos operadores”.
Prioridades de execução dos operadores.
Fonte: FORBELLONE; EBERSPACHER, 2005. (Adaptado).
- -29
Após estudar todos os operadores, o uso deles será colocado em prática com os exemplos dirigidos.
Exemplos dirigidos
1. Qual o valor lógico das expressões a seguir?
a. 4 < 5 AND 8 = 8.
Inicialmente, colocam-se parênteses, para que seja possível resolver as expressões:
(4 < 5) AND (8=8)
V AND V
V
Resultado: valor lógico (V).
b. 4 < 5 OR 8 = 8.
Inicialmente, colocam-se parênteses, para que seja possível resolver as expressões:
(4 < 5) OR (8 = 8)
V OR V
V
Resultado: valor lógico (V).
c. F AND 45/5 <> 90
Inicialmente, colocam-se parênteses, para que seja possível resolver as expressões:
F AND ((45/5) <> 90)
F AND (9 <> 90)
F AND V
F
Resultado: valor lógico (F).
d. NAO F OR 45/5 <> 90
Inicialmente, colocam-se parênteses, para que seja possível resolver as expressões:
(NAO F) OR ((45/5) <> 90)
V OR (9 <> 90) V OR V
V
Resultado: valor lógico (V).
Proposta de atividade
Agora é a hora de rever tudo o que você aprendeu neste capítulo! Elabore um algoritmo em pseudocódigo, que
calcule o salário líquido de um funcionário. Sabe-se que, para obter o salário líquido, devem-se ter os descontos de
INSS, abordando as principais ideias apresentadas ao longo do capítulo. Ao produzir seu algoritmo, considere as
leituras básicas e complementares realizadas.
PAUSA PARA REFLETIR
Com o uso dos operadores relacionais e lógicos, é possível que um programa de computador
possa ter vida própria a partir de uma entrada?
- -30
Recapitulando
Neste capítulo, foi introduzido o conceito de algoritmos na forma de pseudocódigo, com suas regras específicas
predefinidas. O pseudocódigo tende a auxiliar na transcrição ou na tradução do que se pretende programar em
uma linguagem de programação, diminuindo assim o tempo de programação.
No processo de construção de algoritmos, sugere-se separar as entradas (dados de entradas do sistema), o
processamento (cálculos a serem realizados) e a saída (informações a serem impressas), a fim de auxiliar na
codificação, resultando em uma assertividade nos valores obtidos com a execução do algoritmo.
Foi possível aprender a armazenar os dados obtidos mediante entradas específicas, por meio do comando <leia>
nas suas respectivas variáveis, que são espaços reservados na memória do computador, onde existem diversos
tipos de dados (real, inteiro, lógico, caractere) para o correto armazenamento, pois os programas tendem a
expandir-se, a fim de preencher a memória disponível. As variáveis devem seguir regras específicas para a sua
identificação, evitando, assim, variáveis com nome de palavras reservadas. Além da entrada, há o comando
<escreva>, que permite verificar a saída dos dados e informar o que deve ser informado.
Por fim, foi apresentada a utilização dos operadores aritméticos (soma, subtração, multiplicação, divisão e inversor
de sinal). Sobre o operador de inversão de sinal, é possível calcular o valor absoluto de um número negativo; o
valor absoluto de um número negativo é positivo. Estudou-se, também, os operadores relacionais (maior, menor,
diferente, maior igual, menor e igual e, por fim, o operador de igual) e os operadores lógicos ( , e ), que sãoAnd Or Not
um recurso indispensável no desenvolvimento de códigos. No estudo desses operadores, foi visto que, a partir das
entradas de valores nas variáveis, é possível realizar diversas comparações, as quais resultarão em valores lógicos
e, com esses valores, é possível tomar decisões de forma automática, ou seja, o programa pode ficar executando
suas funções pré-programadas por curto ou longo período de tempo.
Referências
ASCENCIO, A. F. G.; CAMPOS, E. A. V. . Fundamentos da Programação de Computadores 5. ed. São Paulo: Prentice
Hall, 2010.
DEITEL, H. M.; DEITEL, P. J. : como programar. 5. ed. São Paulo: Pearson Prentice Hall, 2006.C++
FORBELLONE, A. L. V.; EBERSPACHER, H. F. : a construção de algoritmos e estrutura deLógica de Programação
dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005.
MANZANO, J. A. N. G. : Linguagem C. 7. ed. São Paulo: Érica, 2005.Estudo Dirigido de Algoritmos
PUGA, S.; RISSETTI, G. – com aplicações em Java. 2. ed. São Paulo:Lógica de Programação e Estruturas de Dados
Pearson, 2003.
TANENBAUM, A. S.; BOS, H. . 4. ed. São Paulo: Pearson Education do Brasil, 2016.Sistemas Operacionais Modernos
	Objetivos do capítulo
	Tópicos de estudo
	Contextualizando o cenário
	4.1 Variáveis
	4.1.1 Definição de variáveis
	4.1.2 Tipos de variáveis
	4.1.3 Memória
	4.1.4 Exemplos dirigidos
	4.2 Instruções básicas
	4.2.1 Início e fim de um algoritmo
	4.2.2 Declaração
	4.2.3 Leitura e escrita
	Uma variável
	Lista de variáveis
	4.2.4 Exemplos dirigidos
	4.3 Operadores aritméticos
	4.3.1 Atribuição
	4.3.2 Soma e subtração ou inverso do sinal
	4.3.3 Multiplicação e divisão
	4.3.4 Resto
	4.4 Operadores relacionais e lógicos
	4.4.1 Igual e diferente
	4.4.2 Menor e menor igual
	4.4.3 Maior e maior igual
	4.4.4 Operação And, Or e Not
	Proposta de atividade
	Recapitulando
	Referências

Continue navegando