Buscar

3 - Logica Aritimética

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

ETERJ 
Lógica Aritmética 1 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
LÓGICA E ARITMÉTICA 
 
INTRODUÇÃO 
 
Aritmética 
Palavra de origem grega, significando a aptidão de contar, tendo como propriedades 
fundamentais a Adição e Subtração. 
É o estudo dos números, das relações entre eles e das regras para combinações de dois ou mais 
números. 
Desenvolveu-se sob as pressões das necessidades práticas do comércio, das finanças e da 
astronomia. 
Este termo é usado não só para designar relações numéricas simples, mas também teorias mais 
complexas e abstratas. 
 
ALGARISMOS E NÚMEROS 
Algarismos são símbolos utilizados na composição dos números. Os algarismos utilizados são: 
0,1, 2, 3, 4, 5, 6, 7, 8 e 9. 
Os algarismos têm seu valor próprio, quando estão escritos isoladamente. Por exemplo o 
algarismos “7” tem o seu valor, sendo maior do que o algarismo “3”. 
Porém se estes mesmos algarismos estiverem sendo utilizados na composição de um número, o 
valor significativo de cada um será determinado pela posição que o mesmo ocupara na composição do 
número. (Lógica posicional) 
Assim, apesar do algarismo “3” ter o valor próprio menor do que o algarismo “7”, no número 3753, 
ele apresentará dois valores distintos, sendo que o “3” que ocupa a posição de milhar do número terá 
um valor significativo maior do que o “7” que ocupa a posição de centena do número. 
Assim o número 3753, pode ser decomposto da seguinte maneira: 
3 x 103 + 7 x 102 + 5 x 101 + 3 x 100 = 3 x 1000 + 7 x 100 + 5 x 10 + 3 x 1 = 3753 
 
 3 x 103 = 3 x 1000 = 3000 
 7 x 102 = 7 x 100 = 700 
 5 x 101 = 3 x 10 = 50 
 3 x 100 = 3 x 1 = 3 
 _____________________ 
 3753 
 
 
 
 
 
 
 
 
 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 2 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
OPERADORES ARITMÉTICOS 
É comum necessitarmos realizar cálculos matemáticos com as informações que estamos 
manipulando. Para isso, é necessário sabermos qual a representação dos símbolos de operações 
matemáticas. Vejamos: 
Usaremos o (*) asterístico como operador de multiplicação e a (/) barra como operador de 
divisão, símbolos normalmente utilizados em programação. 
 
Operador Operação Exemplo 
+ Adição 10 + 15 
- Subtração 20 – 10 
* Multiplicação 3 * 5 
/ Divisão (o resultado será um número real) 5 / 2 = 2,5 
\ ou DIV Divisão (o resultado será um inteiro) 
10 div 2 = 5 
7 div 2 = 3 
% ou MOD Resto de uma divisão 7 mod 2 = 1 
^ ou exp (a, b) Exponenciação 5 ^ 2 ou exp(5, 2) 
 
Da mesma maneira que estudamos na escola, algumas operações têm prioridade sobre as 
outras. A potenciação tem a maior prioridade entre todos os operadores. 
Multiplicação e divisão devem ser operadas antes da adição e subtração. Assim, na expressão 3 
+ 2 * 5, primeiro operamos o 2 * 5, e somamos o resultado com 3 para obtermos 13. 
Para mudar a ordem das operações, usamos parênteses, o que estiver entre parênteses será 
operado primeiro. Por exemplo: (3 + 2) * 5, primeiro operamos o 3 + 2, porque está entre parênteses, e 
depois o resultado desta operação será multiplicado com 5 para obter 25. 
Quando na expressão só houverem operações com a mesma prioridade, a avaliação é feita 
normalmente da esquerda para a direita. 
Exemplo: 
 
( 3 + 5 ) * ( 4 * ( 10 -7 ) ) / 2 Opera-se o que estiver nos parênteses 
mais internos 
( 3 + 5 ) * ( 4 * 3 ) / 2 Operam-se os dois parênteses que 
restaram 
8 * 12 / 2 Só há * e / -, então opera-se da 
esquerda para a direita 
96 / 2 
 
 
48 
 
Resultado final 
 
 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 3 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
OPERADORES RELACIONAIS 
Além de operações matemáticas, é freqüente nossa necessidade em comparar informações. Por 
exemplo: Se média for maior ou igual a 7. Para isso, utilizamos operadores relacionais. 
 
Operador Relação 
= Igualdade 
 =/= ou  ou <> Diferente 
> Maior que 
 ou >= Maior ou igual que 
< Menor que 
 ou <= Menor ou igual que 
 
Exemplo: 
 
Nome 
S
ím
b
o
lo
 
 
Exemplos 
 
Resultado 
Igual a = 3 = 3 
2 + 2 = 5 
Verdadeiro 
Falso 
 
Nome 
S
ím
b
o
lo
 
 
Exemplos 
 
Resultado 
Diferente de 
 
<> 
 
140 <> 410 
(10+5) <> (30/2) 
Verdadeiro 
Falso 
Maior que 
 
> 
 
0 > -1 
345 > ((3 +1)*100) 
Verdadeiro 
Falso 
Maior ou igual que >= 13 >= 7 + 6 
77 >= 40 * 2 
Verdadeiro 
 Falso 
Menor que < 3 < 7 
77 < 20 * 2 
Verdadeiro 
 Falso 
Menor ou igual que <= 3 <= 7 - 4 
77 <= 25 * 4 
Verdadeiro 
 Falso 
 
 
 
 
 
 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 4 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
OPERADORES LÓGICOS 
É freqüente precisarmos analisar expressões lógicas, aquelas que só possuem dois valores 
possíveis: Verdadeiro ou Falso. Os operadores usados em expressões lógicas são os Operadores 
Lógicos. Veja: 
 
Operador Relação 
E (And) E lógico 
Ou (Or) Ou lógico 
Não (Not) Negação lógica 
Ou-X (Xor) Ou ‘Exclusivo’ 
 
 
E RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS. 
OU BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO. 
NÃO INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA. 
OU-X 
RETORNA VERDADEIRO SE AS PARTES FOREM DIFERENTES E FALSO SE 
FOREM IGUAIS 
 
Tabela Verdade 
Veja a seguinte tabela para entender melhor os operadores lógicos. 
 
A B A e B A ou B NÃO A A ou-X B 
F F F F V F 
F V F V V V 
V F F V F V 
V V V V V F 
ETERJ/NOVO RIO 
Lógica Aritmética: 5 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
EXPRESSÕES LÓGICAS 
 
As expressões compostas de relações sempre retornam um valor lógico. 
 
Exemplos: 
2+5>4 Verdadeiro 3<>3Falso 
 
De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos. 
 
Exemplos: 
 
 2+5>4 E 3<>3  Falso 
 
 
 
 
 
 
 
 
 2+5>4 OU 3<>3  Verdadeiro 
 
 
 
 
 
 
 
 
 NÃO(3<>3)  Verdadeiro 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
V F 
F 
 E 
V F 
V 
OU 
F 
V 
 NÃO 
ETERJ/NOVO RIO 
Lógica Aritmética: 6 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
PRIORIDADE DE OPERADORES: 
 
Durante a execução de uma expressão que envolve vários operadores, é necessário à existência 
de prioridades, caso contrário poderemos obter valores que não representam o resultado esperado. 
 
A maioria das linguagens de programação utiliza as seguintes prioridades de operadores: 
1º - Efetuar operações embutidas em parênteses "mais internos" 
2º - Efetuar Funções 
3º - Efetuar multiplicação e/ou divisão 
4º - Efetuar adição e/ou subtração 
5º - Operadores Relacionais 
6º - Operadores Lógicos 
 
OBS: O programador tem plena liberdade para incluir novas variáveis, operadores ou funções 
para adaptar o algoritmo as suas necessidades, lembrando sempre, de que, estes devem ser 
compatíveis com a linguagem de programação a ser utilizada. 
 
EXERCÍCIO: 
1) Com base no que mencionado acima, responda as perguntas a seguir: 
a) Na expressão A*B-C, qual será a seqüência de execução? 
b) Na expressão (A*B)-C, qual será a seqüência de execução? 
c) Na expressão A*(B-C), qual será a seqüência de execução? 
d) Na expressão (A*(B-C*(D/E))), qual será a seqüência de execução? 
 
 
 
A lógica para se montar uma expressão é ponto determinante na questão do resultado ser ou não 
verdadeiro, ou seja, de ser o resultado esperado. 
Exemplo: 
 
6 * ( 9 + 3 * 2 ) / ( 2 * 4- 11 ) Operam-se as multiplicações nos parênteses 
6 * ( 9 + 6 ) / ( 8 - 11 ) 
 
Operam-se os parênteses 
6 * 15 / -3 Só há * e / - opera-se da esquerda para a direita 
90 / -3 Observe o sinal negativo antes do 3... 
-30 
 
Resultado final 
 
LINEARIZAÇÃO DE EXPRESSÕES 
Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou 
seja, colocadasem linhas. 
É importante também ressalvar a mudança dos operadores correspondentes da aritmética 
tradicional para a computacional. 
Exemplo: 
ETERJ/NOVO RIO 
Lógica Aritmética: 7 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MODULARIZAÇÃO DE EXPRESSÕES 
 
A modularização é a divisão da expressão em partes, proporcionando maior compreensão e 
definindo prioridades para resolução da mesma. 
Como pode ser observado no exemplo anterior, em expressões computacionais usamos somente 
parênteses “( )” para modularização. 
Na informática podemos ter parênteses dentro de parênteses. 
Exemplos de prioridades: 
1) (2+2)/2=2 
 2) 2+2/2=3 
3) ((2+2)*(4+4))=32 
4) 2+2*4+4=14 
 
 
Exercícios: 
1. Usando a lógica posicional, decomponha o número 17535. 
2. De acordo com as prioridades de execução do operadores aritméticos, calcule a expressão 45 
+ 15 * 5 //10? 
3. Os operadores aritméticos, relacionais e lógicos obedecem a uma determinada prioridade 
quando estão presentes na mesma expressão. Qual a ordem de prioridade desses operadores? 
4. Linearizar e resolver: 
 A- 47+12x4/2-21 
 2+3x2 
 B – 21+37+21x4-29 
 4+3/5 
 C – 175/5+345/3-28 25/2+3,5+27 
 22/2+4 7 
5. Resolva as expressões abaixo: 
 a) 4 + 3 * 5 + 2 – 5 
 b) 10 + 5 * 2 = 30 
  





 135
3
2
 
(2/3+(5-3))+1= 
Tradicional 
Computacional 
ETERJ/NOVO RIO 
Lógica Aritmética: 8 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 c) V and F or V not V or F 
 d) 25+45/3 < 40 AND 21x2 = 44-4/2 OR NOT F 
 e) 27 = 13+27/3 OR NOT V AND 125/5 <> 25 AND NOT V 
 f) F AND V OR NOT V OR F AND NOT F OR V OR F AND F OR NOT V 
 
 
