Buscar

unid_1 (1)

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 98 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 98 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 98 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

Autoras: Profa. Christiane Mázur Doi
 Profa. Fabíola Mariana Aguiar Ribeiro
Colaboradores: Prof. Pedro Frugoli
 Prof. José Carlos Morilla
Programação de 
Computadores
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Professoras conteudistas: Christiane Mázur Doi / 
Fabíola Mariana Aguiar Ribeiro
Christiane Mázur Doi 
Possui doutorado em Engenharia Metalúrgica e de Materiais pela Escola Politécnica da Universidade de São Paulo 
– USP (2005), mestrado em Tecnologia Nuclear pelo Instituto de Pesquisas Energéticas e Nucleares da USP (1998), 
aperfeiçoamento em Tópicos de Estatística pelo Instituto de Matemática e Estatística da USP (2012), graduação em 
Engenharia Química pelo Centro Universitário da FEI (1992) e licenciatura em Matemática pelo Centro Universitário 
Claretiano (2012). Realizou pesquisas nas áreas de Engenharia Nuclear (com ênfase em conversão, enriquecimento e 
fabricação de combustível nuclear) e de Engenharia de Materiais (principalmente em soldagem branda), com ênfase em 
Meio Ambiente. Tem experiência na produção de materiais didáticos e instrucionais. Atua, desde 1993, no magistério 
superior e é professora titular da Universidade Paulista (UNIP).
Fabíola Mariana Aguiar Ribeiro 
Possui doutorado em Astronomia pela USP (2006) e bacharelado em Física, com habilitação em Astronomia, pela 
mesma instituição (2001). Fez pós-doutorado em Astronomia também na USP de 2006 a 2008. Tem experiência na 
área de Astronomia e realizou pesquisa nos seguintes temas: variáveis cataclísmicas, discos de acresção, flickering 
e tomografia Doppler, incluindo a simulação de discos de acresção com vento e flickering. É professora titular da 
Universidade Paulista (UNIP).
© Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou 
quaisquer meios (eletrônico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem 
permissão escrita da Universidade Paulista.
Dados Internacionais de Catalogação na Publicação (CIP)
D657p Doi, Christiane Máur.
Programação de computadores. / Christiane Máur Doi, Fabiola 
Mariana Aguiar Ribeiro. – São Paulo: Editora Sol, 2017.
208 p., il.
Nota: este volume está publicado nos Cadernos de Estudos e 
Pesquisas da UNIP, Série Didática, ano XXIII, n. 2-105/17, ISSN 1517-9230.
1. Programação de computadores. 2. Variáveis. 3. Operadores. I. 
Fontes, Neisa Castells. II.Título.
CDU 614.4
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Prof. Dr. João Carlos Di Genio
Reitor
Prof. Fábio Romeu de Carvalho
Vice-Reitor de Planejamento, Administração e Finanças
Profa. Melânia Dalla Torre
Vice-Reitora de Unidades Universitárias
Prof. Dr. Yugo Okida
Vice-Reitor de Pós-Graduação e Pesquisa
Profa. Dra. Marília Ancona-Lopez
Vice-Reitora de Graduação
Unip Interativa – EaD
Profa. Elisabete Brihy 
Prof. Marcelo Souza
Prof. Dr. Luiz Felipe Scabar
Prof. Ivan Daliberto Frugoli
 Material Didático – EaD
 Comissão editorial: 
 Dra. Angélica L. Carlini (UNIP)
 Dra. Divane Alves da Silva (UNIP)
 Dr. Ivan Dias da Motta (CESUMAR)
 Dra. Kátia Mosorov Alonso (UFMT)
 Dra. Valéria de Carvalho (UNIP)
 Apoio:
 Profa. Cláudia Regina Baptista – EaD
 Profa. Betisa Malaman – Comissão de Qualificação e Avaliação de Cursos
 Projeto gráfico:
 Prof. Alexandre Ponzetto
 Revisão:
 Lucas Ricardi
 Carla Moro
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Sumário
Programação de Computadores
APRESENTAÇÃO ......................................................................................................................................................7
INTRODUÇÃO ...........................................................................................................................................................7
Unidade I
1 VARIÁVEIS .......................................................................................................................................................... 11
1.1 Definição .................................................................................................................................................. 11
1.2 Declaração de variáveis ..................................................................................................................... 12
1.3 Comandos de atribuição ................................................................................................................... 14
1.4 Constantes .............................................................................................................................................. 16
1.5 Exercícios ................................................................................................................................................. 16
2 OPERADORES .................................................................................................................................................... 22
2.1 Operadores aritméticos ...................................................................................................................... 22
2.2 Funções matemáticas ......................................................................................................................... 26
2.3 Operadores lógicos............................................................................................................................... 27
2.4 Operadores relacionais ....................................................................................................................... 31
2.5 Exercícios ................................................................................................................................................. 31
3 ALGORITMOS EM PORTUGUÊS ESTRUTURADO: ESTRUTURA BÁSICA ....................................... 42
3.1 Nomeando um programa.................................................................................................................. 42
3.2 Declaração de variáveis ..................................................................................................................... 43
3.3 Saída de dados ...................................................................................................................................... 44
3.4 Entrada de dados .................................................................................................................................. 46
3.5 Cálculos .................................................................................................................................................... 48
3.6 Exercícios ................................................................................................................................................. 51
4 ALGORITMOS EM PORTUGUÊS ESTRUTURADO: EXEMPLOS .......................................................... 61
4.1 Exemplos .................................................................................................................................................. 61
4.2 Exercícios ................................................................................................................................................. 74
Unidade II
5 DESVIOS CONDICIONAIS SIMPLES ........................................................................................................... 99
5.1 Definição e sintaxe .............................................................................................................................. 99
5.2 Exemplos ................................................................................................................................................100
5.3 Exercícios ...............................................................................................................................................111
6 DESVIOS CONDICIONAIS COMPOSTOS .................................................................................................117Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
6.1 Definição e sintaxe ............................................................................................................................117
6.2 Exemplos ................................................................................................................................................118
6.3 Exercícios ...............................................................................................................................................131
7 ESTRUTURAS DE REPETIÇÃO COM TESTE NO INÍCIO ......................................................................138
7.1 Definição ................................................................................................................................................138
7.2 Enquanto… faça ..................................................................................................................................139
7.3 Para… .......................................................................................................................................................140
7.4 Exemplos ................................................................................................................................................141
7.5 Exercícios ...............................................................................................................................................160
8 ESTRUTURA DE REPETIÇÃO COM TESTE NO FINAL ..........................................................................165
8.1 Repita… enquanto .............................................................................................................................165
8.2 Exemplos ................................................................................................................................................166
8.3 Exercícios ...............................................................................................................................................180
7
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
APRESENTAÇÃO
Caro aluno,
Este livro-texto é uma introdução à programação de computadores, com foco na lógica de 
programação. Como se trata de um texto introdutório, não faremos uso de uma linguagem de 
programação específica: usaremos o português estruturado para escrever os programas.
Inicialmente, estudaremos variáveis, constantes e comandos de atribuição. Também trataremos dos 
operadores, englobando os operadores aritméticos, matemáticos, lógicos e relacionais, e estudaremos a 
estrutura básica de algoritmos em português estruturado, cujos exemplos serão apresentados na sequência.
Trataremos ainda de desvios condicionais e de estruturas de repetição. Também abordaremos as 
estruturas condicionais simples, detalhando a sintaxe e discutindo exemplos. Na sequência, veremos os 
desvios condicionais compostos, também detalhando a sintaxe e discutindo exemplos. Encerraremos 
nosso material estudando estruturas de repetição, quando trataremos de estruturas de repetição com 
teste, sendo que também será discutida a sintaxe e serão analisados exemplos.
INTRODUÇÃO
O uso de computadores e programas de computador está tão arraigado em nosso dia a dia que não 
podemos mais imaginar a sociedade atual sem eles. Utilizamos computadores quando acessamos a 
internet de smartphones e quando realizamos uma operação bancária. São algoritmos que comandam 
os principais sinais de trânsito de uma cidade e o funcionamento do metrô. Estamos tão acostumados 
com os computadores que raramente nos perguntamos como eles surgiram.
A primeira máquina programável foi um tear, o tear programável, criado em 1801 por Joseph 
Jacquard. Nessa máquina, um desenho era feito em um cartão perfurado, e a máquina reproduzia esse 
desenho no tecido. 
Em 1822, Charles Babbage projetou uma máquina para o cálculo de funções, a máquina de 
diferenças. Em 1837, ele também projetou o engenho analítico, que usava cartões perfurados para 
receber comandos e instruções.
No período entre 1842 e 1843, Ada Lovelace apresentou um artigo sobre a máquina de Babbage, 
propondo um método para se calcular os números de Bernoulli – era o primeiro programa da história, o 
que fez com que Ada Lovelace fosse considerada a precursora da programação de computadores.
No ano de 1847, Boole desenvolveu a Teoria Booleana, usando apenas dois algarismos em vez dos 10 do 
sistema decimal. Na Teoria Booleana aplicada à informática, 1 representa ligado e 0 representa desligado.
A máquina de Hollerith foi desenvolvida em 1890 para agilizar a análise de dados obtidos do censo 
desse mesmo ano nos Estados Unidos. Os agentes do censo anotavam as informações da população não à 
caneta, mas perfurando um cartão de respostas que seria lido, posteriormente, pela máquina de Hollerith.
8
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Em 1896, Hollerith fundou a Tabulation Machine Company, que, em 1916, veio a mudar seu nome 
para International Business Machines, ou IBM.
Foi desenvolvido, em 1931, o primeiro computador usando lógica binária. Com a Segunda Guerra 
Mundial, os computadores foram usados principalmente para desencriptação de mensagens de inimigos.
Em 1944, foi criado o Mark I, pela Universidade de Harvard.
Alan Turing criou, em 1946, o Colossus, que deu início à primeira geração de computadores.
A primeira geração de computadores (1946-1959) fazia uso de válvulas eletrônicas, o que implicava 
a construção de computadores de grandes dimensões. O Eletrical Numerical Integrator and Calculator – 
Eniac, de 1946, pesava 30 toneladas.
A segunda geração de computadores (1959-1964) passou a usar transistores no lugar das válvulas, 
reduzindo suas dimensões, além de empregar circuitos impressos. Nessa geração, surgiu o IBM 7030, 
o primeiro supercomputador. Nessa época, surgiram as linguagens de programação: Fortran, Cobol, 
Algol60 etc. Antes dessas linguagens, os programas eram incorporados aos circuitos dos computadores 
e não podiam ser modificados.
A terceira geração de computadores (1964-1970) começou a fazer uso de circuitos integrados. É 
dessa geração o IBM 360/91, de 1967, pioneiro no uso de discos e fitas para o armazenamento de 
informações e na utilização de impressão em papel. Nessa geração, foi criada a linguagem Simula 
(1960), primeira linguagem a usar o conceito de classe.
A quarta geração de computadores (de 1970 até hoje) é marcada pelo surgimento de computadores 
pessoas e microprocessadores. É dessa geração o Altair 8800, de 1975, que cabia sobre uma mesa, 
ainda sem interface gráfica. Para esse computador, foi desenvolvida a linguagem de programação Altair 
Basic. Em 1976, foi criado o Apple I, primeiro computador pessoal e primeiro a ter interface gráfica 
(monitor). Em seguida, vieram o Lisa, de 1983, e o Machintosh, de 1984, pioneiros no uso de mouse, na 
estruturação dos arquivos em pastas, na utilização da área de trabalho e no emprego de menus. 
São linguagens de programação dessa quarta geração de computadores o Pascal e o Fortran (1970), 
a linguagem C (1972), o SQL (1978), a linguagem C++ (1980), com programação orientada a objetos e 
programação de sistemas, e o Perl (1987).
Na década de 1990, o uso de internet disseminou-se e isso se refletiu na programação, com o 
surgimento de Haskell, Python, Java, Ruby, Lua, ANSI Common Lisp, Java Script, PHP, C# e Java FX Script. 
Nos dias atuais, as dimensões dos computadores seguem em redução. Hoje, um celular tem uma 
capacidade de processamento superior àquela de um computador de uma década atrás.
9
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
 Saiba mais
Uma biografia de Alan Turing pode ser vista no filme:
O JOGO da imitação. Dir. Morten Tyldum. EUA: Black Bear Pictures, 2014. 
114 minutos.
Para mais detalhes sobre a história da computação, consulte:WAZLAWICK, R. S. História da computação. São Paulo: Elsevier, 2016.
11
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Unidade I
1 VARIÁVEIS
1.1 Definição
Uma variável é uma posição na memória do computador com a capacidade de receber um conteúdo, 
armazenar esse conteúdo e transmiti-lo ao ser acessada. Nas linguagens de programação modernas, uma 
parte da memória do computador é isolada da memória restante, de forma que o programa não tem 
acesso a toda a memória do computador. Em linguagens de programação mais antigas, uma atribuição 
errada de um valor na memória podia trazer danos irreversíveis.
Podemos entender a variável como uma caixa: ela pode receber um valor, guardar esse valor e 
fornecê-lo quando for necessário. Esse raciocínio também deixa clara a necessidade da ocorrência de 
variáveis de vários tipos, já que existem caixas distintas para armazenar diferentes tamanhos de objetos 
e existem variáveis de tipos distintos para armazenar conteúdos diversos.
As variáveis podem ser dos tipos a seguir:
• Inteiro: variáveis que armazenam números inteiros, ou seja, sem casas decimais, sejam eles 
positivos ou negativos. Os números 2, -3 e 0, por exemplo, podem ser armazenados em variáveis 
do tipo inteiro.
• Real: variáveis que armazenam números reais, ou seja, com casas decimais, sejam eles positivos 
ou negativos. Os números 2, 5 ou -3,14, por exemplo, podem ser armazenados em variáveis do 
tipo real.
• Booleana: variáveis que armazenam os valores verdadeiro (V) ou falso (F). Uma variável booleana 
pode ser usada para armazenar o resultado da expressão 3=2, por exemplo, o que retorna um 
valor falso (F).
• Char: variáveis que armazenam um único caractere, seja ele letra ou número. Uma variável do 
tipo char pode armazenar a letra A, a letra z ou o número 4.
• String: variáveis que armazenam uma sequência de caracteres. Uma variável do tipo string é 
indicada para armazenar os nomes dos funcionários de uma lista de pagamento de pessoal, por 
exemplo.
Note que podemos armazenar um número inteiro em uma variável do tipo real, mas não podemos 
armazenar um número real em uma variável do tipo inteiro. Fazendo analogia com caixas, podemos 
12
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
armazenar um objeto pequeno em uma caixa grande, mas uma caixa pequena não comportaria um 
objeto grande.
Dissemos que uma variável tipo string pode armazenar um número, mas não podemos fazer 
cálculos com esse número como fazemos em Matemática, pois, uma vez armazenado em uma 
variável do tipo string, o número é apenas o caractere que designa o número, não o número em si. 
Por exemplo, se armazenarmos o número 4 em uma variável do tipo inteiro, 4+1 resulta em 5. Se 
armazenarmos o número 4 em uma variável tipo char, a operação 4+1 resulta no elemento seguinte 
de uma tabela de caracteres.
A variável do tipo string seria uma sequência de variáveis do tipo char ou, em nosso paralelo com 
caixas, uma sequência de caixas colocadas lado a lado. Para apontar para dada posição da string (ou 
dada caixa na fileira de caixas), usa-se o conceito de apontador. O apontador dá uma posição na string.
1.2 Declaração de variáveis
Em português estruturado, devemos declarar as variáveis no início do programa, ou seja, devemos 
verificar quantas variáveis vamos usar e de quais tipos. Além disso, devemos atribuir nomes a elas. 
Fazendo a analogia com as caixas, seria como se, na declaração de variáveis, separássemos todas as 
caixas necessárias, dos tamanhos corretos e as etiquetássemos com nomes (veja a figura a seguir).
Figura 1 – A declaração de uma variável A pode ser entendida como a separação de uma caixa, etiquetada com o nome da variável
A declaração de variáveis é feita da seguinte forma em português estruturado:
VAR
 nome1: tipo;
 nome2: tipo; 
Vejamos um exemplo:
VAR
 n1: real;
 n2: real;
13
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
No exemplo, declaramos duas variáveis, n1 e n2, ambas do tipo real. Essa declaração também pode 
ser feita em uma única linha, já que as variáveis são do mesmo tipo, conforme segue:
VAR
 n1, n2: real;
Variáveis de tipos distintos não podem ser declaradas em uma única linha. Por exemplo, para declarar 
a variável x tipo real e a variável y tipo inteiro, devemos fazer:
VAR
 x: real;
 y: inteiro;
Note que fizemos uso do sinal ; (ponto e vírgula) no final da linha de declaração de variáveis, mas 
não após VAR. Usamos ; em português estruturado sempre que concluímos uma ideia. Após a palavra 
VAR, não foi concluída a declaração de variáveis; após a primeira linha, sim.
No exemplo anterior, a primeira linha da declaração de variáveis conclui a declaração da primeira 
variável: logo, é seguida de ponto e vírgula. A segunda linha conclui a declaração da segunda variável: 
portanto, também é encerrada com ponto e vírgula.
Existem algumas regras sobre os nomes das variáveis. Os nomes das variáveis podem estar em minúsculo 
ou em maiúsculo e, também, misturar maiúsculas e minúsculas. Os nomes ainda podem conter letras e 
números, mas não podem ser iniciados por números. Devemos tomar cuidado para não usar, para as 
variáveis, nomes já atribuídos para as funções – por exemplo, COS, reservado para cosseno, como veremos 
adiante. Para finalizar, o nome da variável deve ser formado por uma única “palavra”, o que não impede a 
junção de duas palavras de modo direto ou o uso do símbolo de traço baixo _ (underline).
Ocorre a diferenciação entre maiúsculas e minúsculas quando tratamos de nomes de variáveis; logo, 
as variáveis NOME, Nome e nome são três variáveis distintas.
Vejamos alguns exemplos.
Exemplo 1
Escreva a declaração das variáveis, em português estruturado, para armazenar os valores das notas 
de duas provas feitas por um aluno. Escreva outra variável para armazenar o cálculo da média aritmética 
das notas. Considere que as notas sejam dadas com uma única casa decimal.
Resolução:
Se as notas forem dadas com casas decimais, devemos usar variáveis do tipo real para armazenarmos 
seus valores. Como as variáveis são do mesmo tipo, podemos fazer sua declaração em uma única linha, 
conforme segue.
14
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
VAR
 Nota1, nota2, média: real;
Exemplo 2
Deseja-se escrever um programa, em português estruturado, que verifique se um número n1 dado é 
par ou ímpar. Escreva a declaração de variáveis para n1.
Resolução:
Como o conceito de par ou ímpar é relativo aos números inteiros, devemos atribuir uma variável do 
tipo inteiro para n1, conforme segue.
VAR
 n: inteiro;
Exemplo 3
Escreva a atribuição de variáveis para dois números reais, A e B, e para uma variável que armazene 
o resultado no caso de A e B serem iguais.
Resolução:
Como dito, A e B devem ser reais. A última variável, que dirá se A=B é verdadeiro ou falso, é do tipo booleana.
VAR
 A, B: real;
 C: booleana;
1.3 Comandos de atribuição
Usamos comandos de atribuição para armazenar valores em uma variável. Em português estruturado, 
isso pode ser feito de três formas distintas, conforme segue:
A=3
A←3
A:=3
Nessas três representações, o número três é armazenado na variável A. As três formas estão corretas, 
mas, para mantermos a coerência, usaremos a terceira forma neste livro-texto. O comando de atribuição 
é lido como “A recebe 3”.
15
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
A ordem do comando de atribuição deve ser sempre a seguinte:
variável – sinal de atribuição – valor
Note que, se invertêssemos a representação, estaríamos tentando atribuir a variável A ao valor 3 ou, 
em analogia às caixas, estaríamos tentando armazenar uma caixa dentro do objeto e não o contrário, o 
que está incorreto.
Na figura a seguir,temos uma representação de atribuição de valor a uma variável.
Figura 2 – Representação da atribuição do valor 7 à variável A
Podemos acessar um valor armazenado em uma variável, fazer um cálculo e armazenar esse novo 
valor novamente na variável. Isso é feito na sequência a seguir:
A:=3
A:=A+2
Na primeira linha, armazenamos, na variável A, o valor 3. Essa linha é lida como “A recebe 3”. Na 
segunda linha, tomamos o conteúdo da variável A – no caso, 3 –, somamos 2 e armazenamos o resultado 
desse cálculo novamente na variável A. Essa segunda linha é lida como “A recebe o conteúdo de A mais 2”. 
Nesse exemplo, a variável A termina armazenando o valor 5. Essa ideia é representada na figura a seguir:
Figura 3 – O número 3 é armazenado na variável A. Em seguida, “pega-se” o conteúdo da variável A, adiciona-se 2 e armazena-se o 
valor resultante novamente na variável A
16
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
1.4 Constantes
Assim como trabalhamos com variáveis ao longo de um programa, podemos trabalhar com valores 
constantes, por exemplo, o número p. Constantes são similares às variáveis, mas não têm seu valor 
alterado durante a execução do programa. O valor da constante faz parte do código: não é atribuído 
pelo usuário.
Para declararmos constantes em português estruturado, usamos CONST no lugar de VAR. No exemplo 
a seguir, declaramos a constante pi.
CONST
 pi: real;
A seguir, na estrutura do programa, devemos atribuir o valor a essa variável, fazendo, por exemplo,
PI:= 3,14;
 Saiba mais
Sobre o tema, leia os capítulos 3.2, 3.3 e 3.4 da obra a seguir:
MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: lógica para 
desenvolvimento de programação. 4. ed. São Paulo: Erica, 2004. 
Para saber mais sobre as variáveis na linguagem de programação C++, 
consulte o site: 
AS VARIÁVEIS em C++. DMM, maio 2017. Disponível em: <http://br.ccm.
net/faq/10120-as-variaveis-em-c>. Acesso em: 29 mar. 2017.
1.5 Exercícios
 
Questão 1. Considere as afirmativas a seguir, com possíveis nomes para variáveis:
I – Variável1.
II – 22casa.
III – nome do usuário.
IV – Aluno_1.
17
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
São nomes corretos para variáveis, apenas:
A) I e II.
B) I, II e IV.
C) II e IV
D) I e IV
E) II, III e IV.
Resposta correta: alternativa D.
Análise da questão
Os nomes de variáveis podem conter letras maiúsculas e minúsculas, além de números, mas não 
podem iniciar com números. Os nomes de variáveis devem ser formados por uma única “palavra”. 
Seguindo esses critérios, vemos que estão corretas apenas as afirmativas I e IV.
Questão 2. Qual o tipo de variável que pode armazenar o número 3?
I – inteiro.
II – real.
III – char.
IV – string.
É correto o que se afirma apenas em:
A) I.
B) I e II.
C) I, II e III.
D) II e IV.
E) I, II, III e IV.
Resposta correta: alternativa E.
18
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Análise da questão
Queremos armazenar o número 3 em uma variável. Como estamos tratando de um número inteiro, 
a escolha imediata seria uma variável do tipo inteiro. Podemos armazenar um número inteiro em uma 
variável real, mas estaríamos ocupando espaço de memória desnecessariamente, já que não temos 
casas decimais. Podemos armazenar o número 3 em uma variável char, mas sem a possibilidade de 
efetuarmos as operações matemáticas tradicionais. Em uma variável string, o número 3 também poderia 
ser armazenado, ocupando apenas a primeira posição da string.
Questão 3. Deseja-se escrever um programa, em português estruturado, que trabalhe com 3 
variáveis, x, y e z, em que x e y devem armazenar os valores das laterais de um retângulo (medidos em 
centímetros, com uma régua) e z deve armazenar o resultado da área dessa figura geométrica.
Qual alternativa contém a declaração correta das variáveis?
A) VAR
 x, y, z, real;
