aula 1 – lógica de programação e algoritmos algoritmos e estruturas de dados (aeds) professor:...
TRANSCRIPT
![Page 1: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/12.jpg)
Diagrama de Blocos
![Page 13: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/13.jpg)
Programação estruturada
![Page 14: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/14.jpg)
DecisãoSimples Composta
![Page 15: Aula 1 – Lógica de Programação e Algoritmos Algoritmos e Estruturas de Dados (AEDS) Professor: Jonas Potros](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062303/552fc14a497959413d8e1fd1/html5/thumbnails/18.jpg)