22
Docente: Ana Cláudia Petta Lógica de Programação I 1 Lógica de Programação Lógica de Programação

SD_01_Logica_Programacao

Embed Size (px)

Citation preview

Page 1: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 1/21

Docente: Ana Cláudia Petta Lógica de Programação I1

Lógica de ProgramaçãoLógica de Programação

Page 2: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 2/21

Docente: Ana Cláudia Petta Lógica de Programação I2

O QUE É LÓGICA?

É a capacidade de conseguir pensar, raciocinar e demonstrar de forma

eficaz esse raciocínio.

QUAL É A NECESSIDADE DO USO DALÓGICA?

Solução de problemas de qualquer ordem (Administrativa, Financeira)

COMO UTILIZAR A APLICAÇÃO DA LÓGICA

NO DESENVOLVIMENTO DE UM PROGRAMA?

a) Demonstrar de maneira gráfica a linha de raciocínio que o programa

irá executar, ou seja, a seqüência de operações.b) A técnica gráfica permite que posteriormente seja feita uma

codificação em qualquer linguagem.

c) A técnica mais usada é a programação estruturada, que é umametodologia de projeto, objetivando:

Agilizar a codificação

Facilitar a depuração da leitura

Verificar falhas

Facilitar alterações/atualizações

Page 3: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 3/21

Docente: Ana Cláudia Petta Lógica de Programação I3

COMO FAZER ESSA REPRESENTAÇÃO GRÁFICA?

A) Fluxograma Descreve o fluxo manual ou mecânico, usando símbolos queespecificam os suportes usados p/ os dados e p/ as informações.

B) Diagrama de bloco Descreve o método e a seqüência do processo dos

 planos. Pode ser desenvolvido em qualquer nível de detalhamento que for necessário.

C) Algoritmo É um processo de cálculo matemático ou de resolução de umgrupo de problemas semelhantes.

D) Simbologias básicas:

Terminal Símbolo utilizado como ponto para indicar início e/oufim do fluxo de um programa.

Seta de fluxo de dados Permite indicar o sentido do fluxo dedados. Serve exclusivamente para conectar os símbolos ou blocos existentes.

Processamento Símbolo ou bloco que se utiliza para indicar cálculos (algoritmos) a efetuar, atribuições de valores ou qualquer manipulaçãode dados que tenha um bloco específico para sua descrição.

Entrada de dados ou operação manual Utilizado para ler osdados necessários ao programa fora de linha, sem intervenção de dispositivosmecânicos.

Entrada e saída de dados Símbolo em função de um dispositivoqualquer de entrada ou saída de dados, como fornecedor de informações para

 processamento, gravação e outros.

Saída de dados em vídeo Utiliza-se este símbolo quando se quer mostrar dados na tela do vídeo.

Saída de dados em impressora É utilizado quando se deseja queos dados sejam impressos.

Page 4: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 4/21

Docente: Ana Cláudia Petta Lógica de Programação I4

INTRODUÇÃO À LÓGICA

Resolução de problemas:Problema É uma questão duvidosa que pode ter numerosas soluções.

* O fluxograma é o melhor instrumento para avaliação doproblema de um determinado sistema.

Para desenvolver fluxogramas devemos seguir os seguintes procedimentos:

1. Os diagramas devem ser feitos e quebrados em vários níveis. Os primeiros devem conter apenas as idéias gerais, e os seguintes os devidosdetalhamentos.

2. O fluxograma deve ser desenvolvido de cima p/ baixo e da esquerda p/ adireita.3. Não pode ocorrer cruzamento das linhas de fluxo de dados.Ex.:

Início

Entrada com4 notas

Calcular amédia e determinar 

a aprovação

Apresentar sehouver ou nãoaprovação

Fim

Entrada dedadosmanual,semintervençãomecânica

Dispositivo

qq. deentradasaída dedados(ImpressoraVídeo,disquete)

Início

Calcular amédia e determinar 

a aprovação

Fim

Entrada com4 notas

Apresentar sehouver ou não

aprovação

