Upload
luciano-marwell
View
218
Download
0
Embed Size (px)
Citation preview
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
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
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.
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
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
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
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)
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
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
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
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
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
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)))
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´
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´.
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
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
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
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.
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
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