SISTEMAS DE NUMERAÇÃO 
 
SISTEMA DECIMAL 
Para se compreender a estrutura de qualquer sistema de numeração podemos começar por rever 
o sistema decimal, por ser aquele que usamos diariamente quando efetuamos os cálculos mais 
elementares. 
O sistema decimal (ou sistema de base 10) utiliza 10 símbolos designados por algarismos para 
representar quantidades. São eles o 0, o 1, o 2, o 3, o 4, o 5, o 6, o 7, o 8 e o 9. 
De um modo geral, podemos dizer que a base de qualquer sistema de numeração é dada pelo 
número de símbolos diferentes que esse sistema utiliza. 
Um número decimal é formado por uma combinação de algarismos. Para determinar a 
quantidade representada por um número decimal é necessário multiplicar cada um dos algarismos que 
o constituem por uma potência de 10 de acordo com a posição que cada um dos algarismos ocupa no 
número, e somar os resultados. 
 
Por exemplo o número decimal 27315 pode ser escrito da seguinte forma: 
20000+7000+300+10+5, 
o que é o mesmo que: 
2*10000+7*1000+3*100+1*10+5, 
que por sua vez equivale a: 
2*104+7*103+3*102+1*101+5*100 
 
Também sabemos que, se o expoente de um número for menor que zero, então esse expoente 
indica as casas decimais desse número. Conseqüentemente concluímos que podemos representar 
qualquer número decimal, inteiro ou fracionário, em desenvolvimento de potências de 10. 
2*104+7*103+3*102+1*101+5*100+3x10-1+2x10-2 = 27315,32 
 
SISTEMA BINÁRIO 
Todo o funcionamento de um computador digital é baseado no cálculo binário. O sistema de 
numeração binário (sistema de base 2) é formado por dois dígitos: o 0 e o 1. 
Os dígitos binários “0” e “1” são habitualmente designados por “BITs”. Um número binário 
constituído por 8 bits é designado por “BYTE”, um número binário de 16 bits é uma “WORD”, e um de 
32 bits, uma “DOUBLE WORD”. 
Para contar em decimal, usamos intuitivamente um algoritmo muito simples: supondo que temos 
um contador por cada posição, todos inicializados em 0. Começamos a incrementá-los da direita para a 
esquerda. Quando o contador em qualquer posição ultrapassar o valor 9 (valor do símbolo mais 
elevado no caso do sistema decimal), o contador relativo a essa posição juntamente com todos os 
contadores à direita voltam a zero e o contador que ocupa a posição imediatamente à esquerda, é 
incrementado 1 unidade. 
Para contar em binário seguimos as mesmas regras, ou seja, obtemos a sequência: 0000, 0001, 
0010, 0011, 0100, 0101, 0110, 0111, 1000, etc. 
ETERJ/NOVO RIO 
Lógica Aritmética: 9 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
SISTEMA HEXADECIMAL 
O sistema binário é muito pouco compacto, são necessários muitos dígitos para representar 
números relativamente pequenos, o que dificulta o trabalho das pessoas que programam os 
computadores. Para solucionar este problema usa-se freqüentemente o sistema de numeração 
hexadecimal, em vez do binário. 
O sistema hexadecimal, como o nome indica, é formado por 16 símbolos diferentes: o 0, o 1, o 2, 
o 3, o 4, o 5, o 6, o 7, o 8, o 9, o A, o B, o C, o D, o E e o F. As letras A, B, C, D, E e F correspondem 
aos valores 10, 11, 12, 13, 14 e 15 respectivamente. 
Como nos sistemas de numeração anteriormente estudados qualquer número do sistema 
hexadecimal pode ser desenvolvido em potências da sua base. Neste caso, a base é 16 uma vez que o 
número de dígitos utilizados são 16. 
 
SISTEMA OCTAL 
Um outro sistema de numeração é o octal. Utiliza os algarismos 0 a 7 na sua composição e serve 
como exemplo para demonstrar que podemos ter qualquer sistema de numeração. 
 
CONVERSÃO DE SISTEMAS DE NUMERAÇÃO 
 
Conversão de um número decimal (base 10) para um número binário (base 2) 
Para converter números decimais em binários existem dois métodos possíveis. O primeiro 
consiste em extrair do número decimal a converter potências na base dois, até o resto ser igual a zero. 
Atribuímos de seguida ao número binário resultante um 1 para cada posição binária correspondente a 
cada potência de dois extraída. 
Outro método possível consiste em dividir o número decimal sucessivamente por dois até obter 
zero. Os restos de cada operação formam o novo número binário, sendo o valor do primeiro resto, o 
dígito menos significativo, e o último, o mais significativo. 
 
Conversão de um número binário (base 2) para um número decimal (base 10) 
Para converter um número binário para o número decimal equivalente basta multiplicar cada 
dígito pela potência de 2 relativa à posição por ele ocupada e somar os resultados. Assim por exemplo 
o número binário 101 equivale ao número 5 no sistema decimal. 
 
101 = 1*22 + 0*21 + 1*20 = 1*4 + 0*2 + 1*1 = 4 + 0 + 1 = 5 
 
Conversão da base hexadecimal para a base decimal 
Para converter um número hexadecimal para o número decimal equivalente basta multiplicar 
cada dígito pela potência de 16 relativa à posição por ele ocupada e somar os resultados. 
ETERJ/NOVO RIO 
Lógica Aritmética: 10 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
Conversão da base decimal para a base hexadecimal 
Para converter números decimais em hexadecimais usa-se um método semelhante ao que se 
utiliza para converter números decimais em binários. O método consiste em dividir o número decimal 
sucessivamente por dezesseis até obter zero. Os restos de cada operação formam o novo número 
hexadecimal, sendo o valor do primeiro resto o dígito menos significativo, e o último, o mais 
significativo. 
 
Conversão da base hexadecimal para a base binária 
As conversões da base 16 de e para a base binária são extremamente simples, daí ser o sistema 
hexadecimal o escolhido mais freqüentemente para substituir o sistema binário. 
Cada dígito hexadecimal equivale a quatro dígitos binários. Para converter um número binário 
para o sistema hexadecimal agrupam-se os dígitos binários em grupos de quatro da direita para a 
esquerda e substitui-se cada um destes grupos por um dígito hexadecimal de valor equivalente. 
Para converter um número binário para o sistema hexadecimal o método é o inverso deste, ou 
seja, substitui-se cada dígito hexadecimal por umgrupo de 4 dígitos binários com o valor equivalente. 
 
Exemplo: Converter o número 3547(10) para as bases (2), (8) e (16). 
 
Para a base 2, realizamos divisões sucessivas por dois. 
3547 / 2 = 1773 resta 1 
1773 / 2 = 886 resta 1 
886 / 2= 443 resta 0 
443 / 2 = 221 resta 1 
221 / 2 = 110 resta 1 
110 / 2 = 55 resta 0 
55 / 2 = 27 resta 1 
27 / 2 = 13 resta 1 
13 / 2 = 6 resta 1 
6 / 2 = 3 resta 0 
3 / 2 = 1 resta 1 
1 / 2 = 0 resta 1 
Obs: O último quociente não pode ser dividido por 2. 
 
O número 3547 representado na base dois é igual aos valores obtidos nos restos das divisões em 
ordem inversa O algarismo mais significativo é o último resto (valor do quociente) e o menos 
significativo é o primeiro resto. Então o número na base dois é 110111011011. 
 
Para a base 8 realizamos divisões sucessivas por oito. 
3547 / 8 = 443 resta 3 
443 / 8 = 55 resta 3 
55 / 8 = 6 resta 7 
6 / 8 = 0 resta 6 
Obs: O último quociente não pode ser dividido por 8. 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 11 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
O número 3547 representado na base oito é igual aos valores obtidos nos restos das divisões em 
ordem inversa. O algarismo mais significativo é o último resto (valor do quociente) e o menos 
significativo é o primeiro resto. Então o número na base oito é 6733. 
 
Para a base 16 realizamos divisões sucessivas por dezesseis; 
3547 / 16 = 221 resta 11 
221 / 19 = 13 resta 13 
13 / 16 = 0 resta 13 
Obs: O último quociente não pode ser dividido por 16 
 
O número 3547 representado na base dezesseis é igual aos valores obtidos nos restos das 
divisões em ordem inversa. O algarismo mais significativo é o ultimo resto (valor do quociente) e o 
menos significativo é o primeiro resto. Então o número na base dezesseis é 13 13 11 que representado 
pelas letras fica DDB. 
. 
Convertendo os números encontrados teremos novamente o número 3547 em decimal. 
 
Multiplica-se cada algarismo do numero pela base elevada a um expoente que será igual a zero 
para o algarismo menos significativo, sendo acrescido de uma unidade a cada algarismo mais 
representativo. 
 
Número binário: 110111011011 
1 x 20 = 1 
1 x 21 = 2 
0 x 22 = 4 
1 x 23 = 8 
1 x 24 = 16 
0 x 25 = 32 
1 x 26 = 64 
1 x 27 = 128 
1 x 28 = 256 
0 x 29 = 512 
1 x 210 = 1024 
1 x 211 = 2048 
 3547 
 
Número octal: 6733 
3 x 80 = 3 
3 x 81 = 24 
7 x 82 = 448 
6 x 83 = 3072 
 3547 
 
Número hexadecimal DDB 
11 x 160 = 11 
13 x 161 = 208 
13 x 162 = 3328 
ETERJ/NOVO RIO 
Lógica Aritmética: 12 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 3547 
 
Exercícios: 
 
 1 – Converter para as novas bases: 
 
 a – 1755(10)  (2), (8), (16) 
 
 b – 4523(8)  (10) (16) 
 
 c – ABA (16)  (8) 
 
 d – A5B2(16)  (2), (8), (10) 
 
 e – 10111001 (2)  (8), (10), (16) 
 
 f – 653(7)  (10) 
 
 
 
 
APERFEIÇOAMENTO DA LÓGICA 
 
O QUE É LÓGICA 
 
1.Não há consenso quanto à definição da lógica. Alguns autores definem-na como o estudo de 
processos válidos e gerais pelos quais atingimos a verdade, outros como a ciência das leis do 
pensamento, ou somente como o estudo dos princípios da inferência válida. Esta pluralidade de 
definições dá-nos conta da diversidade de estudos que são abrangidos pela Lógica. 
2. A lógica foi criada por Aristóteles, no século IV a.C., como uma ciência autônoma que se 
dedica ao estudo dos atos do pensamento - Conceito, Juízo, Raciocínio, Demonstração do ponto de 
vista da sua estrutura ou forma lógica, sem ter em conta qualquer conteúdo material. É por esta razão 
que esta lógica aristotélica se designa também por lógica formal. 
3. Em contraposição a este conceito de lógica formal, surgiu um outro - o de lógica material - 
para designar o estudo do raciocínio no que ele depende quanto ao seu conteúdo ou matéria. 
4. Esta distinção entre lógica formal e lógica material permite-nos agora perceber porque: 
 
 
Tendo em conta a sua forma, o raciocínio é correto ou incorreto ( válido ou invalido). Mas se 
atendermos à sua matéria, a conclusão pode ser verdadeira ou falsa. 
 
