Apostila de Lógica

Fazer download em doc, pdf ou txt
Fazer download em doc, pdf ou txt
Você está na página 1de 123

APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

1.Conceitos Básicos

O ser humano desde o inicio de sua existência tem procurado meios para solucionar
seus problemas. Com a evolução da espécie ele foi criando recursos, ferramentas e
máquinas para ajudá-lo. A revolução industrial foi o estopim para que a tecnologia
começasse a avançar e nos dias de hoje o computador é uma das ferramentas mais
utilizadas. Na maior parte das profissões o encontramos auxiliando nas tarefas mais
simples até as mais complexas.
Para muitos ainda, os computadores são “seres abstratos”, muitos acreditam que os
eles fazem tudo sozinhos, mas sabemos que isso não é uma verdade. O computador
só executa o que programamos. É justamente neste ponto que entramos. Como
fazer programas de computadores? Muitos de vocês conhecem o computador como
usuários e talvez nem saibam como é desenvolver um programa. É isso que iremos
aprender! Fazer um programa! Mas o que é um programa? Você deve estar se
perguntando!

“Um programa é a codificação de em portugol em uma determinada linguagem de


programação”, [Ascencio, (1999).

Alguns de meus alunos acham que programar é sentar em frente ao micro e sair
digitando códigos de programação. Essa maneira de pensar é errônea, o bom
raciocínio lógico revela o bom programador.
Nosso raciocínio vai influenciar diretamente a lógica de programação. Para isso,
temos algumas formas de representação da Lógica, que veremos adiante.

Programas

Os programas de computadores nada mais são do que algoritmos escritos numa


linguagem de computador, você já deve ter ouvido falar em algumas linguagens de
programação, tais como Java, C, C++, (Pascal Delphi) Essas linguagens são
interpretados e executados por uma máquina, no caso um computador.

1
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Representação da lógica.

Acima falamos que para desenvolver um programa é preciso ter um bom raciocino
lógico, para representarmos está lógica utilizamos as simbologias dos algoritmos. Na
linguagem computacional temos três tipos de algoritmos mais utilizados, são eles:
descrição narrativa, fluxograma e pseudocódigo ou portugol, que
descreveremos a seguir.

Abaixo temos algumas definições sobre algoritmos:

“Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a
realização de uma tarefa” ,[Ascencio, 1999].

“Algoritmo é uma sequência finita de instruções ou operações cuja execução, em


tempo finito, resolve um problema computacional, qualquer que seja sua instância”,
[Salvetti, 1999].

Regras para construção do Algoritmo


As regras para escrever um algoritmo não são complexas, basta ser simples e
objetiva. Para isso descreva a sequência de instruções seguindo as dicas abaixo:

 Use um verbo por frase, seja objetivo.


 O teu algoritmo dever se simples o suficiente de tal maneira que uma pessoa
que não trabalha com informática entenda.
 Não use frases rebuscadas e confusas, seja simples e claro no seu objetivo.
 Não use palavras que deixe margem de dúvidas.

2
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fases de um Algoritmo

Se não soubermos desenvolver um bom algoritmo dificilmente conseguiremos ser


um bom programador. Portanto, antes de sentarmos diante do computador para
desenvolver um programa é preciso definir nossas metas.

Por isso, diante de um problema devemos agir da seguinte maneira:

1. Faça uma leitura de todo o problema até o final, a fim de formar


a primeira impressão. A seguir, releia o problema e faça anotações sobre os
pontos principais.
2. Verifique se o problema foi bem entendido. Questione, se
preciso, ao autor da especificação sobre suas dúvidas. Releia o problema
quantas vezes for preciso para tentar entendê-lo.
3. Extraia do problema todas as suas saídas.
4. Extraia do problema todas as suas entradas.
5. Identifique qual é o processamento principal.
6. Verifique se será necessário algum valor intermediário que
auxilie a transformação das entradas em saídas. Esta etapa pode parecer
obscura no início, mas com certeza no desenrolar do algoritmo, estes valores
aparecerão naturalmente.
7. Teste cada passo do algoritmo, com todos os seus caminhos
para verificar se o processamento está gerando os resultados esperados.
Crie valores de teste para submeter ao algoritmo.
8. Reveja o algoritmo, checando as boas normas de criação.

Agora, você sabia que no dia-a-dia executamos vários tipos de algoritmos? Sabe
como? Imagine a seguinte situação: O objetivo é levantar às 6:00h e sair para
trabalhar.

3
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Passo1 – desligar o despertador


Passo 2 – levantar.
Passo 3 – escovar os dentes
Passo 4- trocar de roupa
Passo 5- tomar café
Passo 6- sair de casa.

Você deve estar se perguntando: Mas eu não sigo esses passos!


Este pensamento faz sentido, porque muitas vezes um problema
pode ser resolvido de maneiras diferentes. Assim também ocorre
em programação, como veremos adiante. Um problema pode ter
Anote aí: soluções diferentes.

Agora tente sozinho:

 Trocar o pneu de um carro.


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

 Escovar os dentes.
____________________________________________________________________
____________________________________________________________________

4
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

 Mandar um e-mail.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Da mesma maneira como ordenamos nossos pensamentos devemos ordenar nossa


forma de programarmos. O computador irá executar exatamente aquilo que
desenvolvermos.

Por exemplo, vamos trabalhar um exemplo simples, imagine que te peçam para
somar 2 números, o que você faria? Ah, mas isso é muito fácil, você deve estar
pensando. Eu peço os dois números, faço a soma e dou o resultado. Exatamente!
Essa é a resposta! Portanto, temos que ficar atentos a três passos básicos:

5
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Entrada Dois números

Processamento Somar os números

Saída Respost a

Figura 1 – passos iniciais para a construção de algoritmo

Fazendo uma analogia com o homem tem-se:

Entra

figura 2- Analogia com o ser humano 1


Tenha sempre em mente:

1. Entender o problema.
2. Verificar que dados são necessários para garantir a

Percepção
resolução de meu problema.
3. Analisar qual será a resposta dada de acordo com o que foi
pedido.
Importante:

Tipos de Algoritmos
das impressões
1
Fonte: http://www.inf.ufrgs.br/~binsely/logica.pdf
sensorial
6
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Descrição Narrativa
A descrição narrativa consiste em entender o problema proposto e escrever sua
solução através da linguagem natural, ou seja, a língua portuguesa.

Vantagem Desvantagem
Não é necessário aprender nenhum Esta linguagem da margem para vários
conceito novo. Basta escrever da tipos de interpretação. Portanto, se você
maneira como se fala. não for claro o suficiente isto poderá
trazer dificultar a transição desse
algoritmo para a programação

Fluxograma
Através de um conjunto de símbolos (tabela abaixo): você define os passos para a
solução do problema apresentado.

Função: Inicio e Fim do algoritmo

Função: indica cálculo e atribuições de valores

Função: indica a entrada de dados

Função: indica uma decisão com possibilidades de


desvios.

Função: indica saída de dados

Função: indica o fluxo de dados. Serve também para


conectar os blocos ou símbolos existentes.
Tabela 1: Símbolos utilizados no fluxograma

Vantagem Desvantagem
O entendimento é bem mais simples É necessário que se tenha conhecimento
de pseudocódigo, que veremos mais
adiante.

7
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Pseudocódigo ou Portugol

Esta estrutura é escrita em português, quase como se fosse em linguagem natural,


entretanto existem regras predefinidas para escrevê-la. Vamos pegar o enunciado
acima, somar dois números.

Programa soma_números;
Variáveis num1,num2,soma: inteiro;
Inicio
Imprima “Digite dois números”
Ler num1, num2;
Soma num1+num2;
Fim.

Não se preocupe agora em entender esta estrutura, mais adiante você verá como
funciona cada uma delas. Agora, vamos a prática!

8
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Estrutura Sequencial

É um conjunto de instruções / comandos que serão executadas na ordem em que


foram escritas, ou seja, esses comandos serão executados numa sequência linear
de cima para baixo. Eles podem aparecer em qualquer estrutura de controle,
agrupados ou não por blocos.

comando 1;
comando 2;
início comando 3 ...
meio comando 3 ...
fim comando 3 ;
...
comando n;

Estrutura Sequencial em algoritmos.

10 Exemplo: Suponha que alguém te peça para pedir 3 notas, tirar a médias dessas
notas e mostrar o resultado.

Pseudocódigo

1 Programa media_notas;
2 variáveis n1,n2,n3,media;
3 Inicio
4 Imprima “Digite três notas”
5 Ler n1,n2,n3;
6 media  (n1+n2+n3) /3;
7 Imprima “A média é igual a: “ , media;
8 fim;

9
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Sua vez: encontre a Entrada, o Processamento e a Saída:

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Saída:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Entendendo cada linha:

Linha 1: Indica o cabeçalho do programa

O cabeçalho não é algo obrigatório, você ira encontrar em livros autores que
escrevem ALGORITMO no lugar. Portanto, não se preocupe muito com esse
detalhe.

10
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Linha 2: Declaração de variáveis.

Variáveis

Quando somamos mentalmente três números, por exemplos, armazenamos os


valores em nossa mente. Pois bem, o computador precisa também armazenar esses
valores assim que o usuário digita alguma coisa. Além disso, o computador precisa
identificar que tipo de informações será trabalhado. Serão números, caracteres,
frases? E de que tipos serão? Números reais? Inteiros?

Por analogia podemos comparar a memória do computador como uma sequência


finita de caixas, onde cada caixa guarda um tipo de informação,.
O computador, para poder trabalhar como alguma destas informações, precisa saber
onde, na memória, o dado está localizado.
Portanto, cada caixa ou posição de memória, possui um endereço, ou seja, um
número representado através da notação hexadecimal que indica o endereço de
memória onde está armazenada a informação.

Endereço Físico Informação


7000: B128 ‘Joyce’
8900: 138D 23695
2000: 0007 ‘J’

Sendo os endereços lógicos “caixas”, que num dado momento guardam algum tipo
de informação é importante saber que esses dados não permanecem por muito
tempo, ou seja, não são permanentes. Vimos no exemplo acima que os dados
podem ser diversos, a caixa com o endereço 7000: B128 recebeu o texto: Rumo ao
Hexa, mas em outro momento ele pode receber uma outra frase qualquer. Com isto
queremos dizer que o conteúdo destas caixas (endereços lógicos) podem mudar a
qualquer momento e sofrer alterações em seus conteúdos. Daí vem o nome utilizado
para esta representação: variáveis, pois variam durante cada execução do
programa. Os nomes das variáveis são atribuídos pelo usuário

11
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

As variáveis e as constantes podem ser basicamente de quatro tipos: Inteiro, real,


caracteres e lógicas.

TIPO Descrição
INTEIRO: qualquer número inteiro, negativo, nulo ou positivo
Ex.: -45, 1, 0, 5

REAL: qualquer número real, negativo, nulo ou positivo


Ex.: -1, -0.5, 0, 7, 8.5

CARACTER: qualquer conjunto de caracteres alfanuméricos


Ex.: “AB”, “ 123”, “ A123” , “CASA”

LÓGICO: conjunto de valores ( FALSO ou VERDADEIRO )

Quando definimos uma variável como sendo do tipo caracater ou string não
estamos alocando 1 posição de memória apenas ( uma caixa, pela analogia inicial ),
mas na verdade, estamos alocando até 255 caixas, uma para cada caracter da
STRING.

Obs: A string pode ter no máximo 255 caracteres

De acordo com o Exemplo acima, teríamos na memória a seguinte situação:

Atribuímos a variável “Nome” o valor “Joyce”, obtendo na memória a seguinte


configuração:

Nome
1 2 3 4 …... ...... 255
‘J’ ‘o’ ‘y’ ‘c’ ‘e’

Nome
1 2 3 4 … 255
‘J’ ‘o’ ‘a’ ‘o’

Letra

12
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

‘J’

Obs.: É possível definir variáveis do tipo STRING(Cadeia) com menos de 255


caracteres. Para isto, basta colocar, após a palavra STRING(Cadeia), o número de
caracteres desejados entre colchetes ( [ ] ).

Exemplo:
Programa Define
Variáveis
Nome: CADEIA[80]
Inicio

Fim

Desta forma, o espaço ocupado por uma variável STRING(Cadeia) passa de


255 bytes para apenas 80 bytes, na memória.

Linha 3: Inicio do programa.


Todo programa tem que ter um inicio e um fim.

Linha 4 e 5: Informação para o usuário


O computador se comunica com o mundo exterior através da impressora, do
vídeo, teclado, fitas, etc. Por exemplo, quando vamos ao banco o terminal nos
oferece várias opções, tais como: saque, depósito, extrato, entre outros. Esta
é a maneira como o computador se comunica conosco. Para representarmos
esta comunicação existem comandos específicos que nos auxiliam neste
intuito. Os comandos que iremos utilizar são o IMPRIMA e o LER,
respectivamente, comando de Saída de informações e entrada de dados.
Abaixo tem-se a representação da saída de dados e a os dados inseridos pelo
usuário.
.
:

13
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Digite 3 notas:
6.5
7.0
8.0

Figura 2 – Ilustração de uma saída em tela e a digitação do usuário

Linha 6: Cálculo da média.


O símbolo  é conhecido como atribuição. Portanto m Nn1+n2+n3) significa
que a variável m está recendo a soma dos valores.

