Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Livro de Algoritmo, Manuais, Projetos, Pesquisas de Eletrônica

Excelente livro de Construção de algoritmos, Dr Vilson dalle molle

Tipologia: Manuais, Projetos, Pesquisas

Antes de 2010

Compartilhado em 26/10/2010

ismael-guilherme-espindola-12
ismael-guilherme-espindola-12 🇧🇷

3

(1)

12 documentos

1 / 83

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Capítulo I Lógica Binária
Neste capítulo são abordados os conceitos básicos de lógica
binária, a definição de proposição lógica, operadores e
conectivos lógicos básicos usados em programação, tabelas
verdade e avaliação de expressões lógicas.
I. 1 Expressões Lógicas
Chama-se expressão lógica toda sentença que pode ser
avaliada, computada ou “resolvida”, e que tenha como
resultado um valor lógico. Avaliar uma expressão lógica é
uma função básica porém não menos importante. É nessa
capacidade básica que todo aparato computacional está
baseado. As expressões lógicas são utilizadas para fornecer à
máquina as diretrizes sobre quais instruções “comandos
devem ser executadas em um dado momento. Sem a
capacidade de avaliação de expressões lógicas, os programas
estariam restritos a uma seqüência linear de operações. Não
seria, portanto possível implementar algoritmos com diretrizes
de desvio/seleção, tampouco seria possível construir estruturas
de repetição.
2
I. 1.1 Valores Lógicos
Em se tratando de lógica binária tem-se sempre apenas dois
valores possíveis VERDADEIRO ou FALSO. Nenhum outro
valor pode ser considerado, não existe talvez, a dúvida e a
incerteza não podem ser considerados como valores válidos.
I. 1.2 Relações
Uma relação é expressa pôr um operador relacional, e
representa uma comparação entre dois valores de mesmo tipo.
Os operadores relacionais estão presentes na matemática e são
velhos conhecidos.
= igual a
diferente de
> maior que
< menor que
menor ou igual a
maior ou igual a
O resultado de uma relação será sempre um valor lógico
verdadeiro ou falso
Exemplo 1
a) 5 = 5 Verdadeiro
b) 6 > 5 Verdadeiro
c) X < 7 ?
(quanto vale X?)
d) 6
5 Falso
e) 4 3 Verdadeiro
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53

Pré-visualização parcial do texto

Baixe Livro de Algoritmo e outras Manuais, Projetos, Pesquisas em PDF para Eletrônica, somente na Docsity!

Capítulo I

Lógica Binária

Neste capítulo são abordados os conceitos básicos de lógica binária,

a^

definição

de

proposição

lógica,

operadores

e

conectivos lógicos básicos usados em programação, tabelasverdade e avaliação de expressões lógicas. I. 1

Expressões Lógicas Chama-se expressão lógica toda sentença que pode ser

avaliada,

computada

ou

resolvida”

,^

e^

que

tenha

como

resultado um valor lógico. Avaliar uma expressão lógica éuma função básica porém não menos importante. É nessacapacidade

básica

que

todo

aparato

computacional

está

baseado. As expressões lógicas são utilizadas para fornecer àmáquina

as

diretrizes

sobre

quais

instruções

comandos

devem

ser

executadas

em

um

dado

momento.

Sem

a

capacidade de avaliação de expressões lógicas, os programasestariam restritos a uma seqüência linear de operações. Nãoseria, portanto possível implementar algoritmos com diretrizesde desvio/seleção, tampouco seria possível construir estruturasde repetição.

I. 1.1 Valores Lógicos 2

Em se tratando de lógica binária tem-se sempre apenas dois valores possíveis

VERDADEIRO

ou

FALSO

. Nenhum outro

valor pode ser considerado, não existe talvez, a dúvida e aincerteza não podem ser considerados como valores válidos. I. 1.2 Relações

Uma relação é expressa pôr um operador relacional, e representa uma comparação entre dois valores de mesmo tipo.Os operadores relacionais estão presentes na matemática e sãovelhos conhecidos.