B) VAR 
 x, y, z, real;
C) CONST
 x, y, z;
D) VAR
 x, y, z;
E) VAR
 z=x*y: real;
Resposta correta: alternativa B.
Análise da questão
A declaração de variáveis é iniciada com a sigla VAR, o que já exclui a alternativa C. Na linha seguinte, 
se as variáveis são de mesmo tipo, vêm os seus nomes separados por vírgula, seguidos de dois pontos 
e do tipo de variável, finalizando-se com ponto e vírgula. A alternativa que contém corretamente esses 
critérios é a alternativa B.
Questão 4. Suponha que, em um programa em português estruturado, tenhamos o seguinte trecho:
A=7;
A=A+1;
19
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
A=0;
A=A+1;
Qual o valor final armazenado na variável A?
A) 7.
B) 0.
C) 8.
D) 1.
E) 9.
Resposta correta: alternativa D.
Análise da questão
A primeira linha atribui o valor 7 à variável A. Na segunda linha, o valor armazenado em A é acrescido de 
um e é armazenado novamente em A. Ou seja, A passa a armazenar o valor 8. Na linha seguinte, a variável 
A recebe o valor 0, que passa a ocupar o lugar do valor anterior. Na última linha, o conteúdo da variável A é 
aumentado de uma unidade e é armazenado novamente em A. Ou seja, o valor final na variável A é 1.
Questão 5. Considere o trecho de programa a seguir, escrito em português estruturado:
VAR 
 x,y: inteiro;
 p: booleano;