Linha 7: Saída do resultado na tela.


Após ter feito todo o processamento necessário para resolver o problema é
necessário mostrar para o usuário a resposta de sua ação.

Linha 8: fim

Agora vamos identificar a Entrada, o Processamento e a Saída dentro do


pseudocódigo:

14
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

1. Programa media_notas;
2. variáveis n1,n2,n3,media;
3. Inicio
4. Imprima “Digite três notas” Entrada

5. Ler n1,n2,n3;
Processamento
6. media  (n1+n2+n3) /3;
7. Imprima “A média é igual a: “ , media; Saída
8. fim;

Fluxograma

inicio

n1,n2,n3

media n1+n2+n3

FIM

No fluxograma geralmente não declaramos variáveis e também


nem sempre colocamos a frase que corresponde à mensagem
para o usuário. A leitura dos dados já representa esta informação.
Anote aí:

15
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

2oExemplo: Faça em portugol que Ler e mostre na tela o seu nome e dias vividos.

Sua vez: encontre a Entrada, o Processamento e a Saída:

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Saída:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Pseudocódigo

1. Programa dias_vividos
2. Constante Dias 365
3. variáveis nome: caractere;
a. dias_vivido, idade: inteiro;
Inicio
4. Imprima “Digite seu nome:”
5. Ler nome

16
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

6. Imprima “Digite sua idade”


7. Ler idade
a. dias_viv dias *idade;
8. Imprima nome, “, você tem” , dias_viv , “dias vividos”);
9. Fim.

Observação:
Você deve ter notado algo diferentes acima, na linha 2, trata-se de uma
estrutura chamada Constante, nela declaramos qual variável terá um
valor fixo que não irá se alterar durante o programa

Fluxograma
inicio

ENTRADA
nome,idade

dias_viv 365*idade PROCESSAMENTO

dias_viv
SAIDA

FIM

17
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

30 Exemplo: Peça o salário líquido de um funcionário que trabalhe por hora, as


horas de trabalho, número de horas trabalhadas no mês, e o percentual de desconto
do INSS. O algoritmo deverá mostrar o salário bruto, o valor descontado e o valor do
salário líquido.

Pseudocódigo:

Programa salario;
Variáveis HT, VH,PD,TD,SB,SL: real;
Inicio
Imprima “Digite as horas trabalhadas:“
Ler HT
Imprima “Digite o valor das horas trabalhadas”
Ler VH;
Imprima “Digite o porcentual de desconto”
Ler PD;
SB HT * VH;
TD (PD/100) * SB;
SL  SB-TD;
Imprima “Salário Bruto é: “ , SB
Imprima “Total de Descontos: “ , TD
Imprima “Salário Liquido: “ , SL
Fim.

18
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

Entrada
HT,VH,PD

SBHT*VH;
TD (PD/100) *SB Processamento
SL=SB-TD

SB
TD
SL Saída

FIM