Exemplo: 
 
 
Nenhum homem sabe dançar 
Este dançarino é homem 
logo Este dançarino não sabe dançar 
 
Este raciocínio é formalmente correto, uma vez que a conclusão está corretamente deduzida. 
Mas a conclusão é falsa, uma vez que é falsa a primeira proposição ("Nenhum homem sabe dançar"). 
ETERJ/NOVO RIO 
Lógica Aritmética: 13 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Estamos perante um raciocínio que tem validade formal, mas não tem validade material. Logo temos 
que concluir que é falso 
 
 As pessoas utilizam lógica no cotidiano sem perceber; chegam mesmo a citá-la, sem entender 
direito o seu significado. Segundo o dicionário Aurélio, a lógica é a “coerência de raciocínio, de idéias”, 
ou ainda a “seqüência coerente, regular e necessária de acontecimentos, de coisas”. Você pode 
perceber isso nos exemplos a seguir: 
 
 Ex: 
 O número 3 é menor que o número 5. 
 O número 7 é maior que o número 5. 
 Logo, o número 3 é menor que os números 5 e 7. 
 
 Quando chove não preciso regar as plantas do jardim. 
 Hoje choveu. 
 Logo, hoje não é preciso regar as plantas do jardim. 
 
Exercícios resolvidos: 
 
1. Se eu passar no concurso, então irei trabalhar. 
Passei no concurso 
Logo, irei Trabalhar 
 
2. Se ele me ama então casa comigo. 
Ele me ama 
Logo, ele casa comigo 
 
3. Todos os brasileiros são humanos. 
Todos os paulistas são brasileiro. 
Logo, todos os paulistas são humanos 
 
4. Se o Palmeiras ganhar o jogo, todos os jogadores receberão o bicho. 
Se o Palmeiras não ganhar o jogo, todos os jogadores receberão o bicho. 
Logo, todos os jogadores receberão o bicho 
 
5. Todos os apartamentos são pequenos 
Todos os apartamentos são residências 
Logo, algumas residências são pequenas 
 
6. O Flamengo é um bom time de futebol. 
O Palmeiras é um bom time de futebol. 
O Vasco é um bom time de futebol. 
O Cruzeiro é um bom time de futebol. 
Logo, todos os times brasileiros de futebol são bons (F) 
 
7. Se num campeonato de futebol é verdade que “quem não faz, leva”, ou seja, time que não 
marca gol numa partida sofre ao menos um gol nessa mesma partida, então: 
ETERJ/NOVO RIO 
Lógica Aritmética: 14 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
a) em todos os jogos os dois times marcam gols 
b) nenhum jogo termina empatado 
c) o vencedor sempre faz um gol a mais que o vencido 
d) nenhum jogo termina 0 x 0, ou seja, sem gols 
e) resultados como 1 x 0, 2 x 0 ou 3 x 0 não são possíveis 
 
Solução: 
a) Se é verdade que “quem não faz, leva”, tem-se que o time que não marca qualquer gol leva 
pelo menos algum gol 
b) Logo, nenhuma partida termina sem gols, ou seja, 0 x 0 
Gabarito: D 
 
 
 
8. Se “cada macaco fica no seu galho”, então: 
a) tem mais macaco do que galho 
b) pode haver galho sem macaco 
c) dois macacos dividem um galho 
d) cada macaco fica em dois galhos 
e) dois galhos dividem um macaco 
 
Solução: 
a) Quando dizemos que cada macaco fica em seu galho, estamos afirmando que todo macaco 
fica em algum galho 
b) Não podemos dizer necessariamente que todo galho terá algum macaco pendurado. Logo, 
pode haver algum galho que fique sem macaco 
Gabarito: B 
 
 
Exercícios: 
1. Três alunos são suspeitos de não estarem matriculados no Curso de Raciocínio Lógico. O 
Aparecido entrevistou os três, para cobrar a matrícula, e obteve os 
seguintes depoimentos: 
AURO: “Joaquim não pagou e Cláudia pagou” 
JOAQUIM: “Se Auro não pagou, Cláudia também não pagou” 
CLÁUDIA: “Eu paguei, mas pelo menos um dos outros não pagou” 
 
Pede-se: 
1. Identificar os pagantes e os não pagantes,supondo que todos os depoimentos são 
verdadeiros 
2. Identificar os mentirosos, supondo que todos pagaram as matrículas. 
 
2. (ESAF) Se Beto briga com Glória, então Glória vai ao cinema. Se Glória vai ao 
cinema, então Carla fica em casa. Se Carla fica em casa, então Raul briga com Carla. Ora, Raul 
não briga com Carla. Logo. 
a. Carla não fica em casa e Beto não briga com Glória. 
b. Carla fica em casa e Glória vai ao cinema. 
ETERJ/NOVO RIO 
Lógica Aritmética: 15 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
c. Carla não fica em casa e Glória vai ao cinema. 
d. Glória vai ao cinema e Beto briga com Glória. 
e. Glória não vai ao cinema e Beto briga com Glória. 
 
3. (ESAF) Se Carlos é mais velho do que Pedro, então Maria e Julia tem a mesma 
idade. Se Maria e Julia tem a mesma idade, então João é mais moço do que Pedro. 
Se João é mais moço do que Pedro, então Carlos é mais velho do que Maria. Ora, 
Carlos não é mais velho do que Maria. Então: 
 
a. Carlos não é mais velho do que Leila, e João é mais moço do que Pedro. 
b. Carlos é mais velho que Pedro, e Maria e Julia tem a mesma idade. 
c. Carlos e João são mais moços do que Pedro. 
d. Carlos é mais velho do que Pedro, e João é mais moço do que Pedro. 
e. Carlos não é mais velho do que Pedro, e Maria e Julia não tem a mesma idade. 
 
4. (ESAF) José quer ir ao cinema assistir ao filme “Fogo Contra Fogo”, mas não 
tem certeza se o mesmo está sendo exibido. Seus amigos, Maria, Luis e Julio têm opiniões 
discordantes sobre se o filme está ou não em cartaz. Se Maria estiver certa, então Julio está 
enganado. Se Julio estiver enganado, então Luis está enganado. 
Se Luis estiver enganado, então o filme não está sendo exibido. Ora, ou o 
filme “Fogo contra Fogo” está sendo exibido, ou José não ira ao cinema. Verificou-se que Maria 
está certa. Logo, 
a. O filme “Fogo contra Fogo” está sendo exibido. 
b. Luis e Julio não estão enganados. 
c. Julio está enganado, mas Luis não. 
d. Luis está enganado, mas Julio não. 
e. José não irá ao cinema. 
 
O texto abaixo refere aos exercícios de 5 a 8: 
Chapéuzinho Vermelho ao entrar na floresta, perdeu a noção dos dias da semana. 
A Raposa e o Lobo Mau eram duas estranhas criaturas que freqüentavam a floresta. 
 
A Raposa mentia às segundas, terças e quartas-feiras, e falava a verdade 
nos outros dias da semana. 
O Lobo Mau mentia às quintas, sextas e sábados, mas 
falava a verdade nos outro dias da semana. 
(Adaptado de Linguagem Lógica de Iole de Freitas Druck IME - USP 
- publicado na revista do professor de Matemática) 
 
5. Um dia Chapeuzinho Vermelho encontrou o Raposa e o Lobo Mau descansando 
à sombra de uma árvore. Eles disseram: 
Raposa: Ontem foi um dos meus dias de mentir. 
Lobo Mau: Ontem foi um dos meus dias de mentir. 
A partir dessas afirmações, Chapéuzinho Vermelho descobriu qual era o dia dasemana. Qual 
era? 
 
6. Em outra ocasião Chapéuzinho Vermelho encontrou o Raposa sozinha. Ela fez as 
ETERJ/NOVO RIO 
Lógica Aritmética: 16 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
seguintes afirmações: 
Eu menti ontem. 
Eu mentirei daqui a 3 dias. 
Qual era o dia da semana? 
 
7. Em qual dia da semana é possível a Raposa fazer as seguintes afirmações? 
Eu menti ontem. 
Eu mentirei amanhã. 
 
8. Em que dias da semana é possível a Raposa fazer cada uma das seguintes afirmações: 
a) Eu menti ontem e eu mentirei amanhã. 
b) Eu menti ontem ou eu mentirei amanhã. 
c) Se menti ontem, então mentirei de novo amanhã. 
 
9. Uma vela queima-se integralmente em três horas. Em quanto tempo se queimariam três velas 
do mesmo tamanho e acesas ao mesmo tempo? 
 
10. O dobro do triplo do dobro de três. Que número é esse? 
 
11. Trinta operários podem cavar trinta buracos em trinta dias. Assim sendo, em quantos dias 
poderão 12 operários cavar 12 buracos? 
 
12. Um número multiplicado por 13, dá 65; dividido por ele mesmo,1; elevado ao cubo, 125. Qual é 
o número? 
 
13. Qual dos números não pertence a série? 
a) 9 – 7 – 8 – 6 
b) 7 – 5 – 6 - 3 
 
14. Maria foi ao mesmo tempo a décima terceira melhor classificada e a décima terceira pior 
classificada de um concurso. Quantas eram as concorrentes? 
 
15. Uma lesma deve subir um poste de 10 metros de altura. De dia sobe 2m e à noite desce 1m. 
Em quantos dias atingirá o topo do poste? 
 
16. O pai do padre é filho do meu pai. O que eu sou do Padre? 
 
17. Qual é o dobro da metade de dois? 
 
 
 
Seqüência Lógica 
Seqüência lógica são passos executados até atingir um objetivo ou solução de um problema. 
Às vezes o raciocínio funciona de forma desordenada. Quantas vezes você já ouviu as frases: 
“E se acontecer aquilo?”, ou “É, mas eu não tinha pensado nisso!”. 
ETERJ/NOVO RIO 
Lógica Aritmética: 17 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 Neste exemplo estão descritas ações de quem vai a um banco; entretanto, veja se seria 
possível retirar o dinheiro obedecendo à seqüência descrita abaixo: 
 
Ex: 
1. Sair do banco. 
2. Aguardar a vez de ser atendido. 
3. Entrar na fila do caixa. 
4. Digitar a senha. 
5. Entrar no banco. 
6. Informar o valor a ser retirado. 
7.Procurar a fila do caixa. 
8. Pegar o comprovante de saque, o cartão eletrônico e o dinheiro. 
9. Entregar o cartão eletrônico ao funcionário que atende no caixa. 
10. Conferir o valor em dinheiro. 
 
 
JOGOS E PASSATEMPOS 
 
