Algoritmos e Programação
Download
Report
Transcript Algoritmos e Programação
Algoritmos e
Programação
Thyago Maia Tavares de Farias
Aula 10
Sumário
Revisão do conteúdo para o 1º estágio
Revisão
Algoritmos
Sequência de instruções finita;
Instruções ordenadas de forma lógica;
Objetivam a solução de uma tarefa ou problema;
Execução passo a passo;
Resultam saída(s) a partir de entrada(s) que podem ser inseridas pelo
usuário ou pelo próprio algoritmo;
Algoritmo correto = Saída(s) esperada(s);
Envolvem aspectos computacionais e não computacionais;
Podem existir mais de um algoritmo que atingem o mesmo
resultado (mesma saída);
Revisão
Porque criamos algoritmos?
Computadores não interpretam linguagem natural;
Computadores são projetados para executar tarefas
(instruções) bem determinadas;
Linguagem algorítmica é similar às linguagem de
programação;
Aprendendo a criar algoritmos, estamos aptos a
programar em qualquer linguagem de programação;
Revisão
Representações de um
algoritmo:
SUBJETIVIDADE
Descrição narrativa;
Fluxograma
Pseudocódigo, Português
Estruturado ou Portugol;
PRECISÃO
Revisão
Linearização de expressões
Para contrução de algoritmos que realizam cálculos
matemáticos, TODAS expressões aritméticas devem ser
linearizadas;
Linearizadas = Colocadas em linha;
Linearização de expressões
Operadores aritméticos disponíveis para o
português estruturado:
Adição (+)
Subtração (-)
Multiplicação (*)
Divisão (/)
Divisão inteira (\)
Exponenciação (^ ou Exp)
Módulo, ou resto da divisão (%)
Linearização de expressões
Operadores relacionais disponíveis no Português
estruturado:
Maior (>)
Menor (<)
Maior ou igual (>=)
Menor ou igual (<=)
Igual (=)
Diferente (<>)
Linearização de expressões
Operadores lógicos
Atuam em expressões, também resultando em
valores lógicos VERDADEIRO ou FALSO;
Tipos de operadores:
E: Resulta verdadeiro se AMBAS AS PARTES forem
verdadeiras;
OU: Resulta verdadeiro se UMA DAS PARTES é
verdadeira;
NÃO: Nega uma afirmação. Se verdadeiro, torna-se falso;
Se falso, torna-se verdadeiro;
Revisão
Forma geral de um algoritmo
Algoritmo “forma”
Var
Inicio
// Lista de instruções
fimalgoritmo
Revisão
Variáveis
Posição de memória capaz de reter e representar um
valor ou expressão;
Finalidade de armazenar dados ou informações;
São associados a nomes (identificadores);
Possuem os seguintes tipos:
Inteiro (Ex.: 2, 4, 456)
Real ou numerico (Ex.: 2.3)
Literal ou caractere (Ex.: “Revisão”)
Logico (verdadeiro ou falso)
Exercício
Analise o algoritmo abaixo e informe o valor que cada variável
possui após sua execução:
Algoritmo “verifica_variavel”
Var a,b,c: inteiro
Inicio
a <- 45
b <- 30
c <- a - b
se (c > 10) entao
b <- b – a
senao
a <- b – a
fimse
fimalgoritmo
Revisão
Comandos escreva e escreval
Utilizados para escrever mensagens ou valores de
variáveis;
escreva escreve algo e mantém o cursor na mesma linha
Escreval escreve algo e pula uma linha
Ex.:
escreva(“Minha primeira mensagem”)
escreval(idade)
Comandos de entrada e saída
Comandos leia
Utilizado para ler um valor digitado pelo usuário;
Ex.:
leia(nome)
leia(idade)
Leia(altura)
Leia(distancia)
Exercício
Faça um algoritmo que receba o valor do quilo
de um produto, a quantidade de quilos e calcule
o valor final a ser pago.
Revisão - Estrutura condicional
Para criarmos estruturas condicionais simples
em Português Estruturado, utilizamos as
palavras reservadas se, entao e fimse
se condicao entao
// lista de comandos caso a condição seja
// verdadeira
fimse
Estrutura condicional
Exemplo 2:
Algoritmo “exemplo_senha”
Var senha: literal
inicio
escreval(“Digite a senha”)
leia(senha)
Se (senha = “soueu123”) entao
escreval(“Acesso liberado!”)
Fimse
fimalgoritmo
Revisão - Estrutura condicional
Para criarmos estruturas condicionais com duas opções
de escolha, utilizamos as palavras reservadas se, entao,
senao e fimse
se condicao entao
// lista de comandos caso a condição seja
//VERDADEIRA
senao
// lista de comandos caso a condição seja FALSA
fimse
Estrutura condicional
Exemplo 3:
Algoritmo “exemplo_se_senao”
Var numero: inteiro
inicio
numero <- 4
Se (numero > 3) entao
escreva(“A variável é maior que 3”)
senao
escreva(“A variável é menor ou igual a 3”)
Fimse
fimalgoritmo
Exercício
Escreva um algoritmo que retorne o nome do
produto a partir do seu código. Considere os
seguintes códigos:
001 – Parafuso
002 – Porca
003 – prego
Revisão - Comando de seleção
múltipla
Para várias condições, podemos utilizar o
comando de seleção múltipla escolha;
escolha expressao
caso resultado_1
// Lista de instruções
caso resultado_2
// Lista de instruções
...
outrocaso
// Lista de instruções
fimescolha
Comando de seleção múltipla
Exemplo:
algoritmo “exemplo_caso”
var sexo: literal
inicio
escreval(“Digite seu sexo (M ou F)”)
leia(sexo)
escolha(sexo)
caso “M”
escreval(“O usuário é Homem”)
caso “F”
escreval(“O usuário é Mulher”)
fimescolha
fimalgoritmo
Exercício
Utilizando o comando escolha...caso, escreva um
algoritmo que retorne o nome do produto a
partir do seu código. Considere os seguintes
códigos:
001 – Parafuso
002 – Porca
003 – prego
Para qualquer outro código - Diversos
Revisão - Repita...ate
Utilizamos as palavras reservadas repita e ate
para formar o laço de repetição;
Forma geral:
repita
// Lista de instruções
ate expressão lógica
Revisão - Repita...ate
Exemplo - Algoritmo que escreve os números
de 1 a 10:
algoritmo “Mostra10”
var numero: inteiro
inicio
numero <- 1
repita
escreva(numero)
numero <- numero + 1 // contador
ate numero > 10
fimalgoritmo
Exercícios
Faça um algoritmo que escreva os números
pares entre 1 e 10.
Exercícios (Geral)
Escreva um algoritmo que lê um número inteiro
positivo e o mostre por extenso. Este número
deverá variar entre 1 e 10. Se o usuário
introduzir um número que não pertença a este
intervalo, mostre a frase “número inválido”.
Escreva um algoritmo que receba um número
inteiro e informe se o mesmo é negativo ou
positivo.
Exercícios (Geral)
Escreva um algoritmo que lê dois números
inteiros e escreva os mesmos em ordem
crescente e decrescente.
Escreva um algoritmo que leia um número e, se
ele for maior que 20, imprimir sua metade.
Escreva um algoritmo que leia dois números e
responda se a divisão entre eles é exata ou não.
Exercícios (Geral)
Faça um algoritmo que sempre lê e escreve
números inteiros pares. Quanto um número
ímpar for digitado, o algoritmo deverá parar de
receber e escrever valores.