•^

= igual a

-^

diferente de

-^

maior que

-^

< menor que

-^

menor ou igual a

-^

maior ou igual a

O resultado de uma relação será sempre um valor lógico verdadeiro

ou

falso

Exemplo 1 a)

Verdadeiro

b)

Verdadeiro

c)

X < 7

(quanto vale X?)

d)

Falso

e)

Verdadeiro

3

Exemplo 2 Para X = 5, Y = 6 e Z = 4 podemos afirmar que:a)

X

Y é o mesmo que 5

Verdadeiro

b)

X + Z

Y é o mesmo que

Verdadeiro

c)

Z

X é o mesmo que 4

Falso

I. 1.3 Proposição Lógica Simples

Uma proposição lógica simples é toda sentença simples que pode

ser

avaliada

resultando

em

um

valor

lógico

válido

( Verdadeiro

ou

Falso

). Em programação, uma proposição

lógica

simples

é^

geralmente

expressa

pôr

uma

relação,

podendo também ser expressa pelo próprio valor lógico ou poruma variável que armazena um valor lógico. Os exemplos derelações

expressos

acima

são

também

exemplos

de

proposições lógicas simples. Exemplo 1

Sejam X = 2, Y = 5, Z = -4, Flag =

Falso

e Pronto =

Verdadeiro

, as expressões abaixo são proposições lógicas

simples:

a)

X < 3

Valor lógico

Verdadeiro

b)

X – Z > Y

Valor lógico

Verdadeiro

c)

Flag

Verdadeiro

Valor lógico

Verdadeiro

d)

Flag =

Falso

Valor lógico

Falso

e)

Flag

Valor lógico

Falso

4

f)

Pronto = Flag

Valor lógico

Falso

g)

Pronto =

Verdadeiro

Valor lógico

Verdadeiro

h)

não

Pronto

Valor lógico

Falso

I. 1.4 Proposição Lógica Composta

Uma

proposição

lógica

composta

é^

uma

sentença

ou

expressão composta por duas ou mais proposições lógicassimples, unidas por operadores lógicos.

Para avaliar o valor de uma proposição lógica composta, é necessário primeiro avaliar o valor lógico de cada proposiçãosimples, depois então efetuar as operações definidas pelosoperadores lógicos.

Ao

avaliar

uma

expressão

lógica

composta,

faz-se

necessário observar a ordem de precedência dos operadores,exatamente como ocorre com expressões matemáticas queenvolvem

operações

de

adição,

subtração,

multiplicação,

divisão, potências.

Entretanto,

assim

como

nas

expressões

matemáticas,

é

possível lançar mão de parênteses para indicar a necessidadede efetuar uma operação de menor precedência antes de outrade maior precedência. I. 1.5 Operadores Lógicos

Nem

sempre

é^

possível

expressar

uma

determinada

situação através de uma proposição lógica simples apenas,nesses casos é preciso uma expressão lógica composta de duasou mais proposições simples. A álgebra da lógica bináriadefine operadores para a junção de proposições simples em

7

I. 1.5.4 Ordem de Prioridade

Os operadores lógicos podem ser associados de modo a formar

expressões

que

representam

proposições

lógicas

complexas.

Da mesma forma que os operadores matemáticos de adição, subtração, multiplicação, divisão e potenciação, os operadoreslógicos também possuem uma ordem de precedência definida.Tal como na matemática, para alterar a ordem de avaliação doresultado, é necessário fazer uso de parênteses.

Operadores em ordem de precedência

o 1 negação –

não

o 2 conjunção –

e

o 3 disjunção –

ou

Tabela 4

  • Ordem de precedência dos operadores lógicos

Exemplo 1

Sendo

p^

e^

q

proposições lógicas simples, montar a

tabela verdade para as expressões:a)

não

p

e

q

p

q

~p

~p

q

V

V

F^

F

F

V

V

V

V