Com base nesse trecho, analise as afirmativas:
I – As variáveis x e y não podem armazenar valores com casas decimais.
II – O trecho é a declaração de variáveis do programa.
III – A variável p pode armazenar três valores distintos.
É correto o que se afirma apenas em:
A) I.
B) II.
20
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
C) III.
D) I e II.
E) II e III.
Resposta correta: alternativa D.
Análise das afirmativas
I – Afirmativa correta. 
Justificativa: as variáveis x e y são do tipo inteiro; logo, devem armazenar apenas valores inteiros, ou 
seja, sem casas decimais.
II – Afirmativa correta.
Justificativa: temos um trecho de programa que inicia por VAR e, nas linhas seguintes, apresenta os 
nomes de variáveis e o tipo. O trecho é, portanto, uma declaração de variáveis.
III – Afirmativa incorreta.
Justificativa: uma variável do tipo booleana pode assumir apenas os valores verdadeiro (V) ou falso (F).
Questão 6. Qual o tipo de variável mais adequado para armazenar a média semestral de um aluno? 
Essa média é a média aritmética das notas de duas provas, restritas a um valor entre 0 e 10.
A) Inteiro.
B) Real.
C) Char.
D) Booleano.
E) Imaginário.
Resposta correta: alternativa B.
Análise da questão
Como estamos tratando da média de dois valores (ou seja, da soma desses dois valores, dividida por 
2) e podemos considerar que notas de provas costumam ter valores decimais, o resultado da média pode 
ter valor decimal. Para armazenar um valor com casas decimais, devemos usar uma variável do tipo real.
21
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Questão 7. Qual tipo de variável é o mais indicado para armazenar o resultado da comparação 
relativa à nota final de um aluno ser maior do que 7 ou igual a 7?
A) Inteiro.
B) Real.
C) Char.
D) Booleano.
E) Imaginário.
Resposta correta: alternativa D.
Análise da questão
Temos, aqui, duas situações, conforme segue:
• A nota do aluno é maior do que 7 ou igual a 7 e a comparação é verdadeira.
OU
• A nota é inferior a 7 e a comparação é falsa.
Há apenas duas possibilidades: uma delas será verdadeira e a outra será falsa. Logo, a variável deve 
ser do tipo booleano.
Questão 8. Qual o significado da expressão a seguir, parte de um programa escrito em 
português estruturado?
x:=x+2b;
A) A variável x recebe os caracteres “2b”.
B) A variável x é atualizada duas vezes.
C) A variável x recebe o conteúdo da variável b multiplicado por 2.
D) A variável x recebeo seu conteúdo somado do dobro do conteúdo da variável b.
E) A variável x é apagada da memória, ocorre um espelhamento da variável 2b com a variável x.
Resposta correta: alternativa D.
22
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Análise da questão
No enunciado, temos um comando de atribuição, que pode ser interpretado como a variável x 
recebendo o resultado do cálculo à direita do sinal de atribuição. Nesse cálculo, o conteúdo da variável 
x é somado de duas vezes o conteúdo da variável b. Ou seja, a variável x recebe o seu conteúdo somado 
do dobro do conteúdo da variável b.
 
