






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Desenvolvimento de algoritmos e fluxogramas
Tipologia: Notas de estudo
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!







1.3.1. conceito
algoritmo:
PROGRAMAR = CONSTRUIR ALGORITMOS
a) versão inicial descasque as batatas para o jantar
b) seqüência de sub-ações: traga a cesta com batatas traga a panela descasque as batatas
c) repetição: traga a cesta com batatas traga a panela enquanto número de batas é insuficiente faça descasque a batata fim enquanto
d) condicional traga a cesta com batatas traga a panela enquanto número de batas é insuficiente faça se batata está boa então descasque esta batata senão descarte a batata fim se fim enquanto
e) algoritmo impróprio enquanto batata está boa faça descasque esta batata fim enquanto
MÁQUINA = SEGUIDOR MECÂNICO DE ALGORITMOS
PROGRAMA = ALGORITMO DESTINADO A CONTROLAR O COMPORTAMENTO DA MÁQUINA
algoritmo:
1.3.2. estruturas básicas de dados e controle
variável:
tipos de dados:
exemplo: declare x inteiro ; vendas, comissão real ;
estruturas de controle:
a) seqüência de comandos: comando comando
b) comando condicional: se condição então seqüência de comandos 1 senão seqüência de comandos 2 fim se
c) comando de repetição com interrupção no início (“ enquanto ”): enquanto condição faça seqüência de comandos fim enquanto
d) comando de repetição com interrupção no final (“ repita ”): repita seqüência de comandos até condicão
e) comando de repetição “ para ”: para variável de valor1 até valor2 faça seqüência de comandos fim para
f) comando de entrada e saída: leia lista de variáveis escreva lista de variáveis
Inserindo-se os refinamentos nos seus respectivos lugares e colocando-se comentários:
algoritmo {defina os tipos das variáveis} declare a, b, c, menor numerico {leia os números} leia a, b, c {determine o menor número} se a<b e a<c então menor <- a senão se b<c então menor <- b senão menor <- c fim se fim se {escreva o menor número} escreva menor fim algoritmo
Ex. 2: Fazer um algoritmo que calcule o valor de N! (fatorial de N) sendo que o valor inteiro de N se encontra disponível em uma unidade de entrada e que: a) N! = 1 x 2 x ... x (N-1) x N; e b) 0! = 1, por definição.
Solução:
Um algoritmo possível é descrito abaixo:
algoritmo defina os tipos das variáveis leia n calcule o fatorial de n escreva fatorial fim algoritmo
ref.: calcule fatorial de n fatorial <- 1 i <- 2 enquanto i <= n faca fatorial <- fatorial * i i <- i + 1 fim enquanto fim ref.
Inserindo-se o refinamento em seu respectivo lugar
algoritmo defina os tipos das variáveis leia n fatorial <- 1 i <- 2 enquanto i <= n faca fatorial <- fatorial * i i <- i + 1 fim enquanto escreva fatorial fim algoritmo
ref.: verifique se altura é igual a maior se altura = maior1 então contador1 <- contador1 + 1 senão compare altura com a 2ª^ maior altura fim se fim ref.
ref.: compare altura com a 2ª^ maior altura se altura > maior2 então maior2 <- altura contador2 <- 1 senão se altura = maior2 então contador2 <- contador2 + 1 fim se fim se fim ref.
ref.: escreva resultados escreva maior1, contador1, maior2, contador fim ref.
ref.: atribua valores iniciais necessários contador1 <- 0 maior1 <- 0 contador2 <- 0 maior2 <- 0 fim ref.
ref.: defina tipo das variáveis declare altura, contador1, contador2, maior1, maior2 numérico declare nome caracter fim ref.
Inserindo-se os refinamentos nos devidos lugares, teremos:
algoritmo declare altura, contador1, contador2, maior1, maior2 numérico declare nome caracter contador1 <- 0 maior1 <- 0 contador2 <- 0 maior2 <- 0 leia nome, altura enquanto nome <> "vazio" faca escreva nome, altura se altura > maior1 então maior2 <- maior contador2 <- contador maior1 <- altura contador1 <- 1 senão se altura = maior1 então contador1 <- contador1 + 1 senão se altura > maior2 então maior2 <- altura contador2 <- 1 senão se altura = maior2 então contador2 <- contador2 + 1 fim se fim se fim se fim se leia nome, altura fim enquanto escreva maior1, contador1, maior2, contador fim algoritmo
Refinando-se a escrita das raízes:
ref.: escreva raízes escreva xr1, xi escreva xr2, xi fim ref.
Finalmente, refinando-se a declaração das variáveis:
ref.: defina os tipos da variáveis declare a, b, c, xr1, xi1, xr2, xi2, delta numérico fim ref.
Inserindo-se os refinamentos nos respectivos lugares, temos o algoritmo completo:
algoritmo {defina os tipos das variáveis} declare a, b, c, xr1, xi1, xr2, xi2, delta numérico repita leia a, b, c se a=0 então interrompa fim se {calcule raízes} delta <- bb – 4ac se delta >= 0 então xr1 <- (-b + raiz(delta))/(2a) xr2 <- (-b - raiz(delta))/(2a) xi1 <- 0 xi2 <- 0 senão xr1 <- -b/(2a) xr2 <- -b/(2a) xi1 <- raiz(-delta)/(2a) xi2 <- -raiz(-delta)/(2*a) fim se {escreva raízes} escreva xr1, xi escreva xr2, xi fim repita fim algoritmo
Na linguagem do Minitab, este algoritmo pode ser codificado como se segue, disponível em ftp://ftp.est.ufmg.br/pub/fcruz/pacotes/eq2grau.mac.