F

F^

F

F

F

V

F

b) 8

não

(p

e

q)

p^

q

( p

q)

~( p

q)

V

V

V

F

F^

V

F

V

V

F

F

V

F^

F

F

V

Tabela 5 -

Tabela verdade das expressões lógicas a)-

não

p e q

b)-

não

(

p^

e^ q )

Exemplo 2

Dados

X,

Y,

Z,

Nome,

Logic

cujos

valores

são

respectivamente

3, 6, 2, Maria

e^

Verdadeiro

, Observe a

forma de avaliação e o resultado de cada uma das expressõesabaixo:a)

Y-X > Z

(substituir as letras pelos seus respectivos valores)

(efetuar as operações matemáticas)

(Verificar o valor lógico)

Verdadeiro b)

Logic (fazer a substituição e verificar o valor lógico

)

Verdadeiro

9

c)

Nome = Maria

e

Logic

Verdadeiro

(fazer as substituições)

Maria = Maria

e

Verdadeiro

Verdadeiro

(Verificar o valor lógico)

Verdadeiro

e

Falso

Falso

d)

X

Y

e não

logic

(fazer as substituições)

e não

Verdadeiro

(Verificar o valor lógico)

Verdadeiro

e

Falso

Falso

e)

não

( Z

e

Nome = João)

(fazer as substituições)

não

e

Maria = João)

(Verificar o valor lógico, operador lógico

e )

não

Verdadeiro

e

Falso

(Verificar o valor lógico, operador lógico

não

)

não

Falso

Verdadeiro

f)

Z – Y + X

ou

Z * Y

X * 10

(fazer as substituições)

ou

(efetuar as operações matemáticas) 10

ou

^12

(Verificar o valor lógico, operador lógico

ou

)

Verdadeiro

ou

Falso

Verdadeiro

g)

~Logic (fazer a substituição do identificador pelo seu valor)

~^

Verdadeiro

( verificar o valor lógico, operador lógico

não

)

não

Verdadeiro

Falso

h)

Logic

Verdadeiro

(Fazer a substituição)

Verdadeiro

Verdadeiro

(verificar o valor lógico)

Falso

i)

X

(substituir o valor de x)

≥^

(verificar o valor lógico)

Verdadeiro

13

I. Exercícios 1)

Dados X = 2, A = 4, B = 7, C = 2 , D = 9 e Log = Falso.Determine os valores lógicos das expressões abaixo; V =Verdadeiro, F = Falso.a)

X

(^

b)

( X < C )

Log

(^

c)

( A

mod

2 = C )

(^

d)

( D

mod

^2

B

mod

(^

e)

( B + C

D )

( A – X > 2)

(^

f)

A>B

~( C > B )

(^

g)

~( D >5 )

( C

D-B)

(^

h)

( B

div

^2

D

div

(^

i)

(A

div

2 = C)

(^

j)

(D

mod

A) é par

(^

Obs:

A operação

mod

tem como resultado o resto da divisão

entre dois números inteiros, por exemplo, 5

÷

é igual a 2 e

sobra resto 1, portanto 5

mod

Obs:

A operação

div

tem como resultado o quociente da

divisão entre dois números inteiros, por exemplo 11

÷

3 é

igual a 3 e sobra 2, portanto 11

div

3 = 3 e 11

mod

Dadas as proposições lógicas

p

,^

q

,^

r ,

s

, montar a tabela

verdade para cada uma das expressões abaixo.a)

p^

q

s

b)

p^

r^

q

c)

~ p

r

s )

d)

(^

r^

q

p

Considere as seguintes informações João é pai de Maria,Maria é casada com Pedro que é pai de Joaquim, Luiz éprimo de Joaquim e irmão de Chiquinha

que é neta de

Josefa mulher de João. Discuta as seguintes afirmações.a)

Chiquinha é sobrinha de Pedro b)

João é parente de Pedro.

Se

for

segunda-feira,

não

for

feriado

e^