Sua vez: encontre a Entrada, o Processamento e a Saída:

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

19
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Saída:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Você percebeu que utilizamos alguns operadores lógicos para resolver este
exemplo. Para fazermos cálculos matemáticos, comparações e expressões, temos
operadores próprios que veremos a seguir.

Tenha em mente:
Para ser um bom programador é preciso exercitar muito.
Procure sempre fazer os exercícios e tentar melhorá-los a
medida que você aumenta seus conhecimentos.

Importante:

Operadores

Como citado acima, para fazermos determinados cálculos matemáticos usa-se uma
simbologia específica para algoritmos e programação, denominados Operadores
Aritméticos.
Operador Referência do operador
+ Adição
- Subtração
* Multiplicação
/ Divisão
DIV Quociente
MOD Resto da divisão
** Exponenciação

Operadores Relacionais

20
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Operador Referência do operador


= Igual
<> Diferente
>= Maior ou igual
<= Menor ou igual
> Maior
< Menor

Operadores Lógicos
Operador Referência do operador
AND E
OR OU
NOT NÃO
XOR NÃO OU

Exemplo:

Operador AND:

VERDADEIRO AND VERDADEIRO  VERDADEIRO


VERDADEIRO AND FALSO  FALSO
FALSO AND VERDADEIRO  FALSO
FALSO AND FALSO  FALSO

Operador OR:

VERDADEIRO OR VERDADEIRO  VERDADEIRO


VERDADEIRO OR FALSO  VERDADEIRO
FALSO OR VERDADEIRO  VERDADEIRO
FALSO OR FALSO  FALSO

Operador NOT:

NOT VERDADEIRO  FALSO


NOT FALSO  VERDADEIRO

Operador XOR:

VERDADEIRO XOR VERDADEIRO  FALSO

21
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

VERDADEIRO XOR FALSO  VERDADEIRO


FALSO XOR VERDADEIRO  VERDADEIRO
FALSO XOR FALSO  FALSO

PRIORIDADE NA AVALIAÇÃO DE EXPRESSÕES


1º Parênteses e funções (resolvidos da esquerda para a direita)
2º Multiplicação (*), Divisão ( / e div ) e Resto ( Mod )
(resolvidos da esquerda para a direita)
3º soma e subtração
4º Operadores relacionais: >, <, ≥ , ≤ , =, ≠
5º Operador Lógico Não
6º Operador Lógico E
7º Operador Lógico Ou

22
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios propostos

1. Dadas às expressões abaixo mostre os resultados:

a) 3 / 5
b) 4 DIV 3
c) 4 MOD 1
d) ( 400 DIV 10 ) MOD 4
e) 7**2 + 5 *2
f) 5 *19+25
g) 6,5* 5,0 +(3*3)
h) 2/5+2.3
i) 29,0/7+4
j) 3/6,0-7

2.Qual o resultado de cada expressão abaixo:

a) 2 > 3
b) ( 6 < 8 ) OR ( 3 > 7 )
c) ((( 10 DIV 2 ) MOD 6 ) > 5 ) XOR ( 3 < ( 2 MOD 2 ) )
d) NOT ( 2 < 3 )

3. Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras
ou falsas.

a) (A+C) > B ( )

23
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

b) B >= (A + 2) ( )
c) C = (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B ( )

4. Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são
verdadeiras ou falsas.

a) (A > C) AND (C <= D) ( )


b) (A+B) > 10 OR (A+B) = (C+D) ( )
c) (A>=C) AND (D >= C) ( )

Exercícios – resolvidos
1.Calcule e mostre a soma dos três números.

Pseudocódigo

Programa soma_números;
variáveis num1, num2, num3,soma: inteiro;
Inicio
Imprima “Digite três números “
Ler num1, num2, num3
soma  num1+num2+ num3
Imprima soma
Fim.
Fluxograma:

24
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Inicio

n1,n2,n3

soma n1+n2+n3

soma

Fim

Agora é com você: Identifique a Entrada, o processamento e a saída do


algoritmo acima.

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Saída:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

25
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

2. Peça duas notas para um aluno, os pesos correspondem respectivamente a p1=6


e p2=4. Calcule e mostre a média ponderada dessas notas.

Programa média_peso

Constantes p16; p24;

variáveis n1, n2, media: inteiro;

Imprima “Digite 2 notas ”

Ler n1, n2

media  (n1 * p1 + n2 * p2 ) / (p1 + p2 )

Imprima media
Fim.

Fluxograma:
Inicio

Constantes
p1=6
p2=4

n1,n2

media (n1*p1+n2*p2)/(p1+p2)

media

Fim

26
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

3. Peça o salário de um professor, calcule e mostre o novo salário sabendo-se que


este teve um aumento de 10%.

Pseudocódigo

Programa novo_salário;

variáveis salario, novo_sal : inteiro;

Imprima “Digite o salário”

Ler salario

Novo_sal  sal + (sal *10/100)

Imprima “Seu novo salário será: “, novo_sal;

27
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fim.

28
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:
Inicio

salario

novo_salsalario+(salario*10/100)

novo_sal

Fim

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

29
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

4.Peça o salário de um empregado e o percentual de desconto que ele terá que


descontar de seu salário para pagar seu plano médico, calcule e mostre o valor a ser
pago e o novo salário com desconto.
Pseudocódigo

Programa plano médico;

variaveis salario, perc, desc, novo_sal: real;

Imprima “Digite seu salário e o percentual de desconto”

Ler salario, perc

desc  sal * perc/100

Imprima “ Seu desconto será de: “ , desc;

novo_sal  salario - descont

Imprima novo_sal

Fim.

30
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

salario,perc

desc sal*perc/100

desc

novo_sal salario-desc

Fim

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída

31
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

5. Peça o salário de um funcionário, calcule e mostre o salário a receber,


sabendo que este terá uma gratificação de 10% sobre seu salário e 2% de
desconto relativo ao plano dentário.

Pseudocódigo

Programa gratificação_imposto;

variaveis salario, sal_receber, gratif, p_dentar: real;

Imprima “Digite seu salário: “

ler salario

gratif  salario * 10/100

p_dentar  salario * 2/100

sal_receber  (salario + gratif) – p_dentar;

Imprima sal_receber

Fim

32
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

salario

gratfsalario*10/100
p_dentsalario*2/100
sal_recebersalario+gratf-p_dent

sal_receber

fim

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.

Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

33
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios propostos

Sugestão: Faça os exercícios abaixo em Portugol e fluxograma

1.Receba dois números, calcule e mostre a multiplicação de um número pelo outro.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

34
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

2. Receba três números, multiplique os dois primeiros números e some-os com o


terceiro número.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

3.Peça para o usuário dois números, faça a divisão do primeiro número pelo
segundo.

Obs: Sabemos que não existe divisão por zero. Mas por enquanto não
se preocupe com isso, mais adiante veremos como resolver este
problema

____________________________________________________________________

____________________________________________________________________

35
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

4.Receba três notas de uma prova e seus respectivos pesos, calcule e mostre a
média ponderada .

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

36
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

5. Receba o valor das compras de um cliente em seguida dê 25% de desconto.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

37
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

6.Os funcionários da Empresa de Turismo “Boa Viagem” terão 5,5% de comissão


sobre suas vendas. Peça o salário de um funcionário e o valor de sua venda. Calcule
e mostre sua comissão final.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

7. Alfredo Miragaia quer saber quanto ele irá receber no final do mês. Sabe-se que:

 O valor da hora trabalhada é 1/3 do salário mínimo;

 O salário bruto equivale ao número de horas trabalhadas multiplicado


pelo valor de horas trabalhas.

 O imposto de renda equivale a 2,5% de seu salário bruto.

Calcule e mostre o salário a receber.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________

38
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

8. Peça a idade de uma pessoa. Calcule e mostre quantos dias essa pessoa viveu.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

39
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

9. A empresa de Joselino Ferreira dá um auxílio de R$ 100,00 para os funcionários


que tenham filhos. Peça a quantidade de filhos e o salário de um funcionário. Calcule
e mostre o novo salário com o respectivo auxilio recebido.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

40
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

10. Carlos entrou no cheque especial, seu banco cobra 2,5% de juros ao mês.
Calcule e mostre os juros a pagar de acordo com o saldo de Carlos.