1) Que número fica diretamente acima de119 na seguinte disposição de números? 
 
1 
2 3 4 
5 6 7 8 9 
10 11 12 13 14 15 16 
17 18 . . . . . . . . . . 
 
2) Um pequeno caminhão pode carregar 50 sacos de areia ou 400 tijolos. Se forem colocados no 
caminhão 32 sacos de areia. Quantos tijolos podem ainda ele carregar? 
 
3) Rafael caiu no fundo de um poço com 30 metros de profundidade. Todos os dias ele sobe 3 
metros e escorrega 2 metros. Neste ritmo, quando chegará em cima? 
 
4) Se a média de cinco números inteiros consecutivos é 17, qual o maior dos 5 números? 
 
5) O pai do meu neto é o neto do meu pai. Quantas pessoas estão envolvidas? 
 
6) Em um restaurante, comprando-se 3 sanduíches a R$ 1,00 cada, se ganha um, de graça. Se 
quarenta e cinco sanduíches foram consumidos, quanto dinheiro foi pago? 
 
7) Você precisa usar 4 litros de água numa receita. Use os jarros para conseguir a medida certa, 
sendo que suas capacidades são 5 e 3 litros. 
 
8) Uma fita de vídeo pode gravar 2 horas na velocidade SP, 4 horas na velocidade LP e 6 horas 
na velocidade SLP. Após ter sido gravada durante 32 minutos na velocidade SP e durante 44 minutos 
na velocidade LP, durante quantos minutos a fita poderá ser gravada na velocidade SLP até o seu 
término? 
ETERJ/NOVO RIO 
Lógica Aritmética: 18 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
9) Uma de nove moedas é mais pesada que as outras. Descubra qual, usando uma balança de 
dois pratos, apenas duas vezes. 
 
10) Em 10 pilhas de tijolos, existe uma pilha onde os tijolos pesam metade dos tijolos das outras 
pilhas. Como podemos determinar qual das pilhas contém os tijolos mais leves, efetuando somente 
uma pesagem? 
 
11) Qual dos cinco itens representa a melhor comparação? 
“Arvore está para o chão assim como chaminé está para...” 
a) fumaça b) tijolo c) garagem d) céu e) casa 
 
12) Depois de doar um quarto de sua mesada ao irmão e ganhar mais cinco reais, ele ficou com 
20 reais. Qual era o valor de sua mesada? 
a) 10 reais b) 30 reais c) 20 reais d) 35 reais e) 25 reais 
 
13) Uma das opções abaixo, não tem relação com as outras. 
a) pedreiro b) maratonista c) mecânico d) carpinteiro e) agricultor 
 
14) Do ponto de vista do volume, como ficaria a ordem abaixo? 
a) kg chumbo; kg isopor; gr ouro; litro água; 1 moeda 
b) kg isopor; kg chumbo; gr ouro; litroágua; 1 moeda 
c) kg chumbo; gr ouro; litro água; 1 moeda; kg isopor 
d) kg ouro; 1 moeda; kg chumbo; litro água; kg isopor 
e) kg ouro; litro agua; kg isopor; kg chumbo; 1 moeda 
 
15) Segundo a cronologia, dentre as opções abaixo, qual o grupo com a ordem correta? 
a) ontem, amanhã, hoje, anteontem, depois de amanhã 
b) amanhã, ontem, hoje, anteontem, depois de amanhã 
c) anteontem, ontem, hoje, amanhã, depois de amanhã 
d) hoje, ontem, amanhã, anteontem, depois de amanhã 
e) ontem, hoje, anteontem, amanhã, depois de amanhã 
 
16) Qual dos cinco itens se parece menos com os outros? 
a) tato b) sorriso c) paladar d) visão e) audição 
 
 
 
CONSTRUÇÃO DE ALGORITMOS 
 
INTRODUÇÃO 
A automatização de tarefas é um aspecto marcante da sociedade moderna. O aperfeiçoamento 
tecnológico alcançado, com respeito a isto, teve como elementos fundamentais à análise e a obtenção 
de descrições da execução de tarefas em termos de ações simples o suficiente, tal que pudessem ser 
automatizadas por uma máquina especialmente desenvolvida para este fim, O COMPUTADOR. 
ETERJ/NOVO RIO 
Lógica Aritmética: 19 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Em ciência da computação houve um processo de desenvolvimento simultâneo e interativo de 
máquinas (hardware) e dos elementos que gerenciam a execução automática (software) de uma dada 
tarefa. E essa descrição da execução de uma tarefa, como considerada acima, é chamada algoritmo. 
O objetivo dessa matéria é a Lógica de Programação dando uma base teórica e prática, 
suficientemente boa, para que, o aluno domine os algoritmos e esteja habilitado a aprender uma 
linguagem de programação. Será mostrado também um grupo de algoritmos clássicos para tarefas 
cotidianas, tais como: ordenação e pesquisa. 
 
 
Definição de Algoritmo 
 
 "O conceito central da programação e da Ciência da Computação é o conceito de algoritmos, 
isto é, programar é basicamente construir algoritmos." 
 É a descrição, de forma lógica, dos passos a serem executados no cumprimento de 
determinada tarefa. 
 "O algoritmo pode ser usado como uma ferramenta genérica para representar a solução de 
tarefas independente do desejo de automatizá-las, mas em geral está associado ao processamento 
eletrônico de dados, onde representa o rascunho para programas (Software)." 
 "Serve como modelo para programas, pois sua linguagem é intermediária à linguagem 
humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de 
tarefas a serem automatizadas." 
 "Um algoritmo é uma receita para um processo computacional e consiste de uma série de 
operações primitivas, interconectadas devidamente, sobre um conjunto de objetos. Os objetos 
manipulados por essas receitas são as variáveis." 
 
Atenção 
 Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único 
algoritmo. Algoritmo é um caminho para a solução de um problema, e em geral, os caminhos que 
levam a uma solução são muitos. 
 O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios. 
 
 Algoritmo não se aprende: 
 - Copiando Algoritmo 
 - Estudando Algoritmo 
 
 Algoritmo só se aprende: 
 - Construindo Algoritmo 
- Testando Algoritmo 
 
Características 
Todo algoritmo deve apresentar algumas características básicas: 
 Ter fim; 
 Não dar margem à dupla interpretação; 
 Capacidade de receber dados de entrada; 
 Poder gerar informações de saída; 
ETERJ/NOVO RIO 
Lógica Aritmética: 20 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um 
tempo finito). 
Conceitos 
Algoritmo 
É uma seqüência finita de ações que descrevem como um problema pode ser resolvido. 
 
Instrução 
São frases que indicam as ações a serem executadas. São compostas de um verbo no 
imperativo/infinitivo mais um complemento. 
Ex. Bata(bater) duas claras em neve 
Ligue (ligar) os faróis 
Abra (abrir) a porta 
 
Programa 
Ações de um algoritmo obedecendo à sintaxe de uma linguagem de programação. 
 
Identação/Indentação 
É o deslocamento para a direita de uma instrução, significa que tais instruções estão 
subordinadas a instrução anterior. 
 
 
FORMAS DE REPRESENTAÇÃO 
Algoritmos podem ser representados, dentre outras maneiras, por: 
 
1. Fluxograma 
 
Utilização de símbolos gráficos para representar algoritmos. No fluxograma existem símbolos 
padronizados para início, entrada de dados, cálculos, saída de dados, fim etc. 
 
 
 Processamento 
 
 
 
 Entrada de dados 
 
 Início/Fim 
 
 Decisão 
 
 
 
 
 Saída de dados 
 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 21 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
 Início/Fim 
 
 
Temos ainda um símbolo conhecido como conector, que é utilizado quando for preciso dividir o 
diagrama, colocando uma letra ou um número no símbolo para identificar os pares da conexão. 
 
 Conector 
 
 
 
 
Vantagens: 
 
 Uma das ferramentas mais conhecidas; 
 Figuras dizem muito mais que palavras; 
 Padrão mundial. 
Desvantagens 
 
 Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-
los; 
 Complica-se à medida que o algoritmo cresce. 
 
Ex: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Inicio 
 
NUM 
NUM = NUM * 2 
NUM 
Fim 
ETERJ/NOVO RIO 
Lógica Aritmética: 22 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
2. Descrição narrativa 
 
Faz-se uso do português para descrever algoritmos. 
 
Ex: 
Receita de bolo: 
1 Providencie manteiga, ovos, 2 kg de massa etc. 
2 Misture os ingredientes 
3 Despeje a mistura na forma de bolo 
4 Leve a forma ao forno 
5 Espere 20 minutos 
6 Retire a forma do forno 
7 Deixe esfriar 
8 Prove 
Vantagens: 
 
 O português é bastante conhecido por nós. 
Desvantagens 
 
 Imprecisão; 
 Pouca confiabilidade; 
 Extensão (normalmente escreve-se muito para dizer pouca coisa). 
 
3. Linguagem algorítmica 
 
Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em 
português. 
 
Ex: 
 num, dobro INTEIRO 
 LEIA num 
 dobro = num * 2 
 ESCREVA dobro 
 
Vantagens: 
 
 Usa o português como base; 
 Podem-se definir quais e como os dados vão estar estruturados; 
 Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. 
Desvantagens 
 Exige a definição de uma linguagem não real para o trabalho; 
 Não padronizado. 
ETERJ/NOVO RIO 
Lógica Aritmética: 23 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
Fases de um Algoritmos 
 
Quando temos um problema e vamos utilizar um computador para resolvê-lo inevitavelmente 
temos que passar pelas seguintes etapas: 
 a) Definir o problema. 
 b) Realizar um estudo da situação atual e verificar quais a(s) forma(s) de resolver o problema. 
c) Terminada a fase de estudo, utilizar uma linguagem de programação para escrever o programa 
que deverá a princípio, resolver o problema. 
d) Analisar junto aos usuários se o problema foi resolvido. Se a solução não foi encontrada, 
deverá ser retornado para a fase de estudo para descobrir onde está a falha. 
 
TIPOS DE DADOS 
 
Os dados são representados pelas informações a serem processadas por um computador. Estas 
informações estão caracterizadas por quatro tipos de dados: inteiros, reais, caracteres e lógicos. 
 
Tipo Inteiro 
Dados numéricos positivos ou negativos, excluindo-se qualquer número fracionário. 
Ex. 35, 0, -56 
 
Tipo Real 
Dados numéricos positivos, negativos e números fracionários. 
Ex. 1.2,-45.897 
 
TipoCaractere 
São tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma 
seqüência de caracteres deve ser indicada entre aspas. Sendo também conhecido como: alfanumérico, 
string, literal ou cadeia. 
Ex. “PROGRAMAÇÃO”, “Rua Alfa, 52 apto 1”, “7”, “249-4455” 
 