as

condições

climáticas forem favoráveis então vou trabalhar, senãoficarei em casa e dormirei até mais tarde. E aí? vou ou nãotrabalhar amanhã?

Um distinto ermitão possui dois animais de estimação,uma onça e uma cabra. De certa vez estava ele a beira dorio com seus dois animais de estimação e mais um saco demilho. Ele necessita atravessar o rio, entretanto o bote émuito pequeno para levar tudo de uma vez. Ajude o amigoermitão nessa tão árdua tarefa. Observe que se a cabraficar sozinha junto do milho, ela o comerá. Da mesma

15

forma, se a onça ficar sozinha com a cabra, a segunda seráa refeição da primeira.

Num reino distante, no tempo e no espaço, existia umsábio.

O

rei

sentindo-se

ameaçado

pela

sabedoria

do

homem resolveu provar que o mesmo não passava de umcharlatão e impôs o seguinte teste. O sábio foi colocadonuma sala com duas portas apenas, uma delas era a saídapara a liberdade enquanto que a outra era a porta deentrada para o recinto dos leões, que por ordem do rei nãoeram alimentados a vários dias. Em cada porta o reicolocou um guarda, ordenando a um deles para apenasdizer a mais pura verdade e ao outro para mentir e mentir.Ao sábio foi dada a oportunidade de efetuar uma únicapergunta a um dos dois guardas. O sábio sobreviveu aoteste e recebeu seu prêmio tornando-se rei. Como eleconseguiu tal proeza?

Capítulo II 16

Definições

Neste capítulo são apresentadas algumas definições e a simbologia

básica

necessária

para

o^

desenvolvimento

dos

próximos capítulos. Leia cada definição com muita atenção.Antes de passar aos próximos capítulos, será interessantetambém que

você

providencie

uma

régua/gabarito

para

a

construção de fluxogramas. II. 1

Problema No transcorrer deste livro, um problema é considerado

como sendo uma situação em que se tem um ponto de partidaque pode ou não possuir valores iniciais preestabelecidos,

e

um ponto

considerado

como

fim

“solução”,

o^

qual

pode

apresentar

um

,^ vários

ou

nenhum

resultado específico

II. 2

Classe de Problemas Uma classe de problemas pode ser entendida como as

várias situações que se resumem num mesmo problema, porexemplo, encontrar a solução das seguintes equações:

a)

3x2 – 4x + 2 = 0

b)

x2 –3 = 0

19

II. 6

Programa Muitos

problemas,

dada

a^

sua

complexidade,

não

são

passíveis

de

serem

solucionados

a^

partir

de

um

único

algoritmo. Nesses casos, fazemos uso de um programa.

Chama-se

programa,

um

conjunto

de

um

ou

mais

algoritmos, articulados de forma a proverem solução para umaou mais classes de problemas semelhantes. II. 7

Linguagem Natural É a linguagem que costumamos usar em nosso dia a dia, os algoritmos escritos dessa forma parecem-se com o modo defazer

de

uma

receita

de

bolo,

ou

seja,

é^

uma

descrição

seqüencial, passo a passo, do que deve ser feito para resolver oproblema.

Seja por exemplo, o ato de trocar uma lâmpada do tipo incandescente supostamente queimada.

Acionar o interruptor, se a luz acender não precisatrocar senão vai para o passo dois.

Retirar

a^

lâmpada

do

soquete

e^

verificar

as

condições da mesma, se concluir que o filamentoestá rompido

então substitui-la por uma nova senão

vai para o passo 5

Acionar

novamente

o^

interruptor.

Se

a^

lâmpada

acender, informar ao requisitante que o problema foisolucionado, senão executar o passo 4

Verificar a existência de energia elétrica na rede. Sepositivo, informar o requisitante que deve haveralgum outro problema, senão informar que o serviço

20

foi realizado mas que não foi possível testar dada afalta de energia.

Informar ao requisitante que o problema é outro poisa lâmpada não está queimada.

