algoritmos e programação - tarciocarvalho.com e... · conceito de lógica • lógica pode ser...
TRANSCRIPT
Algoritmos e Programação
Noções de Lógica e Algoritmos
Tarcio Carvalho
EMENTA
• Desenvolvimento de algoritmos;
• Tipos de dados básicos e estruturados;
• Comandos de uma linguagem de Programação;
• Metodologia de desenvolvimento de programas;
• Abstração de processos;
• Depuração de programas.
História da Computação
História da Computação
História da Computação
História da Computação
História da Computação
História da Computação
Conceito de Lógica
• Lógica pode ser definida como sendo o estudo das leis do raciocínio e do modo de aplicá-las corretamente na demonstração da verdade
(VENANCIO, 1997).
• A utilização da lógica na vida do indivíduo é constante, visto que é ela quem possibilita a ordenação do pensamento humano.
(FORBELLONE, 1993)
Conceito de Lógica
Exemplo:
• A gaveta está fechada;
• A caneta está dentro da gaveta;
• Precisamos primeiro abrir a gaveta depois pegar a caneta.
Algoritmo
• Passos para a solução de um problema.
• Algoritmo e uma seqüência de passos que visam atingir um objetivo bem definido.
FORBELLONE, 2005
• Um algoritmo e uma seqüência de passos que transformam uma entrada em uma saída.
CORMEN, 2001
Algoritmo
• Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica de Programação.
Algoritmizando a LógicaProblema: Trocar lâmpada queimada.
• Pegue uma escada;
• Posicione-a embaixo da lâmpada;
• Busque uma lâmpada nova;
• Suba na escada;
• Retire a lâmpada velha;
• Coloque a lâmpada nova.
Algoritmo
• Coerência.
• Racionalidade.
• Por que fazer de uma forma e não de outra?
• Arte do bem pensar.
• Ordem no pensamento.
Fases de um Algoritmo
• Entradas: dados que alimentam o sistema, inseridos pelo usuário.
• Processamento: Cálculos e manipulação dos dados de entrada .
• Saída: resultado obtido do processamento dos dados.
Algoritmizando a LógicaRECEITA DE BOLO COMUM
INÍCIOPasso 1: Receber os ingredientesIngredientes:
• 2 xícaras de açúcar;
• 3 ovos;
• 250g de margarina;
• 3 xícaras de farinha de trigo;
• 1 e ½ colher de fermento;
• 1 xícara de leite.
Algoritmizando a Lógica• Modo de preparo:
Passo 2: Aqueça o forno a 180 graus;Passo 3: Bata as claras em neve e reserve;Passo 4: Em uma travessa, bata o açúcar, a manteiga e as gemas;Passo 5: Misture a farinha e o leite;Passo 6: Bata bem, até ficar bem homogêneo;Passo 7: Com a ajuda de uma colher, acrescente o fermento;Passo 8: Por último, adicione as claras em neve e mexa cuidadosamente;Passo 9: Coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco;Passo 10: Após assado, desligue o forno e deixe o bolo esfriar;Passo 11: Desenforme e saboreie.FIM
AlgoritmoFormas de representação:
• Descritiva;
• Fluxograma;
• Pseudocódigo.
Algoritmizando a LógicaProblema: Transferir os três discos para outra
haste.
Regras: Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor.
AlgoritmoFormas de representação
• Descritiva:
Nessa forma de representação, analisamos o enunciado do problema e, simplesmente, descrevemos a sequência de passos em nossa língua nativa (em nosso caso, o português).
AlgoritmoFormas de representação
• Descritiva:
1. ler primeira nota
2. ler segunda nota
3. soma primeira nota com a segunda
4. divide a soma das notas por 2
5. mostrar a media
Algoritmo
Formas de representação:
Fluxograma
Nessa forma de representação, escrevemos o algoritmo utilizando símbolos gráficos predefinidos, enfatizando os passos individuais e suas interconexões.
Algoritmo
Início ou fim do algoritmo
Indica o sentido do fluxo de execução do algoritmo. Conecta os objetos gráficos
Representa a entrada de dados
Indica cálculos e atribuições de valores (processamento)
Indica desvios ou tomadas de decisões (Por exemplo: SE isso, ENTÃO aquilo)
Representa a saída de dados, no Portugol IDE
Também representa a saída de dados
Algoritmo
Formas de representação:
Fluxograma;
AlgoritmoPseudocódigo.
inicioreal nota1, nota2, media
escreva ("Digite a primeira nota: ") leia (nota1)
escreva ("Digite a segunda nota: “) leia (nota2)
media = (nota1 + nota2)/2escreva ("A média é: ", media)
Fim
Algoritmo
Tipos de dados e VariáveisTipos primitivos:
• Inteiro : toda e qualquer informação numérica que pertença ao conjunto dos números inteiros relativos(negativo, nula ou positiva).
Exemplos:
a) Ele tem 15 irmãos.
b) A temperatura desta noite será de -2 graus.
Algoritmo
Tipos de dados e Variáveis
Tipos primitivos:
• Real : toda e qualquer informação numérica que pertença ao conjunto dos números reais (negativo, nula ou positiva).
Exemplos:
a) Ela tem 1,73 metro de altura.
b) Meu saldo bancário é de – R$ 121,07.
Algoritmo
Tipos de dados e VariáveisTipos primitivos:
• Caracter/cadeia : toda e qualquer composta por um conjunto de caracteres alfanuméricos (0...9), alfabéticos(A...Z, a...z) e/ou especiais (por exemplo, #$%&*?~<@)
Exemplos:
a) Constava na prova: “Use somente caneta”.
b) Meu saldo bancário é de – R$ 121,07.
Algoritmo
Operadores AritméticosO conjunto de símbolos que representa as operações
básicas da matemática.
Operador Função Exemplos+ Adição 2 + 3, X + y
- Subtração 4 - 2, N - M
* Multiplicação 3 * 4, A * B
/ Divisão 10 / 2, x1 / x2
AlgoritmoOperadores relacionais Utilizamos os operadores relacionais para realizar
comparações entre dois valores de mesmo tipo primitivo .
Operador Função Exemplos= Igual a 3 = 3, X = Y> Maior que 5 > 4, X > Y< Menor que 3 < 6, X < Y
>= Maior ou igual a 5 >= 3, X >= Y
<= Menor ou igual a 3 <= 5, X <= Y
!= Diferente de 8 != 9, X != Y
AlgoritmoTipos de dados e VariáveisVariável:
• Uma informação é classificada como variável quando tem a possibilidade de ser alterada em algum instante no decorrer do tempo.
• Expressões que podem conter ou armazenas valores.
Exemplo: A cotação do dólar, o peso de uma pessoa, o índice da inflação.
Algoritmo
Fases para criar um algoritmo:1. Definir um problema;2. Verificar possibilidades;3. Definir a melhor forma;4. Criar o algoritmo;5. Transformar o algoritmo em um programa
através de uma linguagem; 6. Analisar se o problema foi resolvido;