Tipo Lógico 
São tipos lógicos ou booleanos, os dados com valores: verdadeiro e falso, sendo que este tipo 
poderá representar um dos dois valores. 
Ex: 4+5<7 = F 
 
 
VARIÁVEL 
 
Uma variável pode ser vista como uma caixa com um rótulo ou nome colado a ela, que num 
dado instante guarda um determinado objeto. O conteúdo desta caixa não é algo fixo, permanente. Na 
verdade, essa caixa pode ter seu conteúdo alterado diversas vezes. Contudo, o conteúdo deve ser 
sempre do mesmo tipo. 
Por exemplo caso tenhamos uma caixa (variável) rotulada com FATOR que contém o valor 5. 
Como seu tipo é inteiro, em um determinado instante essa caixa poderá conter qualquer valor numérico 
(inteiro, positivo, negativo ou zero). Entretanto, em um determinado instante, ela conterá um, e somente 
um valor. 
ETERJ/NOVO RIO 
Lógica Aritmética: 24 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Variáveis são palavras que tem um significado bem específico em um algoritmo. Para que o 
computador possa executar comandos que envolvem variáveis da maneira correta, ele deve conhecer 
os detalhes das variáveis que pretendemos usar. Esses detalhes são: o identificador desta variável e o 
tipo de valores que essa variável irá conter. Precisamos assim, de uma maneira de especificar esses 
detalhes e comunicá-los ao computador. Para isso devemos declarar nossas variáveis logo no início do 
algoritmo. 
 
A identificação ou nomeação de variáveis segue algumas regras: 
a. nomes de variáveis não podem ser iguais a palavras reservadas; 
b. nomes de variáveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros 
caracteres podem ser letras, números e sublinhado); 
c. nomes de variáveis devem ter no máximo 127 caracteres; 
d. Nomes de variáveis não podem conter espaços em branco; 
e. na sintaxe do Português Estruturado, não há diferença entre letras maiúsculas de minúsculas 
(NOME é o mesmo que noMe). 
 
 
 
Exemplo: 
 
Identificadores válidos: NOME, TELEFONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil 
Identificadores inválidos: 3Endereco, Estado Civil, PARA, algoritmo, numero/complemento 
Você deve estar se perguntando por que a palavra “PARA e algoritmo” são identificadores inválidos. 
Eles são inválidos, pois são palavras reservadas da linguagem, veja outras palavras que você não deve 
utilizar como identificadores de variáveis. 
 
 
Visualg 
A Programação de computadores é uma das competências básicas de qualquer profissional 
que lide com computadores. Surge, portanto a necessidade da aprendizagem de linguagens de 
programação para o desenvolvimento desta competência. 
 
O Visualg é um ambiente de desenvolvimento de algoritmos que visa o desenvolvimento do 
raciocínio algorítmico através de um ambiente simples e com ferramentas visuais para 
desenvolvimento e depuração dos algoritmos desenvolvidos. Neste ambiente privilegiamos o 
desenvolvimento de algoritmos ao invés do desenvolvimento de programas. 
 
Utilizamos a linguagem algorítmica, uma pseudo-linguagem de programação que utiliza o 
português como base das suas instruções. 
 
 Bons Algoritmos. 
ETERJ/NOVO RIO 
Lógica Aritmética: 25 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
Forma Geral de um ALGORITMO (Visualg) 
 
Vamos conhecer os primeiros elementos que compõem o Português Estruturado e escrever alguns 
algoritmos. 
 
A estrutura geral de um algoritmo é: 
 
“ - - - 
 
Algoritmo "<nome do algoritmo>" 
var 
< declaração de variáveis> 
inicio 
< lista de comandos> 
Fimalgoritmo 
 - - - “ 
 
 
onde as palavras: 
 
Algoritmo e Fimalgoritmo fazem parte da sintaxe da linguagem e sempre delimitam o inicio e fim de 
um algoritmo; 
 
Var indica o início da seção de declaração de variáveis. 
 
< declaração de variáveis > é a seção ou parte do algoritmo onde descrevemos os tipos de dados que 
serão usados na lista de comandos. Por exemplo, poderíamos definir que fruta é um tipo de dado que 
pode assumir apenas os valores maçã, pêra, banana, abacaxi e outras frutas, sobre os quais podemos 
efetuar as operações comparar, comprar, comer e servir, 
 
Precisamos assim, de uma maneira especificar esses detalhes e comunicá-los ao computador. 
 
Para isso devemos declarar nossas variáveis logo no início do algoritmo. 
 
<identificador 1>, <identificador 2>, ..., <identificador n> : <tipo das variáveis> 
 
onde 
 
< identificador i > é o nome (identificador) de uma variável e < tipo das variáveis > determina que 
tipo de valor as variáveis poderão receber. Os identificadores das variáveis são usados para referenciá-
las dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma idéia do “papel” 
da variável no algoritmo. 
 
PALAVRAS RESERVADAS NO VISUALG 
aleatorio 
e 
ETERJ/NOVO RIO 
Lógica Aritmética: 26 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
grauprad 
passo 
abs 
eco 
inicio 
pausa 
algoritmo 
enquanto 
int 
PI 
Arccos 
Então 
Interrompa 
pos 
arcsen 
escolha 
leia 
procedimento 
arctan 
escreva 
literal 
quad 
arquivo 
exp 
log 
radpgrau 
asc 
faca 
lógico 
raizq 
ate 
falso 
logn 
rand 
caracter 
fimalgoritmo 
maiusc 
randi 
caso 
fimenquanto 
mensagem 
repita 
compr 
fimescolha 
minusc 
se 
copia 
ETERJ/NOVO RIO 
Lógica Aritmética: 27 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
fimfuncao 
não 
sen 
cós 
fimpara 
numérico 
senao 
cotan 
fimprocedimento 
numpcarac 
timer 
cronometro 
fimrepita 
ou 
tan 
debug 
fimse 
outrocaso 
verdadeiro 
declare 
função 
para 
xou 
 
< tipo das variáveis > 
 
O VisuAlg prevê quatro tipos de dados: inteiro, real, cadeia de caracteres e logico 
(ou booleano). As palavras-chave que os definem são as seguintes (observe que elas 
não têm acentuação). 
 
Inteiro 
Representa valores inteiros. 
Exemplos: 10, 5, -5, -10 
 
Real 
Representa valores reais (com ponto separador da parte decimal). 
Exemplos: 10, 15.5, -14.67 
 
Caractere 
Representa texto (seqüência ou cadeia de caracteres) entre aspas duplas. 
Exemplo "Esta é uma cadeia de caracteres", “B”, “1234” 
 
Logico 
Representa valores lógicos 
Exemplos: (VERDADEIRO ou FALSO). 
 
OPERADOR DE ATRIBUIÇÃO 
ETERJ/NOVO RIO 
Lógica Aritmética: 28 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
Para “colocar” um valor em uma variável dentro de um algoritmo, utilizamos o operador de atribuição. O 
operador de atribuição é representado por uma seta ( <- ) apontando para a esquerda. 
 
Exemplo 
Peso <- 78.7 // Este comando atribui à variável Peso o valor 78.7. 
Nome <- "João da Silva" // Este comando atribui à variável Nome o valor "João da Silva". 
Achei <- FALSO // Este comando atribui à variável Achei o valor FALSO. 
 
 
É importante lembrar que só se pode atribuir às variáveis valores do mesmo tipo da variável. Assim, o 
seguinte comando seria inválido: 
 
Exemplo: 
var 
salario: real 
Inicio 
salario <- "Insuficiente" 
 
Deve estar claro, também, que sempre à esquerda do comando de atribuição deve haver um (e 
somente um) identificador de variável. Assim, são incorretos os seguintes comandos: 
 
Exemplos incorretos 
NumeroAgencia+digitoControle <- 2345 + 0 
NomeCliente+sobrenome <- “João” + “Silva” 
 
inicio indica o fim das declarações e o início da seção de comandos; 
 
< lista de comandos > 
 
é apenas uma indicação de que entre as palavras inicio e fimalgoritmo podemos escrever uma lista 
com uma ou mais instruções ou comandos. É importante salientar que, quando um algoritmo é 
“executado”, as instruções ou comandosde um algoritmo são sempre executados na ordem em que 
aparecem no mesmo. As palavras que fazem parte da sintaxe da linguagem são palavras reservadas, 
ou seja, não podem ser usadas para outro propósito em um algoritmo que não seja aquele previsto nas 
regras de sintaxe. A palavra algoritmo, por exemplo, é uma palavra reservada Neste texto, as palavras 
reservadas sempre aparecerão em negrito. 
 
 
LINHAS DE COMENTÁRIO 
 
Os comentários são declarações não compiladas que podem conter qualquer informação textual que 
você queira adicionar ao código-fonte para referência e documentação de seu programa. 
 
Uma Linha 
São representados por duas barras normais ( // ). Todo o texto que você digitar após as duas barras 
será comentário. 
ETERJ/NOVO RIO 
Lógica Aritmética: 29 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
Exemplo 
// Este método calcula o fatorial de n...x <- y; 
// Inicializa a variável x com o valor de y 
 
 
COMANDOS DE E/S (ENTRADA E SAÍDA) 
 
Em geral, um programa que faz seu processamento e não tem como mostrar seus resultados é inútil 
(imagine, por exemplo, uma calculadora que realiza uma infinidade de operações matemáticas, mas 
não tem um display para mostrar os resultados!). Portanto, em algum ponto do algoritmo geralmente 
deve ocorrer à exibição de valores, e todas as linguagens de programação têm comandos para este 
fim. Em Português Estruturado (Visualg) usamos o comando escreva para isto. A sintaxe desse 
comando tem a seguinte forma: 
 
Escreva (<expressão ou identificador ou constante>, <expressão ou identificador ou constante>, ..., 
<expressão ou identificador ou constante>) 
 
OBS.: No Visualg existem dois comandos escreva com finalidades diferentes quando usado 
consecutivamente. 
 
 
 
 
Escreval (<expressão ou identificador ou constante>) //Mostra o primeiro resultado na mesma linha 
depois em linhas diferentes. 
 
Escreva (<expressão ou identificador ou constante>) //Mostra o resultado na mesma linha, mas em 
colunas diferentes. 
 
Exemplo 
X <- 3.5 
Y <- 4 
Escreva ("O valor de X é", X) 
Escreva (" E o valor de Y é ", Y) 
Escreval (" A soma de X e Y é", X+Y) 
Escreval ("O valor de X é", X) 
Escreval ("E o valor de Y é ", Y) 
Escreval ("A soma de X e Y é", X+Y) 
 
Faria com que aparecesse na tela: 
O valor de X é 3.5 E o valor de Y é 4 A soma de X e Y é 7.5 
O valor de X é 3.5 
E o valor de Y é 4 
A soma de X e Y é 7.5 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 30 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Nem todos os dados que um algoritmo manipula são gerados por ele. Um algoritmo (programa) de 
caixa automático, por exemplo, tem que obter do usuário o número da conta, a senha, a opção de 
serviço desejada, etc. Assim, deve haver um meio para que sejam digitados (ou fornecidos de outra 
maneira) dados para o algoritmo. Mais uma vez, todas as linguagens de programação permitem isto, e 
no nosso Português Estruturado (Visualg) usamos o comando leia. A sintaxe deste comando é: 
 
Leia (<identificador>) 
 
Exemplo 
leia (NumeroConta) 
leia (NumeroAgencia) 
 
Você pode mandar uma mensagem antes para o usuário, assim ele sabe qual é o conteúdo que deve 
ser colocado, ou seja, digitado. 
 
Exemplo 
Escreva ("Digite seu nome: ") 
Leia (nome) 
Escreva ("Digite sua agencia: ") 
Leia (NumeroAgencia) 
Escreva ("Digite sua conta: ") 
Leia (NumeroConta) 
 
Deve estar claro que sempre à direita do comando leia haverá um identificador de variável. Assim, são 
incorretos os seguintes comandos: 
Exemplos incorretos 
leia (NumeroConta+60) 
leia (12345) 
leia (NomeCliente+Sobrenome) 
 
Exercícios: 
1. Das palavras abaixo, indique quais poderiam ser usadas como nome de Variáveis, e quais não 
poderiam. 
 a) NOME 
 b) ENDEREÇO 
 c) Nº 
 d) NS3 
 e) NOME ALUNO 
 f) 4SALA 
 