II. 8

Fluxograma Um fluxograma é a representação gráfica de um algoritmo, através

de

simbologia

própria.

É

uma

das

ferramentas

utilizadas para representar uma construção algorítmica queexpressa a resolução de um problema ou classe de problemas.Atualmente muitos autores afirmam que o fluxograma é umaferramenta ultrapassada, mas pessoalmente ainda não conheçoferramenta mais indicada para iniciantes em programaçãoestruturada. II. 8.1 Simbologia para Fluxogramas

A tabela abaixo apresenta os símbolos adotados neste livro para a representação de algoritmos através de fluxogramas.Saber identificar o significado de cada símbolo é o primeiropasso para tirar proveito dessa ferramenta.

_^

O

símbolo

de

terminação

marca

o

início

e^

o^

fim

de

um

algoritmo.

É

importante frisar que deve existir apenasum

início

e um

fim

em cada algoritmo.

Terminador

21

_ Este símbolo é utilizado para indicar anecessidade

de

entrada

de

dados

pelo

teclado, o computador deve esperar que ousuário digite a informação necessária edepois pressione a tecla de entrada._ O símbolo de fita magnética é utilizadopara indicar o ato de ler ou gravar umainformação

em

um

dispositivo

de

fita

magnética.

Fluxo de dados

_ Uma seta indica o sentido do fluxo dedados

e^

a^

seqüência

de

execução das

operações que formam o algoritmo._^

Usa-se

este

símbolo

para

indicar

a

leitura/gravação de informações em umdisco rígido._ Este símbolo representa o monitor devídeo

e^

é^

usado

para

indicar

a

apresentação

de

uma

mensagem/informação ao usuário.

Fim de Estrutura

_ O conector

é utilizado para marcar o

fim

de

um

estrutura

de

seleção

e/ou

controle de repetição. _ O símbolo de processo é utilizado paraindicar

a^

execução

de

uma

ou

mais

operações (processamento de dados) quenão envolvem entrada e saída de dados.

Entrada viaTeclado FitaMagnética

HD Saída noVideo Processo

22

_ Este símbolo indica a impressão de umrelatório e/ou conjunto de mensagens einformações._ O símbolo de decisão marca um pontoonde

é^

necessário

avaliar

uma

determinada condição para então decidirpôr um entre dois caminhos a seguir naexecução do algoritmo. Este símbolo éessencial para a construção de estruturasde seleção e controle de repetição.

Tabela 8 -

Tabela de símbolos básicos para o desenvolvimento de

fluxogramas

II. 9

Português Estruturado O^

PORTUGUÊS

ESTRUTURADO

é^

uma

pseudo

linguagem de programação estruturada, seu está diretamenteligado ao fato de por não ser uma linguagem de programaçãoverdadeira,

sua

sintaxe

pode

ser

menos

rígida

e^

mais

adaptável. Um algoritmo expresso em português estruturadopode facilmente ser implementado em qualquer linguagem deprogramação.

Como

toda

linguagem

de

programação,

o^

Português

Estruturado consiste de um conjunto de

palavras

e de um

conjunto de

regras

que nos permitem expressar construções

algorítmicas de modo não ambíguo. Para cada construçãoexpressa num fluxograma, existe uma representação expressaem Português Estruturado, essas construções serão abordadasnos próximos capítulos.

SaídaImpressa

Decisã

25

apresse

e^

detenha-se

um

pouco

mais

na

leitura

e

compreensão do enunciado. 9

Especificação das Entradas, e Saídas:

A solução de um

problema/classe

de

problemas,

passa

necessariamente,

primeiro

pela

especificação

das

entradas,

essas

podem

apresentar-se na forma de valores conhecidos ou não. Setodos valores de entrada são conhecidos, então temos um“problema”. por outro lado, se alguns valores iniciais nãosão conhecidos a priori “serão fornecidos posteriormentepelo usuário”, então temos uma classe de problema. Aespecificação dos valores iniciais “entradas” é uma questãode leitura, interpretação e compreensão do enunciado e doproblema em si.Após a especificação das entradas, é necessário especificaros resultados esperados. O que se espera como resultadoapós a resolução do problema.Uma