____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

41
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Estrutura Condicional
As estruturas Condicionais são utilizadas quando se é preciso tomar decisões. Por
exemplo, o exercício acima pede para dividir um número pelo outro, suponha que o
usuário na hora de digitar o segundo número digite zero? Certamente teremos um
resultado errado, pois não existe este divisão por zero. Para solucionarmos este
problema usa-se a estrutura condicional “se” e “senão”. Esta estrutura pode ser
também utilizada para comparações, como veremos nos exemplos mais adiante.

A estrutura “se” tem a seguinte sintaxe:

se <condição> então

comando 1.....

senão <condição>

comando 1

Caso a condição se tenha mais de uma condição é preciso colocar inicio e fim, o
mesmo vale para o senão, veja abaixo:
se <condição> então
inicio
comando 1.....
comando 2.....
fim
senão <condição> então
inicio
comando 1....
comando 2.....
comando 3.....
fim.

Tem-se ainda a Estrutura Condicional Se encadeada, veja sua sintaxe:

42
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

se <condição> então se (X ≠ Y) então

inicio se (X>Y) então

se <condição> então Maior X


comandos.... senao
senão

comandos

fim do se

senão

comandos

10 Exemplo

Peça dois números, calcule e mostre a divisão do primeiro pelo segundo

Pseudocódigo

Programa divisão

Variáveis n1,n2,divi : inteiros

Inicio

Imprima “Digite dois números

Ler n1,n2

se n2 =0 então //Caso a condição n2=0 for verdadeira (V) teremos:

Imprima “ERRO: Não há divisão por zero”

senão // caso contrário, ou seja, se n2 ≠ 0 (F) teremos:

divi=n1/n2

43
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Imprima “Resultado: “, divi

Fim.

Obs: Representaremos os comentário nos algoritmos por “//”

Fluxograma:

Inicio

n1,n2

n2=0

ERRO: Não há
divisão por
zero
divi n1/n2

resultado

fim

44
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.

Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

45
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

20 Exemplo
Peça 3 notas de um aluno, calcule e mostre o resultado, caso o aluno tire maior ou
igual a 7 exiba que ele estará aprovado, caso contrário reprovado.

Pseudocódigo

1. Programa media_notas;
2. variáveis n1,n2,n3,media;
3. Inicio
4. Imprima “Digite três notas”
5. Ler n1,n2,n3;
6. media  (n1+n2+n3) /3;
7. Imprima “A média é igual a: “ , media;
8. se média >= 7 entao
9. Imprima “APROVADO” Condição: média>=7
10. senão
11. Imprima “REPROVADO”
A estrutura senão
12. fim; identifica quando a
condição média>=7 não
é verdadeira

46
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

inicio

n1,n2,n3

media n1+n2+n3

media >=7

REPROVADO APROVADO

FIM

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída

47
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

30 exemplo

Peça o salário de um funcionário, caso a pessoa ganhe um salário inferior a R$


500,00 dê um aumento de 15% caso contrário exiba a mensagem que não haverá
aumento.

Programa reajuste;

Variáveis sal, aum: real;

Inicio

Imprima “Digite seu salário:”

Ler sal

If sal <500
Inicio da estrutura se
inicio

aum sal* 15/100

Imprima “Novo salário: “, aum Fim da estrutura se


fim

senão

Imprima “Você não tem direito a aumento”

Fim.

Seguindo nossa estrutura de Entrada, Processamento e saída, temos:

48
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Estrutura “Case”
A estrutura de decisão CASO é mais utilizada quando se precisa testa uma única
expressão que produz um resultado, ou, então, o valor de uma variável, em que está
armazenado um determinado conteúdo. Compara-se, então, o resultado obtido no
teste com os valores fornecidos em cada cláusula “Caso”.
Sua sintaxe é:

Escolha (variável)

Caso (opção 1): Instruções;

Caso (opção 2): Instruções;

Caso (opção n): Instruções;

Fim Escolha

ou ainda

Escolha (variável)

Caso (opção 1): Instruções;

Caso (opção 2): Instruções;

senão Instruções;

Fim Escolha

49
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Um exemplo prático:

Exemplo:

Receba um número qualquer e dê as seguintes opções:

1- Raiz quadrada

2- Quadrado

3- Cubo

Exiba o valor correspondente ao que foi solicitado

Pseudocódigo

Programa escolha_case

Variaveis numero, opção,total: inteiro

Inicio

Imprima “Digite um número”

Ler numero;

Imprima “Digite sua opção: 1- Raiz Quadrada / 2 – Quadrado / 3 – Cubo “

Ler opção

Escolha (opção)

case ‘1’ : total numero

case ‘2’ : total numero*numero

case ‘3’ : total numero*numero*numero

senão Imprima “Opção Inválida”

fim escolha

50
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma

Inicio

numero
opcao

opcao

Opção 1 Opção 2 Opção 3

Totalnumero*numero*
Totalnumero*numero
total ← numero numero

fim

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________

51
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

_______________________________________________________________
_______________________________________________________________

Não esqueça de colocar inicio e fim na estrutura condicional se ou no


senão caso haja mais de um comando a ser executado.
Exemplo:

If sal <500 Caso a condição


sal<500 seja
verdadeira, executa-
inicio
se os dois comandos
abaixo:
aum sal* 15/100

Imprima “Novo salário: “, aum

Importante: fim

senão

Imprima “Você não tem direito a aumento”

52
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios – resolvidos
Vamos agora, acrescentar aos exercícios anteriores estruturas :

1. Faça em portugol e um fluxograma que peça a idade de uma pessoa e verifique


se ela é maior de idade ou não.

Programa maior_idade;
Variáveis idade: inteiro;
Inicio
Imprima “Digite sua idade: “
Ler idade
se idade >= 18
Imprima “Maior de idade”
senão
imprima “Menor de idade”
fim.

53
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma

Inicio

idade

idade>=18

Menor de
Maior de idade
idade

Fim

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________

54
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

_______________________________________________________________
_______________________________________________________________

2. Peça três notas calcule e mostre a média ponderada sabendo que seus pesos
correspondem respectivamente a p1=3, p2=4 e p3=3. Calcule e mostre a média
ponderada dessas notas. A média das três notas mencionadas anteriormente
obedece aos pesos a seguir:

MÉDIA PONDERADA CONCEITO


9,0 •---• 10,0 A
7,0 •---ο 9,0 B
6,0 •---ο 7,0 C
5,0 •---ο 6,0 D
0,0 •---ο 5,0 E
Pseudocódigo

Programa media_peso

Constantes p13; p24; p33

variáveis n1, n2, n3,media: inteiro;

Imprima “Digite 3 notas ”

Ler n1, n2, n3,

media  (n1 * p1 + n2 * p2 + n3 * p3) / (p1 + p2 + p3)

Imprima media
se (media >= 9) e (media <= 10)
Imprima "Obteve conceito A"

se (media >= 7) e (media <= 8)


Imprima "Obteve conceito B"

se (media >= 6) e (media < 7)


Imprima "Obteve conceito C"

55
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

se (media >= 5) e (media < 6)


Imprima "Obteve conceito D"

se (media >= 0) e (media < 5)


Imprima "Obteve conceito E"

Fim.

Fluxograma:

56
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Inicio

p1=3
p2=4
p3=3

N1,N2,N3

media=(p1*n1+p2*n2+p3*n3)10

media >=9 e
<=10

media>=7 e
Conceito A
<=9

media>=6 e
Conceito B
<=7

Conceito C

media>=5 e
<=6

media>=0 e
Conceito D
<=5

Conceito E

fim

57
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

Você deve ter notado acima a entre as condições de cada se uma


letra e em negrito no meio, como o exemplo abaixo:
se (media >= 9) e (media <= 10)

Anote aí:
Trata-se do operador lógico E visto acima.

58
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

3. Peça o salário de um professor e sua categoria, calcule e mostre o aumento de


salário de acordo com a tabela abaixo:

Categoria Salário Aumento

Primário Salário <900,00 Aumento de 20%


Ginásio Salário <=1200,00 Aumento de 15%
Superior Salário <=3000,00 Aumento de 5%