2. Dê exemplos de declaração de variáveis que permitam armazenar os seguintes valores: 
 a) 45 
 b) 23.9 
 c) “Rio de Janeiro” 
 d) F 
 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 31 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
ESTRUTURA SEQUENCIAL 
 
SEQUÊNCIA : usada para executar comandos passo a passo, sabendo que todos eles serão 
executados na ordem de escrita, sem nenhum desvio. Uma sequência pode possuir um ou 
vários comandos, os quais devem ser delimitados pelos identificadores Início e Fim. 
 
Inicio 
Comando_1 
... 
Comando_n 
Fim 
 
As instruções do algoritmo são executadas uma após a outra, sem que haja desvio na seqüência 
das instruções, sendo cada instrução executada uma única vez. 
 
Visualg 
 
De forma genérica, a construção de um algoritmo se resume às seguintes etapas: 
 
a) entendimento do problema; 
 
b) elaboração da solução algorítmica; e 
 
c) codificação da solução no Português Estruturado (Visualg); 
Geralmente a etapa “b” é a mais complexa, pois depende da engenhosidade e experiência do 
“construtor”. 
 
Exemplo 1 
Enunciado: Faça um programa que leia dois valores numéricos, e calcule e exiba a sua média 
aritmética. 
 
 
Etapa 1 
Simples, hein? Dos tempos de escola lembramos que a média aritmética de dois valores é calculada 
como a soma dos dois números dividida por dois (a+b)/2, e sendo assim a primeira etapa já está 
pronta. 
 
Etapa 2 
Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e B, do tipo 
numerico (real) , e uma terceira variável, que chamaremos media também do tipo numérico (real), 
que armazenará a média aritmética calculada. 
 
Etapa 3 
A obtenção dos dados neste programa é simples e direta. Basta pedir ao usuário que digite os valores. 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 32 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Etapa 4 
O processamento aqui é o cálculo da média, usando o método citado acima, na etapa 1. O resultado do 
cálculo será armazenado na variável media. 
 
Etapa 5 
Basta exibir o conteúdo da variável media. 
 
Solução: 
1. Algoritmo "Cálculo de Média Aritmética" 
2. VAR 
3. A,B,Media : REAL 
4. Inicio 
5. Escreva ("Programa que calcula a média aritmética de dois valores.") 
6. Escreva ("Digite um valor : ") 
7. Leia (A) 
8. Escreva ("Digite outro valor : ") 
9. Leia (B) 
10. Media <- (A+B)/2 
11. Escreva ("A média dos dois valores é : ", Media) 
12. FimAlgoritmo 
 
Comentários 
Você deve ter notado que colocamos na tela instruções para o usuário usando o comando Escreva. 
Esta é uma boa técnica de programação, mesmo hoje em dia, com o ambiente do Windows, etc. Da 
mesma forma, ao imprimir o resultado, não mostramos simplesmente a média, mas explicamos ao 
usuário o que aquele valor significa. Como pode ser analisado no tópico anterior todo programa possui 
uma estrutura seqüencial determinada por um INÍCIO e FIM. Em um algoritmo, estes limites são 
definidos com as palavras Algoritmo e FimAlgoritmo. 
 
Exemplo 2 
Enunciado: Algoritmo que lê o nome de um aluno, as notas de suas três provas e 
calcule e exibe a média harmônica das provas. 
Etapa 1: a média harmônica de três provas a, b e c é dada pela fórmula 3/(1/a+1/b+1/c) 
Etapa 2: os dados necessários serão o nome do aluno e os valores das provas. O algoritmo limita-se 
basicamente à própria fórmula. 
1. Algoritmo "MediaHarmonica" 
2. VAR 
3. a, b, c, MH: REAL 
4. NOME: CARACTER 
5. inicio 
6. escreva ("Entre com o nome do aluno: ") 
7. leia (nome) 
8. escreval ("Entre com as notas das três provas") 
9. escreva ("Digite a primeira nota: ") 
10. leia (a) 
11. escreva ("Digite a segunda nota: ") 
12. leia (b) 
ETERJ/NOVO RIO 
Lógica Aritmética: 33 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
13. escreva ("Digite a terceira nota: ") 
14. leia (c) 
15. MH <- 3/(1/a + 1/b +1/c) 
16. escreval ("A média harmônica do aluno: ", NOME, " é ", MH) 
17. FimAlgoritmo 
 
 
Exemplo 3 
 
Enunciado: Um algoritmo que lê o valordo raio e calcule a área do círculo correspondente. 
Etapa 1: o cálculo da área do círculo é Pi*R2 
Etapa 2: o dado necessário é o valor do raio, que será lido (colocado) na variável Raio. 
 
1. algoritmo "Calcula Área Circulo" 
2. var 
3. Area, Raio: REAL 
4. inicio 
5. Escreval ("Entre com o raio: ") 
6. Leia (Raio) 
7. Area <- Pi*Raio^2 
8. Escreva ("A área do circulo com o raio ", Raio, " é ", Area) 
9. fimalgoritmo 
Você não precisa declarar o pi, pois já é uma função definida pelo programa Visualg. 
 
 
 
 
Exercícios: 
 
1) Escreva um algoritmo que leia o valor da base e altura de um triângulo e apresente o valor da área 
deste triângulo. 
 
2) Escreva um algoritmo que atribua os valores 4.5, 8 e 7 as variáveis A, B e C e determine o resultado 
da expressão: D = A + C – B. 
 
3) Escreva um algoritmo que leia o valor dos lados de um retângulo e calcule sua área e seu perímetro. 
 
4) Escreva um algoritmo que leia o valor de quatro números e calcule sua média aritmética. 
 
5) Escreva um algoritmo que leia o valor dos lados de um quadrado, um retângulo e um triângulo e 
mostre suas áreas. 
 
 
 
 
 
ESTRUTURA CONDICIONA 
ETERJ/NOVO RIO 
Lógica Aritmética: 34 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
 
* SELEÇÃO : usada para tomar decisões, ou seja desviar a execução do algoritmo de acordo 
com uma condição, podendo ser simples ou composta. 
 
COMANDO SE 
 
 Simples 
 
Se (Expressão Lógica) entao 
 Sequencia 1 
Fimse 
 
 Composta 
 
Se (Expressão Lógica) entao 
 Sequencia 1 
Senao 
 Sequencia 2 
Fimse 
 
 Encadeada 
 
Se (Expressão Lógica) entao 
 Se (Expressão Lógica) então 
 Sequencia 1 
 Senao 
 Sequencia 2 
 Fimse 
Senao 
 Sequencia 3 
Fimse 
 
Imagine a seguinte situação : em uma empresa, será solicitado o salário de um determinado 
funcionário, para se calcular seu novo salário, sendo que, se este tiver um salário superior a R$ 300,00, 
o reajuste será de 5%, caso contrário o reajuste será de 8%. 
 
Observe que teremos que testar o valor do salário, para saber o índice a ser aplicado. 
 
Vamos criar então um pseudocódigo com este objetivo: 
 
Algoritmo testa_salario 
Variaveis 
 Real Salario 
 Real Salario_final 
Inicio 
 Ler salario 
ETERJ/NOVO RIO 
Lógica Aritmética: 35 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 Se salario <= 300 então 
 Salario_final=(salario*1,08) 
 senão 
 Salario_final=(salario*1,05) 
 Fim_se 
 Escrever “Salario_final” 
Fim. 
 
Observe que, durante a execução do pseudocódigo, após obtermos, através de uma instrução de 
entrada de dados, o valor do salário do funcionário, efetuamos um teste “Se”, que possui duas 
condições, uma verdadeira e uma falsa. As instruções que serão executadas no caso de um teste 
verdadeiro, devem estar abaixo da cláusula “Então”, já as instruções que serão executadas no caso de 
um teste falso, devem estar abaixo da cláusula “senão”. A instrução “Fim_se”, termina o bloco de 
testes. Observe a sintaxe de uma estrutura de decisão a seguir: 
 
Se <teste> 
 Então 
 Lista de comandos a serem executados caso teste=verdadeiro 
 Senão 
 Lista de comandos a serem executados caso teste=falso. 
Fim_se 
 
 
Em fluxograma, uma estrutura de decisão é representada pelo símbolo: 
 
Os símbolos que estiverem na direção de “True” serão executados caso o teste seja verdadeiro. 
Já os símbolos que estiverem na direção de “false” serão executados caso o teste tenha um resultado 
falso. 
 
Observe o trecho do pseudocódigo acima, representado no fluxograma: 
 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 36 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
 
 
 
Visualg 
 
Na vida real tomamos decisões a todo o momento baseadas em uma situação existente. Em um 
algoritmo, chamamos esta situação de condição. Associada a uma condição, existirá uma alternativa 
possível de ações. 
 
Exemplo 1 
"se tiver R$ 10,00 sobrando então irei ao cinema hoje à noite.” 
A condição nesta frase é "tiver R$ 10,00 sobrando". Ela é uma expressão lógica, pois a pergunta 
"Tenho R$ 10,00 sobrando?" Pode (tem que) ser respondida com "Sim" ou "Não". Lembre-se, então: 
em um algoritmo, toda condição tem que ser uma expressão lógica, algo que possa-se pensar como “ 
isto é VERDADEIRO” ou “isto é FALSO”. Se a condição for verdadeira, a ação a ser executada é "irei 
ao cinema", se a resposta à pergunta "Tenho dinheiro suficiente?" for "Sim". Então, em um algoritmo, 
as ações são um ou mais comandos que serão realizados apenas se a avaliação da condição resulta 
VERDADEIRO. Vamos colocar agora a frase do exemplo anterior em outra forma, mais parecida com 
nosso Português Estruturado (Visualg): 
 