2 OPERADORES
Neste tópico, estudaremos os operadores utilizados em programação em português 
estruturado. Inicialmente, veremos os principais operadores aritméticos usados em cálculos 
matemáticos em programação.
2.1 Operadores aritméticos
São operadores algébricos os sinais de operações matemáticas simples. No capítulo anterior, 
fizemos uso do operador algébrico de adição, usando o sinal de +. No quadro a seguir, temos os 
demais operadores algébricos.
Quadro 1 – Operadores algébricos
Operador algébrico Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Potenciação ^
Raiz quadrada SQR
Quociente inteiro da divisão DIV
Resto inteiro da divisão MOD
Dessa forma, se desejamos calcular o produto entre dois números, devemos usar o símbolo * para 
multiplicação. Em português estruturado e em diversas linguagens de programação, o produto de 2 por 
3 é denotado como 2*3.
Para indicar potências, usamos o símbolo ^. Logo, 3 elevado ao quadrado (32) é indicado como 3^2. 
Temos duas formas para calcularmos a raiz quadrada. Podemos usar o operador algébrico SQR: logo, 
2 seria SQR(2) em português estruturado. Podemos usar, ainda, a seguinte identidade matemática:
a amn
m
n=
23
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Empregando essa identidade matemática, temos 2 2
1
2= , ou seja, 2^(1/2) em português estruturado. 
Note, aqui, a importância de colocarmos o expoente fracionário entre parênteses: se omitíssemos os 
parênteses, estaríamos calculando 2 elevado à primeira potência e dividindo o resultado por 2, o que 
não é o cálculo desejado. 
De acordo com a prioridade de cálculo, primeiramente calculam-se exponenciações; em seguida, 
calculam-se multiplicações e divisões; e, finalmente, calculam-se somas e subtrações. Essa prioridade 
pode ser alterada pelo uso de parênteses, como visto no caso da 2 .
Outros operadores algébricos são o DIV, que dá o resultado inteiro da divisão, e o MOD, que dá o 
resto inteiro da divisão. Para entendermos esses operadores, precisamos revisar a divisão entre números 
inteiros, por exemplo, 5 dividido por 2:
5
-4
1
2
2
Lembre-se de que estamos considerando apenas números inteiros: logo, não podemos usar casas 
decimais. Então, 5 dividido por 2 resulta em 2, com resto 1. Nesse caso, o resultado inteiro da divisão 
(5DIV2) é igual a 2, e o resto da divisão (5MOD2) é igual a 1:
5
-4
1
2
2
MOD
DIV
Figura 4 – Divisão ilustrando o resultado dos operadores algébricos DIV e MOD
Aplicações dos operadores DIV e MOD ocorrem em programas para classificar um número em par 
ou ímpar e em programas para determinar se um número dado é múltiplo de outro valor.
 Saiba mais
Para saber mais sobre operadores aritméticos na linguagem C, acesse: 
CASAVELLA, E. Operadores aritméticos em linguagem C. [s.d.]b. 
Disponível em: <http://linguagemc.com.br/operadores-aritmeticos-em-
linguagem-c/>. Acesso em: 29 mar. 2017.
Vejamos alguns exemplos.
24
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Exemplo 1
Como poderíamos escrever a expressão matemática 3 4
2
− para cálculo em um programa 
computacional?
Resolução:
Usando os operadores algébricos do quadro 1, temos que:
(3-4)/2
Note que, como a expressão 3-4 está no numerador da fração, ela precisa ser colocada entre 
parênteses na equação; caso contrário, estaríamos calculando a expressão 3
4
2
− .
Exemplo 2
Qual operador algébrico devemos usar para calcular o resultado inteiro da divisão de 6 por 2? Qual 
é o resultado desse cálculo?
Resolução:
Conforme o quadro 1, o operador algébrico que retorna o resultado inteiro da divisão entre dois 
números é o operador DIV. Temos, então, que:
6 DIV 2 = 3
Logo, dividindo-se 6 por 2, temos como resultado inteiro 3 e resto 0.
Exemplo 3
Qual operador algébrico devemos usar para calcular o resto da divisão de 13 por 2? Qual é o resultado 
desse cálculo?
Resolução:
Conforme o quadro 1, o operador algébrico que retorna o resto da divisão entre dois números é o 
operador MOD. Temos, então, que:
13 DIV 2 = 6
13 MOD 2 = 1
Logo, dividindo-se 13 por 2, temos como resultado inteiro 6 e resto 1.
25
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Exemplo 4
Como poderíamos escrever a expressão matemática 3
1
2 7
+
+
 para cálculo em um programa 
computacional?
Resolução:
O primeiro passo é escrevermos a expressão que está dentro do símbolo da raiz. Logo, temos:
3+1/(2+7)
Note que a expressão 2+7 está entre parênteses, pois ela se encontra no denominador.
O passo seguinte é escrever a raiz quadrada como uma potência de expoente fracionário:
a a=
1
2
Portanto, a expressão matemática fica:
(3+1/(2+7))^(1/2)
A fração do expoente deve estar entre parênteses, pois, caso contrário, estaríamos elevando a 
expressão à primeira potência e dividindo o resultado por 2, e não é esse o cálculo desejado.
Exemplo 5
Como poderíamos escrever a expressão matemática 2 2+ para cálculo em um programa 
computacional?
Resolução:
Seguiremos a mesma linha de raciocínio do exemplo anterior, escrevendo, inicialmente, a expressão 
que se encontra dentro do sinal de raiz quadrada:
=2+2^(1/2)
Então, elevamos essa expressão toda à potência ½:
=(2+2^(1/2))^(1/2)
Os cálculos realizados em Engenharia nem sempre se reduzem às operações matemáticas que 
apresentamos. Quando estudamos oscilações, por exemplo, é necessário o uso de funções periódicas, 
como seno ou cosseno.
26
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
2.2 Funções matemáticas
No quadro a seguir, apresentamos as principais funções matemáticas usadas em programação em 
português estruturado:
Quadro 2 – Principais funções matemáticas
Função Sintaxe
Cosseno COS(argumento)
Seno SEN(argumento)
Tangente TAN(argumento)
Exponencial de base e EXP(argumento)
Logaritmo neperiano LN(argumento)
Módulo ABS(argumento)
 Observação
O número e, também conhecido como número de Euler, é um 
número irracional, dado por e~2,71. A exponencial de base e é usada 
em Engenharia quando estudamos oscilações amortecidas, entre outras 
aplicações. A operação inversa da exponencial de base e (y=e^x) é o 
logaritmo neperiano (x=ln(y)).
Uma propriedade interessante da exponencial de base e é que ela é 
igual à sua derivada: 
d
dx
e ex x( ) =
Existem dois tipos de funções matemáticas em programação:
• As funções que, dado um valor de entrada (argumento), retornam um valor de saída.
• As funções que não necessitam de argumento para retornarem um valor de saída. 
As funções seno, cosseno e tangente são calculadas dando-se o argumento em radianos.
 Observação
Sabemos que meia volta no círculo trigonométrico equivale a 180º ou p 
radianos. Para converter um ângulo de graus para radianos, portanto, basta 
 
multiplicá-lo por 
π
180
.
27
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
 Observação
O módulo (ou valor absoluto) de um número é a representação de 
um número a menos de seu sinal, de forma que o módulo de qualquer 
número seja sempre positivo. Matematicamente, o módulo de um número 
x é dado por:
x x se x
x x se x
= >
= − <




