LGICA DE PROGRAMAO
Prof.: Marcos Henrique Gomes
Orientaes de estudo:
A principal fonte de consulta e estudo dever ser a bibliografia recomendada, este material
deve ser trabalhado como notas de aula.
Bibliografia Bsica
MANZANO, Jos Augusto. Algoritmos - Lgica para Desenvolvimento de Programao. Rio de
Janeiro: rica, 1996.
WIRTH, Niklaus. Algoritmos e estruturas de dados. ETH Zurich: LTC Editora, 1999.
SALVETTI, Dirceu Douglas. Algoritmos. So Paulo: Pearson/Makron Books, 2004.
KERNIGHAN, Brian W. A linguagem de programao. Porto Alegre: Editora Campus Ltda, 1987.
Bibliografia Complementar
CELES, Waldemar, . Estruturas de Dados. Rio de Janeiro: PUC-RIO, 2002.
BROOKSHEAR, J. Glenn. Cincia da Computao Uma viso abrangente. Porto Alegre: Bookman, 2005.
PUGA, Sandra. Lgica de programao e Estrutura de Dados. : Pearson - Prentice Hall, .
SEBESTA, Robert W. Concepts of Programming Languages. : Addison-Wesley, 1996.
TPICO 03
COCEITO DE LGICA
A lgica trata da elaborao do pensamento. Da filosofia, procura saber por que
pensamos assim e no de outra maneira, questionamentos quanto a incertezas tem sido foco de
pesquisador ao logo da histria da humanidade. Com arte ou tcnica, nos, ensinando a usar
corretamente as leis do pensamento.
Poderamos dizer tambm que a lgica a arte de pensar corretamente e, visto que a
forma mais complexa do pensamento o raciocnio, a lgica estuda ou tem em vista a correo
do raciocnio. Dizemos ento que a lgica tem em vista a ordem da razo.
Isto d a entender que a nossa razo pode funcionar desordenadamente. Por isso a lgica
ensina a colocar Ordem no Pensamento.
Uma parte importante da lgica o estudo do erro (falcia) ou mtodos incorretos do
raciocnio. Ento podemos afirmar que o indivduo pode cometer erros lgicos e com o intuito
de evit-los que estudamos tcnicas que possibilitam evitar o erro.
LGICA O COTIDIAO
Os conceitos relacionados lgica no esto somente atrelados a matemtica, seu
significado est corretamente associado resoluo de problemas sejam eles de qualquer ordem.
Ao resolver problemas relacionados fala ou a coordenao motora a criana apresenta
solues que lhe permitiro superar os obstculos, o que podemos ter como exemplo o de
caminhar, comunicar-se, enfim o sujeito evoluindo.
Da mesma maneira que um mestre de obras decide em construir determinada estrutura a
partir do emprico realizando seu trabalho, sem a necessidade de realizar clculos.
LGICA DE PROGRAMAO
Definimos por lgica de programao o conjunto das tcnicas de encadeamento do
pensamento para atingir determinados objetivos, isto , encapsular um processo atravs de
comandos lgicos.
Pensamentos que devem obedecer a uma seqncia lgica que corresponde ao conjunto
de instrues que corresponde s regras ou normas definidas para o emprego ou realizao de
uma determinada ao. Em programao dizemos que a instruo a informao que indica a
mquina (computador) uma ao elementar a ser executada.
Para que uma ordem seja executada de forma a dizermos que um processo foi realizado
de maneira completa no basta apenas uma instruo, mas um conjunto de instrues
obedecendo a uma seqncia lgica chamado de programa ou sistemas.
COCEITO DE SISTEMA
Compreende-se por sistema a agremiao de determinadas funes ou informaes que
em conjuntos realizam determinada tarefa. Nas organizaes empresariais os sistemas so
interdependentes formando um grupo de aes que compe o sistema maior (geral) da empresa.
Os homens encarregados de fazer o planejamento estratgico de um sistema so
chamados de generalistas ou desenhistas de sistemas, sua principal competncia de sintetizar
problemas.
Tendo os sistemas surgidos do conceito de natureza e da decomposio dos organismos
humano interdependentes podemos citar como exemplo os seguintes exemplos.
- Sistema solar;
- Sistema sanguneo;
- Sistema cardiovascular;
- Sistema de transportes;
2
Lgica probabilstica
Em grande destaque na modelagem computacional est lgica probabilstica que
associao a lgica matemtica as inferncias probabilsticas, os clculos so baseados no
conceito de 0 ou 1 e no no conceito de 0 e 1 como no tradicional processamento de dados
caracterstico no tratamento quantitativo.
Utilizando-se do conceito probabilstico engenheiros planejam criar um chip capaz de
trabalhar realizar os processos de maneira mais dinmica gerando menor menos rudo e menor
consumo de energia.
3
Lgica Fuzzy
Diferentemente da aleatoriedade, certas variveis utilizadas em nosso cotidiano,
transmitidas e perfeitamente compreendidas lingisticamente entre interlocutores, tm
invariavelmente permanecido fora do tratamento matemtico tradicional. Este o caso de
variveis lingsticas oriundas da necessidade de se distinguir qualificaes por meio de
graduaes.
Para descrever certos fenmenos relacionados ao mundo sensvel, temos utilizado graus
que representam qualidades ou verdades parciais ou ainda padres do melhor (na linguagem
sofista). Este o caso do conceito de alto, fumante, infeccioso, presa, etc.
nesse tipo de incerteza que a lgica Fuzzy tem dado suas principais contribuies.
Usando o conceito de conjunto das pessoas, altas ou das doenas infecciosas, isto conjunto
definido por propriedades subjetivas ou atributos imprecisos.
Na modelagem Fuzzy associado um valor x(p) a uma proposio p, indicando o grau
de validade desta proposio, cujo conjunto imagem est entre 0% e 100%., permitindo uma
gama de infinitos valores possveis.
Um exemplo de proposies baseadas na Lgica Fuzzy o seguinte:
Suponha que se deseja representar de forma Fuzzy a altura de quatro indivduos, e p ser alto.
Milena 1,65m
Matheus 1,75m
Joo 2,0 m
Nadine 1,45m
1 Milena alta, x(p) = 55%
2 Matheus alto, x(p) = 75%
3 Joo alto, x(p) = 100%
4 Nadine alta, x(p) = 0%
Percebe-se que a lgica Fuzzy est associada teoria dos conjuntos. E que cada
afirmao representa o grau de pertinncia ao conjunto das pessoas altas.
Apesar das diferentes verses de lgica todas esto ligadas a determinao da verdade
de uma afirmao de certeza quanto a um conjunto de proposies ou afirmaes que podem
compor um teorema matemtico ou a base de um sistema de computao. Estes dois tm suas
principais diferenas em:
ALGORTMO O COTIDIAO
O pensamento encadeado que leva a uma ao ou o processo organizado pela lgica que
nos permite realizar nossas tarefas de maneira simples, pode ser descrito como uma seqncia
de instrues, que devem ser obedecidas para se cumprir s tarefas. Esta seqncia chamada de
algoritmo est presente no nosso dia a dia. Por exemplo, h algoritmos para a construo de
maquetes (expressos na forma de instrues de montagem) ou para tocar msica (na forma de
partituras). O mais conhecido algoritmo o da diviso, para encontrar o quociente de dois
nmeros ou para calcular o mximo divisor comum de dois inteiros positivos1.
4
exemplo 02
Objetivo: Somar dois nmeros quaisquer.
Incio.
1. Escreva o primeiro nmero no retngulo A;
2. Escreva o segundo nmero no retngulo B;
3. Some o nmero do retngulo A com o nmero do retngulo B e coloque o resultado no
retngulo C.
Fim.
TPICO 04
USO DE LGICA APLICADA A IFORMTICA
Na informtica a lgica tratada como lgica de programao e seu trabalho
automatizar o pensamento de tal maneira que as atividades possam ser realizadas por uma
mquina.
O algoritmo utilizado na programao tem sua sub-diviso lgica na instruo. Em
linguagem comum entendemos por instruo o conjunto de regras, normas ou comandos
elementares pr-definidas com fins de realizar determinada tarefa.
importante ressaltar que uma ordem isolada no consiste na realizao de um
processo, mas o conjunto de instrues (sistema) encadeadas obedecendo a uma seqncia
lgica que realiza um processo.
PROBLEMAS COMPUTACIOAIS
Os problemas computacionais esto relacionados a manipulao da informao, ou seja
sempre haver uma pergunta de carter geral a ser respondida. Onde um problema descrito
especificando-se a entrada (quais so os possveis dados) e a condio (ou relaes) que a sada
deve satisfazer para uma determinada entrada.
O generalista, desenhista de sistema ou programador de computador, quando
encarregado de construir um algoritmo ou uma base de dados para certa aplicao tem a
problemtica de relacionar as informaes que devero ser tradadas com limitaes impostas
desde espao fsico quando um profissional programa um manipulador robtico, as relaes
ditadas pela interao empregados e empregador, clientes e fornecedores questes sociais e
econmicas at limitaes relacionadas ao sentido, raciocnio e intuio. Tal processo de
construo denominado modelagem.
Durante a anlise e construo do algoritmo computacional que dever conter entidades
matemticas tais como conjuntos, funes, grafos, relaes, equaes diferenciais, etc., o
profissional deve construir um modelo conceitual que, no apenas inclua todos os detalhes
necessrios a soluo do problema, mas tambm no inclua detalhes em excesso, que podero
comprometer a eficincia do processo computacional.
representa
OBJETO
REALIDADE
Abstrai
MODELAGEM
CONCEITO
NVEL CONCEITUAL
Denota
SMBOLO
FORMALIZAO
NVEL FORMAL
Linguagens de programao,
Linguagens de especificao formal
Lgica proposicional
Lgica estatstica
Lgica Fuzzy, etc.
TPICO 05
ALGORTMO APLICADA A IFORMTICA
O processo de clculo matemtico ou de resoluo de problemas semelhantes
conhecido por programa que composto por um conjunto de algoritmos interdependentes
trabalhando de maneira compreensvel para a mquina, proporcionando um passo a passo na
soluo de um problema.
No momento em que a tarefa passa a ser realizada seja parcial ou totalmente pela
mquina est sendo realizado um processo de automao. Este para obter xito em seu trabalho
necessita ser instrudo em todas as etapas do processo que realizar, esta instruo por sua vez
dever ser dada de maneira a realizar a tarefa com a maior eficincia e eficcia possveis.
O tratamento destas instrues dado pela capacidade de captar e transferir inteligncia
mediante os algoritmos que so construdas as mquinas que exibem comportamento
inteligente. Por conseguinte, o nvel de inteligncia demonstrada pela mquina fica limitada pela
inteligncia que um algoritmo capaz de transportar. Por outro lado, se no houver algoritmo
capaz de executar tal tarefa, ento a sua realizao excede a capacidade da mquina.
Estudos fundamentados em um conhecimento lingstico e gramatical com o objetivo
de criar algoritmos capazes de criar mquinas consideradas inteligentes conduziram a uma
grande diversidade de esquemas para a representao de algoritmos conhecidos como
linguagem de programao ou paradigmas de programao.
A busca de algoritmos para controlar as tarefas cada vez mais complexas que
possibilitem atribuir inteligncia a mquina conduziu a situaes relacionadas as limitaes do
algoritmo. A inexistncia de algoritmos que no tem soluo implica que o problema no pode
ser resolvido por uma mquina. Isto , as mquinas so capazes de resolver apenas problemas
passveis de soluo algortmica.
Para representar um algoritmo, so empregados diversos tipos ou tcnicas e cabe ao
profissional, utilizar aquele que se adqua as suas necessidades.
Existem algoritmos que apresentam passo a posso do processo apenas a nvel lgico, ou
seja, no especificam em detalhes a linguagem de programao que se utilizada, e outros que
tratam os passos do programa com maior riqueza de detalhes.
Na medida em que se avanou no estudo de algoritmos tornou-se necessrio normatizar
mtodos e ou tcnicas que possibilitaram um enfoque epistemolgico que principiam nos
seguintes questionamentos.
Quais problemas podero ser resolvidos por meio de processos algortmicos?
De que modo o processo de descoberta de algoritmos podem ser facilitados?
Como se pode melhorar as tcnicas de representao e comunicao de algoritmos?
Como o nosso conhecimento de algoritmos e da tecnologia pode ser aplicado na
obteno de mquinas algortmicas melhores?
De que maneira as caractersticas de diferentes algoritmos podem ser analisadas e
comparadas?
Que analiticamente so respondidos atravs do diagrama abaixo:
Limitaes de
Analise de
Delineamento de
Execuo de
Algoritmos
Comunicao de
Representao de
TPICO 06
PRICIPAIS MTODOS DE REPRESETAO DE UM ALGORITMO
Fluxograma e diagrama de blocos
Representao grfica do processo, ou seja, das instrues e ou mdulos do
processamento, que compem o algoritmo e que tambm conhecido como diagrama de blocos.
No planejamento o generalista ou desenhista de sistema tem uma poderosa
ferramenta de representao grfica que possibilita:
a)
b)
c)
d)
Diagrama de blocos
Indica as atividades realizadas sem diferenci-las por tipo.
Visualizao rpida do processo.
Desenho horizontal ou vertical
Utiliza frases curtas que identifiquem as atividades realizadas.
Smbolos de fluxogramas (padro ASI)1
SIMBOLO
SIGNIFICADO
Operao
Movimento/transporte
Ponto de deciso
Inspeo
Documento impresso
Espera
Armazenagem
Sentido do fluxo
Conexo
Observaes
1 - o uso de abreviaturas e siglas deve ser evitado.
2 - o tamanho dos retngulos para cada rgo pode variar conforme o nvel de hierarquia.
3 - podem-se variar cores, com fins de destacar determinado rgo da estrutura.
EXEMPLOS DE FLUXOGRAMA
Incio
Digite o
coeficiente a
Digite o
coeficiente b
No
a 0 ?
Imprime no
existe raiz
Sim
X = - (b/a)
Imprime valor
de x
Fim
Exemplo:
Algoritmo Valor_dia
Var Salariominimo,media:real
Incio
SalarioMinino = 510,00
Media=Salariominimo/30
Envie para impressora Media
Fim
10
Note que a declarao da varivel Var do tipo Real representando uma varivel que pode
assumir valores pertencentes ao conjunto dos nmeros reais.
Este algoritmo pressupe que sejam fornecidos dois inteiros positivos e calcula o seu mximo divisor comum.
Procedimento:
Passo 1. Atribuir, inicialmente, a M e N os valores correspondentes ao maior e menor dos dois nmeros inteiros
positivos fornecidos, respectivamente.
Passo 2. Dividir M por N, e chamar de R o resto da diviso.
Passo 3. Se R no for 0, atribua a M o valor de N, a N o valor de R e retorne ao passo 2; caso contrrio, o mximo
divisor comum ser o valor correspondente de N.
- American ational Standards Institute ("Instituto Nacional Americano de Padronizao"), tambm conhecido
por sua sigla ASI, uma organizao particular sem fins lucrativos que tem por objetivo facilitar a padronizao
dos trabalhos de seus membros.
Segundo a prpria organizao, o objetivo melhorar a qualidade de vida e dos negcios nos Estados Unidos. So
conhecidos por terem inmeros padres, entre eles o ANSI C que serve como guia na escrita de compiladores e de
programas nesta linguagem de programao.
11
TPICO 07
TIPOS DE DADOS
Tipos de dados
Matematicamente fcil classificar as variveis que envolvem um problema com
caractersticas claras como variveis reais, complexas, lgicas, que representam valores
unitrios ou conjuntos de valores. No processamento de dados se faz necessrio que inclua
ainda caractersticas incorporadas s linguagens de programao, que so:
Tipo de dados que determina o conjunto de valores assumidos por uma constante ou
varivel, gerados por uma funo ou um operador; (Exemplo )
Operador ou funo que exigem argumentos de um dado tipo fixado e produz um
resultado.No necessariamente do mesmo tipo.
Indicador de funo:
void Indica que no h tipo definido: Este tipo serve para indicar que um resultado
no tem um tipo definido. Uma das aplicaes deste tipo criar um tipo vazio que pode
posteriormente ser modificado para um dos tipos anteriores.
12
Tamanho (bits)
1
1
4
4
2
2
4
4
4
8
10
13
TPICO 08
Variveis
Uma varivel a representao dos elementos de um conjunto que ocupa um espao na
memria do computador dedicado ao armazenamento de um tipo de dado determinado. Em um
programa as variveis devem ser declaradas, especificando seu tipo que pode ser inteiro, real ou
caractere, devendo receber nomes para poderem ser referenciadas e alteradas quando necessrio.
Cada varivel corresponde a uma posio de memria, cujo contedo alterado durante
o processo e execuo de um programa.
main()
int a; // a a varivel
a = 12/2; // o resultado ser 6
a = 12 % 5; // o resultado ser 2
Constantes
Constante um determinado valor que no se modifica ao longo da execuo de um
programa, podendo ser classificada como numrica, lgica ou literal conforme o tipo.
EXEMPLO.: Na expresso matemtica para obteno da nota final em determinada organizao
educacional temos:
Nf = ((N1 * 4)+(N2 * 6))
10
Onde:
Nf nota final
N1 avaliao do 1 semestre
N2 avaliao do 2 semestre
(4 e 6) constantes multiplicativas (que correspondem ao peso de cada uma das avaliaes)
10 constante (que corresponde a soma dos pesos das avaliaes)
14
Lgicos: Baseado na lgica booleana s pode armazenar dados do tipo true (verdadeiro)
1 ou false (falso) 0.
Portas lgicas
Baseada na lgica booleana de true (verdadeiro) e false (falso), 1 para verdadeiro e 0
para falso, estudamos os operadores booleanos que nos permite agir conceitualmente sobre os
valores de true e false manipulando-os. importante notar que todo sistema de processamento
binrio dos computadores binrio.
Os operadores AND (e), OR (ou) e XOR (ou exclusivo), apresentam semelhana em por
operarem de forma semelhante a aritmtica que toma dois valores para produzir um terceiro
como resultado, enquanto o operador NOT (inverso) utiliza apenas uma entrada para produzir
uma sada, que consiste no inverso da entrada. Os quatro operadores so representados por
smbolos que facilitam o entendimento de projetos.
AND
Entrada
Sada
Essa porta lgica possui dois bits de entrada e um de sada. Para que o bit de sada seja
verdadeiro (valor 1) ambos os bits de entrada devem ser verdadeiros.
ENTRADAS
0
0
0
1
1
0
1
1
SADA
0
0
0
1
OR
Entrada
Sada
15
Essa porta lgica possui dois bits de entrada e um de sada. Para que o bit de sada seja
verdadeiro (valor 1) pelo menos um dos bits de entrada precisa ser verdadeiro.
ENTRADAS
0
0
0
1
1
0
1
1
SADA
0
1
1
1
XOR
Entrada
Sada
A porta lgica XOR possui dois bits de entrada e um de sada. Para que o bit de sada
seja verdadeiro (valor 1) os bits de entrada devem ser diferentes ou seja um verdadeiro outro
falso.
ENTRADAS
SADA
0
0
0
0
1
1
1
0
1
1
1
0
NOT
Entrada
Sada
A porta lgica NOT tambm conhecida como inversor por (ao de negao a uma
determinada afirmao), literalmente, inverte o bit de entrada. Se o bit de entrada for um, por
exemplo, o bit de sada ser zero, e vice-versa.
ENTRADA
0
1
SADA
1
0
Circuito flip-flop
Corresponde ao circuito que apresenta um dos dois valores binrios 0 e 1,
permanecendo assim at que um pulso temporrio em sua entrada modifique sua sada.
16
Tal procedimento permite aos operadores lgicos que sejam agrupados em blocos,
conceito do qual constitudo o computador.
O valor da sada alterna entre dois valores, conforme os estmulos esternos provenientes
de outro circuito.
Exemplo:
17
TPICO 09
18
TPICO 10
Operadores Matemticos
Tambm chamados de operadores aritmticos so os responsveis pelo processo
matemtica a ser realizado pelo computador. Podendo ser separados em dois tipos:
Binrio: quando utilizados em operaes matemticas de radiciao, exponenciao, diviso,
multiplicao, adio e subtrao.
Unrio: quando atua na inverso do estado de um valor numrico, ou seja de positivo para
negativos e de negativo para positivo.
A tabela a seguir apresenta os operadores matemticos para uso em lgica descrevendo seu tipo.
Para variar o nvel de prioridade requerido ao um determinado operador necessrio o uso de parnteses,
considerando-se regras de ordem para resoluo matemtica.
As cinco operaes aritmticas suportadas pela linguagem C esto descritos abaixo com seus
respectivos smbolos em portugol e no padro ANSI
SIGNIFICADO
Adio
Subtrao
Multiplicao
Diviso (resto real)
Diviso (resto inteiro)
Resto da diviso
LINGUAGEM C
+
*
/
PORTUGOL
+
*
/
div
Exemplo:
Se escrevermos a funo:
a=11%4; // a varivel a ir conter 3 como resultado j que 4 o resta da diviso de 11 por 4.
19
Tpico 11
Operadores relacionais
Os operadores relacionais definem a maneira como as proposies podem ser
conectadas, podendo a proposio composta assumir um dos dois valores verdadeiro ou falso.
Tabela de operadores
Operador
Maior
Menor
Maior ou igual
Menor ou igual
Igual
Diferente
Smb
.
Exemp
.
Literal
Resultado
Binrio
>
<
>=
=<
=
<>
a>b
a<b
a>=
a=<
a=b
a<>b
TPICO 12
Operadores lgicos
Tambm referenciados como operadores booleanos, os operadores lgicos so
utilizados na programao quando se deseja realizar uma tomada de deciso com varias
condies, estas condies exigem uma ordem de precedncia que corresponde a:
1 negao
.no.
2 conjuno
.e.
3 disjuno inclusiva
.ou.
4 disjuno exclusiva
.xou.
20
22
TPICO 13
Tabela verdade
Proposio:
Chama-se proposio ou sentena toda orao declarativa que pode ser classificada em
verdadeira ou em falsa.
Observa-se que toda proposio apresenta trs caractersticas obrigatrias:
Toda proposio deve ter um valor verdade (isto , deve ser verdadeira ou falsa). Desta
maneira, proposies podem ser combinadas atravs de operadores lgicos. Os
operadores lgicos so representados da seguinte forma:
TIPO
OPERADOR
SMBOLO
Proposio de negao
No verdade
ou ~
Conectivo de conjuno
Conectivo de disjuno
Ou
Implicao
Se ... ento
Bi-condicional
Se e somente se
Disjuno exclusiva
Ou exclusivo
23
egao ~
A partir de uma proposio p qualquer, sempre ser possvel
construir outra proposio, denominada negao de p e identificada
pelo smbolo ~p.
p ~p
V F
F V
p q p^q
VV V
VF F
FV F
F F F
p q pvq
(l-se: ou), conectivo que quando utilizado entre duas
proposies p q, denominada disjuno das sentenas.
VV V
VF V
FV V
F F F
24
p q pq
VV F
VF V
FV V
F F F
Condicionais
P Q pq
(l-se: se ... ento ...), condicional que quando utilizando entre duas
proposies pq, onde p denominado antecedente e q conseqente.
(implicao)
VV V
VF
FV V
F F
P q pq
VV V
VF
FV
F F
A B A
B AB
VV V
VF V
FV V
F F
25
Seja uma proposio formada a partir de outras (p, q, r, ...) mediante o emprego de
conectivos ( ou ) ou do modificador (~) ou de condicionais ( ou ). Dizemos que
v uma tautologia ou proposio logicamente verdadeira quando v tem o valor V
(verdadeiro) independentemente dos valores lgicos de p, q, etc.
Assim a tabela-verdade de uma tautologia v apresenta s V na coluna de v.
Exemplo
1 (p~q) (qp) uma tautologia,,pois:
~p
p~q
qp
(p~q) (qp)
Exemplo
p~p proposio logicamente falsa, pois:
~p
p~p
F
26
Tpico 14
PROGRAMAO ESTRUTURADA OU PROGRAMAO MODULAR
A tcnica mais importante no projeto da lgica de programao em algoritmos
denomina-se programao estruturada ou programao modular, estando em consonncia com o
pensamento, que estruturado e serve como base e fundamentao para o uso e estudo de outras
tcnicas, como a tcnica de programao orientada a objetos.
A tcnica utiliza a seguinte metodologia:
Escrever instrues ligadas entre si apenas por estruturas seqenciais, tomadas de deciso,
laos de repetio e de selecionamento.
Escrever instrues em grupos pequenos e combin-las na forma de sub-rotinas ou de
mdulos estruturados ou orientados a objeto.
Distribuir mdulos do programa entre os diferentes programadores que trabalharo sob a
superviso de um programador snior, chefe de programao ou analista de sistemas de
informao.
Revisar o trabalho executado em reunies regulares e previamente programado.
Objetivando a:
1. Agilizar a codificao da escrita da programao;
2. Facilitar a depurao da leitura;
3. Permite a verificao de possveis falhas apresentadas pelos programas.
Procedimentos.
A ordem ideal de procedimentos corresponde a:
1 - Estabelecer a seqncia lgica do
projeto;
3 - Escrever em linguagem de
programao ou em LPP.(linguagem
de projeto de programao)
CLASSIFICAO SITTICA
Preposio
Conjuno (de acordo com seu equivalente em ingls-until)
Preposio com interjeio
Substantivo feminino
Substantivo feminino
Substantivo masculino
Substantivo feminino
Adjetivo
Adjetivo
Verbo (imperativo afirmativo)
Preposio
Verbo (imperativo afirmativo)
Conjuno
Conjuno com verbo
Advrbio
Verbo (imperativo afirmativo)
Verbo (imperativo afirmativo)
Substantivo masculino
Substantivo masculino com preposio e com interjeio)
Substantivo masculino com substantivo masculino
Substantivo masculino com substantivo feminino
Substantivo masculino com conjuno
Substantivo masculino com verbo
Substantivo masculino com substantivo masculino
Substantivo masculino com preposio
Substantivo masculino com substantivo masculino
Substantivo masculino com conjuno
Substantivo masculino
Substantivo feminino
Substantivo masculino
Adjetivo
Substantivo masculino
Verbo (imperativo afirmativo)
Adjetivo
Substantivo masculino
Preposio
Substantivo masculino
Substantivo feminino
Substantivo masculino
Substantivo masculino
Adjetivo
Adjetivo
Substantivo masculino
Substantivo masculino
Verbo (imperativo afirmativo)
Verbo imperativo afirmativo com substantivo masculino
Conjuno
Substantivo feminino com substantivo masculino
Substantivo feminino com adjetivo
Substantivo feminino com adjetivo
Interjeio
Conjuno
Substantivo masculino
Substantivo feminino
Adjetivo
28
Tpico 15 -17
Utilizando-se do smbolo.
Entrada de dados
Sada em
vdeo
Sada em
relatrio
Sintaxe em portugol.
Entrada comando leia
Sada comando escreva
Estrutura de controles
Controle corresponde a ao de tomada de deciso devida a uma condio, sendo que
uma condio pode ser entendida como uma obrigao que se impe e se aceita, enquanto
deciso corresponde ao ato ou efeito de decidir.
As estruturas de controle so formadas por um cabealho seguido por um bloco de
comandos que indique seu objetivo e delimitado por um comando que indique o fim_<nome da
estrutura>.
Tais condies correspondem a expresses booleanas cujo resultado um valor lgico
falso ou verdadeiro, assim o estabelecimento de uma condio, ou seja, uma relao lgica entre
dois elementos feita a partir de operadores relacionais.
29
Tpico 18
Estrutura de seleo simples
Corresponde a tomada de simples (desvio condicional), a principal caracterstica de um
bloco de deciso (seleo) simples corresponde ao fato de existir um bloco de operaes
somente se a condio for verdadeira.
Ao lado do rtulo S executam-se as instrues subordinadas para depois direcionar o
fluxo ao conector.
Na linguagem de projeto (portugus estruturado) utiliza-se apresentar as condies entre
parnteses (condio). Outra caracterstica o deslocamento de dois ou trs espaos a direita a
fim de evidenciar qual de fato o bloco subordinado e uma determinada condio e quais so as
instrues subordinadas.
A estrutura de seleo simples utiliza-se dos comandos se......ento e fim_se, que na
linguagem de programao C, corresponde aos comandos if ... then .
Exemplo:
Elaborar um programa de computador que leia dois valores numricos reais desconhecidos. Em
seguida o programa deve efetuar a soma entre os dois valores e caso o resultado seja maior que
10 apresent-lo em vdeo.
a) Seqncia lgica (entendimento)
1. Definir a entrada de dois valores incgnitos (variveis A e B), note que apesar do
enunciado indicar a leitura de dois nmeros, podemos entender que no so dados
armazenados, pois so desconhecidos, assim devem ser inseridos.
2. Efetuar a soma dos valores A e B e atribuindo o resultado varivel X.
3. Apresentar o resultado armazenado na varivel X, caso a varivel X tenha seu valor
maior que 10.
b) Diagrama de blocos.
c) Cdigo
programa ADIO_DE_NMEROS_1
var
A, B, X : real
incio
leia A, B
XA+B
se (X > 10) ento
escreva X
fim_se
fim
30
Tpico 19
Estrutura de seleo composta.
Corresponde a tomada de deciso composta, que semelhantemente a seleo simples
refere-se operao booleana de verdadeiro ou falso, no entanto a tomada de deciso composta
(desvio condicional composto) corresponde a tomada de deciso que impe aes (instrues
subordinadas), tanto para a condio lgica S, quanto para a condio N, isso implica que sua
principal caracterstica a existncia de um bloco de operaes para cada um dos lados da
condio (deciso, decision).
Na estrutura de seleo composta utiliza-se dos comandos, se ....ento/seno/fim_se.,
que na linguagem de programao C, corresponde a if... then...else .
Exemplo:
Elaborar um programa que leia dois valores numricos reais desconhecidos. Em seguida o
programa deve efetuar a soma dos dois valores lidos e caso seja o resultado maior ou igual a 10,
deve ser somado a 5. Caso contrrio, o valor do resultado deve ser subtrado de 7. Aps a
obteno de um dos novos resultados o novo resultado deve ser apresentado em vdeo.
a) Seqncia lgica (Entendimento)
1. Definir a entrada dos dois valores incgnitos (variveis A e B), note que apesar do
enunciado indicar a leitura de dois nmeros, podemos entender que no so dados
armazenados, pois so desconhecidos, assim devem ser inseridos.
2. Efetuar a adio dos valores A e B e atribuir o resultado da adio varivel X.
3. Verificar se o valor da varivel X maior ou igual a 10; caso seja maior ou igual a 10,
proceder ao clculo de X + 5, atribuindo seu resultado a varivel R. Se o valor da
varivel X no for maior ou igual a 10, proceder ao clculo de X 7, atribuindo seu
resultado a varivel R.
c) Cdigo
b) Diagrama de blocos
programa ADIO_DE_NMEROS_2
var
A, B, X, R : real
incio
leia A, B
XA+B
se (X >= 10) ento
RX+5
seno
RX-7
fim_se
escreva R
fim
31