se "tiver R$ 10,00 sobrando" entao 
"irei ao cinema" 
fimse 
 
Veja que grifamos três palavras: se, entao e fimse. Elas são muito importantes na estrutura dos 
comandos de decisão. Como próximo passo, vamos generalizar a estrutura que criamos acima: 
 
se <condição> entao 
<ações (uma ou mais) a serem realizadas se a condição for verdadeira> 
fimse 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 37 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Para terminar a nossa comparação, devemos lembrar que os comandos de um algoritmo são sempre 
indispensáveis, e que o computador só lida com quantidades definidas (ou seja, ele não sabe o que é 
"ter R$ 10,00 sobrando"). Para aproximar mais nossa frase de um algoritmo, poderemos ter a seguinte 
forma: 
 
Exemplo 2 
se Dinheiro >= 10 entao 
Ir_ao_Cinema <- VERDADEIRO 
Fimse 
 
O exemplo acima poderia ser estendido para o caso do sujeito não ter dinheiro sobrando: "se tiver R$ 
10,00 sobrando irei ao cinema hoje à noite, mas se não tiver ficarei vendo TV em casa". Neste caso, 
uma codificação possível para esse algoritmo seria: 
 
Exemplo 3 
se Dinheiro >= 10 entao 
Ir_ao_Cinema <- VERDADEIRO 
Ver_TV <- FALSO 
Fimse 
se Dinheiro < 10 entao 
Ir_ao_Cinema <- FALSO 
Ver_TV <- VERDADEIRO 
Fimse 
 
É importante frisar que sempre à direita do comando se deverá parecer uma expressão lógica, e uma 
expressão cujo resultado é VERDADEIRO ou FALSO. Assim, os seguintes comandos são incorretos: 
 
Exemplo 4 
se A <- B entao // É uma atribuição e não uma expressão 
... 
fimse 
 
se A + B entao // É uma expressão aritmética e não uma expressão 
... 
fimse 
 
Por outro lado, estão corretos os seguintes comandos: 
 
Exemplo 5 
se (A > B) e (A > C) e (B <> C) entao 
... 
fimse 
 
se nao Achou entao // Correto se Achou foi declarada como logico 
... 
fimse 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 38 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Exemplo 6 
Seja o algoritmo abaixo: 
Faça um Algoritmo para calcular a área de um circulo, fornecido o valor do raio, que 
deve ser positivo. 
 
1. Algoritmo "Calcula Area do Circulo" 
2. VAR 
3. Area, Raio: Real 
4. inicio 
5. Escreval ("Entre com raio do círculo") 
6. Leia (Raio) 
7. Se Raio > 0 entao 
8. Area <- PI*(Raio^2) 
9. Escreva ("A área do círculo de raio ", Raio, " é ", Area) 
10. fimse 
11. Se Raio <= 0 entao 
12. Escreva ("Raio não pode ser nulo ou negativo!") 
13. fimse 
14. fimalgoritmo 
 