forma

simples

de

encontrar

as

entradas/saídas

é

responder as perguntas: O que eu tenho? (entradas e valoresimutáveis); O que eu quero? (resultados esperados/saídas); 9

O Processamento:

Antes da construção do algoritmo sob a

forma

de

fluxograma,

é^

necessário

raciocinar

sobre

o

problema e a melhor forma de resolução do mesmo. Vocêsó poderá partir para a diagramação do algoritmo após terclaro em sua mente, qual é o método de resolução a serempregado e qual a seqüência de operações envolvidas. Namaioria das vezes é indicado descrever a seqüência deações antes de partir para a diagramação.

26

Aqui a questão é responder a seguinte pergunta: Comofazer para transformar o que tenho no que quero? 9

A Construção do Algoritmo:

Nesse ponto você já deve

saber exatamente o que deve ser feito para que o problemaseja solucionado, caso contrário deverá retornar aos passosanteriores. Não siga em frente se não tiver absoluta certezade que sabe o que está fazendo.Construir um algoritmo significa expressar de forma clara eseqüencial

as

operações

envolvidas

na

resolução

do

problema/classe de problemas. A resolução do problema ésubdividida

em

uma

seqüência

ordenada

de

operações

simples,

que

ao

ser

executada

na

ordem

estabelecida,

produz a solução do mesmo. É mais ou menos comoescrever o modo de fazer de uma receita de bolo, porém umpouco mais detalhadamente. 9

O teste de mesa:

O teste de mesa consiste em efetuar

mentalmente,

a^

execução

das

operações

expressas

no

algoritmo

para

verificar

se

elas

realmente

resultam

na

solução do problema, como era esperado. Geralmente usa-se uma tabela em que cada coluna representa uma dasvariáveis do algoritmo, é necessário também uma colunapara a indicação dos resultados.

O algoritmo é seguido

conforme o descrito, atualizando a tabela

a cada operação

realizada. Ao mesmo tempo em que executa o algoritmopasso a passo, você deve analisar os resultados produzidosverificando se há ou não progresso em direção ao resultadoesperado.

27

A

correta

execução

dos

passos

acima

configura

um

algoritmo para a construção de algoritmos. Vejamos algunsexemplos. Exemplo 1

Calcular

a^

área

de

uma

pequena

peça

retangular

de

madeira, em cm

Entrada:

Peça de madeira retangular;

Saída:

Área da peça em centímetros quadrados;

Algorítmo: Linguagem Natural

Pegar uma régua, graduada em centímetros; 2

Pegar um papel para rascunho; 3

Usando a régua, medir o comprimento do ladomaior e anotar no rascunho; 4

Ainda usando a régua, medir o comprimento dolado menor e anotar no rascunho; 5

Calcular a equação

Area = LM x Lm

, onde

Area

é a área da peça em cm

2

e^

LM

e^

Lm

são

respectivamente Lado Maior e Lado Menor emcm. 6

Informar o resultado

Exemplo 2 28

Dados os valores de referentes as medidas da base (B = 4 cm) e da altura (H = 3,2 cm) de um triângulo, calcular a suarespectiva área em cm

Entrada:

Valor da base (B = 4cm) e da altura (H = 3,2 cm);

Saída:

Área (A) do triângulo em cm

Algorítmo: Linguagem Natural

Início; 2

Obter os valores da medida da base ( B ) e daaltura ( H ) 3

Calcular A = ( B x H ) / 2; 4

Informar o resultado ( A ) como sendo a

área do

triângulo; 5

Fim;

Exemplo 3

Construir um algoritmo para calcular o volume de um cone, cujos valores de raio da base (R) e Altura (H) só serãoinformados pôr ocasião da execução do algoritmo, no entantosabe-se que