,
,
0
0Vejamos um exemplo.
Exemplo
A equação da posição y(t) de um oscilador harmônico simples, não amortecido, em função do tempo, 
é dada por:
y(t)=A.cos(wt+f)
Na expressão, A é a amplitude, w é a frequência angular e f é a fase inicial do movimento. Considere 
que A, w e f sejam variáveis relativas a esses valores e que t seja a variável relativa ao tempo. Escreva a 
expressão matemática para o cálculo da posição e atribua o resultado do cálculo à variável y.
Resolução:
A expressão matemática pode ser escrita usando os operadores dos quadros 1 e 2:
A*cos(w*t+f)
Resta fazer a atribuição do resultado desse cálculo à variável y:
y:= A*cos(w*t+f)
2.3 Operadores lógicos
Os operadores aritméticos operam sobre números, e os operadores lógicos operam sobre valores 
booleanos, ou seja, sobre as condições de verdadeiro ou falso. O quadro a seguir apresenta os principais 
operadores lógicos.
28
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Quadro 3 – Principais operadores lógicos
Operador lógico Sintaxe no português estruturado Sintaxe na lógica booleana
Conjunção E ^
Disjunção OU V
Negação NÃO ¬
Para compreendermos os operadores lógicos, podemos pensar em frases verdadeiras e frases falsas. 
Uma frase verdadeira pode ser, por exemplo, “Estamos estudando programação”; uma frase falsa pode 
ser “Estamos estudando música medieval”.
Vejamos, no quadro a seguir, a tabela relativa ao operador lógico E.
Quadro 4 – Operador lógico E
A B A E B
V V V
V F F
F V F
F F F
Note que o operador E retorna verdadeiro apenas quando as duas condições são verdadeiras.
Para compreender o papel do operador E, vamos comparar duas frases verdadeiras: “Estamos 
estudando programação” E “Estamos estudando operadores lógicos”. A combinação dessas duas 
sentenças resulta em uma frase verdadeira.
Comparando uma sentença falsa e uma verdadeira, respectivamente, podemos pensar nas 
frases “Estamos estudando música medieval” E “estamos estudando programação”. A combinação 
das duas sentenças resulta em uma frase falsa, já que a primeira sentença é falsa e estamos usando 
um termo de conjunção.
Comparando duas sentenças falsas, podemos pensar nas frases “Estamos estudando música medieval” 
E “Estamos estudando economia”. A combinação das duas sentenças resulta em uma frase falsa, já que 
ambas as sentenças são falsas.
Vejamos, no quadro a seguir, a tabela relativa ao operador lógico OU.
Quadro 5 – Operador lógico OU
A B A OU B
V V V
V F V
29
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
F V V
F F F
Note que o operador OU retorna falso apenas quando as duas condições são falsas.
Para compreendermos o papel do operador OU, vamos comparar duas frases verdadeiras: “Estamos 
estudando programação” OU “Estamos estudando operadores lógicos”. A combinação dessas duas 
sentenças resulta em uma frase verdadeira.
Comparando uma sentença falsa e uma verdadeira, respectivamente, podemos pensar nas frases 
“Estamos estudando música medieval” OU “Estamos estudando programação”. A combinação das duas 
sentenças resulta em uma frase verdadeira, já que a segunda sentença é verdadeira e estamos usando 
um termo de disjunção (basta uma expressão ou outra ser verdade).
Comparando duas sentenças falsas, podemos pensar nas frases “Estamos estudando música medieval” 
OU “Estamos estudando economia”. A combinação das duas sentenças resulta em uma frase falsa, já que 
ambas as sentenças são falsas.
Vejamos, no quadro a seguir, a tabela relativa ao operador lógico NÃO.
Quadro 6 – Operador lógico NÃO
A NÃO A
V F
F V
O operador de negação inverte a condição: o que é falso tem, em sua negativa, uma condição 
verdadeira, e vice-versa.
Para compreendermos o papel do operador NÃO, vamos negar uma frase verdadeira: NÃO “Estamos 
estudando programação”, o que resulta em uma frase falsa. Da mesma maneira, vamos negar uma frase 
falsa: NÃO “Estamos estudando música medieval”, o que resulta em uma sentença verdadeira.
Quando tratamos de expressões lógicas, também temos uma hierarquia de “cálculo”, executando-se, 
primeiro, as negações (NÃO), seguindo-se as conjunções (E) e, por último, as disjunções (OU).
Vejamos alguns exemplos.
Exemplo 1
Avalie a seguinte expressão lógica:
V OU F E V
30
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Resolução:
Devemos partir da expressão dada e ir “simplificando”, como faríamos com uma expressão matemática: 
V OU F E V
A primeira expressão a ser calculada é a que envolve E, ou seja, falso E verdadeiro resulta em uma 
condição falsa (ver quadro 4):
V OU F E V
V OU F
Temos, então, uma disjunção, verdadeiro OU falso, o que resulta, pelo quadro 5, em uma 
expressão verdadeira:
V OU F
V
Logo, a expressão lógica dada resulta em uma condição verdadeira.
Exemplo 2
Avalie a seguinte expressão lógica:
V OU NÃO (V E F)
Resolução:
Devemos “resolver”, primeiramente, a parte entre parênteses, na qual temos uma conjunção. Do 
quadro 4, vemos que V E F resulta em F. Logo, temos que:
V OU NÃO (V E F)
V OU NÃO (F)
O passo seguinte é resolver a negação. A negação de algo falso é algo verdadeiro (ver quadro 6). Logo:
V OU NÃO (F)
V OU V
31
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Temos, finalmente, uma disjunção. Pelo quadro 5, vemos que V OU V resulta em V. Logo:
V OU V
V
 Saiba mais
Uma aplicação da lógica booleana, ou álgebra booleana, ocorre no 
estudo de circuitos digitais. Para mais informações, consulte: 
CHOUERI JUNIOR, S. et al. Circuitos digitais. São Paulo: Erica, 2002.
2.4 Operadores relacionais
Quando comparamos duas grandezas, devemos usar os operadores relacionais. Os principais 
operadores relacionais estão no quadro a seguir:
Quadro 7 – Operadores relacionais
Operador relacional Representação em português estruturado
Maior >
Menor <
Maior ou igual >=
Menor ou igual <=
Igual =
Diferente != ou <>
2.5 Exercícios
 
Questão 1. Desejamos escrever a expressão matemática 3 2
12
5
+ em um programa em português 
estruturado. Foram apresentadas as seguintes opções:
I – 3+2^5/12.
II – 3+(2^5)/12.
III – 3+2^(5/12).
Estão corretas apenas as opções:
A) I e II.
32
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
B) II e III.
C) I e III.
D) I.
E) II.
Resposta correta: alternativa A.
Análise da questão
As afirmativas I e II são corretas porque, para escrevermos a expressão matemática 3
2
12
5
+ , que será 
 
usada em um programa, devemos usar os operadores aritméticos (veja o quadro 1). A potenciação deve 
ser expressa com o símbolo “^” e a divisão, com o símbolo “/”. Temos, então,
3+2^5/12
Devemos também prestar atenção à ordem de cálculo. A potência é calculada primeiro e isso está de 
acordo com a expressão matemática. Poderíamos colocar o numerador da equação entre parênteses, o 
que frisaria o fato de a potência ser calculada primeiro.
3+(2^5)/12
As duas opções são representações corretas da fórmula matemática.
Já a afirmativa III é incorreta porque, nela, o expoente do número 2 é toda a expressão entre 
 