Observe que se a condição do primeiro é verdadeira, a segunda condição é falsa e vice-versa, e o 
conjunto de instruções a ser executado se Raio <= 0 (apenas a instrução escreva ("Raio não pode ser 
nulo ou negativo!")) é uma alternativa para a condição Raio> 0. Para expressar isso mais facilmente (e 
também por questões de eficiência), a maioria das linguagens de programação permite associar um 
conjunto de instruções a ser executado se a condição do comando resultar em FALSO. Em Português 
Estruturado, a sintaxe para tal é a seguinte: 
 
se <condição> entao 
 <ações (uma ou mais) a serem realizadas se a condição for verdadeira> 
senao 
 <ações (umaou mais) a serem realizadas se a condição for falsa> 
fimse 
 
Utilizando o senao, o algoritmo para calcular a área de um circulo, ficaria assim: 
 
Exemplo 7 
1. Algoritmo "Calcula Area do Circulo" 
2. VAR 
3. Area, Raio: Real 
4. inicio 
5. Escreval ("Entre com raio do círculo") 
6. Leia (Raio) 
7. Se Raio > 0 entao 
8. Area <- PI*(Raio^2) 
9. Escreva ("A área do círculo de raio ", Raio, " é ", Area) 
10. senao 
11. Escreva ("Raio não pode ser nulo ou negativo!") 
ETERJ/NOVO RIO 
Lógica Aritmética: 39 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
12. fimse 
13. fimalgoritmo 
 
 
 
Exemplo 8 
Algoritmo que peça ao usuário a quantia em dinheiro que tem sobrando e sugira, caso ele tenha 10 ou 
mais reais, que vá ao cinema, e se não tiver, fique em casa vendo TV. 
 
1. Algoritmo "AconselhaPrograma" 
2. Var 
3. Dinheiro: REAL 
4. inicio 
5. Escreval ("*** Serviço Informatizado de Sugestões ***") 
6. Escreva ("Quanto dinheiro você tem sobrando?") 
7. Leia (Dinheiro) 
8. Se Dinheiro >= 10 entao 
9. Escreval ("Vá ao cinema hoje à noite.") 
10. Senao 
11. Escreval ("Fique em casa vendo TV.") 
12. Fimse 
13. Escreva ("Obrigado e volte sempre.") 
14. Fimalgoritmo 
 
 
 
COMANDO CASO 
 
Existem casos em que não basta ter apenas as “direções” verdadeiro e falso para tomar uma 
determinada decisão, e sim, uma série de testes sobre um mesmo bloco. Este tipo de estrutura é 
chamada de estrutura de decisão do tipo “ESCOLHA”. 
 
Esta estrutura é normalmente conhecida como condições múltiplas. 
 
Observe a seguir a sintaxe da estrutura de decisão do tipo escolha em pseudocódigo: 
 
Faca Caso 
 Caso <condição 1> 
 Lista de instruções caso condição 1 = verdadeira 
 Caso <condição 2> 
 Lista de instruções caso condição 2 = verdadeira 
 Caso <condição 3> 
 Lista de instruções caso condição 3 = verdadeira 
 Outro caso 
 Lista de instruções caso todas condições = falsa 
Fim_Caso 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 40 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
No fluxograma, o símbolo que representa cada uma das condições acima, é o mesmo que o 
símbolo que representa a estrutura de decisão. Veja a sintaxe da estrutura de decisão de escolha no 
fluxograma: 
 
 
Vamos imaginar um exemplo parecido, de reajuste de salário, porém teremos as seguintes 
situações para reajuste: 
 
Salários inferiores a R$ 400,00 = reajuste de 9% 
Salários iguais a R$ 400,00 e inferiores a R$ 800,00 = reajuste de 7% 
Salários iguais a R$ 800,00 e inferiores a R$ 1000,00 = reajuste de 5% 
Fora das faixas supra citadas = reajuste de 3% 
 
Veja o pseudocódigo do exemplo citado: 
 
Algoritmo testa_salario2 
Variaveis 
Real Salário , Salario_final 
Inicio 
Ler salario 
Faca caso 
Caso salario < 400 
 Salario_final=(salario*1.09) 
Caso salario >= 400 .e. salario<800 
 Salario_final=(salario*1.07) 
Caso salario>=800 .e. salario<1000 
 Salario_final=(salario*1.05) 
Outro caso 
 Salario_final=(salario*1.03) 
Escrever Salario_final 
Fim. 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 41 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
Observe que, temos aqui uma novidade, ou seja, em uma única condição, estamos na verdade 
realizando dois testes, isto porque usamos o operador lógico “AND” “.e.”, ou seja, se salário menor ou 
igual a 400 e salário menor que 800 faça isso... assim sucessivamente. 
Quando usamos o operador lógico “.e.”, os testes, neste caso dois, que formam o caso, devem 
ser verdadeiros. O outro operador lógico “.ou.”, retorna verdadeiro caso um dos testes que formam o 
conjunto satisfaça a uma determinada condição. 
 
Como exercício, crie o fluxograma do pseudocódigo visto acima. A seguir iremos estudar as 
estruturas de repetição e desenvolver mais exemplos sobre o que estudamos neste módulo. 
 
 
Visualg 
 
Escolha <variável> 
 
Em algumas situações é necessário termos várias soluções ligadas a respostas diferentes, neste caso 
o comando de alternativa simples ou composta não é uma solução prática, isto porque obrigará o 
programador a escrever muitas linhas de programa, além de ter que criar vários comandos de 
alternativas compostas e verificar a validade de suas condições para que o comando execute o 
caminho correto para uma determinada condição. Temos então o comando de alternativa de múltipla 
escolha. O funcionamento deste comando obedece a seguinte regra: 
 
escolha < expressão-de-seleção > 
caso < exp 1 > , < exp 2 >, ... , < exp n > 
 < lista-de-comandos-1 > 
caso < exp 1 > , < exp 2 >, ... , < exp n > 
 < lista-de-comandos-2 > 
outrocaso 
 < lista-de-comandos-3 > 
fimescolha 
 
Exemplo 1 
Um determinado clube de futebol pretende classificar seus atletas em categorias e para isto ele 
contratou um programador para criar um programa que executasse esta tarefa. Para isso o clube criou 
uma tabela que continha a faixa etária do atleta e sua categoria. A tabela está demonstrada abaixo: 
 
 
IDADE CATEGORIA 
De 05 a 10 Infantil 
De 11 a 15 Juvenil 
De 16 a 20 Junior 
De 21 a 25 Profissional 
 
Construa um algoritmo que solicite o nome e a idade de um atleta e imprima a sua categoria. 
 
1. Algoritmo "CLASSIFICAÇÃO DE ATLETAS 
2. var 
ETERJ/NOVO RIO 
Lógica Aritmética: 42 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
3. nome, categoria : caractere 
4. idade : inteiro 
5. inicio 
6. Escreva("Nome do Atleta = ") 
7. Leia (nome) 
8. Escreva("Idade do Atleta = ") 
9. Leia (idade) 
10. Escolha idade 
11. caso 5,6,7,8,9,10 
12. categoria <- "Infantil" 
13. caso 11,12,13,14,15 
14. categoria <- "Juvenil" 
15. caso 16,17,18,19,20 
16. categoria <- "Junior" 
17. caso 21,22,23,24,25 
18. categoria <- "Profissional" 
19. outrocaso 
20. categoria <- "INVALIDO" 
21. Fimescolha 
22. Escreva ("Categoria = ",categoria) 
23. fimalgoritmo 
 
TESTANDO O ALGORITMO 
 
Um algoritmo, depois de ser elaborado, pode (e deve) ser testado. Para tal, utilizamos um método 
conhecido como teste de mesa. 
 O teste de mesa é como uma simulação de todos os passos, ou seja, entradas, comandos e 
instruções do algoritmo, a fim de saber se ele chega ao resultado a que se propõe e se a lógica está 
correta. 
Para tal, preenche-se uma tabela com valores para as variáveis e segue-se o fluxo de execução do 
algoritmo, simulando a execução de cada instrução, ou seja, refazendo o que o computador faria ao 
executar cada instrução. 
A cada comando simulado (executado), o valor das variáveis na tabela deve ser atualizado. 
Se, para uma instrução executada, uma ou mais variáveis não ficaram com os valores esperados, há 
um erro na lógica do algoritmo. 
 
 
 
 
Exercicios: 
 
1. Construa um algoritmo que leia as notas de um aluno e calcule sua média aritmética. Após o cálculo 
determine se o aluno foi aprovado. Considerar média 7.0 para aprovação. 
2. No algoritmo acima, acrescente a informação que o aluno foi aprovado ou reprovado. 
3. A partir do algoritmo do exercício 2, inclua a informação de que o aluno pode estar em recuperação, 
além de aprovado ou reprovado. Considerar que entre 4.5 e 6.9 o aluno está em recuperação. 
ETERJ/NOVO RIO 
Lógica Aritmética: 43 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
4. Construa um algoritmo que pergunte ao utilizador a figura que deseja calcular a área, quadrado, 
retângulo ou triângulo e após a decisão leia os valores necessários para calcular a área e apresentar o 
resultado. 
5. Construa um algoritmo para ler o número de um mês e escrever o nome do mês por extenso. 
 
 
ESTRUTURA CONDICIONAL 
 
 
Vamos falar um pouco sobre as estruturas de repetição, ou seja, uma parte do código que deverá 
ser executada x vezes. 
Em linguagem de programação, as estruturas de repetição são conhecidas como laços (loops). 
Trabalhamos basicamente com dois tipos de estruturas de repetição: 
 
1. Loops contados:-> quando se tem, de forma prévia, o número de vezes que uma 
determinada sequência de comandos será executada. 
 
2. Loops condicionais: -> aqueles que não possuem um número pré-determinado de vezes que 
a estrutura de comandos será executada, porém este número estará vinculado a uma determinada 
condição. 
 
Loops contados 
 
Em pseudocódigo, utilizamos a seguinte sintaxe para loops contados: 
 
Para <variavel> = <valor inicial> até <valor final> Passo <numero> 
 <seqüência de comandos> 
Fimpara 
 
Onde: 
 
A variável é aquela que irá receber a contagem. Os valores iniciais e finais representam onde 
começa e termina a contagem da repetição. O número de Passo (incremento) estipula a forma da 
contagem, como por exemplo, incrementos de 1 em 1, 2 em 2 .... e após , a sequência de comandos 
que será executada durante o loop. 
 
 
No fluxograma, utilizamos a seguinte sintaxe para representar loops contados: 
 
ETERJ/NOVO RIO 
Lógica Aritmética: 44 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
 
 
A lógica de trabalho do laço contado é apresentada a seguir: 
 
1. No inicio da leitura do código/fluxo, o valor inicial é atribuído à variável; 
 
2. O valor da variável é comparado ao valor final; 
 
3. Se o valor da variável for maior que o valor final, a sequência de comandos que faz parte do 
laço não é executado e o controle do processo passa para a próxima linha após o final do laço ( 
PROXIMO ) ou para o símbolo ao lado (no caso de fluxograma); 
 
4. Se o valor da variável for menor ou igual ao do valor final, a sequência de comandos é 
executada e, ao final do último comando, o valor do incremento é adicionado a variável e retorna-se à 
comparação entre variável e valor_final, repetindo todo o processo anterior. 
 
Vale lembrar que o incremento não é de declaração obrigatória, e, caso não seja declarado, 
assume automaticamente o valor 1. 
 
 
Loops Condicionais 
 
Já os loops condicionais são aqueles cujo conjunto de comandos em seu interior é executado até 
que uma determinada condição seja satisfeita. 
 
O pseudocódigo mais comum utilizado neste sentido é o apresentado a seguir: 
 
Enquanto <condição> faca 
 <sequência de comandos> 
Fimenquanto 
 
A sintaxe de execução deste é: 
1. No inicio da execução do enquanto, a condição é testada; 
2. Se o resultado do teste for verdadeiro, a sequência de comandos é executada e ao término 
desta, retorna-se ao teste da condição; 
3. Sendo a condição falsa, o controle da aplicação passa para a próxima linha após o 
Fim_enquanto. 
ETERJ/NOVO RIO 
Lógica Aritmética: 45 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
No fluxograma, poderemos representar este tipo de operação da forma que segue: 
 
 
 
Em resumo, neste tipo de operação, a execução somente abandonará o laço quando a condição 
for falsa. 
Veja um exemplo a seguir, utilizando-se de pseudocódigo, onde iremos apresentar a soma de 
uma contagem de números de 1 a 5: 
 
 
 
 
 
Algoritmo soma 
Variaveis 
 Real Soma // Acumulador 
 Inteiro Contador // Contador 
Inicio 
 Soma = 0 
 Escrever“A soma dos números de 1 a 10 é igual a” 
 Para contador = 1 até 10 
 Soma = soma + contador 
 Próximo 
 Escrever soma 
Fim. 
No exercício acima, teremos como resultado a expressão: 
A soma dos números de 1 a 10 é igual a 55 
 
 
 
ESTRUTURA REPETITIVA 
 
 
Visualg 
 
Nos exemplos e exercícios que vimos até agora sempre foi possível resolver os problemas com uma 
seqüência de instruções onde todas eram necessariamente executadas uma única vez. Os algoritmos 
que escrevemos seguiam, portanto, apenas uma seqüência linear de operações. Veja, por exemplo, 
um algoritmo para ler os nomes e as notas das provas de três alunos e calcular suas médias 
harmônicas. Uma possível solução seria repetir o trecho de código do algoritmo de cálculo três vezes. 
ETERJ/NOVO RIO 
Lógica Aritmética: 46 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
 
Exemplo 1 
Algoritmo que lê os nomes dos alunos de uma turma de três alunos e as notas de 
suas três provas; o algoritmo calcula e exibe as médias harmônicas das provas de cada 
aluno. 
 
 
 
 
 
 
1. Algoritmo "MediaHarmonica" 
2. VAR 
3. a, b, c, MH: REAL 
4. NOME: caractere 
5. inicio 
6. escreva ("Entre com o nome do aluno: ") 
7. leia (nome) 
8. escreval ("Entre com as notas das três provas") 
9. escreva ("Digite a primeira nota: ") 
10. leia (a) 
11. escreva ("Digite a segunda nota: ") 
12. leia (b) 
13. escreva ("Digite a terceira nota: ") 
14. leia (c) 
15. MH <- 3/(1/a + 1/b +1/c) 
16. escreval ("A média harmônica do aluno: ", NOME, " é ", MH) 
17. escreva ("Entre com o nome do aluno: ") 
18. leia (nome) 
19. escreval ("Entre com as notas das três provas") 
20. escreva ("Digite a primeira nota: ") 
21. leia (a) 
22. escreva ("Digite a segunda nota: ") 
23. leia (b) 
24. escreva ("Digite a terceira nota: ") 
25. leia (c) 
26. MH <- 3/(1/a + 1/b +1/c) 
27. escreval ("A média harmônica do aluno: ", NOME, " é ", MH) 
28. escreva ("Entre com o nome do aluno: ") 
29. leia (nome) 
30. escreval ("Entre com as notas das três provas") 
31. escreva ("Digite a primeira nota: ") 
32. leia (a) 
33. escreva ("Digite a segunda nota: ") 
34. leia (b) 
35. escreva ("Digite a terceira nota: ") 
36. leia (c) 
ETERJ/NOVO RIO 
Lógica Aritmética: 47 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
37. MH <- 3/(1/a + 1/b +1/c) 
38. escreval ("A média harmônica do aluno: ", NOME, " é ", MH) 
39. FimAlgoritmo 
 
A solução acima é viável apenas para uma turma de poucos alunos; para uma turma de 40 alunos, a 
codificação da solução seria por demais trabalhosa. Nesta seção, veremos um conjunto de estruturas 
sintáticas que permitem que um trecho de um algoritmo (lista de comandos) seja repetido um 
determinado número de vezes, sem que o código correspondente tenha que ser escrito mais de uma 
vez. Em Português Estruturado possui três estruturas de repetição: repita...ate, enquanto...faca e 
para...faca. 
 
 
COMANDO REPITA 
 
Repita...Ate 
Nessa estrutura, todos os comandos da lista são executados e uma expressão lógica é avaliada. Isto 
se repete até que a avaliação da condição resulte em FALSO, quanto então o próximo comando a ser 
executado é o comando imediatamente após o ate. Cada repetição da lista de comandos também é 
chamada de iteração e essa estrutura também é chamada de laço de repetição. Sua forma geral é: 
 
repita 
<lista de comandos> 
ate <expressão lógica ou relacional> 
 
Exemplo 1 
Algoritmo que escreve os números de 1 a 10. 
1. algoritmo "DemonstraRepeticao" 
2. VAR 
3. i: INTEIRO 
4. inicio 
5. i<- 1 
6. repita 
7. escreva (i) 
8. i<- i + 1 
9. ate i > 10 
10. fimalgoritmo 
 
No exemplo acima, a variável i controla o número de repetições do laço. Normalmente, a variável de 
controle do laço recebe um valor inicial, é incrementada (ou decrementada) de um valor constante no 
laço e tem seu valor testado no final do laço. Ao chegar a um determinado valor, o laço é interrompido. 
A inicialização da variável contadora deve acontecer fora do laço, antes do seu início. 
 
Exemplo 2 
Algoritmo que lê os nomes dos alunos de uma turma de três alunos e as notas de suas três provas; o 
algoritmo calcula e exibe as médias harmônicas das provas de cada aluno. 
 
1. Algoritmo "MediaHarmonica" 
ETERJ/NOVO RIO 
Lógica Aritmética: 48 
ETERJ - A melhor técnica para entrar no Mercado de Trabalho 
 
2. var 
3. a, b, c, MH, i: real 
4. NOME: caractere 
5. inicio 
6. i <- 1 
7. Repita 
8. escreva ("Entre com o nome do aluno: ") 
9. leia (nome) 
10. escreval ("Entre com as notas das três provas") 
11. escreva ("Digite a primeira nota: ") 
12. leia (a) 
13. escreva ("Digite a segunda nota: ") 
14. leia (b) 
15. escreva ("Digite a terceira nota: ") 
16. leia (c) 
17. MH <- 3/(1/a + 1/b +1/c) 
18. escreval ("A

Outros materiais