π

= 3,14159 e que o volume de um cone é dado

pela fórmula

V=1/3.B.H, sendo V= Volume, B = Área da

Base ( B =

π

R

2 ) e H = Altura.

31

depois permutar esses valores entre si e apresentar oresultado.

Desenvolva um algoritmo que aceite como entradas – Ocusto de um produto em R$ e a margem de lucro esperadaem percentual – calcule e apresente o respectivo valor derevenda do produto.

Desenvolva um algoritmo que, uma vez informadas ascoordenadas de dois pontos (x, y) do plano cartesiano,calcule e informe a distância entre eles.

O motorista de um automóvel ao passar pela marca Km326 de uma rodovia, verifica que o velocimetro marca50Km/h. A partir desse momento o motorista passa aacelerar e ao passar pela marca Km 328 está a umavelocidade de 120Km/h. Escreva um algoritmo que apartirdesses dados, calcule e apresente a aceleração média doveículo no percurso.

A

altura

máxima

atingida

por

um

objeto

lançado

verticalmente para cima pode ser calculada pelas equaçõesda cinemática escalar, considerando que ao atingir o ápice,a^

velocidade

do

objeto

é^

nula.

Escreva

o^

respectivo

algoritmo de calculo.

Capítulo IV 32

Algoritmos

Expressos em Fluxogramas ePortuguês Estruturado

Este

capítulo

é^

uma

introdução

à^

representação

de

algoritmos

através

dos

FLUXOGRAMAS

e/ou

do

PORTGUÊS

ESTRUTURADO.

São

apresentados

os

conceitos básicos de diagramação, um pequeno conjunto depalavras reservadas e as regras que constituem o PortuguêsEstruturado. Também são apresentados alguns conceitos etécnicas

básicas

muito

importantes

em

programação

estruturada. O estudante não é aconselhado a prosseguir semantes compreender o conteúdo deste capítulo. IV. 1

Fluxogramas

No capitulo III, foi mostrado como expressar um algoritmo na forma de passos/operações seqüenciais, neste capítulo oobjetivo

é^

representar

esses

passos

na

forma

de

um

fluxograma. No exemplo 2 do capitulo III, foi dado o seguintealgoritmo.

33

Inicio

A = ( B x H ) / 2 "Area do triângulo:", A

B, H Fim

Linguagem Natural

Início; 2

Calcular A = ( B x H ) / 2; 3

Informar o resultado ( A ) como sendo a

área do

triângulo; 4

Fim;

Primeiramente observe que os valores da base

B

e da altura

H

são conhecidos e valem respectivamente 4 cm e 3,2 cm. Relembrando a simbologia apresentada no capítulo II

monta-

se o respectivo fluxograma.

Fluxograma 1

  • Cálculo da área de triângulos

Em primeiro lugar, observe que mesmo sendo conhecido o valor

da

base

B

e^

da

altura

H,

esses

encontram-se

representados como entradas via teclado. Isso ocorre porque

queremos um algoritmo genérico, capaz de calcular a área dequalquer triângulo e não de apenas um em específico. Tenhasempre em mente que um algoritmo deve essencialmente sergenérico, ou seja solucionar toda uma classe de problemas. 34

Em

segundo,

temos

um

retângulo

representando

o

processamento, no caso, a fórmula matemática para o calculoda área de um triângulo.

Em terceiro, vem o símbolo do que representa o monitor de vídeo, neste foi colocado um texto entre aspas (“Área dotriângulo”), seguido de uma virgula e da letra

A

, o que isso

significa?

Bem a resposta é simples, observe que o que está entre aspas é um texto, uma frase explicativa, já a letra

A

que não

está entre aspas representa um valor, o valor calculado nopasso anterior como sendo a área do triângulo. Essa é umaregra a ser seguida, toda vez que indicar a apresentação de umtexto no monitor de vídeo, o texto deve ser delimitado pôraspas,

quando