parênteses, ou seja, estamos calculando 3 2
5
12+ .
Questão 2. Considere a seguinte expressão:
a:=1+2*1+6/2-4;
Qual é o valor armazenado na variável a?
A) 0,5.
B) 1.
C) 1,5.
33
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
D) 2.
E) 2,5.
Resposta correta: alternativa D.
Análise da questão
A prioridade de cálculo é para as potências, seguida dos produtos e das divisões. Por último, são 
calculadas as somas e as subtrações. Seguindo-se essa ordem de prioridade de cálculo, como não temos 
potências, calculamos os produtos e as divisões:
a:=1+2*1+6/2-4;
a:=1+2+3-4;
Restam, então, apenas somas e subtrações. A ordem, nesse ponto, é indiferente. Assim, ficamoscom:
a:=1+2+3-4;
a:=3-1;
a:=2;
Questão 3. Considere a expressão a seguir:
a:=1+(2*1+6)/2-4;
Qual o valor armazenado na variável a?
A) 0,5.
B) 1.
C) 1,5.
D) 2.
E) 2,5.
Resposta correta: alternativa B.
34
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Análise da questão
A prioridade de cálculo é para as potências, seguida dos produtos e das divisões. Por último, 
são calculadas as somas e as subtrações. Porém, devemos calcular, primeiramente, as expressões 
entre parênteses.
Logo, seguindo essa ordem de prioridade de cálculo, calculamos o produto dentro dos parênteses, 
seguido da soma:
a:=1+(2*1+6)/2-4;
a:=1+(2+6)/2-4;
a:=1+(8)/2-4;
Em seguida, fazemos a divisão:
a:=1+(8)/2-4;
a:=1+4-4;
a:=1;
Questão 4. Considere a expressão matemática a seguir.
1 2+
Qual linha em português estruturado calcula essa expressão e armazena o valor na variável A?
A) A:=1+2^(1/2)^(1/2);
B) A:=1^(1/2)+2^(1/2);
C) A:=(1+2)^(1/2);
D) A:=(1+2^1/2)^(1/2);
E) A:=(1+2^(1/2))^(1/2);
Resposta correta: alternativa E.
35
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Análise da questão
O primeiro passo para escrevermos a expressão matemática como uma expressão em português 
estruturado é escrevermos a expressão de dentro da raiz quadrada, lembrando que calcular a raiz 
quadrada é o mesmo que elevar a meio:
1 2+
1+2^(1/2)
Em seguida, calculamos a raiz quadrada externa, considerando toda a expressão:
1 2+
(1+2^(1/2))^(1/2)
Note que os parênteses são necessários, pois, caso contrário, elevaríamos a meio apenas a outra 
potência meio, calculando 1 2+ .
Resta atribuir o resultado desse cálculo à variável A:
A:=(1+2^(1/2))^(1/2);
Questão 5. Um trecho de programa em português estruturado apresenta a seguinte expressão lógica:
V OU NÃO F
O resultado dessa expressão é:
A) V.
B) F.
C) 0.
D) 1.
E) erro.
Resposta correta: alternativa A.
36
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Análise da questão
Primeiramente, avaliamos a negação na expressão lógica. A negação de uma expressão falsa é uma 
expressão verdadeira. Logo: 
V OU NÃO F
V OU V
Temos, então, a disjunção entre duas expressões verdadeiras, o que resulta em verdadeiro (veja o 
quadro 5):
V OU V
V
Questão 6. Um trecho de programa em português estruturado apresenta a seguinte expressão lógica:
V OU NÃO F OU V
O resultado dessa expressão é:
A) V.
B) F.
C) 0.
D) 1.
E) erro.
Resposta correta: alternativa A.
Análise da questão
Primeiramente, avaliamos a negação na expressão lógica. A negação de uma expressão falsa é uma 
expressão verdadeira. Logo:
V OU NÃO F OU V
V OU V OU V
37
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Nessa etapa, é indiferente qual disjunção vamos determinar primeiro. Temos a disjunção entre duas 
expressões verdadeiras, o que resulta em verdadeiro (veja o quadro 5):
V OU V OU V
V OU V
V
Questão 7. Um trecho de programa em português estruturado apresenta a seguinte expressão lógica:
V E NÃO (F OU V)
O resultado dessa expressão é:
A) V.
B) F.
C) 0.
D) 1.
E) erro.
Resposta correta: alternativa B.
Análise da questão
Primeiramente, avaliamos o conteúdo dos parênteses. Temos uma disjunção entre uma expressão 
verdadeira e outra falsa, resultando em uma expressão verdadeira (veja o quadro 5):
V E NÃO (F OU V)
V E NÃO (V)
Partimos, então, para a negação na expressão lógica. A negação de uma expressão verdadeira é uma 
expressão verdadeira. Logo:
V E NÃO (V)
V E F
38
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Temos a conjunção entre uma expressão verdadeira e uma expressão falsa, o que resulta em falso 
(veja o quadro 4):
V E F
F
Questão 8. Um trecho de programa em português estruturado apresenta a seguinte expressão lógica:
NÃO (V E NÃO (F OU V)) OU F E V
O resultado dessa expressão é:
A) V.
B) F.
C) 0.
D) 1.
E) erro.
Resposta correta: alternativa A.
Análise da questão
Devemos começar analisando os parênteses mais internos, onde temos uma disjunção. Uma 
expressão falsa ou uma expressão verdadeira resulta em uma expressão verdadeira (veja o quadro 5):
NÃO (V E NÃO (F OU V)) OU F E V
NÃO (V E NÃO (V)) OU F E V
Temos uma negação na parte mais interna da expressão. A negação de uma expressão verdadeira é 
uma expressão falsa (veja o quadro 6):
NÃO (V E NÃO (V)) OU F E V
NÃO (V E F) OU F E V
Avaliamos novamente a expressão contida entre parênteses. A conjunção de uma expressão 
verdadeira e outra expressão falsa é uma expressão falsa (veja o quadro 5):
39
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
NÃO (V E F) OU F E V
NÃO (F) OU F E V
Calculamos, então, a negação. A negação de uma expressão falsa é uma expressão verdadeira (veja 
o quadro 6):
NÃO (F) OU F E V
V OU F E V
Temos aqui uma expressão com conjunção e disjunção. A prioridade de execução diz que devemos 
calcular primeiro a conjunção (E). Logo, temos a conjunção entre uma expressão falsa e outra verdadeira, 
resultando em uma expressão verdadeira:
V OU F E V
V OU V
Finalmente, temos a disjunção entre duas expressões verdadeiras, o que resulta em uma expressão 
também verdadeira (veja o quadro 4):
V OU V
V
Questão 9. Um trecho de programa em português estruturado apresenta a seguinte expressão lógica:
NÃO NÃO NÃO V E V
O resultado dessa expressão é:
A) V.
B) F.
C) 0.
D) 1.
E) erro.
Resposta correta: alternativa A.
40
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Análise da questão
Temos negações e uma conjunção. Devemos avaliar primeiro as negações.
Há uma sequência de negações e devemos avaliar as negações da direita para a esquerda. A negação 
de uma expressão verdadeira é uma expressão falsa (veja o quadro 6):
NÃO NÃO NÃO V E V
NÃO NÃO F E V
Da mesma forma, a negação de uma expressão falsa é uma expressão verdadeira (veja o quadro 6):
NÃO NÃO F E V
NÃO V E V
E, novamente,
NÃO V E V
F E V
Temos, finalmente, a conjunção. A conjunção entre uma expressão falsa e uma expressão verdadeira 
é uma expressão falsa (veja o quadro 4). Logo:
F E V
F
Questão 10. Considere a seguinte linha em um programa escrito em português estruturado:
B:=11MOD3;
Qual o valor atribuído à variável B?
A) 11.
B) 3.
C) 7.
D) 2.
41
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
E) 3,7.
Resposta correta: alternativa D.
Análise da questão
O operador MOD retorna o resto da divisão inteira. Dividindo-se 11 por 3, temos 3, mas com resto 
11-3.3=2. Logo, o valor atribuído à variável B é 2.
Note que a última alternativa apresenta o valor da divisão, mas não considerando a divisão inteira.
Questão 11. Considere a seguinte linha em um programa escrito em português estruturado:
B:=21 DIV 4;
Qual o valor atribuído à variável B?
A) 21.
B) 5.
C) 1.
D) 4.
E) 5,25.
Resposta correta: alternativa B.
Análise da questão
O operador DIV retorna o resultado inteiro da divisão. Dividindo-se 21 por 4 temos 5, mas com resto 
21-4.5=1. Logo, o valor atribuído à variável B é 5.
Note que a última alternativa apresenta o valor da divisão, mas não considerando a divisão inteira.
Questão 12. Considere a seguinte linha em um programa escrito em português estruturado:
B:=4 DIV 21;
Qual o valor atribuído à variável B?
A) 1.
42
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
B) 0.
C) 7.
D) 4.
E) 5,25
Resposta correta: alternativa B.
Resolução da questão
O operador DIV retorna o resultado inteiro da divisão. Dividindo-se 4 por 21 temos 0, mas com resto 
4. Logo, o valor atribuído à variável B é 5.
 
3 ALGORITMOS EM PORTUGUÊS ESTRUTURADO:ESTRUTURA BÁSICA
O algoritmo é uma forma de expressar um programa. Ele é o código do programa: logo, precisa 
ser escrito em alguma linguagem de programação. Nesse texto, adotaremos o português estruturado, 
também chamado de portugol, no qual se usa a estrutura de uma linguagem formal de programação, 
mas os comandos são escritos em português. A grande vantagem de se estudar algoritmos em português 
estruturado é que deixamos de focar na linguagem de programação em si e nos concentramos na lógica 
de programação.
3.1 Nomeando um programa
Um programa é uma série de instruções, dispostas em linhas para facilitar a leitura pelo ser humano.
Para escrever um programa em português estruturado, devemos iniciar com uma linha que dê nome 
ao programa, como no exemplo a seguir.
Programa nome
O nome do programa deve ser uma única “palavra”. Logo, se desejamos um nome composto, podemos 
simplesmente eliminar os espaços ou substituí-los pelo símbolo de traço baixo _ (underline), como no 
exemplo a seguir:
Programa nomedoprograma
Ou ainda:
Programa nome_do_programa
43
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
3.2 Declaração de variáveis
Na sequência, colocamos a declaração de variáveis, como já detalhamos anteriormente. Lembre-
se de que definimos o nome da variável e, em seguida, após o sinal de dois pontos, damos o seu 
tipo. Vejamos:
VAR 
 variável1: tipo;
 variável2: tipo;
Podemos, também, declarar em uma mesma linha variáveis do mesmo tipo:
VAR
 variável1, variável 2, variável 3: tipo;
Com isso, concluímos a primeira parte do programa. Em seguida, colocamos uma linha com a palavra 
Início para começar o corpo do programa:
Início
Segue-se, então, o corpo do programa, que é encerrado com a palavra FIM e um ponto final:
Fim.
Temos, então, a seguinte estrutura:
Programa nome_do_programa
VAR
 variável1: tipo;
 variável2: tipo;
Início
 <corpo do programa>
Fim.
A tabulação apresentada na declaração de variáveis irá aparecer em outras partes do programa. 
O programa não está errado sem a tabulação, mas ela facilita sua visualização. Aqui, podemos ver de 
forma clara o bloco que contém a definição das variáveis. O corpo do programa também é recuado de 
uma tabulação em relação à margem.
No corpo do programa fazemos entrada de dados, cálculos e saída de dados.
Uma maneira alternativa de representarmos um programa é sob a forma de um fluxograma. O 
fluxograma é uma representação gráfica da estrutura do programa e é importante para sua visualização.
44
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
O início e o fim do programa devem estar presentes no fluxograma, conforme os símbolos a seguir: 
Início Fim Início Fim
Figura 5 – Símbolos de fluxograma para início e fim de programas
A parte de declaração de variáveis não é considerada quando elaboramos um fluxograma.
O fluxo de dados em um fluxograma é representado por setas. Se seguirmos as setas do início até o 
fim, teremos a sequência de operações realizadas pelo programa.
3.3 Saída de dados
A saída de dados em português estruturado é feita pelo comando Escreva:
Escreva (A);
Nessa linha, é escrito na tela o valor contido na variável A.
Podemos, também, escrever uma frase na tela, usando o comando Escreva e passando como 
argumento a frase entre aspas:
Escreva (“Escreva essa frase na tela”);
Quando executamos essa linha, temos na tela o seguinte resultado:
Escreva essa frase na tela
Aqui, podemos usar espaçamentos. A frase será reproduzida na tela de forma idêntica ao escrito 
na linha.
Imagine que quiséssemos escrever na tela o conteúdo da variável A, mas, por engano, escrevemos 
no programa a linha a seguir:
Escreva (“A”);
Nesse caso, a saída na tela será apenas o caractere A.
Uma maneira alternativa de representarmos um programa é sob a forma de um fluxograma. O 
fluxograma é uma representação gráfica da estrutura do programa e é importante para sua visualização 
do programa.
45
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
A saída de dados é representada em um fluxograma pelo símbolo da figura a seguir:
"saída de dados" A
Figura 6 – Símbolos de fluxograma para saída de dados. No símbolo à esquerda, escreve-se a frase “saída de dados” na tela. No 
símbolo à direita, escreve-se na tela o conteúdo da variável A
 Saiba mais