Pseudocódigo

Programa aumento_salario;

variáveis

salário,aumento:inteiro

categoria: caractere

Inicio

Imprime “Digite seu salário: “

Ler salário

Imprima “Digite sua categoria: P- primário; G- ginásio; S- superior”

Ler categoria

If (categoria = p) e (salario <900)

aumento  salario*20/100

If (categoria = g) e (salario <1200)

aumento  salario*15/100

If (categoria = s) e (salario <3000)

aumento  salario*5/100

Imprima “ Você terá um aumento de “, aumento

Fim .

59
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

Salario
categoria

Categoria =p
e
salario <900

aumento  salario*20/100

Categoria =g
e
salario <1200

aumento  salario*15/100

Categoria =s
e
salario <3000

aumento  salario*5/100

Aumento

Fim

60
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

4) Faça em portugol e um fluxograma que calcule uma equação do 20 grau.

Lembre-se antes das regras:

A variável a não pode ser igual a zero

∆ < 0 não existe raiz real

∆ = 0 existe uma raiz real

∆ > 0 existem duas raízes reais

61
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Pseudocódigo

Programa equacao
Variáveis a, b, c, delta, r1, r2 inteiro
Inicio
Imprima “Digite os valores das variáveis a, b e c
Ler a, b, c

if a = 0
Imprima “Valor inválido para a resolução desta equação”
senão
delta  (b * b) – (4 * a * c)

se delta < 0
Imprima “Não existe raiz real”

se delta = 0
inicio
Imprima “Existe uma raiz real”
X1  - b / (2 * a)
Imprima x1
fim

se delta > 0
inicio
Imprima “Existem duas raízes reais”
x1  (- b + delta ) / (2 * a)
x2  (- b - delta ) / (2 * a)
Imprima x1, x2
fim

fim

62
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

a,b,c

a=0

delta(b*b)-(4*a*c) Valor inválido

delta=0

Não existe
raiz Real

delta=0

x1 -b/(2*a)

delta >0

X1
x1 ← ( −b + delta ) /( 2 * a )

x 2 ← ( −b − delta ) /( 2 * a )

X1
X2

FIM

63
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

5. Uma grande papelaria deseja reajustar os preços de seus produtos usando o


seguinte critério: o produto poderá sofrer reajuste de preço (aumento ou queda).
Para reajustar o valor do produto ele deve preencher pelo menos um dos requisitos a
seguir:

REQUISITOS REAJUSTES
VENDA MÉDIA MENSAL PREÇO ATUAL % DE AUMENTO % DE DIMINUIÇÃO
< 500 < R$ 30,00 10 -
>= 500 e < 1.200 >=R$ 30,00 e < R$ 80,00 15 -
>= 1.200 >=R$ 80,00 - 20

64
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Pseudocódigo

Programa reajuste_preco

Variáveis pre, venda, novo_pre: real

Inicio

Imprima “Digite o preço e o valor da venda

Ler pre, venda


se (venda<500) ou (pre<30)
novo_pre  pre + (10 * pre)/100

se ((venda>=500) e (venda<1200)) ou ((pre>=30) e (pre<80))


novo_pre  pre + (15 * pre )/100

se (venda>1200) ou (pre>=80)
novo_pre  pre – (20 * pre)/100

Imprima novo_pre
Fim

65
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

pre,venda

venda<500
ou
pre<30

novo_prepre+(pre*10)/100

venda>=500
e venda<1200 ou
pre>30 e pre<80

novo_prepre+(pre*15)/100

venda>1200
ou
pre>=80

novo_prepre-(pre*20)/100

novo_pre

FIM

66
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

67
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios propostos

Sugestão: faça os exercícios em portugol e em fluxograma

1) Receba quatro notas de um aluno, calcule e mostre a média aritmética.Mostre a


mensagem de acordo com a tabela abaixo:

Média Mensagem
0,0 ---- 3,0 Reprovado
3,0 ---- 7,0 Exame
7,0 ---- 10,0 Exame

Caso o aluno fique de exame, receba a nota da prova e dê a seguinte mensagem:

Exame < 5 Reprovado


Exame >= 5 Aprovado
____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

68
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

2) Peça três números, verifique qual é o maior dos três.

____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

69
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

3) Receba o salário do funcionário, a idade e o tempo de serviço. Dê o aumento de


salário de acordo com as regras abaixo:

Tempo de serviço Aumento


3 anos ---- 5 anos 20%
5 anos ---- 8 anos 29%
8 anos ---- 12 35%
anos
Acima de 12 anos 40%

Dê uma gratificação conforme a idade do funcionário


idade Gratificação
40 anos ---- 50 R$ 350,00
anos
50 anos ---- 55 R$ 500,00
anos
Acima de 55 R$ 600,00
____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

70
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

4) Converta Reais em Dólar ou Euro.

5) O índice de Massa Corporal (IMC) é uma fórmula que indica se um adulto está
acima do peso, se está obeso ou abaixo do peso ideal considerado saudável. A
fórmula para calcular o Índice de Massa Corporal é:
IMC = peso / (altura)2

Faça um fluxograma e em portugol que calcule o IMC e dê o resultado de acordo


com a tabela abaixo:

Condição IMC em IMC em


Mulheres Homens
abaixo do peso < 19,1 < 20,7
no peso normal 19,1 - 25,8 20,7 - 26,4
marginalmente acima 25,8 - 27,3 26,4 - 27,8
do peso
acima do peso ideal 27,3 - 32,3 27,8 - 31,1
obeso > 32,3 > 31,1
____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

71
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

6) Simule uma calculadora simples com as quatros operações básicas: ‘+’ , ‘ – ‘,


‘*’ ,’ / ’

____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

7) Receba o código do produto, mostre a descrição e o estoque de acordo com a


tabela abaixo:

código descrição Estoque


1 Televisor 25
2 Máquina lavar 15
3 Microondas 14
4 Fogão 36
5 Geladeira 23
____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

72
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

8) Faça em portugol e um fluxograma que peça 4 números e os coloque em ordem


crescente.

____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

9) Faça em portugol que dado à altura e o sexo da pessoa calcule o peso ideal
conforme a fórmula a seguir:

sexo masculino: (72,7*altura ) -62

sexo feminino: (62,1 *altura) -48,7

Para ambos os sexos, caso o peso exceder 10 quilos do peso ideal, mostre uma
mensagem alertando.
____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

73
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

10) Faça um fluxograma e em portugol que receba o sexo da pessoa, verifique se


ela é do sexo masculino ou feminino, caso contrário mostre a mensagem de erro.

____________________________________________________________________
____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

74
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Estrutura de Repetição

Quando precisamos fazer repetir uma determinada instrução devemos utilizar uma
estrutura de repetição, também conhecido como “laço”.

Esta estrutura é composta em Enquanto, Repita e Para. Todas elas têm a mesma
funcionalidade: a repetição. Entretanto, dependendo do problema a ser resolvido,
cada um deles apresenta uma característica mais adequada.

Estrutura de controle Para

Usamos a estrutura Para, quando precisamos repetir um conjunto de comandos um


número pré-definido de vezes. Utiliza-se uma variável de controle, que é
incrementada em 1 unidade de um valor inicial até um valor final.
para controle ← inicio até fim faça
Inicio
<comando 1>
<comando 2>
<comando n>
fim do para;

Quando o programa encontra a instrução fim do para, ele incrementa a variável


controle em 1 unidade. Cada vez que o programa passa pela linha de instrução
para, ele testa se controle é menor ou igual a fim,. Quando a variável controle for
diferente do fim, o comando será abandonado.

Obs: O valor da variável Controle não pode ser alterado no interior da


estrutura para...fim-para.

75
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

10 exemplo

Some uma sequência de 10 números.

Programa soma_dez_numeros

Variáveis i,soma:inteiro

Inicio

para i1 até 10 faça

somasoma+ i

Imprima soma

Fim

Você deve ter notado que nenhum dado foi pedido para o
usuário. A soma foi feita de maneira independente.
Na estrutura para não é necessário incrementar a variável i.
Quando começarmos a programar em Pascal iremos ter uma
visão melhor deste conceito, entretanto, no fluxograma
precisamos indicar que há uma incrementação na variável de
Importante: controle.

