Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves...

25
Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves [email protected]

Transcript of Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves...

Page 1: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Conceitos BásicosLógica de Programação

Professor:Juliano Lucas Gonç[email protected]

Page 2: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Agenda

• Funções básicas do software• Relações entre as áreas• Algoritmo• Lógica• Lógica de Programação• Exercícios

Page 3: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

FUNÇÕES BÁSICAS DO SOFTWAREEntrada, Saída e Processamento

Page 4: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Função do Software

1. O que faz um software?– Processamento!

2. O que um software precisa para processar?– Informações ou Dados!

3. Qual é o resultado de um processamento?– Informações, Dados ou Conhecimento!

Page 5: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Função do Software

4. Como definir o processamento?– Através do Algoritmo!

5. De onde obter as informações à serem processadas?– Entrada! Teclado, Arquivos, Bancos de Dados, ...

6. Como utilizar o resultado do processamento?– Saída! Tela, Arquivos, Comandos elétricos, ...

Page 6: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Função do Software

Software: Algoritmo

Computador: Processamento

Entrada

Saída

Page 7: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

RELAÇÕES ENTRE AS ÁREASAlgoritmos, Lógica e Estruturas de Dados

Page 8: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Composição do Software

30%

30%

30%

10%

AlgoritmosLógica de ProgramaçãoEstruturas de DadosLinguagem de Pro-gramação

Page 9: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Relações entre as Partes

Algoritmos

Estruturas de DadosLógica

Linguagem

Page 10: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

INTRODUÇÃO À ALGORITMOSLógica de Programação, Estruturas de Dados e

Page 11: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Algoritmos

• Forma de descrever uma tarefa, função ou programa de computador;

• Pode ser representado por pseudocódigo ou fluxograma;

• Representa uma sequência de passos que o computador deve executar a fim de atingir ou obter um resultado.

Page 12: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Algoritmos

• Informal: “Procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída”.– Cormen, T. H. Algoritmos – Teoria e Prática, 2001.

Page 13: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

• Instruções Simples para “Passar Café”: Quais?

Algoritmo – Passar Café

Esquentar Água

Pó de Café no Filtro

Filtro na Jarra

Água no Filtro

Água na Chaleira

Café

Page 14: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

• Algoritmo: “Passar Café”:

Algoritmo – Passar Café

2 - Esquentar Água

4 - Pó de Café no Filtro

3 - Filtro na Jarra

5 - Água no Filtro

1 - Água na Chaleira

Café

Esquentar Água

Pó de Café no Filtro

Filtro na Jarra

Água no Filtro

Água na Chaleira

Page 15: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Agenda

Lógica

Page 16: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

O que é Lógica?

• Trata da Correção do Pensamento;• Porque pensamos assim e não de outro

jeito?• A Lógica estuda ou tem em vista a

“correção do raciocínio”

Por isso a Lógica Ensina a “ COLOCAR ORDEM NO PENSAMENTO”

Page 17: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Testando sua Lógica (exercícios)

1. Qual das cinco alternativas representa a melhor comparação? AMOR está para ROMA assim como 5232 está

para:

A) 2523

B) 3252

C) 2325

D) 3225

E) 5223

2. Qual é o próximo número da série? 1 – 5 – 8 – 15 – 25 – 42 – ?

A) 45

B) 77

C) 66

D) 33

E) 46

Page 18: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Testando sua Lógica (exercícios)

3. Um agente de viagens atende três amigas. Uma delas é loira, a outra é morena e a outra é Ruiva. O agente sabe que uma delas se chama Bete, a outra se chama Elza e a outra se chama Sara. Sabe, ainda, que cada uma delas fará uma viagem a um país diferente da Europa: uma delas irá à Alemanha, a outra irá à França e a outra irá à Espanha. Ao agente de viagens, que queria identificar o nome e o destino de cada uma, eles deram as seguintes dicas:

A loira: “não vou à França nem à Espanha”.A morena: “Meu nome não é Elza nem Sara”.“A ruiva: “Nem eu nem Elza Vamos à França”.O agente de viagens concluiu, então, acertadamente que:

a) A loira é Sara e vai á Espanha.b) A ruiva é Sara e vai á Françac) A ruiva é Bete e vai à Espanhad) A morena é Bete e vai à Espanhae) A loira é Elza e vai à Alemanha

Page 19: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Lógica de Programação

“Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo”

Paulo Sérgio de Moraes – Unicamp

• Importância?– Requisito para programar;– Grande diferencial entre os programadores;– Reconhecer, interpretar e estruturar o problema:• Solucionar o problema;

Page 20: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Lógica de Programação

• Definições:– Instruções: (algoritmo)• Comandos ou ações;• Atividade parcial;

– Sequência Lógica: (lógica)• Ordem das instruções;• Completar a atividade.

Page 21: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Lógica de Programação

• Sequência Lógica Simples para “Passar Café”:

Esquentar Água

Pó de Café no Filtro

Filtro na Jarra

Água no Filtro

Água na Chaleira

Café

1

2

2 - Esquentar Água

4 - Pó de Café no Filtro

3 - Filtro na Jarra

5 - Água no Filtro

1 - Água na Chaleira

Page 22: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

?

Lógica de Programação

• Sequência Lógica Simples para “Passar Café”:

Esquentar Água

Pó de Café no Filtro

Filtro na Jarra

Água no Filtro

Água na Chaleira

Café

2

1

Page 23: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

• Sequência Lógica Simples para “Passar Café”:

?

Lógica de Programação

Esquentar Água

Pó de Café no Filtro

Filtro na Jarra

Água no Filtro

Água na Chaleira

Café

2

1

Page 24: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

Exemplo 2

Ex: “Comer uma Bala”

1. Pegar a bala2. Retirar o papel3. Colocar a bala na boca4. Jogar o papel no lixo.

Em síntese, um ALGORITMO é uma sequência lógica de passos ou instruções finitas que resolvem um determinado problema.

Page 25: Conceitos Básicos Lógica de Programação Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br.

ExercíciosFaça um algoritmo (descreva os passos) para realizar as seguintes tarefas:

1. Sacar dinheiro em um caixa eletrônico2. Trocar o pneu furado de um carro3. Somar dois números quaisquer