Símbolos deentrada de

dados

Processo

Dispositivovisual vídeo

Símbolos desaída dedados

Page 5: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 5/21

Docente: Ana Cláudia Petta Lógica de Programação I5

³R EPR OVADO´

InícioInício

Entrar com as4 notas

Entrar com as4 notas

Calcular média Calcular 

média

Média > = 7

Apresentar novídeo

³APR OVADO´ Fim

Apresentar novídeo

³R EPR OVADO´

Fim

Fim

Média > = 7 S

N

³APR OVADO´

Duas representaçõesdo mesmo problema

Símbolos deprocessamento

ManualManual TecladoTeclado

QQ. DispositivoE/S

Vídeo

Conector deqq. Jeito é fim

N S

Page 6: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 6/21

Docente: Ana Cláudia Petta Lógica de Programação I6

³R EPR OVADO´

InícioInício

Ler  N1,N2,N3,N4

Calcular M = N1+N2+N3+N4

M > = 7Fim

Imprimir ³R eprovado´

Fim

M> = 7

³APR OVADO´

Var iáv

el

Imprimir ³Aprovado´

S

N

N S

Duas representaçõesdo mesmo problema

Ler  N1,N2,N3,N4

Calcular M = N1+N2+N3+N4

4

Fim

Page 7: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 7/21

Docente: Ana Cláudia Petta Lógica de Programação I7

PARTICULARIDADES ENTRE LÓGICA

Linear Modelo tradicional de desenvolvimento e resolução de um problema.São os passos que seguiremos de maneira seqüencial p/ executar determinado

  problema (Tarefa)

Page 8: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 8/21

Docente: Ana Cláudia Petta Lógica de Programação I8

Estruturada É a mais usada, pois possui alta qualidade e baixo custo. São os passos seguidos p/ resolução de um problema, porém quebrados em rotinas eessas, por sua vez serão tratadas de forma independente.

S

N

Sequence

N S

b

a

If.. Then... Else

S

N

c

N

SDo... While

Page 9: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 9/21

Docente: Ana Cláudia Petta Lógica de Programação I9

Modular Trata do problema de forma independente, através de módulos,controlado por um conjunto de regras específicas. Separa um problema emsistemas, um sistema em programas e um programa em módulos.

Dados deentrada

Processo detransformação

Dados desaída

O modelo padrão de um módulo consiste em3 partes: Entrada, Processamento e Saída

MóduloSubrotina

A

MóduloSubrotina

B

MóduloSubrotina

A

Page 10: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 10/21

Docente: Ana Cláudia Petta Lógica de Programação I10

Diagrama de Chapin Substitui o diagrama tradicional (fluxograma) por um diagrama representado através de quadros.

*Vantagem R epresentação das estruturas que tem um ponto de entrada esaída, difíceis de serem mostradas nos fluxogramas .

Início

Leia N1,N2,N3,N4Soma N1+N2+N3+N4

Média Soma/4

Média > = 7

N S

Resultado³Reprovado´

Resultado³Aprovado´

Escreva N1,N2,N3,N4Escreva Soma

Escreva MédiaEscreva Resultado

Fim

Page 11: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 11/21

Docente: Ana Cláudia Petta Lógica de Programação I11

Português Estruturado ( Portugol ou Pseudocódigo) representação escritada solução do problema. Essa técnica permite ter o sistema devidamentedocumentado.

programa MÉDIAvar

R ESULTADO : caractere N1, N2, N3, N4: realSOMA, MÉDIA: real

inícioleia N1, N2, N3, N4SOMAn N1 + N2 + N3 + N4MÉDIAn SOMA/4se (MÉDIA >= 7) então

R ESULTADO n ³Aprovado´senão

R ESULTADO n ³R eprovado´fim seescreva ³ Nota 1:´ , N1escreva ³ Nota 2:´ , N2escreva ³ Nota 3:´ , N3escreva ³ Nota 4:´ , N4escreva ³Soma:´, SOMAescreva ³Média:´, MÉDIAescreva ³R esultado:´, R ESULTADO

fim

Page 12: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 12/21

Docente: Ana Cláudia Petta Lógica de Programação I12

TIPOS DE DADOSTIPOS DE DADOS

DADO=INFORMAÇÃO

1 ) Tipos Inteiros números positivos e negativos, nenhum númerofracionário.

2) Tipos reais números positivos, negativos e fracionários.

3) Tipos caracteres letras, números, espaços, símbolos. Também conhecidoscomo alfanumérico, string, literal ou cadeia.

4) Tipos lógicos Verdadeiro ou falso.

Uso de VariáveisUso de Variáveis

Variável informação que pode se modificar a cada instante. No computador é necessário que ela tenha um nome para poder identifica-la e acessa-la.

Regras para utilização de variáveis:

nomes com 1 ou mais caracteres; nome não pode ter espaços em branco; 0 1º caractere não pode ser número, sempre letra; não pode ser utilizado outros caracteres, só letras e números; não pode ser um nome reservado a uma instrução de programa

Page 13: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 13/21

Docente: Ana Cláudia Petta Lógica de Programação I13

Uso de ConstantesUso de ConstantesConstante é tudo aquilo que é fixo, não muda.

Exemplo: Temos 4 avaliações e precisamos calcular a média.

As notas são variáveis n1, n2, n3, n4

e o denominador 4 é constante 4

Expressões AritméticasExpressões AritméticasToda expressão que envolva cálculos, onde:

+ + X *

- - z /

Exponenciação **

Tudo que estiver entre chaves e colchetes será substituído por parênteses.

Exemplo: X = { 43. [55 z (30 + 2)]}

X (43*(55 / (30 + 2)))

Page 14: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 14/21

Docente: Ana Cláudia Petta Lógica de Programação I14

Expressões LógicasExpressões Lógicas

Toda expressão cujo resultado seja V ou F

Exemplo:

Iniciovar 

Sexo: Caractere

Se Sexo = Masculino então

Sexo V

SenãoSexo F

Fim_ Se

Fim

Expressões LiteraisExpressões Literais

São aquelas cujo resultado é um valor literal.

Exemplo:

Temos duas str ings: ³REFRIGERA´ + ³DOR´

e o resultado: ³REFRIGERADOR´

Page 15: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 15/21

Docente: Ana Cláudia Petta Lógica de Programação I15

Técnicas usuais em algoritmosTécnicas usuais em algoritmos

INICIO

SOMA 0

SOMA<>100

SOMASOMA + 1

FIM

S

Programa Contador

var

Soma: InteiroInício

soma 0

Enquanto soma <> 100

Soma Soma + 1

Fim_Enquanto

Fim

 N

São var iáveis muito utilizadas em estruturas de repetição

Sào var iáveis que tem como função contar, guardandosempre o valor contado e tor nando-o disponível para ser 

utilizado dentro da lógica do programa.

Usa-se para somar ou diminuir uma quantidade def inida

Exemplo: X = X + 1

signif ica ³pegue o valor que está ar mazenado na var iável

X, some 1 a esse valor e guarde o resultado novamente na

var iável X´, ou seja, ³adicione 1 Ao conteúdo de X´.

Page 16: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 16/21

Docente: Ana Cláudia Petta Lógica de Programação I16

São var iáveis muito utilizadas em estruturas de

repetição

São var iáveis que tem por função guardar valoresque estão sendo acumulados.

Exemplo: Acumular valores de entradas mensais.

INICIO

PAR CELAn 0SOMAn 0

LER 

PAR CELA

SOMAnSOMA + PAR CELA

ENQUANTOSOMA <> 100

FIM

V

F

Programa Acumulador 

var 

 parcela n 0

soman 0

Início

Enquanto Soma <> 100

Ler parcela

Soma n Soma + parcela

Fim_Enquanto

Fim

Page 17: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 17/21

Docente: Ana Cláudia Petta Lógica de Programação I17

Saída É o meio pelo qual as infor mações são transfer idas pelo

computador ao usuár io.

