Introdução a Lógica de Programação

Propaganda
Sistemas Operacionais e
Introdução à
Programação
Introdução à Lógica de
Programação: estruturas de
repetição
1
Lógica de Programação
Imagine um algoritmo para calcular a média de uma
quantidade desconhecida de números
●
Para resolver esse problema, seria necessário escrever um
algoritmo capaz de ler até uma certa quantidade máxima
(predeterminada) de números:
INICIO
Real num, media ← 0
Inteiro quantidade
Escrever “Informe a quantidade de números: “
Ler quantidade
Ler media
Se quantidade > 0
Ler num
media ← media + num
quantidade ← quantidade - 1
Senao
Escrever “media = “, media
fimSe
Esta sequência precisaria se
repetir muitas vezes dentro do
algoritmo
2
Lógica de Programação
Imagine um algoritmo para calcular a média de uma
quantidade desconhecida de números
inicio
real num , media <- 0
inteiro qtde , n
escrever "Informe a quantidade de numeros: "
ler qtde
n <- qtde
enquanto n > 0 faz
escrever "Novo número: "
ler num
media <- media + num
n <- n - 1
fimenquanto
escrever "media = " , media / qtde
fim
Esta sequência repete
automaticamente para ler todos
os números
3
Lógica de Programação
Fluxograma do algoritmo da
média
4
Lógica de Programação
Estruturas de repetição
●
●
●
Possibilitam repetir uma sequência de ações do algoritmo
Estruturas de repetição condicionais:
● enquanto uma determinada condição for verdadeira
● ... ou até que uma determinada condição seja verdadeira
Estruturas de repetição incondicionais:
● Por um número predeterminado de vezes
5
Lógica de Programação
Estruturas de repetição condicionais
●
Condição testada no início da repetição:
Enquanto condição faz
bloco de comandos
fimEnquanto
●
●
Testa a condição antes da execução do bloco
Enquanto a condição for verdadeira, executa o bloco
●
●
Bloco pode ser executado 0 ou mais vezes
Termina a execução do bloco quando condição for falsa
6
Lógica de Programação
Estruturas de repetição condicionais
●
Ex: verificar qual o menor valor, dentre um conjunto de 10 valores
lidos do teclado
INICIO
Inteiro valor, menor, contador
Ler menor
contador ← 9
Enquanto contador > 0 faz
Ler valor
Se valor < menor então
menor ← valor
fimSe
contador ← contador – 1
fimEnquanto
Escrever “Menor valor = “, menor
FIM
7
Lógica de Programação
Fluxograma da busca do
menor valor
8
Lógica de Programação
Exercícios
1) Faça um algoritmo para mostrar a tabuada de um número
lido pelo teclado. Esse número deve estar entre 1 e 10.
2 ) Modifique o algoritmo anterior para que ele mostre a
tabuada de todos os números entre 1 e 10.
3) Faça um algoritmo para calcular o fatorial de um número lido
pelo teclado, e mostrar o resultado na tela.
4) Modifique o algoritmo da calculadora para que após resolver
uma conta, ela volte a pedir os dados para fazer uma próxima
conta (quer dizer, peça de novo os dois números e a operação).
No entanto, deve haver uma opção para que o usuário termine
a calculadora.
9
Lógica de Programação
Exercícios
5) Faça um algoritmo que leia 5 números pelo teclado e
descubra o maior e o menor número.
6) Faça um algoritmo que leia 5 números pelo teclado, e ao
final mostre apenas os dois maiores números.
7) Escreva um algoritmo que verifique se um número lido pelo
teclado é primo.
8) Modifique o algoritmo anterior para que mostre todos os
números primos menores que um determinado número lido pelo
teclado.
10
Lógica de Programação
Estruturas de repetição condicionais
●
Exercício: observe o algoritmo abaixo:
INICIO
Inteiro x, n
Ler n
Ler x
y →1
Enquanto x > 0 faz
y → y* n
x→x–1
fimEnquanto
Escrever y
FIM
Qual o objetivo desse algoritmo ?
11
Lógica de Programação
Estruturas de repetição condicionais
●
Condição testada no final da repetição:
Faz
bloco de comandos
Enquanto condição
●
●
Testa a condição após a execução do bloco
Enquanto a condição for VERDADEIRA, executa o bloco
●
Bloco pode ser executado 1 ou mais vezes
Para a execução do bloco quando condição for FALSA (condição de
parada)
●
12
Lógica de Programação
Estruturas de repetição condicionais
●
Ex: verificar qual o menor valor, dentre um conjunto de 10 valores
lidos do teclado
INICIO
Inteiro valor, menor, contador
Ler menor
contador <- 9
Faz
Ler valor
Se valor < menor então
menor <- valor
FimSe
contador <- contador – 1
Enquanto contador > 0
Escrever “Menor valor = “, menor
FIM
13
Lógica de Programação
Estrutura de repetição incondicional
●
Repetições executadas um número predeterminado de vezes:
Para variável de valor_inicial ate valor_final passo incremento
bloco de comandos
Proximo
●
Repete o bloco de comandos 1+(valor_final – valor_inicial) vezes
Atualiza automaticamente a variável de controle ao final de cada
repetição
●
●
●
Se valor_final < valor_inicial, bloco não é executado
Variável de controle não deve ser modificada dentro do bloco
14
Lógica de Programação
Estruturas de repetição condicionais
●
Ex: verificar qual o menor valor, dentre um conjunto de 10 valores
lidos do teclado
INICIO
Inteiro valor, menor, contador
Ler menor
contador <- 9
Para contador de 1 ate 9 passo 1
Ler valor
Se valor < menor então
menor <- valor
FimSe
Proximo
Escrever “Menor valor = “, menor
FIM
15
Lógica de Programação
Exercícios
1) Usando uma estrutura de repetição faça um algoritmo para
calcular o desvio padrão de 10 números lidos do teclado.
2) Faça um algoritmo que mostre um menu com as opções: adição,
subtração, multiplicação e divisão. Cada opção deve ser
identificada por um número. Seu algoritmo deve ler uma opção pelo
teclado, e em seguida executar a operação correspondente. Os
operandos da operação devem também ser lidos pelo teclado. O
resultado deve ser mostrado na tela.
16
Lógica de Programação
Exercícios – usar estrutura de repetição “para”
1) Faça um algoritmo para mostrar a tabuada de um número
lido pelo teclado. Esse número deve estar entre 1 e 10.
2 ) Modifique o algoritmo anterior para que ele mostre a
tabuada de todos os números entre 1 e 10.
3) Faça um algoritmo que leia 5 números pelo teclado e
descubra o maior e o menor número.
4) Faça um algoritmo que leia 5 números pelo teclado, e ao
final mostre apenas os dois maiores números.
5) Escreva um algoritmo que verifique se um número lido pelo
teclado é primo.
6) Modifique o algoritmo anterior para que mostre todos os
números primos menores que um determinado número lido pelo
teclado.
17
Lógica de Programação
Exercícios – usar estrutura de repetição “para”
7) Faça um algoritmo para fatorar um número. Quer dizer,
mostrar todos os seus divisores primos (com as respectivas
multiplicidades). Ex: a fatoração de 12 resulta em 3, 4; a
fatoração de 100 dá 2, 2, 5, 5.
18
Lógica de Programação
Exercício (usar enquanto condição faz … ou faz …
enquanto condição)
7) Uma calculadora opera da seguinte forma: no início de uma
conta, ela lê um número, a operação a ser executada (+, -, *
ou /), e depois o segundo número. Após isto, ela lê novamente
uma operação, que pode ser “=” ou (+, -, * ou /): se for “=” ela
mostra o resultado e encerra a conta, mas se for uma operação
aritmética ela pede um novo número, e assim por diante. Por
exemplo, as seguintes sequências fornecidas à calculadora
resultariam em:
1 + 2 – 4 * 5 = -5
3*4+2/3=5
Faça o algoritmo dessa calculadora. Ao final de uma conta, a
calculadora deve perguntar se deve fazer uma nova conta ou
terminar sua execução (terminar o programa).
19
Download