View
3.587
Download
5
Category
Preview:
Citation preview
1
Conceitos e Técnicas de Programação
Profº Ms. Tarcísio Júnior
Gestão de Tecnologia da Informação
2
Raciocínio Lógico, todos tem, poucos usam !
Às vezes, basta você parar e raciocinar.
Logo perceberá que a resposta está com você o tempo todo.
um pouco de filosofia
3
Lógica de programação
Conceitos e Técnicas de Programação
4
Álgebra das proposiçõesA lógica está relacionada com o pensamento e é de grandeinteresse saber-se como é possível automatizar algumasmaneiras de pensar.
No século XIX, George Boole desenvolveu um sistema deálgebra (a álgebra das proposições), onde se poderiadeterminar se uma sentença é falsa ou verdadeira.
Em 1930, Alan Turing mostrou que com a álgebra de Booleapenas três funções lógicas são necessárias para o processode determinação do FALSO ou VERDADEIRO.
Estas funções são: E, OU, NÃO.
5
Álgebra das proposições
Chama-se proposição qualquer afirmação verbal da qual sepossa dizer que é falsa ou verdadeira.
Assim, “choveu ontem à tarde” é uma proposição, pois podeser falsa ou verdadeira, mas, “onde é que você esteve?” nãoé uma proposição, pois não se pode dizer que é falsa ouverdadeira.
6
Álgebra das proposiçõesDuas proposições podem ser combinadas pelo conectivo E para formar umaproposição chamada conjunção das proposições originais. A conjunção dasproposições p e q representa-se por:
A conjunção de duas proposições é verdadeira se e somente se ambas asproposições são verdadeiras.Sejam as seguintes proposições:
⋀ lê-se p e q
p: Paris está na França;q: Paris está na Inglaterra;r: 2 + 2 = 5;s: 2 + 2 = 4.
Qual será o valor lógico (falso, verdadeiro) das conjunções:a ⋀b ⋀c ⋀d ⋀
7
Álgebra das proposiçõesonde:
Paris está na França (p) e 2 + 2 = 4 (s)
p: Paris está na França;q: Paris está na Inglaterra;r: 2 + 2 = 5;s: 2 + 2 = 4.
respondendo:a ⋀
b ⋀
c ⋀
d ⋀
[ verdade ]
Paris está na França (p) e 2 + 2 = 5 (r) [ falso ]
Paris está na Inglaterra (q) e 2 + 2 = 4 (s) [ falso ]
Paris está na Inglaterra (q) e 2 + 2 = 5 (r) [ falso ]
p q p Λ qV V VV F FF V FF F F
portanto:
8
Álgebra das proposiçõesDuas proposições quaisquer podem ser combinadas pelo conectivo OU para formaruma nova proposição chamada disjunção das proposições originais. A disjunção deduas proposições p e q é designada por:
A disjunção de duas proposições é verdadeira se e somente se, pelo menos, umadelas for verdadeira.Usando as proposições do exemplo anterior:
lê-se p ou q
p: Paris está na França;q: Paris está na Inglaterra;r: 2 + 2 = 5;s: 2 + 2 = 4.
Qual será o valor lógico (falso, verdadeiro) das disjunções:a ⋁b ⋁c ⋁d ⋁
9
Álgebra das proposiçõesonde:
Paris está na França (p) ou 2 + 2 = 4 (s)
p: Paris está na França;q: Paris está na Inglaterra;r: 2 + 2 = 5;s: 2 + 2 = 4.
respondendo:a ⋁
b ⋁
c ⋁
d ⋁
[ verdade ]
Paris está na França (p) ou 2 + 2 = 5 (r) [verdade ]
Paris está na Inglaterra (q) ou 2 + 2 = 4 (s) [verdade ]
Paris está na Inglaterra (q) ou 2 + 2 = 5 (r) [ falso ]
p q p ⋁ qV V VV F VF V VF F F
portanto:
10
ExercícioUsando a convenção 1 para verdadeiro e 0 para falso, completar a tabela a seguir:
p q p ∧ ┐q p ⋁ ┐q1 11 00 10 0
Resposta:
p q p ∧ ┐q p ⋁ ┐q1 1 1 e 0 = 0 [V e F = F] 1 ou 0 = 1 [V e F = V]1 0 1 e 1 = 1 [V e V = V] 1 ou 1 = 1 [V e V = V]0 1 0 e 0 = 0 [F e F = F] 0 ou 0 = 0 [F e F = F]0 0 0 e 1 = 0 [F e V = F] 0 ou 1 = 1 [F e V = V]
11
Algoritimizando a Lógica• Construir algoritmos é o objetivo fundamental de toda a
programação, mas afinal o que é algoritmo?
– Algoritmo é uma sequência de passos que visam atingirum objetivo bem definido.
– Algoritmo é a descrição de um conjunto de ações queobedecidas, resultam numa sucessão finita de passos,atingindo o objetivo.
– Descrição de um conjunto finito de instruções para asolução de um problema em um tempo finito.
12
Conceito
Algoritmo é a descrição de um conjunto decomandos que, obedecidos, resultam numa sucessãofinita de ações (FARRE et al., 1999).
Uma simples ação como escovar os dentes pode serdescrita, de modo a formar o que chamamos deAlgoritmo.
13
Conceito
Veja o exemplo de um algoritmo composto pelos passos necessários para escovaros dentes.
Escovar os Dentes:
INÍCIO ou INÍCIO DO ALGORITMO 1.Pegue a escova de dentes; 2.Pegue o creme dental com a outra mão; 3.Coloque creme dental na escova; 4.Coloque a escova na boca e escove os dentes e a língua; 5.Tire a escova da boca; 6.Lave a boca e a escova com água. FIM ou FIM DO ALGORITMO
14
Algoritimizando a Lógica• Podemos pensar em algoritmo como uma receita, uma
sequência de instruções que dão cabo de uma metaespecífica.
• Estas tarefas não podem ser redundantes nemsubjetivas na sua definição, devem ser claras e precisas.
• Por quê isso?
15
Algoritimizando a Lógica
• Pessoas tem inteligência e habilidade racional– fazem perguntas para se esclarecer.
• Computador não tem senso próprio– deve receber instruções explícitas (algoritmos)
16
Algoritmo
Um algoritmo poderia ser grosseiramente comparado auma receita culinária:
– Uma receita é um programa de atividades que deve serrespeitada e cumprida passo-a-passo.
– Caso um dos passos seja desconsiderado, a receita nãodará certo.
Como preparar um bolo?Em um livro de receitas,encontramos processosemelhante à descrição seguintepara fazer um bolo.
17
Algoritmo
Passos necessários para fazer um bolo de cenouras:
Ingredientes: - Massa:1/2 xícara (chá) de óleo; 3 cenouras médias raladas; 4 ovos; 2 xícaras (chá) de açúcar; 2 1/2 xícaras (chá) de farinha de trigo; 1 colher (sopa) de fermento em pó.
- Cobertura:1 colher (sopa) de manteiga; 3 colheres (sopa) de chocolate em pó; 1 xícara (chá) de açúcar.
Modo de preparo:1. Bata as cenouras no liquidificador, com os ovos
e o óleo. Então, acrescente o açúcar e bata pormais 5 minutos;
2. Em uma tigela ou batedeira, misture o restantedos ingredientes, exceto o fermento;
3. Misture o fermento lentamente, com umacolher;
4. Asse em forno pré-aquecido (180ºC) por 40minutos;
5. Para a cobertura, misture todos osingredientes, leve ao fogo e faça uma calda,que será adicionada à massa já assada.
Note que o modo de preparo é um conjunto de passos definidos que devem serseguidos rigorosamente em ordem e que se utilizam dos itens listados no conjunto deingredientes.É puramente um algoritmo! Em um programa de computador, o modo de preparocorresponde às instruções usadas para manipular os ingredientes, isto é, são osdados.
18
Algoritmo
Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos
necessários para realizar uma tarefa.
• Algoritmo não é a solução doproblema, pois, se assim fosse,cada problema teria um únicoalgoritmo.
• Algoritmo é um caminho para asolução de um problema.– Em geral, os caminhos que levam
a uma solução são muitos.
19
Algoritmo Não Computacional
• Podemos criar algoritmos para tarefas do cotidiano.
Ex: Algoritmo não computacional cujo objetivo é usar umtelefone público.
20
Algoritmo Não Computacional
21
Algoritmo
• Outro exemplo: algoritmo para “somar 2 númerosquaisquer” usando a notação abaixo.– Escreva o primeiro número no retângulo A– Escreva o primeiro número no retângulo B– Some o número do retângulo A com número do
retângulo B e coloque o resultado no retângulo C
22
Faça um algoritmo para somar dois números e multiplicaro resultado pelo primeiro número:Resolução:
• Receba o valor do numero 1
• Receba o valor do numero 2
• Some todos os itens
• Multiplique o resultado pelo valor do número 1
•Escreva o resultado
Exercício
23
Por que usar algoritmos?
• Abstração - todo o esforço é concentrado na resoluçãodo problema e não em detalhes computacionais quepodem ser acrescentados posteriormente.
• Portabilidade - uma solução algorítmica pode sertraduzida para qualquer linguagem de programação.
24
Programas
• Os programas de computadores nada mais sãodo que algoritmos escritos numa linguagem decomputador (Pascal, C, Cobol, Fortran, VisualBasic, Java, dentre outras) e que sãointerpretados e executados por um computador.
25
Programas
• Aprender uma linguagem de programação semdominar a criação de algoritmos não faz sentido,seria o mesmo que ter um vocabulário vasto, masnão saber usar as palavras certas na hora certa.
• Sabendo algoritmo é relativamente fácil criar umprograma em qualquer linguagem, basta pesquisarqual comando realiza a ação desejada.
26
Linguagem Estruturada
• É uma forma de programação de computadoresque preconiza que todos os programas possíveispodem ser reduzidos a apenas três estruturas:– Sequência– Decisão– Iteração
Iteração: diz-se do processo que se repete diversas vezes para sechegar a um resultado e a cada vez gera um resultado parcial que seráusado na vez seguinte.
27
Linguagem Estruturada
• Características:– Sua principal característica é a utilização de blocos
para solução de um problema.– Permite a utilização combinada de sub-rotinas
compiladas separadamente, sem que pertençam aomesmo programa propriamente dito.
28
Passos para elaboração de um programa
1. Compreender o problema;2. Esboçar um procedimento para resolver o problema;3. Formular o algoritmo;4. Traduzir o algoritmo para uma linguagem de
programação (codificação).
29
só para descontrair
Recommended