Exemplos: Monitor, Impressora, Fitas, Discos Magnéticos e outros.

(Saída é o resultado da execução de um programa.)

Atribuição É a pr incipal maneira de se ar mazenar uma infor mação emuma var iável.

Entrada É o meio pelo qual as infor mações (os dados) são transfer idos

pelo usuár io ao computador.

Exemplo:Teclado, Fitas, Discos Magnéticos e outros.

Comandos deComandos de

Entrada/Saída/AtribuiçãoEntrada/Saída/Atribuição

Page 18: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 18/21

Docente: Ana Cláudia Petta Lógica de Programação I18

Estruturas de contr oleEstruturas de contr ole

Seqüencial Na estrutura seqüencial os comandos de um algor itmosão executados em uma sequencia pré - estabelecida. Cadacomando é executado somente após o ter mino do comando

anter ior.

INÍCIO

COLOCAR O

MACACO EM

POSIÇÃO

SUBIR O

CARRO

RETIRAR O

PNEU

FURADO

COLOCAR

ESTEPE

FIM

INÍCIO

Colocar o macaco em

 posiçãoSubir o carro

R etirar o pneu furado

Colocar estepeFIM

Page 19: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 19/21

Docente: Ana Cláudia Petta Lógica de Programação I19

O fluxo de instruções a ser seguido é escolhido em função

do resultado da

avaliação de uma ou mais condições.

Existem 2 tipos:

Se (Simples) Escolha (Composta)

SESE -- ENTÃOENTÃO -- SENÃOSENÃO (Simples)

Per mite a escolha de umdeter minado caminho entre dois caminhos possíveis.

Você pode fazer vár ias per guntas ,porém sempre decidir áse é um ou outro caminho, não tem outra saída.

Estrutura condicionalEstrutura condicional(ou de decisão)(ou de decisão)

EscolhaEscolha (Composta)(Composta) Neste tipo de seleção, a decisão

não pode ser tomada com base em uma condição, mas

sim em uma expressão ou var iável inteira.

Page 20: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 20/21

Docente: Ana Cláudia Petta Lógica de Programação I20

São muito comuns as situações em que se deseja repetir um deter minado

trecho de um programa um certo número de vezes.

Exemplo:  Processamento de folha de pagamento de uma Empresa, em 

que o mesmo cálculo é efetuado para cada um dos

funcionár ios.

 As estruturas de repet ição são também chamadas de laços ou

loops.

Dividem-se em:

Enquanto - faça (ou condicional)

Indica a repetição da execução de uma ação ou con junto de ações,

dependendo da var iedade ou falsidade de uma deter minada condição.

Estruturas de RepetiçãoEstruturas de Repetição

INÍCIO

CONTn 1RESUn 0

ENQ. CONT< = 11

RESUn

2 * CONT

RESU

CONTnCONT + 1

FIM

Programa Tabuada

var

Cont : InteiroResu : Inteiro

Enquanto Cont <> 11 façaResun 2 * ContEscreva ResuCont n Cont + 1

Fim_enquanto

Fim

Exemplo

Page 21: SD_01_Logica_Programacao

8/7/2019 SD_01_Logica_Programacao

http://slidepdf.com/reader/full/sd01logicaprogramacao 21/21

Docente: Ana Cláudia Petta Lógica de Programação I21

Estruturas de RepetiçãoEstruturas de RepetiçãoPara - faça (ou repetição com contador)

Neste tipo de estrutura existe uma var iável de controle denominada contador 

(incrementadora ou decrementadora), inicializada com algum conteúdo e sendoalterada sempre que se executa o grupo de ações a repetir.Neste tipo de estrutura podemos realizar contagens com intervalos maiores.

Exemplo: Quero contar cem elementos, porém quero contar de 10 em 10. Para

isso uso a instrução PASSO.

INÍCIO

CONTn 1

CONTn1, 100, 10

CONT

FIM

Programa Contagem

var

Início

Contn 1

Para Cont de 1 a 100 PASSO 10Escreva Cont

Fim_para

Fim