algoritmos e estruturas de dados
DESCRIPTION
Prof. Me. Claudio Benossi [email protected]. Algoritmos e Estruturas de Dados. Portugol. Sumário. Representações de algoritmos Elementos básicos Algoritmos com qualidade. Sumário. Representações de algoritmos Elementos básicos Algoritmos com qualidade. Representações de algoritmos. - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/2.jpg)
SumárioSumário
Representações de algoritmosRepresentações de algoritmos
Elementos básicosElementos básicos
Algoritmos com qualidadeAlgoritmos com qualidade
![Page 3: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/3.jpg)
SumárioSumário
Representações de algoritmosRepresentações de algoritmos
Elementos básicosElementos básicos
Algoritmos com qualidadeAlgoritmos com qualidade
![Page 4: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/4.jpg)
Representações de algoritmosRepresentações de algoritmos
Três formas de representação de Três formas de representação de algoritmos:algoritmos: FluxogramaFluxograma
Diagrama de ChapinDiagrama de Chapin
Pseudo-códigoPseudo-código
![Page 5: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/5.jpg)
Representações de algoritmos - FluxogramaRepresentações de algoritmos - Fluxograma
Fluxograma é uma forma padronizada para representar os passos lógicos de um determinado processamento.
O fluxograma, podemos definir uma sequência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento
![Page 6: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/6.jpg)
Representações de algoritmos - FluxogramaRepresentações de algoritmos - Fluxograma
Simbologia do Diagrama de Bloco
Existem diversos símbolos em um diagrama de bloco. Veja no quadro abaixo alguns dos símbolos que iremos utilizar:
Símbolo Função
TERMINAL
Indica o início ou fim de um
processamento
Exemplo: Início do algoritmo
![Page 7: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/7.jpg)
Representações de algoritmos - FluxogramaRepresentações de algoritmos - Fluxograma
Símbolo Função
PROCESSAMENTO
Processamento em geral
Exemplo: x<- 2+3
ENTRADA MANUAL DE
DADO
Indica entrada de dados pelo usuário via
teclado
Exemplo: Digite a nota da prova 1
![Page 8: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/8.jpg)
Representações de algoritmos - FluxogramaRepresentações de algoritmos - Fluxograma
Símbolo Função
EXIBIR
Mostra informações ou resultados
Exemplo: Mostre o resultado do cálculo
DECISÃO Impõe uma condição do tipo se
Exemplo: SE numero > 0 ENTÃO
![Page 9: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/9.jpg)
FluxogramaFluxograma
início
C1
C3
C2
fim
![Page 10: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/10.jpg)
FluxogramaFluxograma
início
separar ingredientes
fim
misturar ingredientes
colocar massa no forno
tirar bolo do forno
![Page 11: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/11.jpg)
FluxogramaFluxograma
início
separar ingredientes
fim
misturar ingredientes
esperar assar
tirar bolo do forno
t ≥ 30min
colocar massa no forno
F
V
![Page 12: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/12.jpg)
separar ingredientesseparar ingredientes
misturar ingredientesmisturar ingredientes
colocar massa no fornocolocar massa no forno
tirar bolo do fornotirar bolo do forno
Diagrama de ChapinDiagrama de Chapin
![Page 13: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/13.jpg)
separar ingredientesseparar ingredientes
misturar ingredientesmisturar ingredientes
colocar massa no fornocolocar massa no forno
t ≥ 30mint ≥ 30min
esperar assaresperar assar
tirar bolo do fornotirar bolo do forno
Diagrama de ChapinDiagrama de Chapin
![Page 14: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/14.jpg)
Pseudo-código (Portugol)Pseudo-código (Portugol)
Características:Características: Sintaxe mais simplesSintaxe mais simples que a de uma Linguagem que a de uma Linguagem
de Programação.de Programação.
Ênfase nas Ênfase nas idéiasidéias e não nos detalhes. e não nos detalhes.
Facilita construir um programa em Linguagem Facilita construir um programa em Linguagem de Programação.de Programação.
![Page 15: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/15.jpg)
Pseudo-código (Portugol)Pseudo-código (Portugol)
Ingredientes: farinha, açúcar, leiteIngredientes: farinha, açúcar, leite
Separar os ingredientesSeparar os ingredientes
Misturar os ingredientesMisturar os ingredientes
Colocar massa no fornoColocar massa no forno
Esperar assar por 30 minutosEsperar assar por 30 minutos
Retirar bolo do fornoRetirar bolo do forno
![Page 16: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/16.jpg)
SumárioSumário
Representações de algoritmosRepresentações de algoritmos
Elementos básicosElementos básicos
Algoritmos com qualidadeAlgoritmos com qualidade
![Page 17: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/17.jpg)
Algoritmo <Algoritmo <nome_do_algoritmonome_do_algoritmo>>
fimfim
Elementos básicos de um algoritmoElementos básicos de um algoritmo
<declarações de variáveis><declarações de variáveis><declarações de variáveis><declarações de variáveis>
<comandos><comandos><comandos><comandos>
![Page 18: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/18.jpg)
Elementos básicos de um algoritmo:: ExemploElementos básicos de um algoritmo:: Exemplo
Algoritmo Algoritmo perimetro_circunferênciaperimetro_circunferência
// declaração de constantes e variáveis// declaração de constantes e variáveis
const pi const pi = 3,1415= 3,1415
float raiofloat raio
float perimfloat perim
// comandos// comandos
ler (raio)ler (raio)
perim = 2 * pi * raioperim = 2 * pi * raio
escrever (perim)escrever (perim)
fimfim
![Page 19: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/19.jpg)
Elementos básicos de um algoritmoElementos básicos de um algoritmo
Dados (variáveis e constantes)Dados (variáveis e constantes)
Tipos de dadosTipos de dados
OperadoresOperadores
ComandosComandos
FunçõesFunções
ComentáriosComentários
![Page 20: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/20.jpg)
Elementos básicos de um algoritmo:: ExemploElementos básicos de um algoritmo:: Exemplo
Algoritmo Algoritmo perimetro_circunferênciaperimetro_circunferência
// declaração de variáveis// declaração de variáveis
const PI const PI = 3,1415= 3,1415
float raiofloat raio
float perimfloat perim
// comandos// comandos
ler (raio)ler (raio)
perim = 2 * PI * raioperim = 2 * PI * raio
escrever (perim)escrever (perim)
fimfim
Algoritmo Algoritmo perimetro_circunferênciaperimetro_circunferência
// declaração de variáveis// declaração de variáveis
const PI const PI = 3,1415= 3,1415
float raiofloat raio
float perimfloat perim
// comandos// comandos
ler (raio)ler (raio)
perim = 2 * PI * raioperim = 2 * PI * raio
escrever (perim)escrever (perim)
fimfim
dado variáveldado variável
dado constantedado constante
tipo de dadotipo de dado
operadoroperador
funçãofunção
comentáriocomentário
![Page 21: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/21.jpg)
Elementos básicos de um algoritmo:: DadosElementos básicos de um algoritmo:: Dados
Dados ConstantesDados Constantes O valor de uma constante O valor de uma constante não se alteranão se altera após após
sua definição.sua definição.
Exemplos:Exemplos: N_NEPERIANO = 2,7182N_NEPERIANO = 2,7182
UNIVERSIDADE = DRUMMOND'UNIVERSIDADE = DRUMMOND'
Dados VariáveisDados Variáveis Elemento que têm a função de Elemento que têm a função de associar um associar um
nome a uma porção da memória nome a uma porção da memória onde um onde um dado pode ser armazenado.dado pode ser armazenado.
![Page 22: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/22.jpg)
Elementos básicos de um algoritmo:: Tipos de dadosElementos básicos de um algoritmo:: Tipos de dados
Definem a Definem a natureza natureza do dado, as do dado, as operaçõesoperações que podem ser realizadas com que podem ser realizadas com o dado e o o dado e o espaçoespaço a ser ocupado na a ser ocupado na memória.memória.
Exemplos:Exemplos: Inteiro:Inteiro: 1010 -5 -5 -128 -128
Real (ponto flutuante):Real (ponto flutuante): 1,341,34 13,4 13,4 -5,0 -5,0
String de caracteres: String de caracteres: 'quarta-feira''quarta-feira' 'Abril' 'Abril'
Lógico:Lógico: TRUE (1)TRUE (1) FALSE (0) FALSE (0)
![Page 23: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/23.jpg)
Elementos básicos de um algoritmo:: OperadoresElementos básicos de um algoritmo:: Operadores
AtribuiçãoAtribuição
AritméticosAritméticos
RelacionaisRelacionais
LógicosLógicos
![Page 24: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/24.jpg)
Utilizado para atribuir um valor a uma Utilizado para atribuir um valor a uma variávelvariável
Notação:Notação:
x1x1 ←← 23;23;
temptemp ←← x2x2;;
nome da variável
nome da variável
ValorValor
Elementos básicos de um algoritmo:: Operador AtribuiçãoElementos básicos de um algoritmo:: Operador Atribuição
![Page 25: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/25.jpg)
Elementos básicos de um algoritmo:: Operadores AritméticosElementos básicos de um algoritmo:: Operadores Aritméticos
Dados de entradaDados de entrada: tipo numérico (int ou : tipo numérico (int ou float)float)
ResultadoResultado: tipo numérico (int ou float): tipo numérico (int ou float)
Exemplos:Exemplos: x_2x_2 ←← 2 2 ++ 3; 3;
alfa alfa ←← 1 1 // 5; 5;
angang ←← 1 1 / / 5.0;5.0;
restoresto ←← 10 10 %% 3; 3;
restoresto ←← 1 1 %% 4; 4;
deltadelta ←← 5 5 ** 5 5 –– 4 4 ** 1 1 ** 4; 4;
![Page 26: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/26.jpg)
Elementos básicos de um algoritmo:: Operadores RelacionaisElementos básicos de um algoritmo:: Operadores Relacionais
Dados de entradaDados de entrada: tipo numérico (int ou : tipo numérico (int ou float)float)
ResultadoResultado: tipo lógico: tipo lógico
Exemplos:Exemplos: cond1cond1 ←← 2 2 ==== 3; 3; cond2cond2 ←← 1.6 1.6 ≠≠ 5.0; 5.0; cond3cond3 ←← 1 1 >> 5; 5; cond4cond4 ←← (1 + 2) (1 + 2) << 5; 5; cond5cond5 ←← 10 10 ≥≥ 3; 3; cond6cond6 ←← 1 1 ≤≤ (– 4 / 3); (– 4 / 3);
![Page 27: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/27.jpg)
Elementos básicos de um algoritmo:: Operadores LógicosElementos básicos de um algoritmo:: Operadores Lógicos
Dados de entradaDados de entrada: tipo lógico: tipo lógico
ResultadoResultado: tipo lógico: tipo lógico
Exemplos:Exemplos: cond1cond1 ←← V V ANDAND F; F;
cond2cond2 ←← F F OROR F; F;
cond3cond3 ←← NOTNOT cond1; cond1;
cond4cond4 ←← (V (V ANDAND F) F) OROR (5 > 3); (5 > 3);
![Page 28: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/28.jpg)
Elementos básicos de um algoritmo:: Precedência de OperadoresElementos básicos de um algoritmo:: Precedência de Operadores
1.1. NOTNOT – (negação)– (negação)
2.2. ** / / %%
3.3. ++ – (subtração)– (subtração)
4.4. == == < < > > ≠ ≠ ≥ ≥ ≤≤
5.5. ANDAND
6.6. OROR
7.7. ←←
![Page 29: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/29.jpg)
d + y - z * a / pd + y - z * a / p
d / yd / y
y / ay / a
b / zb / z
r % qr % q
y % dy % d
((z / a) + b*a ) – d((z / a) + b*a ) – d
y = 2z = 4.0a = 8b = 6.0d = 12p = 4q = 3 r = 10
Elementos básicos de um algoritmo:: Exercícios sobre OperadoresElementos básicos de um algoritmo:: Exercícios sobre Operadores
![Page 30: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/30.jpg)
(B == A * C) (B == A * C) ANDAND (LOG (LOG OROR TT))
(B > A) (B > A) OROR (B == A) (B == A)
LOG LOG OROR (B / A ≥ C) (B / A ≥ C) AND NOTAND NOT(A ≥ C)(A ≥ C)
NOTNOT LOG LOG OROR TT ANDAND (A + B ≥ C) (A + B ≥ C)
NOTNOT LOG LOG OROR (B * 2 - C == 0) (B * 2 - C == 0)
LOG LOG OR NOTOR NOT (B * B ≤ C * 10 + A * B) (B * B ≤ C * 10 + A * B)
A = 2B = 7C = 3.5LOG = FF
Elementos básicos de um algoritmo:: Exercícios sobre OperadoresElementos básicos de um algoritmo:: Exercícios sobre Operadores
![Page 31: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/31.jpg)
Elementos básicos de um algoritmo:: FunçõesElementos básicos de um algoritmo:: Funções
Pré-definidasPré-definidas
Definidas pelo programadorDefinidas pelo programador
Exemplos:Exemplos:
seno(angulo)seno(angulo)
pow(x,y)pow(x,y)
sqrt(resto)sqrt(resto)
exp(tempo)exp(tempo)
ler(var1,var2,...)ler(var1,var2,...)
escrever(resul1,result2,...)escrever(resul1,result2,...)
![Page 32: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/32.jpg)
Elementos básicos de um algoritmo:: ComentáriosElementos básicos de um algoritmo:: Comentários
Utilizados para descrever o algoritmo, Utilizados para descrever o algoritmo, esclarecendo trechos do códigoesclarecendo trechos do código
Notação em Linguagem C:Notação em Linguagem C: ////
/*/* <comentário> <comentário> */ */
![Page 33: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/33.jpg)
SumárioSumário
Representações de algoritmosRepresentações de algoritmos
Elementos básicosElementos básicos
Algoritmos com qualidadeAlgoritmos com qualidade
![Page 34: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/34.jpg)
Algoritmos com qualidadeAlgoritmos com qualidade
Devem ser feitos para serem lidos por Devem ser feitos para serem lidos por seres humanos!seres humanos!
Escreva os comentários no momento em Escreva os comentários no momento em que estiver escrevendo o algoritmo.que estiver escrevendo o algoritmo.
![Page 35: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/35.jpg)
// Cálculo da área do retângulo:// Cálculo da área do retângulo:area ← b * h;area ← b * h;
// Cálculo da área do retângulo:// Cálculo da área do retângulo:area ← b * h;area ← b * h;
// Multiplicação de b por h:// Multiplicação de b por h:area ← b * h;area ← b * h;
// Multiplicação de b por h:// Multiplicação de b por h:area ← b * h;area ← b * h;
Algoritmos com qualidadeAlgoritmos com qualidade
Os comentários devem Os comentários devem acrescentaracrescentar alguma coisa, e alguma coisa, e não frasearnão frasear o comando: o comando:
![Page 36: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/36.jpg)
Algoritmos com qualidadeAlgoritmos com qualidade
Use comentários no prólogo:Use comentários no prólogo:
/********************************/********************************
DRUMMOND – Colégio e FaculdadeDRUMMOND – Colégio e Faculdade
Fulano da SilvaFulano da Silva
Data: 10/02/2014Data: 10/02/2014
Última modificação: 12/02/2014Última modificação: 12/02/2014
Algoritmo de DemostraçãoAlgoritmo de Demostração
********************************/********************************/
![Page 37: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/37.jpg)
hip ← sqrt(cat1 * cat1 + cat2 * cat2);hip ← sqrt(cat1 * cat1 + cat2 * cat2);
hip←sqrt(cat1*cat1+cat2*cat2);hip←sqrt(cat1*cat1+cat2*cat2);
Algoritmos com qualidadeAlgoritmos com qualidade
Use espaços em branco para melhorar a Use espaços em branco para melhorar a legibilidade:legibilidade:
![Page 38: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/38.jpg)
preco ← custo + lucro;preco ← custo + lucro;
p ← c + l;p ← c + l;
Algoritmos com qualidadeAlgoritmos com qualidade
Escolha nomes Escolha nomes representativosrepresentativos para as para as variáveis:variáveis:
![Page 39: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/39.jpg)
Algoritmos com qualidadeAlgoritmos com qualidade
Utilize Utilize umum comando por linha. comando por linha.
Utilize Utilize parêntesesparênteses para melhorar a para melhorar a compreensão e evitar erros.compreensão e evitar erros.
Utilize Utilize identaçãoidentação (recuo de texto). (recuo de texto). Atenção: identação Atenção: identação ≠ ≠ endentaçãoendentação
![Page 40: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/40.jpg)
ExercícioExercício
Uma fábrica de arruelas precisa calcular o Uma fábrica de arruelas precisa calcular o custo de envio de um conjunto de custo de envio de um conjunto de unidades. Escreva um pseudo-código para unidades. Escreva um pseudo-código para tal.tal.
![Page 41: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/41.jpg)
Exercício:: Algoritmo inicialExercício:: Algoritmo inicial
1.1. Calcular Calcular áreaárea
2.2. Calcular Calcular volumevolume (área × espessura) (área × espessura)
3.3. Calcular Calcular pesopeso (volume × densidade × unidades) (volume × densidade × unidades)
4.4. Calcular Calcular custocusto (peso × frete) (peso × frete)
![Page 42: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/42.jpg)
Exercício:: Algoritmo inicialExercício:: Algoritmo inicial
1.1. Calcular Calcular áreaárea
d_extd_ext
d_intd_int
2
int 2
d_int
Area
2
2
_
extdAreaext
intAAArea ext intAAArea ext
![Page 43: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/43.jpg)
Exercício:: Algoritmo inicialExercício:: Algoritmo inicial
2.2. Calcular Calcular volumevolume::
3.3. Calcular Calcular pesopeso::
4.4. Calcular Calcular custocusto (peso × frete) (peso × frete)
espessuraAreaVolume espessuraAreaVolume
unidadesdensidadeVolumePeso unidadesdensidadeVolumePeso
fretePesoCusto fretePesoCusto
![Page 44: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/44.jpg)
Exercício:: Pseudo-códigoExercício:: Pseudo-código
Algoritmo Algoritmo arruelaarruela
// Constantes// Constantes
const PI const PI = 3,1415= 3,1415
// Variáveis de entrada// Variáveis de entrada
float d_ext, d_intfloat d_ext, d_int
float espessura, densidade, unidades, fretefloat espessura, densidade, unidades, frete
// Variável de saída// Variável de saída
float custofloat custo
// Variáveis do programa// Variáveis do programa
float area, area_ext, area_int, volume, pesofloat area, area_ext, area_int, volume, peso
......
![Page 45: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/45.jpg)
Exercício:: Pseudo-código (cont.)Exercício:: Pseudo-código (cont.)
......
// Início// Início
ler(d_ext, d_int, espessura, densidade, unidades, frete)ler(d_ext, d_int, espessura, densidade, unidades, frete)
area_ext area_ext ←← pi * (d_ext/2) * (d_ext/2) pi * (d_ext/2) * (d_ext/2)
area_int area_int ←← pi * (d_int/2) * (d_int/2) pi * (d_int/2) * (d_int/2)
area area ←← area_ext – area_int area_ext – area_int
volume volume ←← area * espessura area * espessura
peso peso ←← volume * densidade * unidades volume * densidade * unidades
custo custo ←← peso * frete peso * frete
escrever (custo)escrever (custo)
fimfim
![Page 46: Algoritmos e Estruturas de Dados](https://reader035.vdocuments.pub/reader035/viewer/2022062314/56813dfd550346895da7d56b/html5/thumbnails/46.jpg)
QuestõesQuestões