Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros
Objetivo Entender os princípios de Lógica Matemática (valores lógicos, lógica proposicional e de predicados) que regem os programas de computador; Usar a lógica na programação de computadores; Representar problemas reais por meio de algoritmos, para depois programá-los.
Ambiente Bloodshed DEV C++, disponível em: www.bloodshed.net Code::Blocks, disponível em www.codeblocks.gov São todas oriundas de softwares livres ou open source, que podem ser utilizadas ou modificadas, sem a concessão prévia do autor.
Qual é o proposito da lógica? Está relacionada ao pensamento racional e ordenado. Todo homem é mortal. Sócrates é homem. Portanto, Sócrates é mortal.
Qual é o proposito da lógica? No linguajar comum, usamos afirmações e interrogações, o problema é que o uso destas pode ser imprecisas, mas o computador não pode agir com tal comportamento, dada a precisão que caracteriza a computação. Por isso precisamos de ferramentas e técnicas lógicas para programar maquinas. Isso se faz por meio de sentenças (ou proposições), que pode ser de dois tipos: verdadeiro ou falso, ou ainda do inglês true ou false.
Qual é o proposito da lógica? Associada a um valor lógico, que no caso é falso. Dez é menor do que seis. Não é uma sentença dentro do campo da lógica. Como vai? Existe vida fora da terra. É uma sentença, que será verdadeiro ou falso
Tabela-verdade Conectivos: “e”; “ou”; “não”. Em lógica, usamos símbolos para representar os conectivos lógicos, que são: “e” representado por “^”; “ou” representado por “v”; “não” representado por “~”;
Tabela-verdade Conjunção (“e”) Conjunção (“ou”) Conjunção (“não”) A B F A^B V F A B AvB V F AvB V F A ~A V F ~A F V
Lógica de programação Os conectores lógicos e, ou e não, são equivalentes em inglês AND, OR e NOT. São usados na programação de computadores; São combinados entre si; Exemplo em sala A tabela-verdade que decidem o resultado de sua combinação.
Algoritmos Algoritmo é um conjunto de passos, passível de repetição que resolve um problema.
Como construir um algoritmo? Exemplo em sala (nota do aluno); Analisar o problema; Identificar as entradas de dados; Determinar que transformações devem ser feitas pelo algoritmo (processamento); Identificar as saídas (solução); Construir o algoritmo com o diagrama de blocos;
Diagrama de Blocos
Programação estruturada
Decisão Simples Composta
Exemplo 1 . Desenhar um algoritmo que calcule o valor do comprimento da circunferência, a partir do raio. 2. Desenhe um algoritmo que receba dois números e exiba o resultado da soma. 3 . Desenhe um algoritmo que receba um número e diga se este está no intervalo 100 e 200.
Repetição Com teste no início Com teste no fim Com variável de controle
Exemplo 1. Desenhe um algoritmo que mostre a tabuada de 3. 2. Desenhe um algoritmo que imprima de 1 a 100. 3. Desenhe um algoritmo que leia N nomes de alunos e N notas e diga qual aluno tirou a maior nota;