76
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

inicio

i =1

soma soma+i

i<=10

ii+1

soma

Fim

20 exemplo

Peça duas de quatro alunos, calcule e mostre a média de cada aluno


individualmente.

Pseudocódigo

Programa laço_para

Variaveis n1,n2,i: inteiro

media : real

Inicio

para i=1 até 4 faça

77
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Inicio

Imprima “digite as notas:”

Ler n1,n2

media(n1+n2)/2

if media >= 7

imprima “APROVADO”

senão

Imprima “REPROVADO”

Fim do para

Fim.

Fluxograma:
inicio

i=1

i<=4

n1,n2

media (n1+n2)/2

Media>=7

APROVADO
REPROVADO

II+1

Fim

78
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Estrutura de Repetição ENQUANTO-FAÇA (WHILE DO)

Sintaxe

enquanto <Condição for verdadeira> faça


inicio
<Comandos>
fim enquanto

10 Exemplo: Uso do “Enquanto


Simule uma urna eleitoral, peça os votos e mostre os resultados. Encerre a votação
perguntando se deseja sair ou não. Os candidatos a presidente são:

1- Zé das Couves

2- Mane do Pilão

3 – Popó dos pobres

4 – Bigu do brejo

Pseudocódigo

1.Programa votação

2.Variáveis cont_ze, cont_mane, cont_popo, cont_bigu, voto: inteiro; resp:


caractere

3. Inicio

4. resp=’s’

5. enquanto (sair ≠ não)

6. inicio

79
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

7. Imprima “Escolha seu candidato: “

8. Imprima “1- Zé das Couves

9. 2- Mane do Pilão

10. 3 – Popó dos pobres

11. 4 – Bigu do brejo”

12. ler voto

13. if voto =1

14. cont_ze= cont_ze +1

15. if voto =2

16. cont_mane= cont_mane +1

17. if voto =3

18. cont_popo= cont_popo +1

19. if voto =4

20. cont_bigu= cont_bigu +1

21. imprima “Deseja para continuar? (S/N) “

22. Ler resp

23. Fim do enquanto

24.Imprima “Total de Votos”

25.Imprima “Zé das Couves: “, cont_ze;

26. Imprima “Mané do Pilão: “, cont_mane

27. Imprima “Popó dos pobres “, cont_popo

28.Imprima “Bigu do brejo” , cont_bigu

29.Fim.

80
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Obs: A linha 5 apresenta a estrutura enquanto, a condição é que sair


seja diferente de não. Por isso, resp, na linha 3 recebeu ‘s’ para que a
condição (sair ≠ não) seja verdadeira.

Nas linhas 21 e 22 temos a confirmação do usuário para saber se a


votação continua ou não. Neste caso, ao ler a resposta do usuário
ele irá voltar ao comando enquanto para fazer a verificação.

Fluxograma

inicio

voto

Candidato 1 Candidato 2 Candidato 3 Candidato 4


voto

cont_zecont_ze+1 cont_manecont_mane+1 cont_popocont_popo+1 cont_bigucont_bigu+1

Deseja
continuar? (S/
N)

resp

Resp = “S” A

Mostrar
votação

fim

81
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Importante: Acumulador: Acima utilizamos algumas variáveis


(cont_zé,cont_mane) que assumem a função de
acumuladores. Isto significa que elas recebem seus próprios
valores adicionados do valor de uma outra variável ou número.

Estrutura de repetição REPITA-ATÉ ( Repeat Until)

Repita
<Comandos>

Ate <Condição for verdadeira

10 exemplo

Faça um algoritmo que receba a seguinte enquête: Você tem computador em casa?
Levante o número de pessoas que não possuem e as que possuem. Para sair dê a
opção de escolha.

Pseudocódigo

Programa enquete

Variaveis voto,resp: caractere

cont_s,cont_n: inteiro

Inicio

Repita

Imprima “Você tem computador em casa? “

82
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Leia voto

if voto = ‘sim’

cont_s=cont_s+1;

senão

cont_n=cont_n+1

Imprima “Deseja continuar? (Sim/Não)”

Ler resp

Até (resp=”não”)

Fim.

Fluxograma

83
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

inicio

Resp=”sim”

voto

cont_n=cont_n+1 Voto cont_s=conts_+1

Deseja
A
continuar?

Resultado
da votação

FIM

84
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios – resolvidos
1) Faça um algoritmo utilizando a estrutura condicional Enquanto que receba mostre
os números pares de 1 a 20.

Pseudocódigo

Programa soma_números
Variaveis i:inteiro
Inicio
i 1
Enquanto i<=20 faça
inicio
se resto i/2 = 0 então
Imprima “Número par”
else
Imprima “Número impar”
Fim.

85
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

i=1

i<=20

resto i/2=0

impar par

ii+1

Fim

Agora é com você: Identifique a Entrada, o processamento e a saída do


algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________
Saída
______________________________________________________________
______________________________________________________________

86
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

_______________________________________________________________
_____________________________________________________________

2) Faça um programa que calcule o fatorial de um número. Utilize a estrutura Para

Programa Fatorial
Variaveis n, i, fat inteiro
Inicio
Imprima “Digite um numero: “
Ler n
fat  1
para i  1 ate n faça
fat  fat * i

Imprima “O fatorial de “,n , “é “ , fat


FIM
Fluxograma:

87
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Inicio

fat 1

i =n

fat fat* i

fat

Fim

Agora é com você: Identifique a Entrada, o processamento e a saída do


algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________
Saída
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________

88
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

3) Receba um intervalo de número e some os números maiores que 20.

Programa números_pares
Variaveis n1,n2,i,soma: inteiro
Inicio
Imprima “Digite o primeiro número do intervalo: “
Ler n1
Imprima “Digite o segundo número do intervalo: “
Ler n2
para i n1 ate n2 faça
inicio
if (n1>20) then
somasoma+n1
fim do para
Imprima som
fim.

89
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma:

Inicio

n1,n2

n1 =n2

Soma<--soma+n1

n1n1+1

soma

Fim

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________

90
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Saída
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________

4) Faça um programa que leia a média da temperatura dos doze meses do ano
encontre a temperatura mais alta e a mais baixa. Mostre a temperatura mais alta e a
mais baixa e em que mês ocorreu.
Pseudocódigo
Programa maior_menor_temperatura
variaveis cont,temp, maior, mes_maior, menor, mes_menor :inteiro
Inicio
para cont  1 ate 12 faça
inicio
Imprima “Digite a temperatura do mês : “,i
Ler temp
se cont = 1
Inicio
maior  temp
mes_maior  cont
menor  temp
mes_menor  cont
fim
senao
inicio
se alt > maior
Inicio
maior  alt
mes_maior  cont
fim
se alt < menor
inicio
menor  alt

91
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

mes_menor  cont
fim
fim do senão
fim do para
Imprima maior, mes_maior
Imprima menor, mes_menor
FIM
Fluxograma:
Inicio

cont= 1

cont=12 A

temp

cont =1

maiortemp
mes_maior cont
alt>maior
menortemp
mes_menoscont

maioralt
alt<menor A
mes_maiori

menoralt
A
mes_menori
A

Temperaturas

fim

92
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você: Identifique a Entrada, o processamento e a


saída do algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Saída
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________

93
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios propostos

Sugestão: faça os exercícios em portugol e em fluxograma

1) Calcular e mostrar da soma S=1/10+2/9+ 3/8+ ...+10/11.


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
2) Um número é perfeito quando a soma dos seus divisores exceto ele próprio e
igual ao numero. Ler um número e verificar se ele e perfeito.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

94
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

3) Um número e triangular se ele e produto de três números naturais consecutivos.


Ex: 6 e triangular, pois 1x2x3=6. Mostrar os números triangulares de 0 a 100.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

4) Faca um programa que leia um numero de termos e um valor positivo para X,


calcule e mostre o valor da serie a seguir:
S= -x2/1! +x3/2! - x4/3!...
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

95
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

5) Faca um programa que leia um numero de termos, determine e mostre os valores