indicar

a^

apresentação

de

um

valor

representado pôr uma letra ou palavra, não tem aspas. Avirgula aparece como separador. O separador é necessárioquando se faz uso de um mesmo símbolo para indicar aapresentação de dois ou mais valores.

Veja agora como fica o exemplo 3 do capitulo anterior, para o qual foi apresentado o seguinte algoritmo:

Linguagem Natural

Inicio; 2

Solicitar o valor do raio da base, R;

37

inteiro

–^

variáveis

associadas

a^

esse

tipo

dados,

armazenam apenas números inteiros e podem ser objeto dasseguintes operações:

–^

inversão de sinal ( menos unário )

Mod

Resto da divisão ( ex: 5 mod 2 = 1 )

Div

Quociente da divisão (ex: 5 div 2 = 2 )

^

Potência inteira

Radiciação inteira

÷

Divisão

*****^

Multiplicação

+

Adição

Subtração

Real

–^

uma

variável

associada

ao

tipo

real

permite

armazenar qualquer valor numérico, porem não pode serusada com as operações

mod

e

div

pois essas operações só

se aplicam a números inteiros. 9

Lógico -

O tipo lógico define um tipo de dado que só

admite dois valores verdadeiro e

falso

. Sobre um dado do

tipo lógico podem ser aplicados os operadores vistos nocapitulo I (

e

,^

ou

,^

não

)^

e alguns outros que não serão

abordados neste trabalho.

PRI ORI DADE

Caracter

–^

Variáveis

associadas

a^

esse

tipo

definem

espaços de memória que podem ser usados para armazenarcaracteres individuais, ou seja letras, dígitos, símbolos. Oconjunto de caracteres mais usual é conhecido como tabelaASCII, veja no final do livro. 9

Frase

  • O tipo frase define um espaço de memória capaz

de armazenar uma seqüência de caracteres de modo aformar

uma

frase.

Na

linguagem

PASCAL,

o

correspondente é o tipo

string

o qual permite um tamanho

máximo

de

caracteres,

mas

pôr

enquanto

não

precisamos nos preocupar com o tamanho máximo.

IV. 2.2 Operadores Matemáticos

–^

inversão de sinal ( menos unário )

^

Potenciação e

Radiciação

*****^

Multiplicação e

/^

Divisão

+

Adição

e

–^

Subtração

PRI ORI DADE

39

IV. 2.3 Operadores Relacionais

Maior que

Menor que

Maior ou igual a

Menor ou igual a

Diferente de

IV. 2.4 Instruções Básicas

As instruções representam os passos de um algoritmo, e são expressas fazendo-se uso do conjunto de palavras reservadasda linguagem. 9

leia ( ) –

Representa uma entrada de dados via teclado,

equivalente ao símbolo: 9

escreva ( )

  • Representa uma saída de dados/informações

no monitor de vídeo, é equivalente ao símbolo: 9

imprima ( )

  • Representa uma saída de dados/informações

através

do

dispositivo

de

impressão,

equivalente

ao

símbolo;

Principal

  • Marca o início do programa
  • A seta representa a atribuição de um valor para uma variável 9
  • Abre Chaves, marca o início de um bloco de instruções,é necessário sempre que houver mais de uma instrução. 9
  • Fecha Chaves, marca o fim de um bloco de instruções. 9

Separador de instruções;

IV. 3

Técnicas Estruturadas Básicas Antes de começar as escrever algoritmos empregando o Português Estruturado, é necessário tomar conhecimento dealgumas técnicas que foram desenvolvidas para tornar osalgoritmos legíveis e apresentáveis. Vale a pena frisar que nãose trata de frescura, é um dos pontos mais críticos. A diferençaentre um algoritmo comum e um algoritmo ótimo, não resideapenas na lógica aplica, mas também na forma estética eespecialmente na legibilidade do mesmo.

Quando construir um algoritmo, tenha em mente que não o está construindo para você, mas sim para outros. Um bom