O uso de fluxogramas não ocorre apenas em programação. O trabalho 
a seguir apresenta uma aplicação de fluxogramas em Engenharia de 
Produção:
GOMES, D. R.; SOUZA, S. D. C. de. Mapeamento do processo de produção 
em uma fábrica do polo de cerâmica vermelha do norte fluminense. In: 
ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO. Maturidade 
e desafios da Engenharia de Produção: competitividade das empresas, 
condições de trabalho, meio ambiente, 30., 2010, São Carlos. Anais... São 
Carlos: Enegep, 2010. Disponível em: <http://www.abepro.org.br/ biblioteca/
enegep2010_tn_stp_113_74515604.pdf>. Acesso em: 29 mar. 2017.
Vejamos um exemplo.
O exemplo a seguir é um programa em português estruturado que escreve na tela a sentença Olá!.
Programa meu_primeiro_programa
VAR
Início
 Escreva(“Olá!”);
Fim.
Note que não precisamos de variáveis. O programa fornecerá a seguinte saída na tela:
Olá!
Na figura a seguir é representado esse programa sob a forma de um fluxograma:
46
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Início
Fim
"Olá!"
Figura 7 – Fluxograma para escrever a frase “Olá!”
As setas no fluxograma fornecem o caminho do fluxo de dados. Alternativamente, podíamos incluir, 
dentro do símbolo de saída de dados, o comando Escreva, ficando com o fluxograma da figura a seguir. 
As duas formas são equivalentes.
Início
Fim
Escreva ("Olá!")
Figura 8 – Fluxograma para escrever a frase “Olá!”
3.4 Entrada de dados
A entrada de dados em português estruturado é feita pelo comando Leia:
Leia(variável);
Nessa linha, um valor digitado pelo usuário é armazenado na variável cujo nome está entre parênteses.
Para ficar claro ao usuário qual valor deve ser inserido no programa, é comum associarmos uma 
saída de dados com uma frase na tela seguida da entrada de dados, como no exemplo a seguir:
Escreva (“ Entre com raio do círculo;”);
Leia(R);
47
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Executando essas linhas, temos a seguinte mensagem na tela:
Entre com raio do círculo;
É aguardado, então, que o usuário digite um valor. Assim que o usuário digitar e pressionar enter, o 
valor é armazenado na variável R.
A entrada de dados é representada em um fluxograma pelo seguinte símbolo:
Leia (R)R
Figura 9 – Símbolos de fluxograma para entrada de dados. As duas formas apresentadas são equivalentes
O exemplo a seguir fará a leitura de um número inteiro dado pelo usuário e escreverá esse número 
na tela.
Programa número
VAR
 N:inteiro;
Início
 Escreva(“Entre com um número inteiro:”);
 Leia(N);
 Escreva(N);
Fim.
No programa, definimos a variável N, do tipo inteiro, para armazenar o número dado. Na primeira 
linha após o início do programa, escrevemos uma expressão na tela solicitando a entrada de um número 
inteiro. Na linha seguinte, é feita a leitura desse número, que é armazenado na variável N. Na linha 
seguinte, o conteúdo da variável N é escrito na tela.
48
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Esse programa pode ser representado pelo fluxograma da figura a seguir:
Leia (N)
Início
Fim
Escreva ("Entre com um número inteiro:")
Escreva (N)
Figura 10 – Fluxograma que recebe um número e imprime novamente esse mesmo número
Na simulação a seguir, vamos executar o programa e supor que o usuário forneça o número 5. Esse 
é o resultado na tela da execução do programa:
Entre com um númerointeiro:
 5
 5
3.5 Cálculos
Em um programa em português estruturado, cálculos são feitos usando-se os operadores aritméticos 
e as funções matemáticas descritas no capítulo anterior. É importante que o resultado do cálculo seja 
armazenado em uma variável ou seja impresso como saída.
Em um fluxograma, um cálculo ou processamento é expresso pela forma de um retângulo, como 
visto a seguir, na estrutura para cálculo em um fluxograma. Nesse cálculo, a variável A recebe o dobro 
do valor contido na variável R.
Vejamos um exemplo.
49
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
O programa a seguir recebe um número inteiro e retorna o triplo desse número:
Programa triplo
VAR
 N, triplo: inteiro;
Início
 Escreva(“Entre com um número inteiro:”);
 Leia(N);
 triplo:=3*N;
 Escreva(triplo);
Fim. 
Esse programa é representado pelo fluxograma a seguir:
Leia (N)
Início
Fim
Escreva ("Entre com um número inteiro:")
Escreva (triplo)
triplo:=3*N
Figura 11 – Fluxograma que, dado um número, retorna o seu triplo
Note, no fluxograma, que o cálculo é efetuado dentro da figura de um retângulo. O resultado do 
cálculo é atribuído à variável triplo.
50
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Podemos escrever o programa unindo o cálculo e a saída de dados, como ilustrado a seguir:
Programa triplo
VAR
 N: inteiro;
Início
 Escreva(“Entre com um número inteiro:”);
 Leia(N);
 Escreva(3*N);
Fim.
Com essa estratégia, usamos uma variável a menos. Usar menos variáveis pode implicar em menor 
tempo de processamento. Veja que o cálculo do triplo de N é feito dentro do comando Escreva.
O fluxograma correspondente a esse programa é dado na figura a seguir:
Leia (N)
Início
Fim
Escreva ("Entre com um número inteiro:")
Escreva (3*N)
Figura 12 – Fluxograma que, dado um número, retorna o seu triplo
Podemos, ainda, escrever o programa em português estruturado e o fluxograma de forma mais 
enxuta, omitindo o trecho que escreve a mensagem solicitando a entrada de dados. Com isso, o programa 
não está errado, mas fica menos amigável para o usuário do programa.
51
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
 Saiba mais
Sobre o tema, leia o capítulo 3.7 da obra a seguir:
MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: lógica para 
desenvolvimento de programação. 4. ed. São Paulo: Erica, 2004. 
Uma linguagem de programação bastante intuitiva é o Python. Um 
manual de programação em Python está disponível em: 
PYTHON BRASIL. Aprendaprogramar. 2012. Disponível em: <https://
wiki.python.org.br/ AprendaProgramar>. Acesso em: 8 maio 2017.
3.6 Exercícios
 
Questão 1. Considere as seguintes linhas de um programa em português estruturado:
I – Programa teste
II – Programa teste_exercício
III – Programa preliminar exercício
IV – Programa “teste”
Contêm estruturas corretas para a atribuição do nome de um programa os itens:
A) I e II, apenas.
B) I e III, apenas.
C) II e III, apenas.
D) IV, apenas.
E) I, II e III.
Resposta correta: alternativa A.
52
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Análise das afirmativas
I – Afirmativa correta.
Justificativa: na primeira linha de um programa em português estruturado, devemos definir o nome 
do programa. Isso é feito colocando-se a palavra Programa seguida do nome do programa, expresso 
em uma única “palavra”.
II – Afirmativa correta.
Justificativa: se necessitarmos usar um nome composto, devemos unir as partes do nome ou usar o 
símbolo de underline “_” entre os nomes. 
III – Afirmativa incorreta.
Justificativa: não podemos usar duas palavras separadas como nome de um programa.
IV – Afirmativa incorreta.
Justificativa: o nome do programa não pode ser dado entre aspas. O uso de aspas ocorre dentro do 
comando de saída de dados, quando desejamos que a saída de dados seja um texto, e não o conteúdo 
de uma variável.
Questão 2. Analisando a declaração de variáveis de três programas distintos, um aluno encontrou 
o seguinte:
I. VAR
 R: inteiro;
II. VAR
 R, i: inteiro;
III. VAR
 R: real;
 I: inteiro;
