Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1
Algoritmos Computacionais
Prof. Doutorando Leandro Kravczuk
leandrokv@gmail.com
www.facebook.com/profleandrokv
@leandrokv
2
Avaliações
1º AV: 03/Abril
Assunto da prova: Verificar nos slides
2º Chamada da 1ºAV: 10/Abril
______________________________________________________________________________________________________________________________________
2º AV: 12/Junho
Assunto da prova: verificar nos slides
2ºChamada da 2ºAV: 19/Junho
_______________________________________________________________________________________________________________________________________
3º AV (AF): 19/Junho (ATENÇÃO PARA ESSA DATA)
Assunto: TUDO 
3
BIBLIOGRAFIA BÁSICA
1. ARAÚJO Everton C. Algoritmos: Fundamento e Prática. 3 ed. São Paulo, Visual
Books, 2007.
2. BENEDUZZI, Humberto Martins. Lógica e Linguagem de Programação. 1 ed. Ed.
LT, 2012.
3. MEDINA Marco, Cristina Fertig. Algoritmos e Programação: Teoria e Prática. 1 ed,
São Paulo, Novatec, 2005.
BIBLIOGRAFIA COMPLEMENTAR
1. DEITEL, H. M.; DEITEL, P.J. Java: como Programar. 8. ed. Porto Alegre:
Bookman, 2009.
2. ZIVIANI, N. Projeto de algoritmos com implementação em pascal e C. 3. ed. São
Paulo : Guazelli, 2010.
3. TUCKER, Allen B. Linguagens de Programação. São Paulo: McGraw-Hill, 2009.
4. SCHILDT, Herbert. C Completo e Total. Makron Books, McGraw-Hill. 3.ed. 1997
5. MELO A. C. V.; SILVA, F. S. C. Princípios de Linguagem de Programação. Edgard
Biúcher Ltda. 2003.
4
Livros Adotados
5
O computador
“Um computador é uma máquina que 
manipula dados a partir de uma lista de 
instruções.”
6
7
8
9
10
11
12
13
14
Conceitos de Algoritmos
“Um algoritmo é uma sequência finita de passos
(instruções) para resolver um determinado
problema.”
Algoritmo é a descrição de um padrão de
comportamento, expressado em termos de um
repertório bem definido e finito de ações
"primitivas", das quais damos por certo que elas
podem ser executadas.
15
16
17
18
A descrição narrativa é uma forma de algoritmo que utiliza linguagem estruturada e,
embora sua estrutura e simbologia apresentem pequenas diferenças em relação à
língua portuguesa, também é chamada de português estruturado.
19
20
Mas onde estão os Algoritmos?
21
Facebook, Twitter, Instagram...
22
23
Como criar um Algoritmo 
Computacional?
24
Para representar a 
Lógica de 
Programação 
utilizamos um 
Pseudocódigo. 
No nosso caso, 
utilizaremos o 
Portugol.
25
Para especificar os passos de um algoritmo, o pseudocódigo utiliza uma 
linguagem natural com característica pouco formal, o que pode causar 
ambiguidade e propiciar interpretações errôneas.
26
27
Ferramenta para auxiliar no aprendizado de Lógica de 
Programação e na construção de Algoritmos
28
29
Tela Visualg
30
Se a tela do Visualg aparecer Vazia é só digitar ! e apertar as teclas Ctrl + espaço
31
Áreas do Visualg
Tela de Código
32
Áreas do Visualg
Representação da memória do computador, 
suas variáveis e o Escopo. 
33
Áreas do Visualg
Tela de terminal, onde aparecerão todas 
saídas de dados
34
35
Nosso primeiro Algoritmo
Pratiquem!
Coloquem dois Escreva no código...
36
37
Melhorando nosso Algoritmo
Pratiquem...
38
Var (Variáveis)
“Variáveis são espaços reservados na 
memória ram do computador para guardar 
informações que serão utilizadas durante o 
código do programa. Podem ter valores de 
diversos tamanhos e tipos.”
39
40
41
42
Regras
43
Palavras Reservadas?
tom de azul ou sublinhadas
44
Exemplos de Identificadores
Válido ou Não????
Nota1
45
46
Exemplos de Identificadores
Válido ou Não????
Média
47
48
Exemplos de Identificadores
Válido ou Não????
Salário Bruto
49
50
Exemplos de Identificadores
Válido ou Não????
9idade
51
52
Exemplos de Identificadores
Válido ou Não????
Algoritmo
53
54
Exemplos de Identificadores
Válido ou Não????
Inicio_Algoritmo
55
56
57
58
No Visualg
59
60
Idade <- 30
61
Pratiquem...
Tudo Certo?
Algum Problema?
62
Agora sim :D
Pratiquem...
63
64
Pratiquem...
65
Comandos de Entrada
Vamos ver agora como funcionam os comandos 
de entrada no Visualg. 
Observe o seguinte código no próximo slide e 
vamos realizar a análise do código...
66
Qual o “problema” desse código?
Pratiquem...
67
Ele sempre vai mostrar na tela “Muito prazer Gustavo” e 
não o nome do usuário que está usando o programa.
Não seria bacana se o nome de cada usuário aparecesse 
na tela? 
Mas como fazer isso? 
Através dos Comandos de Entrada!!
68
69
Como funciona?
70
E como seria o código utilizando os Comandos de Entrada 
para obter o nome do usuário? 
Abram o Visualg e vamos praticar
71
Vamos Praticar
Escreva um algoritmo que receba seu nome 
e escreva na tela!
72
73
Resposta:
74
Ou de forma mais completa, teremos:
Pratiquem...
75
Vamos ver agora os 
Obs: Exponenciação = ao quadrado Módulo (mod) = Resto da Divisão 
76
Ordem de Precedência
Sempre que tivermos uma expressão aritmética, a ordem que iremos 
seguir é:
77
Exemplo / Exercício: 
Como calcular a média entre dois números?
78
Algoritmo “valores”
Var
N1, N2: Inteiro
M: real
Inicio
Escreva (“Informe um numero: ”)
Leia (N1)
Escreva (“Informe o segundo numero: ”)
Leia (N2)
M <- (N1 + N2) / 2 
Escreva (“A media entre “, N1, “ e “, N2, “ e “, M) 
FimAlgoritmo
79
Mas e se eu tirasse os parênteses da linha 
onde é calculada a média, o que 
aconteceria?
80
Algoritmo “valores”
Var
N1, N2: Inteiro
M: Real
Inicio
Escreva (“Informe um numero: ”)
Leia (N1)
Escreva (“Informe o segundo numero: ”)
Leia (N2)
M <- N1 + N2 / 2 
Escreva (“A media entre “, N1, “ e “, N2, “ e “, M) 
FimAlgoritmo
81
Se colocarmos os valores 7 e 3, o resultado será 8.5
Explicando: 3/2 = 1.5+7 = 8.5
Isso acontece devido a Ordem de 
Precedência, conforme visto anteriormente 
82
O Visualg possui algumas Funções Aritméticas. 
Vamos conhecê-las... 
83
Funções Aritméticas
Explicando cada uma delas:
Valor absoluto = valor sem o sinal...
No Exemplo acima o valor retornado seria 10
84
Vamos Praticar....
Façam um algoritmo utilizando Abs
85
Exemplo Abs
86
No exemplo, três expoente dois é igual a 9 
32 = 9
obs: pode usar a função Exp ou o operador ^ (ex: 
3^2) conforme visto anteriormente
Façam um exemplo utilizando Exp
Funções Aritméticas
87
Exemplo Exp
88
Funções Aritméticas
Int irá me retornar apenas a parte inteira de um número. 
Perceba que no exemplo colocamos 3.9
Qual sua parte Inteira? 
3
Obs: não é arredondamento. Falamos apenas em Parte Inteira.
89
Qual a Raiz Quadrada de 25? 
5
Funções Aritméticas
90
Exemplo
91
Façam um algoritmo que me retorna a 
parte Inteira da Raiz Quadrada de 90.
92
Exemplo
93
Funções Aritméticas
Sempre que utilizar PI sem parênteses terei o retorno do 
valor de PI = 3.14...
94
As funções seno, cosseno e tangente são 
as mesmas utilizadas pela matemática. 
0.523 é aproximadamente em radianos o 
que nos temos em 30º. 
Sendo assim:
Funções Aritméticas
95
Se você quer saberquanto da em Radianos 
uma determinada medida em graus, você 
pode utilizar:
Funções Aritméticas
96
Exemplo
97
Escreva um algoritmo que me retorne o 
Seno de 90º
98Lembre-se: Sen só aceita valores em radianos
99
Escreva um algoritmo que recebe o valor de 
um ângulo, converte esse ângulo para 
radianos e calcula os valores de Seno, 
Cosseno e Tangente. 
100
101
Exercícios
1) Mostrar o resultado da divisão de dois 
números 
2) Mostrar a média entre três números 
102
Respostas Exercícios 
1)
algoritmo "multiplicacaoDoisNumeros" 
var 
resultado, n1, n2: real 
inicio 
Escreva("Digite o primeiro valor: ") 
Leia(n1) 
Escreva("Digite o segundo valor: ") 
Leia(n2) 
resultado <- n1 / n2 
Escreva("A divisão entre", n1, " e", n2, " é", resultado) 
fimalgoritmo 
103
Resposta Exercícios
2)
algoritmo "mediaTresNumeros" 
var 
resultado, n1, n2, n3: real 
inicio 
Escreva("Digite o primeiro valor: ") 
Leia(n1) 
Escreva("Digite o segundo valor: ") 
Leia(n2) 
Escreva("Digite o terceiro valor: ") 
Leia(n3) 
resultado <- (n1 + n2 + n3) / 3 
Escreva ("A media entre ", n1, ",", n2, " e", n3, " é", resultado) 
fimalgoritmo 
104
Operadores Relacionais
Operadores relacionais são utilizados para comparar valores, o 
resultado de uma expressão relacional é um valor booleano 
(VERDADEIRO ou FALSO). 
Os operadores relacionais são: igual, diferente, maior, menor, maior 
ou igual, menor ou igual.
Não é necessário explicar cada um, pois eles são auto-explicativos.
105
106
107
108
Pratiquem ex: a=b
109
Pratiquem
Ex:a<>b
110
Pratiquem
Ex: A>2
111
Pratiquem
A>=2
112
Pratiquem
Ex: C=A+B
113
Pratiquem
Ex: (C>=B^A)
114
Pratiquem
(C<=B^A)
115
Pratiquem
B<=C%2
116
Pratiquem
1=C%2
117
Exemplo:
Mostrar o funcionamento dos operadores 
relacionais com 3 possibilidades de valores: 
um número menor que o outro, dois 
números iguais e um número maior que 
outro. 
118
algoritmo "TesteOperadoresRelacionais"
var
numero1, numero2: INTEIRO
resultado : LOGICO
inicio
numero1 <- 5
numero2 <- 3
resultado <- numero1 = numero2
ESCREVAL (numero1, " = ", numero2, "? ", resultado)
resultado <- numero1 <> numero2
ESCREVAL (numero1, " <> ", numero2, "? ", resultado)
resultado <- numero1 > numero2
ESCREVAL (numero1, " > ", numero2, "? ", resultado)
resultado <- numero1 < numero2
ESCREVAL (numero1, " < ", numero2, "? ", resultado)
resultado <- numero1 >= numero2
ESCREVAL (numero1, " >= ", numero2, "? ", resultado)
resultado <- numero1 <= numero2
ESCREVAL (numero1, " <= ", numero2, "? ", resultado)
numero1 <- 5
numero2 <- 5
resultado <- numero1 = numero2
ESCREVAL (numero1, " = ", numero2, "? ", resultado)
resultado <- numero1 <> numero2
ESCREVAL (numero1, " <> ", numero2, "? ", resultado)
resultado <- numero1 > numero2
ESCREVAL (numero1, " > ", numero2, "? ", resultado)
resultado <- numero1 < numero2
ESCREVAL (numero1, " < ", numero2, "? ", resultado)
resultado <- numero1 >= numero2
ESCREVAL (numero1, " >= ", numero2, "? ", resultado)
resultado <- numero1 <= numero2
ESCREVAL (numero1, " <= ", numero2, "? ", resultado)
numero1 <- 5
numero2 <- 8
resultado <- numero1 = numero2
ESCREVAL (numero1, " = ", numero2, "? ", resultado)
resultado <- numero1 <> numero2
ESCREVAL (numero1, " <> ", numero2, "? ", resultado)
resultado <- numero1 > numero2
ESCREVAL (numero1, " > ", numero2, "? ", resultado)
resultado <- numero1 < numero2
ESCREVAL (numero1, " < ", numero2, "? ", resultado)
resultado <- numero1 >= numero2
ESCREVAL (numero1, " >= ", numero2, "? ", resultado)
resultado <- numero1 <= numero2
ESCREVAL (numero1, " <= ", numero2, "? ", resultado)
fimalgoritmo
119
Resultado
120
121
122
Operadores Lógicos
Ex: Eu quero que Paula E Quezia Sejam Felizes
123
Operadores Lógicos
Ex: Eu quero que Paula ou Quezia sejam Felizes
124
Tabela Verdade
E OU
125
Pratiquem
Verdadeiro e falso
126
Pratiquem
((A=B) ou (C>A))
127
Pratiquem
(não((A=B) ou (C>A)))
128
Ordem de Execução de todos Operadores que 
podem ser utilizados dentro de um algoritmo
129
Primeira Lista de Exercícios 
Vale 2,0 para NP1. 
Individual.
Entregar impresso ou manuscrito até a última 
aula ANTES da NP1
ATENÇÃO 
• Prazo de entrega: última aula antes da 
NP1. 
• Após essa data nenhum trabalho será 
aceito pois as respostas dos exercícios 
serão divulgadas. 
130
Escreva um algoritmo que leia as medidas dos lados de 
um triângulo e escreva se ele é EQUILÁTERO ou 
ESCALENO.
Obs: Faça um teste lógico para saber se o triangulo é 
equilátero ou Escaleno 
Observação:
• Triângulo Equilátero: Possui 3 lados iguais.
• Triângulo Escaleno: Possui 3 lados diferentes.
131
Lembre-se
Triângulo Equilátero: é todo triângulo que apresenta os três lados com a 
mesma medida. Nesse caso dizemos que os três lados são congruentes.
Triângulo Escaleno: é todo triângulo que apresenta os três lados com medidas 
diferentes, ou seja, três lados de tamanhos diferentes.
132
algoritmo “triângulos”
var
L1, L2, L3: Real
133
Um detalhe que foi negligenciado no algoritmo anterior é se 
os valores digitados podem ou não ser um triangulo. 
Qual a regra???
Só irá existir um triângulo se, somente se, os seus lados obedeceram à seguinte regra: um de 
seus lados deve ser maior que o valor absoluto (módulo) da diferença dos outros dois lados e 
menor que a soma dos outros dois lados. Veja o resumo da regra abaixo: 
| b - c | < a < b + c 
| a - c | < b < a + c 
| a - b | < c < a + b
Exemplo: 
Com os três segmentos de reta medindo 5cm, 10cm e 9cm, podemos formar um triângulo? 
Vamos aplicar a regra da condição de existência de um triângulo para todos os lados. 
|10 – 9| < 5 < 10 + 9 
1 < 5 <19 (VERDADEIRO) 
|9 – 5| < 10 < 9 + 5 
4 < 10 < 14 (VERDADEIRO)
|5 – 10| < 9 < 10 + 5 
5 < 9 < 15 (VERDADEIRO) 
Quando um lado não obedece à regra não é possível existir um triângulo. 
134
Escreva um algoritmo que leia as medidas dos lados de 
um triângulo e escreva se ele é EQUILÁTERO ou 
ESCALENO.
Obs: Faça um teste lógico para saber se os valores 
digitados podem formar um triangulo e se o triangulo é 
equilátero ou Escaleno 
135
algoritmo “triangulos”
var
L1, L2, L3: Real
+ L2)
fimalgoritmo
136
Exemplos do algoritmo anterior
137
Escreva um algoritmo que calcule a idade 
de determinada pessoa
138
139
Escreva um algoritmo que converta 
determinada quantidade de Reais em 
Doláres
140
141
Você viajou para os EUA e comprou 
diversos produtos. Ao retornar para o Brasil 
a Receita Federal cobrou imposto de 60% 
sobre tudo que você gastou nesses 
produtos. Escreva um algoritmo que informe 
quanto você vai pagar de imposto. 
142
143
Exercício para Casa
Escreva um algoritmo onde você informa o valor que será 
obtido de empréstimo e em quantas parcelas quer pagar. No final, 
retorne o valor de cada parcela (inclindo o valor dos juros do 
banco)
144
145
A Estrutura Condicional é empregada em 
situações em que é preciso tomar uma 
decisão a respeito de determinado resultado 
que será obtido em duas situações diversas. 
146
Vamos primeiro entender o que é uma 
condição
Comando , Expressão, Ação
Condicional
Simples
147
Escreva um algoritmo que calcule a idadede determinada pessoa
148
algoritmo "calculoidade"
var
ano, nasc, idade: Inteiro
inicio
Escreval ("Em que ano estamos?“)
Leia (ano)
EscrevaL ("Em que ano voce nasceu?")
Leia (nasc)
idade <- ano-nasc
Escreva ("Em ", ano, " voce tera ", idade, " anos ")
Se (idade >= 18) entao
EscrevaL ("e ja sera maior de idade")
FimSe
fimalgoritmo
149
Condicional Composta
150
Escreva um algoritmo que leia um número 
inteiro e diga se ele é par ou impar.
151
Como saber se um número é par ou impar? 
Através do seu resto
Exemplo:
152
153
Faça um Algoritmo que leia o peso de uma 
pessoa (em Kg) e a altura (em metros). 
Calcule o IMC dessa pessoa e verifique se 
esta pessoa esta dentro de sua faixa de 
peso ideal.
154
155
156
Exercício para casa
Aproveitando o algoritmo de Calculo do IMC, faça um 
algoritmo que leve em consideração a tabela abaixo:
157
Exercício para Casa
Escreva um algoritmo para saber se uma pessoa 
pode ou não tirar carteira de motorista
158
Exercício para Casa 
Faça um algoritmo que receba as notas da 
NP1 e NP2 e mostre se o Aluno foi Aprovado 
ou Reprovado. 
159
160
Mas como isso ficaria no Visualg???
161
162
Note que nós temos duas estruturas condicionais
163
Em formato de algoritmo teríamos:
Chamamos isso de Condicional Aninhada
164
Condicional Aninhada
Existem situações nas quais é necessário verificar condições de teste sucessivas, onde 
uma ação será executada caso um conjunto anterior de ações seja satisfeito.
Podemos usar para resolver esse tipo de problemas uma estrutura denominada Desvio 
Condicional Aninhado, que nada mais é do que o encadeamento de estruturas de 
decisão compostas em um algoritmo. 
Também chamamos a esse tipo de estrutura de Desvio Condicional Encadeado, por 
este motivo. 
Sintaxe: 
se (condição 1) então
instruções caso condição 1 retorne verdadeiro
senão
se (condição 2) então
instruções caso condição 2 retorne verdadeiro
senão
instruções caso condição 2 retorne falso
fimse
fimse
165
Exemplo
O programa deve solicitar duas notas de uma aluno, e calcular a média dessas notas. 
Caso a média calculada seja maior ou igual a 7, o programa deve emitir a mensagem 
"Aprovado"; se a média for menor do que 5, a mensagem a ser exibida é "Reprovado". 
Porém, se a média do aluno ficar entre 5 e 7, deve ser exibida a mensagem 
"Recuperação". Em todos os casos deve ser ecoada na tela a média calculada.
166
Algoritmo “notaAluno”
var
N1, N2 : inteiro
MEDIA : real
inicio
escreval ("Entre com a primeira nota:")
leia (N1)
escreval ("Entre com a segunda nota:")
leia (N2)
MEDIA <- (N1 + N2) / 2
se (media >= 7) entao
escreval ("Aprovado")
senao
se (media >= 5) entao
escreval ("Recuperação")
senao
escreval ("Reprovado")
fimse
fimse
escreva ("Sua média é ", MEDIA)
fimalgoritmo
167
Exercício
168
algoritmo "IMC"
var
M, A, IMC: REal
inicio
EscrevaL ("Massa (em Kg): ")
Leia (M)
EscrevaL ("Altura (m): ")
Leia (A)
IMC <- M / (A ^ 2)
EscrevaL ("IMC: ", IMC:5:2)
Se (IMC < 17) entao
EscrevaL ("Muito abaixo do peso ")
senao
Se (IMC >= 17) e (IMC < 18.5) entao
EscrevaL ("Abaixo do Peso ")
senao
Se (IMC >= 18.5) e (IMC < 25) entao
EscrevaL ("Peso ideal ")
senao
Se (IMC >= 25) e (IMC < 30) entao
EscrevaL ("Sobrepeso")
senao
Se (IMC >= 30) e (IMC < 35) entao
EscrevaL ("Obesidade ")
senao
Se (IMC >= 35) e (IMC < 40) entao
EscrevaL ("Obesidade severa ")
senao
EscrevaL ("Obesidade Morbida")
FimSe
FimSE
FimSe
FimSe
FimSe
FimSe
fimalgoritmo
169
Assunto da NP1 vai até este Slide
170
Escolha Caso
Como Funciona?
171
Escreva um algoritmo utilizando “Escolha Caso” onde você ira criar um 
Menu de 5 opções, conforme abaixo:
1 – Para doar R$10,00
2 – Para doar R$ 25,00
3 - Para doar R$ 50,00
4 – Para doar outros valores (é necessário receber esse valor)
5 – Para Cancelar 
172
Valor: Real
173
174
A Estrutura Escolha não serve para testar 
faixas de valores, isto é, maior ou igual, 
menor que..., e ela só funciona para valores 
inteiros. 
175
Em uma empresa existe uma política de acréscimo na remuneração dos 
funcionários de acordo com a quantidade de dependentes. Ela funciona da 
seguinte forma: 
• Caso o funcionário não tenha nenhum dependente, seu salário final terá 
um acréscimo de 5%;
• Caso o funcionário tenha 1, 2 ou 3 dependentes, o salário final terá um 
acréscimo de 10%; 
• Caso o funcionário tenha 4, 5 ou 6 dependentes, o seu salário final terá um 
acréscimo de 15%;
• Caso o Funcionário tenha mais de 6 dependentes, o salário final terá um 
acréscimo de 18%.
Escreva um algoritmo que receba o nome do funcionário, qual seu salário, 
qual sua quantidade de dependentes e qual o seu novo salário.
176
Algoritmo “dependentes”
Var
fimalgoritmo
177
Escreva um algoritmo que receba a NP1 e NP2, calcule a média 
do aluno e de acordo com sua nota, mostre qual a sua 
classificação.
Lembre-se: Como estamos trabalhando com números reais, não 
poderemos usar o “escolha caso”
178
Escreva um algoritmo que receba a quantidade de gols de uma 
partida. Após, calcule a diferença da quantidade de gols que 
ocorreram na partida e classifique o tipo de partida de acordo 
com a tabela abaixo:
• Caso a diferença seja de 1, 2 ou 3 gols, tivemos uma partida 
normal;
• Caso a diferença seja 0, tivemos um empate;
• Caso a diferença for 4 gols ou mais, tivemos uma goleada.
Escreva o código utilizando a estrutura “se” e depois utilizando a 
estrutura “escolha”.
179
algoritmo "semnome"
var ti1, ti2, diferenca: inteiro
inicio
Escreval ("Quantidade de gols do time 1")
leia(ti1)
Escreval ("Quantidade de gols do time 2")
leia(ti2)
diferenca <- abs(ti1 - ti2)
escolha diferenca
caso 0
escreval("empate")
caso 1,2,3
escreval("Partida Normal")
outrocaso
escreval("Goleada")
fimescolha
fimalgoritmo
180
181
Estruturas de repetição são usadas para que determinado 
bloco de comandos seja executado diversas vezes. A 
garantia de parada da repetição ocorre por meio de uma 
condição que é verificada a cada nova iteração. 
Dependendo do tipo de estrutura de repetição utilizado, o 
bloco de comandos é executado pelo menos uma vez. 
A estrutura de repetição para utiliza variáveis de controle 
que definem exatamente o número máximo de vezes que a 
sequência de instruções será executada.
182
Vamos começar com um exemplo de um algoritmo 
genérico
183
Estrutura do Enquanto
184
Escreva um algoritmo que conte de 0 até 10. Utilize o 
“Enquanto”. 
Obs: Execute com o Timer para você ver o Enquanto em 
funcionamento
185
186
187
188
189
190
191
Prática 04
Escreva um algoritmo que mostre na tela 
todos números pares de 10 até 0. 
Utilize o “Enquanto”. 
Obs: Execute com o Timer para você ver o 
Enquanto em funcionamento
192
193
Escreva um algoritmo onde o usuário entre 
com o valor e escreva na tela em ordem 
decrescente os números pares. 
194
Algoritmo “exerc”
Var 
Cont: inteiro
Inicio
Escreval (“digite um num)
Leia (num)
Enquanto cont >=0 faca
Se (cont%2=0)
Escreval (cont)
Fimse
Cont <- cont -1
Fimenquanto
fimalgoritmo
195
Prática 05
Escreva um algoritmo que conte de 0 até 
um número que o usuário queira. Detalhe, o 
usuário também escolherá a forma de como 
irá ocorrer o salto.
Utilize o“Enquanto”. 
Obs: Execute com o Timer para você ver o 
Enquanto em funcionamento
196
fimalgoritmo
197
Pratica 06
Utilize o Enquanto
198
199
Mas e se eu quisesse que o programa execute de 
forma indeterminada e não apenas 5 vezes? 
Nesse caso, o usuário deve ser consultado 
quando o algoritmo deve finalizar. 
Escreva esse algoritmo agora
200
Tela de execução no prox slide
201
202
Agora vamos incrementar a 
prática 06
203
Algoritmo “ex”
fimalgoritmo
204
Prática 07
Aproveitando o último algoritmo 
feito, ache o menor valor 
digitado
205
Prática 08
206
FimEnquanto
FimAlgoritmo
207
Existe um problema quando se aprende 
estrutura de repetição. 
Chamamos de Looping Infinito
Vamos ver como solucioná-lo 
208
Vamos utilizar o exemplo que já vimos 
anteriormente. Agora retire a linha sublinha e 
execute o programa. Veja o que acontece. 
209
Para parar o looping, Clique em :
210
Exercício Contagem Inteligente 
A contagem inteligente vai funcionar da seguinte maneira: 
Exemplo: Se eu colocar de 1 a 6, o programa ira contar de 
1 a 6...
Continua...
211
Continuando...
Exemplo: Se eu colocar de 8 a 0, ele vai detectar que o 
primeiro número inserido é maior que o segundo e por isso vai 
mostrar uma contagem regressiva 
Por isso o seu programa fará uma contagem inteligente. Se o 
menor valor estiver no início, será feito uma contagem 
progressiva. Caso contrário, será feito uma contagem 
regressiva. 
212
Exercício O melhor aluno da Turma
Escreva um algoritmo que receba a quantidade de alunos 
de uma turma. Depois, receba o nome e a média de cada 
aluno. No final, exiba na tela qual o melhor aluno e sua 
média. 
Exemplo:
213
214
215
Escreva um algoritmo que some os 5 
primeiros números digitados: 
Utilizando o Enquanto, teríamos
216
217
Escreva um algoritmo que some n números digitados pelo 
usuário de forma que a execução do programa somente 
será encerrada quando o usuário quiser. Ao final, 
apresente a soma de todos valores digitados. 
Utilize o Repita
Observe como o programa irá executar na próxima tela...
218
219
220
Escreva um algoritmo que conte de 1 até 
10. 
Utilize a estrutura REPITA
221
222
Escreva um algoritmo que mostre a tabuada 
de um número.
Utilize o REPITA
223
Tela de execução no prox slide...
224
225
Escreva um algoritmo que mostre a 
Quantidade de números negativos de 05 
números digitados pelo usuário. 
Utilize o REPITA
226
)
227
Calcule o Fatorial de um número.
Lembre-se: Utilize o REPITA
Algumas definições são:
• 1! = 1
• 0! = 1
Exemplos:
• 3! = 3 x 2 x 1 = 6
• 4! = 4 x 3 x 2 x 1 = 24
• 6! = 6 x 5 x 4 x 3 x 2 x 1 = 720
228
Tela de execução no prox slide...
229
230
Agora vamos aproveitar o código já escrito e 
Incrementa-lo de forma que o programa não 
encerre após o calculo do primeiro Fatorial. 
O usuário deve ser consultado se deseja ou 
não encerrar a execução. 
231
Algoritmo “fatorial”
fimalgoritmo
232
Escreva um Algoritmo que faça uma contagem inteligente 
que vai funcionar da seguinte maneira: 
Exemplo: Se eu colocar de 1 a 6, o programa ira contar de 
1 a 6...
Utilize o REPITA
233
Algoritmo “contagemprogressiva”
234
Escreva um algoritmo para verificar se determinado 
número é um número primo ou não. Utilize o REPITA
Relembrando:
Números primos são os números naturais que têm apenas dois divisores diferentes: 
o 1 e ele mesmo.
Exemplos:
1) 2 tem apenas os divisores 1 e 2, portanto 2 é um número primo.
2) 17 tem apenas os divisores 1 e 17, portanto 17 é um número primo.
3) 10 tem os divisores 1, 2, 5 e 10, portanto 10 não é um número primo.
Observações:
=> 1 não é um número primo, porque ele tem apenas um divisor que é ele 
mesmo.
=> 2 é o único número primo que é par.
235
236
Construa um algoritmo onde o programa escrito funcione como 
descrito abaixo:
Se pressionar 1, o programa irá contar de 1 até 10;
Se pressionar 2, o programa irá contar de 10 até 1;
Se pressionar 3, o programa será encerrado. 
Veja um Exemplo de tela no próximo slide... 
237
238
239
Faça um programa que receba as informações descritas no 
menu abaixo. O programa deve ser executado até que o 
usuário diga que não quer mais executar. Ao final, ele deve 
informar quantos homens com mais de 18 anos e cabelos 
castanhos existem e quantas mulheres são loiras e estão 
entre 25 e 30 anos. 
No prox slide temos a tela final do programa...
240
241
242
Antes de iniciarmos a terceira parte de Estruturas 
de repetição, vamos relembrar o que já foi visto...
No prox slide veremos dois exemplos de um programa que 
conta de 1 até 10. Um utilizando enquanto e outro 
utilizando repita.
243
Relembrando...
244
A última estrutura de repetição que iremos ver é a estrutura 
PARA.
Para compararmos, vamos aproveitar o a estrutura do programa 
que conta de 1 até 10, só que agora utilizaremos o PARA. 
245
Escreva um algoritmo que conte de 1 até 10. 
Lembre-se, como o passo utilizado vai ser 1, é sua 
opção declará-lo ou não.
Utilize a estrutura PARA
246
247
Escreva um algoritmo que mostre apenas 
os números impares contidos entre 1 e 10.
Utilize a estrutura PARA 
248
249
Escreva um algoritmo que conte de 10 até 1 
Utilize a estrutura PARA. 
250
251
Agora vamos comparar um algoritmo feito 
com o ENQUANTO e outro com o PARA. 
Façam um algoritmo que some o conteúdo 
dos 5 primeiros números digitados. 
252
Utilizando o Enquanto 
253
Utilizando o PARA
254
Percebemos que a Estrutura PARA 
substituiu a Estrutura ENQUANTO sem 
nenhum problema. 
Entretanto, existe uma situação que ela não 
pode ser utilizada...
Vamos ver o exemplo do próximo slide...
255
Faça um algoritmo que some diversos 
valores digitados pelo usuário. 
Obs: o usuário deve ser consultado 
perguntando se o programa deve encerrar o 
recebimento dos valores ou se deve 
continuar
Utilize a estrutura Repita
256
257
Nesses casos onde não sabemos a 
quantidade de vezes que o algoritmo será 
executado, não podemos utilizar a estrutura 
PARA. 
258
Escreva um algoritmo que conte de 0 até 
um número digitado, mostrando para o 
usuário apenas os números pares! 
Utilize o PARA
259
260
Escreva um algoritmo que conte de um 
número digitado até 0, mostrando para o 
usuário apenas os números pares! 
Utilize o PARA
261
262
Escreva um algoritmo que receba 6 valores 
e mostre na tela quantos valores digitados 
estão entre 0 e 10
263
)
264
Utilize o PARA
265
266
E se você quiser somar os impares mesmo 
fora do intervalo de 0 a 10? 
Faça esse algoritmo 
267
Faça um algoritmo que irá fazer a combinação de 
3 números digitados, de dois dígitos, conforme 
exemplo acima. Utilize o PARA
268
269
O que é ?
É uma sucessão de números que, misteriosamente, 
aparece em muitos fenômenos da natureza. 
Descrita no final do século 12 pelo italiano Leonardo 
Fibonacci, ela é infinita e começa com 0 e 1. 
Os números seguintes são sempre a soma dos dois 
números anteriores. Portanto, depois de 0 e 1, vêm 1, 2, 3, 
5, 8, 13, 21, 34…
270
Faça um algoritmo que mostre os 15 
primeiros valores da série de Fibonacci 
Lembre-se, cada termo é calculadopela 
soma dos dois anteriores.
271
Faça um algoritmo que receba 5 valores e no final mostre a 
soma dos valores, a média entre os valores, quantos são 
divisíveis por 5, quantos são nulos e a soma apenas dos 
números pares.
Veja a tela de execução do programa no próximo slide 
272
273
Avaliações
________________________________________________________________________________________________________________________________
2º AV: 12/Junho
Assunto da prova: verificar nos slides
2ºChamada da 2ºAV: 19/Junho
_______________________________________________________________________________________________________________________________________
3º AV (AF): 19/Junho (ATENÇÃO PARA ESSA DATA)
Assunto: TUDO

Mais conteúdos dessa disciplina