de acordo com a serie abaixo:
Serie= 2, 7, 3, 4, 21, 12, 8, 63, 48, 16, 189, 192, 32, 567, 768, 64, ...
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

6) Faca um programa que calcule e mostre o produto dos números primos entre 92 e
1.478
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

7)Faca um programa que exiba as oito primeiras serie de Fibonacci (1,1,2,3,5,8,13) .


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

96
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

8) Foi feito um levantamento estatístico em cinco cidades brasileiras para coletar


dados sobre índice de portadores de HIV. Foram obtidos os seguintes dados:

a. código da cidade;

b. número de infectados (em 2004);

c. número de mortos (em 2005);

Deseja-se saber:

a) qual o maior e o menor índice de infectados e a que cidades pertencem:

b) qual a média de infectados nas cinco cidades juntas;

c) qual a média de mortos de pessoas com mais de 40 anos

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

9) Receba a base para calcular a área de um triângulo.Não permita que sejam


digitados valores inválidos, ou seja, valores menor que zero. Use a estrutura Repita

____________________________________________________________________
____________________________________________________________________

97
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
10) Faça uma rotina de 1 a 1000 e verifique e mostre os múltiplos de 5.

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

98
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Vetor

Até o momento armazenamos nossos dados em variáveis comuns, com isso não tínhamos
acesso a determinados valores porque eles se “perdiam” ou eram substituídos por outros
valores. Por exemplo, no caso do exercício acima sobre achar a maior e a menor
temperatura, com o uso do vetor o algoritmo ficaria bem mais viável.

temperatura 35 25 26 27 28 29 30 31 32 33 32 30
Índice= [ i ] 1 2 3 4 5 6 7 8 9 10 11 12

Estrutura do vetor

O vetor acima é unidimensional, ou seja, possui apenas uma linha. Neste caso
representando as temperaturas, os valores abaixo, de 1 a 12 representam o índice do vetor.
Similarmente, podemos definir vetores como posições de memória, identificadas por um
mesmo nome, individualizadas por índices e cujo conteúdo é de mesmo tipo.
Sintaxe da declaração de um vetor:

Nome do vetor : vetor [ nº de elementos ] de <tipo básico do vetor >

Para fazermos referência a um elemento do vetor, colocamos:

Nome do vetor [ elemento ]

O acesso a um elemento do vetor é simples, basta referirmos o nome do vetor


acompanhado pelo seu índice. Por exemplo, demos o nome do vetor acima de temperatura,
suponha que o índice represente os meses do ano. Pois bem, se quisermos acessar a
temperatura do mês 9 referenciamos da seguinte maneira:

temperatura [ 9 ]

Estaríamos acessando a posição 9 do vetor, que corresponde ao mês de setembro com a


temperatura de 32 graus, veja:
temperatura 35 25 26 27 28 29 30 31 32 33 32 30
Índice= [ i ] 1 2 3 4 5 6 7 8 9 10 11 12

99
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Associe o vetor a um prédio de apartamentos, para enviarmos uma correspondência a um


determinado apartamento, colocamos o endereço do prédio, seu número e do apartamento,
ou seja, o prédio é um só, porém com muitos apartamentos. O vetor tem uma estrutura
similar. Tem-se um único vetor com várias posições.

Dependendo do problema, para inserirmos ou acessarmos dados


do vetor precisamos usar algum tipo de “laço”. Isto porque
precisamos mudar de índice para ter acesso ao conteúdo. Neste
caso, o laço mais conveniente é o para. Veja a sintaxe:

para i1 até 10


inicio
Imprima “Digite o “ ,i, “ numero;
Ler num[ i ]

Importante: fim do laço

O variável dentro dos colchetes irá identificar o índice do vetor, no


caso, a variável i terá o valor da estrutura para¸ ou seja,
1,2,3,4,5,6,7,8,9 e10.

10 exemplo
Receba 4 notas (correspondente a 4 bimestres), dê ao usuário a possibilidade de acessar
qualquer bimestre e conseqüentemente a respectiva nota.

Pseudocódigo

Programa bimestre
Variável notas: vetor [1:4] de inteiros
Inicio
para i1 até 4 faça
inicio
Imprima “Digite a “ ,i, “nota”
ler notas [ i ]
fim do laço para

100
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Imprima “Digite o bimestre desejado: “


ler bim

Imprima “ Nota: “ , nota[bim]


Fim.

Veja que podemos referenciar o vetor e colocarmos o dado digitado pelo usuário, ou seja, no
caso acima chamamos nota[bim] a variável bim dentro do colchetes irá identificar a posição
desejada do usuário.

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima e faça o


fluxograma.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

20 exemplo
Faça um algoritmo que receba o índice correspondente ao dia da semana, conforme tabela
abaixo:

101
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Índice Dia da semana Índice Dia da semana


1 Domingo 5 quinta-feira
2 segunda-feira 6 sexta-feira
3 terça-feira 7 sábado
4 quarta-feira

Programa dia_da_semana
Variáveis dia: vetor [1:7] de caracteres
cod: inteiro
Inicio
dia[1] “domingo”
dia[2] “segunda-feira”
dia[3] “terça-feira”
dia[4] “quarta-feira”
dia[5] “quinta-feira”
dia[6] “sexta-feira”
dia[7] “sábado”
Imprima “ Código da semana: “
Ler cód
Imprima “Dia da semana: “ , dia[cód]
Fim.
Fluxograma

Inicio

dia[1]”domingo”
dia[2]”segunda”
dia[3]”terça”
dia[4]”quarta”
dia[5]”quinta”
dia[6]”sexta”
dia[7]”sabado”

Dia da semana

Dia da semana

Fim

102
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima .


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

30 Exemplo
Construa um algoritmo que leia 12 temperaturas e calcule a média entre as temperaturas.
Ao final exiba a média encontrada.

Pseudocódigo

Programa temperatura
Variáveis temp: vetor[1:12] de inteiro
media, soma: real
i: inteiro;
Inicio
para i 1 até 12 faça
Imprima “Digite a temperatura”
Ler temp[ i ]
somasoma+temp[ i ]

103
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

fim para
mediasoma/12
Imprima “Média das temperaturas”
Fim.

Fluxograma

Inicio

i1, 12

idade

somasoma+temp

media soma/12

Media das
temperaturas

Fim

104
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima .


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

40 Exemplo

Faça um algoritmo que receba 12 temperaturas correspondentes aos meses do ano. Dê a


opção do usuário trocar a temperatura.

Programa maior_menor_temperatura
variáveis cont, maior, mes_maior, menor, mes_menor :inteiro
temp: vetor[1:12] de inteiros
Inicio
para cont  1 ate 12 faça
inicio
Imprima “Digite a temperatura do mês : “,i
Ler temp[ cont ]
fim do para

105
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Imprima “Deseja trocar alguma temperatura?


Ler resp
If resp = ´s´
inicio
Imprima “Digite a temperatura:”
Ler nova_temp
Imprima “Digite o mês a ser trocado: “
Ler mês
temp[mês]  nova_temp
fim do “se”

Agora é com você:

Identifique a Entrada, o processamento e a saída do algoritmo acima e faça o


fluxograma.

Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

106
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios – resolvidos
1) Faça um algoritmo que peça 30 números, verifique entre eles quais são primos e
mostre a posição deles.

Programa primo;
Variáveis n: vetor[1:30]
i,j,cont : inteiro
Inicio
para i 1 até 12 faça
inicio
Imprima “Digite o número: “
Ler n[ i ]
para j 1 até n faça
inicio
se (n MOD 2)= 0 faça
contcont+1;
se cont<=2
Imprima n[ i ]
Imprima “Posição: “, i
Fim
Fim
Fim.

Sugestão: Faça o fluxograma

107
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

2) Faça um algoritmo que peça 10 nomes e os ordene em ordem alfabética.

Programa ordenação
Variáveis
nome: vetor[1:10] de caracteres
i ,j : inteiro
ordena: caractere
Inicio
para i1 até 10 faça
inicio
Imprima “Nome: “
Ler nome
fim do para

para i1 até 10 faça


inicio
para ji*1 até 10 faça
inicio
se nome[ i ]>nome[ j ] então
inicio
ordena nome[ i ]
nome[ i ]  nome [ j ]
nome[r]  ordena
fim do “se”
fim do para
fim do para

