Apostila de Lógica
Apostila de Lógica
Apostila de Lógica
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!
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
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.
“Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a
realização de uma tarefa” ,[Ascencio, 1999].
2
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fases de um Algoritmo
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
Escovar os dentes.
____________________________________________________________________
____________________________________________________________________
4
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
Mandar um e-mail.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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
Saída Respost a
Entra
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.
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
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
comando 1;
comando 2;
início comando 3 ...
meio comando 3 ...
fim comando 3 ;
...
comando n;
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
Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
Saída:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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
Variáveis
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
TIPO Descrição
INTEIRO: qualquer número inteiro, negativo, nulo ou positivo
Ex.: -45, 1, 0, 5
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.
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’
Exemplo:
Programa Define
Variáveis
Nome: CADEIA[80]
Inicio
Fim
13
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Digite 3 notas:
6.5
7.0
8.0
Linha 8: fim
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
15
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
2oExemplo: Faça em portugol que Ler e mostre na tela o seu nome e dias vividos.
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
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
SAIDA
FIM
17
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
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
SBHT*VH;
TD (PD/100) *SB Processamento
SL=SB-TD
SB
TD
SL Saída
FIM
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
Operadores Lógicos
Operador Referência do operador
AND E
OR OU
NOT NÃO
XOR NÃO OU
Exemplo:
Operador AND:
Operador OR:
Operador NOT:
Operador XOR:
21
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
22
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios propostos
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
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.
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
Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
Saída:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
25
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Programa média_peso
Ler n1, n2
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
Pseudocódigo
Programa novo_salário;
Ler salario
27
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fim.
28
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fluxograma:
Inicio
salario
novo_salsalario+(salario*10/100)
novo_sal
Fim
29
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
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
31
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Pseudocódigo
Programa gratificação_imposto;
ler salario
Imprima sal_receber
Fim
32
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fluxograma:
Inicio
salario
gratfsalario*10/100
p_dentsalario*2/100
sal_recebersalario+gratf-p_dent
sal_receber
fim
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Saída
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
33
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios propostos
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
34
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
37
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
7. Alfredo Miragaia quer saber quanto ele irá receber no final do mês. Sabe-se que:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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.
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.
42
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
comandos
fim do se
senão
comandos
10 Exemplo
Pseudocódigo
Programa divisão
Inicio
Ler n1,n2
divi=n1/n2
43
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fim.
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
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
47
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
30 exemplo
Programa reajuste;
Inicio
Ler sal
If sal <500
Inicio da estrutura se
inicio
senão
Fim.
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)
Fim Escolha
ou ainda
Escolha (variável)
senão Instruções;
Fim Escolha
49
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Um exemplo prático:
Exemplo:
1- Raiz quadrada
2- Quadrado
3- Cubo
Pseudocódigo
Programa escolha_case
Inicio
Ler numero;
Ler opção
Escolha (opção)
fim escolha
50
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fluxograma
Inicio
numero
opcao
opcao
Totalnumero*numero*
Totalnumero*numero
total ← numero numero
fim
51
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
_______________________________________________________________
_______________________________________________________________
Importante: fim
senão
52
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios – resolvidos
Vamos agora, acrescentar aos exercícios anteriores estruturas :
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
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:
Programa media_peso
Imprima media
se (media >= 9) e (media <= 10)
Imprima "Obteve conceito A"
55
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
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
Anote aí:
Trata-se do operador lógico E visto acima.
58
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Pseudocódigo
Programa aumento_salario;
variáveis
salário,aumento:inteiro
categoria: caractere
Inicio
Ler salário
Ler categoria
aumento salario*20/100
aumento salario*15/100
aumento salario*5/100
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
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=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
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
Inicio
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_prepre+(pre*10)/100
venda>=500
e venda<1200 ou
pre>30 e pre<80
novo_prepre+(pre*15)/100
venda>1200
ou
pre>=80
novo_prepre-(pre*20)/100
novo_pre
FIM
66
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
67
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios propostos
Média Mensagem
0,0 ---- 3,0 Reprovado
3,0 ---- 7,0 Exame
7,0 ---- 10,0 Exame
____________________________________________________________________
____________________________________________________________________
68
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
69
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
70
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
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
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
71
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
72
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
9) Faça em portugol que dado à altura e o sexo da pessoa calcule o peso ideal
conforme a fórmula a seguir:
Para ambos os sexos, caso o peso exceder 10 quilos do peso ideal, mostre uma
mensagem alertando.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
73
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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.
75
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
10 exemplo
Programa soma_dez_numeros
Variáveis i,soma:inteiro
Inicio
somasoma+ 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
ii+1
soma
Fim
20 exemplo
Pseudocódigo
Programa laço_para
media : real
Inicio
77
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Inicio
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
II+1
Fim
78
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Sintaxe
1- Zé das Couves
2- Mane do Pilão
4 – Bigu do brejo
Pseudocódigo
1.Programa votação
3. Inicio
4. resp=’s’
6. inicio
79
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
9. 2- Mane do Pilão
13. if voto =1
15. if voto =2
17. if voto =3
19. if voto =4
29.Fim.
80
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fluxograma
inicio
voto
Deseja
continuar? (S/
N)
resp
Resp = “S” A
Mostrar
votação
fim
81
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Repita
<Comandos>
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
cont_s,cont_n: inteiro
Inicio
Repita
82
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Leia voto
if voto = ‘sim’
cont_s=cont_s+1;
senão
cont_n=cont_n+1
Ler resp
Até (resp=”não”)
Fim.
Fluxograma
83
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
inicio
Resp=”sim”
voto
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
ii+1
Fim
86
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
_______________________________________________________________
_____________________________________________________________
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
87
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Inicio
fat 1
i =n
fat fat* i
fat
Fim
88
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
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
somasoma+n1
fim do para
Imprima som
fim.
89
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Fluxograma:
Inicio
n1,n2
n1 =n2
Soma<--soma+n1
n1n1+1
soma
Fim
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
maiortemp
mes_maior cont
alt>maior
menortemp
mes_menoscont
maioralt
alt<menor A
mes_maiori
menoralt
A
mes_menori
A
Temperaturas
fim
92
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
93
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios propostos
94
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
95
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
6) Faca um programa que calcule e mostre o produto dos números primos entre 92 e
1.478
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
96
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
a. código da cidade;
Deseja-se saber:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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:
temperatura [ 9 ]
99
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
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 i1 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
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.
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
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
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 ]
somasoma+temp[ i ]
103
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
fim para
mediasoma/12
Imprima “Média das temperaturas”
Fim.
Fluxograma
Inicio
i1, 12
idade
somasoma+temp
media soma/12
Media das
temperaturas
Fim
104
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
40 Exemplo
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
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
contcont+1;
se cont<=2
Imprima n[ i ]
Imprima “Posição: “, i
Fim
Fim
Fim.
107
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Programa ordenação
Variáveis
nome: vetor[1:10] de caracteres
i ,j : inteiro
ordena: caractere
Inicio
para i1 até 10 faça
inicio
Imprima “Nome: “
Ler nome
fim do para
108
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios propostos
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:
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:
onde:
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
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 linha1 até 3 faça
inicio
para coluna1 até 5 faça
inicio
Imprima “Digite os números “
Ler numero[linha, coluna]
somasoma+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]
somasoma+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.
Pseudocódigo
Programa matriz2
Variáveis numeros: matriz[1:5,1:5] de inteiros
lin, col,num:inteiro
Inicio
para lin1 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
118
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
fim
119
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
Exercícios propostos
1) Faça um algoritmo para ler e exibir uma matriz 3x5 de números inteiros.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
120
APOSTILA DE INTRODUÇÃO À PROGRAMAÇÃO
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
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