Dessas declarações de variáveis, pode-se dizer que se usam duas variáveis do mesmo tipo apenas em:
A) I.
B) II.
C) III.
53
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
D) I e II.
E) II e III.
Resposta correta: alternativa B.
Análise das afirmativas
I – Afirmativa incorreta.
Justificativa: nessa declaração de variáveis, temos apenas uma variável, R.
II – Afirmativa correta.
Justificativa: nessa declaração de variáveis, temos duas variáveis, R e i, ambas do tipo inteiro.
III – Afirmativa incorreta.
Justificativa: nessa declaração de variáveis, temos duas variáveis, R e i, sendo R do tipo real e i do 
tipo inteiro. Logo, são duas variáveis de tipos diferentes.
Questão 3. Em um trecho de um programa em português estruturado, deseja-se fazer a entrada de 
uma variável. Essa variável deve chamar-se N e conter o número de alunos matriculados em um curso. 
A entrada de dados é feita de forma correta em:
A) Leia (N: inteiro);
B) Receba (N);
C) Leia (N);
D) Leia (“número de alunos matriculados”);
E) N:=”número de alunos matriculados”;
Resposta correta: alternativa C.
Análise da questão
A entrada de dados em português estruturado é feita pelo comando Leia, seguida do nome da 
variável que vai armazenar o valor, entre parênteses. A linha é encerrada com ponto e vírgula.
54
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Nesse caso, a forma correta seria:
Leia (N);
Note que o tipo de variável é usado na declaração de variáveis e não na entrada de dados.
Questão 4. Considere o trecho de um programa escrito em português estruturado a seguir:
Escreva (2*R+3);
Esse trecho representa:
A) Uma declaração de variáveis.
B) Uma entrada de dados, em que o valor dado é armazenado na variável R.
C) Uma entrada de dados, em que, do valor dado, calcula-se o dobro, soma-se 3 e armazena-se o 
resultado na variável R.
D) Uma saída de dados, em que se escreve na tela o valor da variável 2*R+3.
E) Uma saída de dados, em que se escreve na tela o dobro do valor de R somado de 3.
Resposta correta: alternativa E.
Análise da questão
O comando Escreva é usado para realizar uma saída de dados. Se após o comando, temos, entre 
parênteses, apenas o nome de uma variável, a saída é o conteúdo dessa variável. Se temos uma expressão 
entre parênteses, essa expressão é escrita na tela. Se temos uma expressão matemática, contendo ou 
não variáveis, o resultado numérico dessa expressão é escrito na tela.
Questão 5. Considere o programa em português estruturado a seguir, com a numeração das linhas 
à esquerda:
1 Programa teste
2 VAR
3 N, i: inteiro;
4 Início
5 Escreva (“entre com um número inteiro”);
55
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
6 Leia (N);
7 i:=N+1;
8 Escreva(2*i);
9 Fim.
A declaração de variáveis é feita apenas na(s) linha(s):
A) 1.
B) 2 e 3.
C) 1, 2 e 3.
D) 4.
E) 6.
Resposta correta: alternativa B.
Análise da questão
A declaração de variáveis é feita com o comando VAR em uma linha. Nas linhas seguintes, coloca-
se o nome da variável, seguido de dois pontos, o tipo da variável e ponto e vírgula. Se tivermos mais de 
uma variável do mesmo tipo, elas podem ser declaradas em uma mesma linha, separadas por vírgula, 
seguidas de dois pontos, do tipo da variável e, finalmente, de ponto e vírgula. Essa estrutura está presente 
nas linhas 2 e 3 do programa.
Questão 6. Considere o programa em português estruturado a seguir, com a numeração das linhas 
à esquerda:
1 Programa teste
2 VAR
3 N, i: inteiro;
4 Início
5 Escreva (“entre comum número inteiro”);
56
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
6 Leia (N);
7 i:=N+1;
8 Escreva(2*i);
9 Fim.
Ocorre saída de dados apenas na(s) linha(s):
A) 8.
B) 5 e 8.
C) 5.
D) 9.
E) 7.
Resposta correta: alternativa B.
Análise da questão
A saída de dados é feita pelo comando Escreva. Se após esse comando tivermos uma frase entre 
parênteses, essa frase é escrita na tela. Se tivermos uma variável ou um cálculo, o conteúdo dessa 
variável ou o resultado do cálculo é escrito na tela.
Na linha 5, a expressão “entre com um número inteiro” é escrita na tela, seguida da entrada de 
dados. Mesmo que essa expressão anteceda a entrada de dados, ela é uma saída, já que exterioriza um 
dado do programa (no caso, uma frase).
Na linha 8, temos, como saída, o resultado do conteúdo da variável i multiplicado por 2.
57
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Questão 7. Qual das estruturas de fluxogramas a seguir representa uma entrada de dados?
A
A
Leia(A)
I.
II.
III.
Figura 13 
É correto o que se afirma apenas em:
A) I.
B) II.
C) III.
D) I e II.
E) II e III.
Resposta correta: alternativa E.
Análise da questão
A entrada de dados em um fluxograma é representada por um trapézio, no qual a base maior está 
na parte superior (veja a figura 9). Nessa figura, deve estar o nome da variável que receberá o valor 
fornecido como entrada ou, ainda, o comando Leia seguido do nome da variável entre parênteses. 
Temos essas figuras nas afirmativas II e III.
58
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Questão 8. Considere o fluxograma a seguir, com as figuras numeradas:
Leia (N)
Início
Fim
Escreva ("Entre com um número inteiro:")
Escreva (3*N)
(1)
(2)
(3)
(4)
(5)
Figura 14 
Representa uma entrada de dados a figura:
A) (1).
B) (2).
C) (3).
D) (4).
E) (5).
Resposta correta: alternativa C.
Análise da questão
A entrada de dados é representada pelo trapézio com a base superior maior, o que ocorre na figura 
(3) do fluxograma.
59
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Questão 9. Considere o fluxograma a seguir, com as figuras numeradas:
Leia (N)
Início
Fim
Escreva ("Entre com um número inteiro:")
Escreva (3*N)
(1)
(2)
(3)
(4)
(5)
Figura 15
Representa uma saída de dados apenas a(s) figura(s):
A) (1) e (5).
B) (2).
C) (3).
D) (4).
E) (2) e (4).
Resposta correta: alternativa E.
Análise da questão
A saída de dados é representada pelo paralelogramo, figura que ocorre nas posições (2) e (4) do fluxograma. 
60
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
Questão 10. Considere o fluxograma a seguir, com as figuras numeradas:
N
Início
Fim
"Entre com um número inteiro:"
3*N
(1)
(2)
(3)
(4)
(5)
Figura 16
O trecho de programa em português estruturado que melhor representa o item 4 da figura anterior é:
A) Escreva(3*N)
B) Escreva(3*N);
C) Escreva(“3*N”);
D) Escreva(3*”N”);
E) N:=3*N;
Resposta correta: alternativa B.
Análise da questão
O item 4, um paralelogramo, corresponde a uma saída de dados. A saída de dados em português 
estruturado é feita pela instrução Escreva, seguida, entre parênteses, de uma frase entre aspas, de uma 
variável ou de uma expressão numérica. No item 4, temos, dentro da figura de saída de dados, a expressão 
3*N, ou seja, o conteúdo da variável N é multiplicado por 3. Logo, o trecho correspondente seria:
Escreva (3*N);
61
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Note que, ao terminarmos a instrução, precisamos acrescentar o sinal de ponto e vírgula no final da linha.
 
4 ALGORITMOS EM PORTUGUÊS ESTRUTURADO: EXEMPLOS
Traremos agora alguns exemplos de programas, discutindo o algoritmo e apresentando o programa 
em português estruturado e o fluxograma.
4.1 Exemplos
Exemplo 1
Dados dois números reais, escreva um programa em português estruturado e um fluxograma que 
realize a soma desses dois números.
Resolução:
Devemos trabalhar com duas variáveis do tipo real, N1 e N2. Podemos incluir uma terceira variável, 
soma, também real, para armazenar o resultado da soma. Note que há distinção entre maiúsculas e 
minúsculas no programa: logo, as variáveis n1 e N1 são distintas.
O programa em português estruturado é o que segue:
Programa soma
VAR
 N1, N2, soma: real;
Início
 Escreva(“Entre com dois números reais.”);
 Leia(N1,N2);
 soma:=N1+N2;
 Escreva(“A soma é”, soma);
Fim.
Note que na última saída de dados é escrita a frase “A soma é” na tela, seguida do valor contido na 
variável soma. Esse formato de saída não é obrigatório: escrever apenas o conteúdo da variável soma 
seria suficiente, mas essa é uma forma mais completa. A vírgula nessa última linha de saída de dados 
visa separar as duas saídas de dados, a frase e o conteúdo da variável, e não é impressa na tela.
62
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
O fluxograma correspondente a esse programa é apresentado na figura a seguir:
Leia (N1, N2)
Início
Fim
Escreva ("Entre com dois números reais.")
Escreva ("A soma é", soma)
soma:=N1+N2
Figura 17 – Fluxograma de um algoritmo para calcular a soma de dois números dados
 Lembrete
No fluxograma, não é necessário fazer a declaração de variáveis. Logo, 
não há distinção entre o fluxograma de um algoritmo que calcula a soma 
de dois números reais e o fluxograma de um algoritmo que calcula a soma 
dois números inteiros.
Uma forma de verificarmos se o programa está correto é fazemos simulações. Vamos agir como se 
estivéssemos executando o programa linha a linha e analisar a evolução dos valores das variáveis. Vamos 
simular o programa para N1 = 1 e N2 = 2. Esperamos que o programa, se correto, retorne o resultado 3.
Na declaração de variáveis, temos as variáveis N1, N2 e soma. Vamos criar uma tabela com essas variáveis:
Tabela 1 
N1 N2 soma
63
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
PROGRAMAÇÃO DE COMPUTADORES
Agora, há a execução da seguinte linha:
Escreva (“Entre com dois números reais.”);
Temos a seguinte mensagem na tela do computador:
Entre com dois números reais.
Em seguida, ocorre a entrada dos valores:
Leia (N1,N2);
O usuário digita, então, os números 1 e 2. Note que a primeira variável lida é N1, seguida por N2. 
Colocamos esses valores na tabela da simulação
1
2
Tabela 2 
N1 N2 soma
1 2
A linha seguinte do programa faz o cálculo da soma:
soma:=N1+N2;
Realizamos esse mesmo cálculo com os valores contidos na tabela:
Tabela 3 
N1 N2 soma
1 2 1 + 2 = 3
A variável soma passa a conter o valor 3.
Temos a saída de dados:
Escreva (“A soma é”, soma);
Nessa saída, o conteúdo da variável soma é escrito na tela. A saída do programa é, portanto, a frase:
A soma é 3
64
Re
vi
sã
o:
 L
uc
as
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 3
1/
05
/1
7
Unidade I
O uso de tabelas é uma forma de manter a simulação organizada. Aqui, temos um programa simples, 
em que apenas um cálculo foi efetuado, mas o emprego de tabelas em simulações será fundamental 
quando estudarmos estruturas de repetição.
Exemplo 2
Faça um programa em português estruturado e um fluxograma que calcule o triplo de um 
número dado.
Resolução:
Nesse algoritmo, devemos fornecer um número para o programa, que vai retornar o triplo desse 
número, ou seja, o número multiplicado por 3.
Faremos o uso de uma variável para conter o número e de outra variável para armazenar o resultado 
do cálculo, N e triplo, respectivamente. 
Nada foi dito sobre o tipo de número fornecido, então devemos considerar que o número é real, já 
que o conjunto dos números reais contém o conjunto dos números inteiros.

Outros materiais