para i1 até 10 faça


Imprima nome[ i ]
Fim.

108
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios propostos

Sugestão: faça os exercícios em portugol e em fluxograma


1) Faça um algoritmo que peça a altura de 10 jogadores e suas respectivas idades.
Verifique e mostre os jogadores com mais de 1.90 e calcule a média de idade de
todos os jogadores.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
2) Faça um algoritmo que receba 2 notas de 50 alunos. Calcule e mostre a média de
cada um e exiba os que foram reprovados (media inferior a 7.0).
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

109
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
3) Receba uma lista de alunos com seus respectivos números de matricula. Faça um
algoritmo que identifique o aluno a ser pesquisado e faça a alteração. Para sair peça
para o usuário.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
4) Faça um algoritmo que receba 20 números, verifique se há o número 0, se houver
troque por 1.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
5) Dada uma lista de 15 números, ordene-os e exiba-os.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

110
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
6) Faça um algoritmo que carregue um vetor como modelo de cinco motos. Em um
outro vetor peça o consumo dessas motos, ou seja, quantos quilômetros cada uma
dessas motos faz com um litro de combustível. Calcule e mostre o modelo mais
econômico e sua quilometragem
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
7) Faça um algoritmo que peça o nome do funcionário, tempo de serviço, salário.
Levante os funcionários que tem mais de 7 anos de serviço e dê um aumento de
30% .
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
8) Faça um algoritmo que peça o nome dos alunos, o curso ( m-mestrado, d-
doutorado). Para os alunos de mestrado dê uma bolsa de R$750,00, para os alunos

111
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

de doutorado uma bolsa de R$1200,00. Exiba os alunos que terão direito a bolsa e
seu respectivo valor.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
9) Faça um algoritmo que receba duas notas de “n” alunos, para sair peça para o
usuário, mostre o relatório abaixo:

Nome aluno Prova 1 Prova 2 Média Situação


Flávio 9,5 10,0 9.75 APROVADO
Marcos 5,5 4,5 3,5 REPROVADO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
10) Carregue um vetor com 20 posições, crie um segundo vetor substituído os
valores maiores que 10 por 0.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

112
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Matrizes
As matrizes são estruturas de dados que permitem o armazenamento de um
conjunto de dados de mesmo tipo, porém em dimensões diferentes, ou seja, possuem linha
e colunas

Sintaxe:

Nome da matriz : matriz [1:4, 1: 5 ] de <tipo básico da matriz >

onde:

1:4 número de linhas, ou seja, 4 linhas

1:5 número de colunas, ou seja, 5 colunas

Colunas
1 2 3 4 5
Linhas ↓
1 João Carlos Fernando Macedo Beatriz
nome
2 25 18 76 34 33
idade
3 Executivo Enfermeir Dentista Faxineiro professora
profissão o
4
Ceará São Paulo Macapá Acre Manaus
cidade natal

Referenciando a um elemento da matriz, colocamos:

Nome da matriz [ linha, coluna ]

113
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Obs: Quando você desejar percorrer uma matriz, linha por linha, crie uma
estrutura de repetição, fixando a linha e variando a coluna. Para percorrer
uma matriz, coluna por coluna, fixe a coluna e varie a linha.

10 Exemplo
Faça um algoritmo que represente uma matriz 3x5 de números inteiros. Calcule e
mostre a soma de todos os elementos.

Pseudocódigo

Programa matriz
Variáveis numero: matriz[1:3, 1:5] de inteiros
linha, coluna,soma: inteiro
Inicio
para linha1 até 3 faça
inicio
para coluna1 até 5 faça
inicio
Imprima “Digite os números “
Ler numero[linha, coluna]
somasoma+numero[linha,coluna]
fim para
fim para
Imprima “Soma = “, soma
Fim.

114
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma

inicio

para
linha=1:3

para
coluna=1:5

numero[linha,coluna]

somasoma+numero[linha,coluna]

soma

fim

115
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

20 Exemplo

Faça um algoritmo que represente uma matriz 5x5 com números inteiros, localize o
número 300 e mostre em que posição ele se encontra.

345 24 456 234 265


5
258 963 321 120 145
300 256 255 024 369
125 564 433 132 353
357 464 288 999 775

Pseudocódigo

Programa matriz2
Variáveis numeros: matriz[1:5,1:5] de inteiros
lin, col,num:inteiro
Inicio
para lin1 até 5 faça
inicio
para col 1 até 5 faça
Imprima “Digite 25 números”
Ler números[lin,col]
se numeros[lin,col] = 300 então
Imprima “O número 300 está na posição: “ ,lin,col
fim para
fim para
fim.

116
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Fluxograma

inicio

para
linha=1:5

para
coluna=1:5

numero[linha,coluna]

Numero[lin,col]=300

O numero 300
está na
posição, lin,col

fim

117
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios – resolvidos
1) Faça um algoritmo que carregue:
 vetor com o modelo de cinco carros
 uma matriz 5x4 com o preço dos cincos carros em quatro lojas diferentes
 um outro vetor com a cor dos cinco carros

Calcule uma segunda matriz 5.x4 com valores dos impostos de cada produto, sendo que
cada produto obedece a seguinte tabela:

Preço % imposto
Até 52.000,00 42%
Entre R$ 52.000,00 e 70.000,00 56 %
Acima de 100.000,00 60%

Programa carros
Variaveis modelo: vetor[1:5] de caracteres
preco, imp[1:5, 1:4] de inteiros
cor: vetor[1:5] de caractere
lin,col, final: inteiro
inicio
para lin 1 até 5 faça
inicio
Imprima “Modelo:
Ler modelo[lin]
fim do para

para lin1 até 5 faça


inicio
para col1até 4 faça
inicio
Imprima “Digite o preço”
Ler preço[lin,col]

118
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

fim

para lin1 até 5 faça]


inicio
Imprima “Digite a cor”
Ler cor[lin]
fim do para

para lin1 até 5 faça


inicio
para col1até 4 faça
inicio
se preço[lin,col] <=52.000 então
imp[lin,col]preco[lin,col]*42/100
senão
se (preco[lin,col]> 52.000) e (preco[lin,col] >=70.000) então
imp[lin,col]preco[lin,col] *56/100
senão
imp[lin,col]preco[lin,col] *60/100
fim para
fim para

para i1 até 5 faça


inicio
Imprima “Modelo” , modelo[lin]
Imprima “Cor” , cor[lin]
para col1 até 4 faça
inicio
finalpreco[lin,col] +imp[lin]col] + cor[lin]
Imprima “Imposto na loja”, col, “ =” , imp[lin,col]
Imprima “Preço na loja”, col, “ =” , preco[lin,col]
Imprima “Preço final na loja”, col, “ =” , imp[lin,col]
fim do para
fim
fim

119
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

Exercícios propostos

Sugestão: faça os exercícios em portugol e em fluxograma

1) Faça um algoritmo para ler e exibir uma matriz 3x5 de números inteiros.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

2) Dado uma matriz de 6x6 faça um algoritmo que:


a) Calcule o produto dos elementos da segunda coluna;
b) Faça a soma dos elementos da terceira linha;
c) Faça a soma de todos os elementos da matriz;
d) Faça a soma do diagonal principal;

120
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

3) Receba o tamanho da matriz NxN, faça um algoritmo que verifique se a matriz é


simétrica (alinha,coluna=alinha,coluna).
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

4) Dada uma matriz 3x5 de valores inteiro faça um algoritmo que faça a leitura
destes valores e ao final da leitura de todos, imprimir o seguintes relatório:
a) Listar os valores que são menores que a média dos valores;
b) Quais os elementos da diagonal secundária;
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

121
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

5) Dado uma matriz 3x3 de valores inteiros faça um algoritmo coloque os elementos
ordenados primeiro por linha.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

6) Dado duas matrizes A 3x3 e B 3x3 faça a multiplicação de A por B e gere uma
terceira matriz C com os resultados.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

122
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO

7) Dado uma matriz 5x3 de valores inteiros determine a sua matriz transposta .
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

123

Você também pode gostar