Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor:...

18
Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros

Transcript of Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor:...

Page 1: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Aula 1 – Lógica de Programação e Algoritmos

Algoritmos e Estruturas de Dados (AEDS)Professor: Jonas Potros

Page 2: 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.

Page 3: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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.

Page 4: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Qual é o proposito da lógica?• Está relacionada ao pensamento racional e ordenado.

Todo homem é mortal.Sócrates é homem. Portanto, Sócrates é mortal.

Page 5: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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.

Page 6: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Qual é o proposito da lógica?Dez é menor do que seis. Associada a um valor lógico, que no caso é

falso.

Como vai? Não é uma sentença dentro do campo da lógica.

Existe vida fora da terra. É uma sentença, que será verdadeiro ou falso

Page 7: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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 “~”;

Page 8: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Tabela-verdade

A B A^BV V

V F

F V

F F

Conjunção (“e”)

A^B

V

F

F

F

A B AvBV V

V F

F V

F F

Conjunção (“ou”)

AvB

V

V

V

F

A ~AV

F

Conjunção (“não”)

~A

F

V

Page 9: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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.

Page 10: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Algoritmos

Algoritmo é um conjunto de passos, passível de repetição que resolve um problema.

Page 11: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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;

Page 12: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Diagrama de Blocos

Page 13: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Programação estruturada

Page 14: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

DecisãoSimples Composta

Page 15: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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.

Page 16: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

Repetição

Com teste no início Com teste no fim Com variável de controle

Page 17: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.

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;

Page 18: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros.