• Nenhum resultado encontrado

CURSO BÁSICO DE PROGRAMAÇÃO AULA 1. Introdução a Sistemas de Computação Noções de Lógica Introdução à Lógica de Programação

N/A
N/A
Protected

Academic year: 2021

Share "CURSO BÁSICO DE PROGRAMAÇÃO AULA 1. Introdução a Sistemas de Computação Noções de Lógica Introdução à Lógica de Programação"

Copied!
75
0
0

Texto

(1)

CURSO BÁSICO DE PROGRAMAÇÃO – AULA 1

Introdução a Sistemas de Computação Noções de Lógica

Introdução à Lógica de Programação

(2)

Componentes de um Sistema de Computação - Hardware

Parte física de um sistema de Computação

•Corresponde a todos os elementos materiais que constituem o computador e seus periféricos

Seus componentes básicos são:

Dispositivos de entrada e saída

Memórias

Unidade Central de Processamento (UCP)

(3)

Componentes de um Sistema de Computação - Software

Conjunto de instruções escrito em linguagem de máquina que instrui o computador como realizar suas tarefas.

•Pode ser dividido em dois grandes grupos:

Software Básico: programas que tem a função de operar e manter um sistema de computação (Ex: Sistemas operacionais, compiladores, interpretadores, utilitários, etc.).

Software Aplicativo: Programas especializados que realizam tarefas específicas (Ex. processadores de texto, planilhas eletrônicas, programas de controle de estoque, etc.).

(4)

Sistema Operacional

Exemplos

Windows

Macintosh OSX

Linux

Android

(5)

Programação

O que é?

É o processo de escrita, teste e manutenção de um programa de computador. Linguagens de programação são usadas para a escrita de programas.

O que é um programa?

Um programa é, um conjunto de instruções que descreve uma tarefa no qual o computador a executa.

Como funciona?

A programação é feita através de linguagens de programação, que seguem alguns paradigmas na criação de um algoritmo. Este algoritmo é traduzido para uma linguagem que o computador pode entender para então ser executado.

(6)

Linguagens de Programação

Linguagem de programação de alto nível: Conjunto de instruções em linguagem semelhante à humana, na qual

podemos descrever procedimentos de forma mais amigável. A tradução é feita por compiladores e interpretadores

•Linguagem de Montagem: Conjunto de instruções simples, equivalentes aos das linguagens de máquina, porém são expressas na forma de termos mnemônicos para facilitar a programação. A tradução é feita por montadores.

•Linguagem de máquina: Conjunto de instruções simples em formato binário que podem ser executadas diretamente pelo hardware a partir do Sistema Operacional.

(7)

Paradigmas de Programação

Regras que um programador precisa basear-se no momento da montagem de uma estrutura de um programa;

Declarativa - TSQL;

Procedural - C;

Orientada a Objetos - Java;

Linguagens de Programação Funcional - LISP;

Linguagens de Programação Lógica - PROLOG;

(8)

Exemplo – C

int main (int argc, char** argv) {

printf(“Hello World!\n”);

return (0);

}

(9)

Compiladores e Interpretadores

O que são?

Compiladores e Interpretadores são programas de computador que traduzem um código de uma linguagem de programação a outra, normalmente para linguagem de montagem ou de máquina.

Quais são as diferenças?

Um compilador traduz e cria outro código, que pode ser executado posteriormente sem a necessidade do código fonte do software.

Um interpretador faz a tradução do código em tempo real, onde para a execução do programa, é necessário o código fonte original.

Quando usar.

O uso de um interpretador ou compilador depende da linguagem de

programação escolhida. Algumas são compiladas, e outras interpretadas, ou ainda são compiladas para um código intermediário para então serem interpretadas.

(10)

Noções de Lógica

Lógica pode ser considerada “o estudo dos processos válidos que atingem a verdade”.

O aprendizado da Lógica auxilia os estudantes no raciocínio, na compreensão de conceitos básicos, na verificação formal de programas e melhor os prepara para o entendimento do conteúdo de tópicos mais avançados.

A Lógica matemática basicamente visa verificar a validade de argumentos a partir de determinadas premissas.

(11)

Noções de Lógica

Premissa: “Todo homem é mortal.”

Premissa: “Maxwell é homem.”

Conclusão: “Logo, Maxwell é mortal.”

Uma premissa é uma fórmula considerada

verdadeira. A partir dela, se chega a conclusões.

(12)

Noções de Lógica

Proposição: sentenças declarativas afirmativas nas quais se pode afirmar se são verdadeiras ou falsas.

“Hoje é sábado.”

“A neve é vermelha.”

A partir de um conjunto de proposições, é possível estabelecer uma sentença lógica.

(13)

Noções de Lógica

Para representar uma proposição, usam-se variáveis proposicionais.

“Hoje é sábado”: p.

“A neve é vermelha”: q.

Para conectar as variáveis proposicionais, utilizam-se conectores lógicos.

(14)

Noções de Lógica

Hoje é sábado

E

amanhã é domingo.

(15)

Noções de Lógica

Hoje é sábado

E

amanhã é domingo.

CONECTOR LÓGICO!

(16)

Noções de Lógica

Vou comer pão

OU

vou comer pizza.

(17)

Noções de Lógica

Vou comer pão

OU

vou comer pizza.

CONECTOR LÓGICO!

(18)

Noções de Lógica

Conectores lógicos estabelecem relação

entre proposições. Assim, possibilitam criar novas sentenças.

Vou pra aula OU vou ficar dormindo

(19)

Noções de Lógica

Conectores lógicos estabelecem relação

entre proposições. Assim, possibilitam criar novas sentenças.

Vou pra aula OU vou ficar dormindo

proposição1 proposição 2

(20)

Noções de Lógica

Conectores lógicos estabelecem relação

entre proposições. Assim, possibilitam criar novas sentenças.

Vou pra aula OU vou ficar dormindo proposição1 proposição 2

proposição3

(21)

Noções de Lógica

Simbolicamente, os conectores lógicos são representados da seguinte forma:

^ (E) v (OU)

¬ (NÃO)

(CONDICIONAL SE...ENTÃO)

(22)

Noções de Lógica

As sentenças lógicas podem ser representadas em tabelas, chamadas de tabelas-verdade.

Proposição1 Proposição2 Sentença

V V V

V F V

F V V

F F F

(23)

Noções de Lógica

Cada conector tem uma tabela-verdade correspondente.

Conector E Conector OU

P Q P ^ Q

V V V

V F F

F V F

F F F

P Q P v Q

V V V

V F V

F V V

F F F

(24)

Noções de Lógica

Cada conector tem uma tabela-verdade correspondente.

Conector SE Conector NÃO

P Q P → Q

V V V

V F F

F V V

F F V

P ¬P

V F

F V

(25)

Noções de Lógica

“Pelé é brasileiro” : p

“Buenos Aires é a capital da Argentina” : q

“Se Pelé é brasileiro, então Buenos Aires é a capital da Argentina.”

(26)

Noções de Lógica

“Pelé é brasileiro” : p

“Buenos Aires é a capital da Argentina” : q

“Se Pelé é brasileiro, então Buenos Aires é a capital da França.”

(27)

Noções de Lógica

“Pelé é brasileiro” : p

“Buenos Aires é a capital da Argentina” : q

“Se Pelé é russo, então Buenos Aires é a capital da Argentina.”

(28)

Noções de Lógica

“Pelé é brasileiro” : p

“Buenos Aires é a capital da Argentina” : q

“Se Pelé é alemão, então Brasília é a capital da Argentina.”

(29)

Noções de Lógica

“Windows é um sistema operacional” : p

“Linux é um editor de textos” : q

“O teclado é um componente de hardware” : r

“Se Linux é um sistema operacional e Windows é um componente de hardware, então o teclado é

um editor de textos.”

(30)

Noções de Lógica

“Windows é um sistema operacional” : p

“Linux é um editor de textos” : q

“O teclado é um componente de hardware” : r

“Se o teclado é um componente de hardware, então Linux é um sistema operacional ou Windows

é uma marca de computador.”

(31)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q ((P^Q) v ¬P) → Q

V V

V F

F V

F F

(32)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q ((P^Q) v ¬P) → Q

V V V

V F

F V

F F

(33)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q ((P^Q) v ¬P) → Q

V V V

V F V

F V

F F

(34)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q ((P^Q) v ¬P) → Q

V V V

V F V

F V V

F F

(35)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q ((P^Q) v ¬P) → Q

V V V

V F V

F V V

F F F

(36)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q ¬(((P v Q) ^ ¬P)

→ Q)

V V

V F

F V

F F

(37)

Noções de Lógica - Exercícios

Resolva as seguintes tabelas-verdade:

P Q (¬P ^ Q) → (P v

¬Q)

V V

V F

F V

F F

(38)

Noções de Lógica - Exercícios

Baseado nas premissas abaixo, determine o valor lógico das sentenças:

“Hoje é sábado.” : p

“O céu é branco.” : q

“O mar é verde.” : r

(39)

Noções de Lógica - Exercícios

1) Se hoje é domingo e o céu é azul, então o mar é verde.

2) Hoje é sábado ou o mar é azul.

3) Se o mar é verde e o céu é branco, então hoje é sábado e o céu é azul.

(40)

Introdução à Lógica de Programação

(41)

Algoritmos

“Um algoritmo é uma sequência finita de

instruções bem definidas e não ambíguas, cada uma das quais pode ser executada

mecanicamente num período de tempo finito e com uma quantidade de esforço finita.”

(42)

Algoritmos

Um algoritmo é uma sequência de passos

lógicos que devem ser seguidos para chegar a determinado resultado.

Um algoritmo deve ter condições de início e de fim bem definidas.

Os passos a serem seguidos devem ser claros e específicos.

(43)

Algoritmos

Quais os passos para trocar uma lâmpada?

(44)

Algoritmos

1. Pegar uma lâmpada nova

2. Desligar a chave geral

3. Pegar uma escada

4. Subir na escada

5. Retirar a lâmpada queimada

6. Colocar a lâmpada nova

7. Descer da escada

8. Guardar a escada

9. Ligar a chave geral

10.Ligar a nova lâmpada

(45)

Algoritmos

E quais os passos para cozinhar arroz?

(46)

Algoritmos

1. Pegar uma panela

2. Colocar a panela no fogão

3. Ligar o fogão

4. Colocar óleo na panela

5. Dourar o alho e a cebola

6. Refogar o arroz

7. Adicionar água à panela

8. Adicionar sal

9. Esperar a água evaporar totalmente

10. Desligar o fogão

11. Retirar a panela do fogão

(47)

Algoritmos

E se o óleo tivesse acabado, o que fazer?

Essa sequência de passos não prevê desvios!

Opções:

Ir ao mercado comprar?

Pedir ao vizinho emprestado?

Fazer sem óleo?

(48)

Algoritmos

1. Pegar uma panela

2. Colocar a panela no fogão

3. Ligar o fogão

4. Se tiver óleo, colocar na panela e continuar no passo 6.

5. Se não tiver, cancelar o arroz e fazer um miojo. FIM

6. Dourar o alho e a cebola

7. Refogar o arroz

8. Adicionar água à panela

9. Adicionar sal

10. Esperar a água evaporar totalmente

11. Desligar o fogão

12. Retirar a panela do fogão

(49)

Algoritmos

Os desvios escolhidos podem ser diferentes, mas o final atingindo deve significar a mesma coisa

para todos os casos.

É possível que desvios diferentes (ou seja,

caminhos diferentes) levem ao mesmo resultado.

Para indicar um desvio durante a sequência de passos, pode-se escreve “Vá para x”, sendo x o próximo passo a ser seguido.

(50)

Algoritmos

Exemplo: algoritmo para ligar o computador.

1. Se o computador estiver ligado, FIM

2. Se o computador estiver ligado na tomada, vá para 4

3. Senão, ligar o computador na tomada

4. Aperar o botão de ligar

5. FIM

(51)

Algoritmos

Os passos devem ser da forma mais direta e simples possível.

Para tanto, devem conter instruções imperativas, ou seja, que expressem uma ação.

Ligar o computador Pegar a panela

Fechar a porta

(52)

Algoritmos

Deve-se tentar deixar as instruções irredutíveis – de um modo que não possam ser decompostas em mais instruções.

Se um passo engloba outros, é melhor dividi-lo.

Digitar usuário Fazer login sistema Digitar senha

Confirmar login

(53)

Algoritmos

Os passos devem ser específicos, para evitar ambiguidades e confusões.

Devem ser escritos de modo a fornecer informações ricas e completas.

Qual o melhor:

Vá à padaria e compre um bolo.

OU

Vá à padaria e compre um bolo de

chocolate com cobertura de brigadeiro

(54)

Algoritmos - Exemplos

Faça um algoritmo para dividir dois números:

(55)

Algoritmos - Exemplos

Faça um algoritmo para dividir dois números:

1. Pegar o valor do dividendo

2. Pegar o valor do divisor

3. Se o divisor for 0, vá para 6

4. Senão, calcular a divisão

5. Mostrar o resultado, FIM

6. Mostrar erro, FIM

(56)

Algoritmos - Exemplos

Faça um algoritmo para calcular a média de um aluno

(57)

Algoritmos - Exemplos

Faça um algoritmo para calcular a média de um aluno

1. Pegar cada nota do alunos

2. Somar cada nota

3. Dividir a soma pelo total de notas

4. Mostrar o resultado

(58)

Algoritmos - Exercícios

1. Faça um algoritmo para cozinhar um miojo.

2. Faça um algoritmo para ajudar uma pessoa a escolher entre um desktop, um notebook e um tablet.

3. Timóteo nunca usou a internet. Faça um algoritmo para ele acessar o Facebook.

4. Faça um algoritmo para um professor corrigir provas.

5. Faça um algoritmo para jogar o jogo-da-velha.

(59)

Algoritmos

Mas o computador entende essas sequências de passos?

Para o computador, o que significa “digitar sua senha” ou “ligar o fogão”?

Computacionalmente, os algoritmos devem seguir um conjunto de instruções pré-determinadas.

Essas instruções são a “língua” que o computador fala. Ou seja – são uma linguagem de

programação.

(60)

Algoritmos

“A Máquina Analítica não tem nenhuma pretensão de criar o que quer que seja. Pode fazer tudo o

que saibamos ordenar-lhe que faça.”

Ada Byron, considerada a primeira programadora.

(61)

Algoritmos

Desse modo, para fazer um algoritmo

computacional, é preciso seguir as regras e instruções do computador.

No entanto, existem outras formas de representação da lógica de algoritmos.

Exemplo: fluxogramas.

(62)

Algoritmos

Vamos agora considerar algoritmos com instruções pré-definidas.

Para montar a sequência de passos, só é permitido usar as instruções dadas.

É permitido criar desvios e diferentes caminhos.

Para indicar o fim do algoritmo, basta escrever FIM.

(63)

Algoritmos

Bob é um robô construído para auxiliar nas tarefas domésticas. Ele possui um braço mecânico e um sensor.

O braço consegue realizar cinco movimentos: erguer, abaixar, esticar, recolher e apertar.

O sensor consegue identificar qualquer objeto.

Bob também consegue andar. No entanto, ele não é muito esperto e anda sem uma direção definida.

(64)

Algoritmos

No entanto, Bob não sabe fazer nada. Por esse motivo, alguém precisa escrever os algoritmos para que ele funcione.

Dona Maria contratou você para criar os algoritmos para que Bob faça as tarefas determinadas.

Lembre-se que Bob só tem sete instruções:

erguer, abaixar, esticar, recolher, apertar, identificar e andar.

(65)

Algoritmos

Faça um algoritmo para Bob lavar o cabelo de Dona Maria. Ele deve chegar ao banheiro

sozinho.

(66)

Algoritmos

Faça um algoritmo para Bob lavar o cabelo de Dona Maria. Ele deve chegar ao banheiro sozinho.

1. Andar.

2. Identificar cômodo.

3. Se cômodo for banheiro, vá para 5.

4. Senão, vá para 1.

5. Erguer até prateleira.

6. Esticar até alcançar objeto.

7. Identificar objeto.

8. Se objeto for shampoo, ir para 11.

9. Senão, recolher

10. Vá para 6.

11. Recolher.

12. Esticar até alcançar o cabelo de Dona Maria.

13. Apertar.

(67)

Algoritmos - Exercícios

Faça com que Bob realize as seguintes tarefas:

1. Encontrar o controle-remoto da TV.

2. Fazer pipoca.

3. Varrer o tapete vermelho da sala.

(68)

Fluxogramas

Um fluxograma é um gráfico que demonstra a seqüência operacional do desenvolvimento de um processo.

Um fluxograma procura dar uma idéia geral do processamento, mostrando quais os dados

iniciais disponíveis, quais os resultados que se pretende obter com o processamento e qual o caminho a ser seguido.

(69)

Fluxogramas

Processo Início

Fim Decisão

Representa o inicio do fluxograma

Representa o processo executando

Representa uma condição

Representa o fim do fluxograma

(70)

Início

Pegar uma lâmpada

A chave geral está desligada?

Desligar a chave geral

Trocar a lâmpada

Ligar a chave

geral

Sim

Não

Fim

Fluxograma para Trocar uma Lâmpada

(71)

Início

Abrir Forno

O forno está acesso?

Acender o fogo

Assar pão Colocar

lenha

Sim Não

Precisa de lenha?

Sim

Não

Fim

Fluxograma para assar um pão

(72)

Início

Pegar uma batata

As batatas estão descascad

as?

Cozinhar as batatas

Descascar a batata

Sim

Não

Fim

Fluxograma para descascar batatas

(73)

Exercícios

Faça um fluxograma mostrando como fazer um bolo.

Faça um fluxograma de uma pessoa que está no hotel e precisa pegar um vôo.

Faça um fluxograma mostrando como alugar um filme.

(74)

Estruturação de Algoritmos

(75)

FIM

Dúvidas?

Deivide, Marcelo, Mateus e Thales

deividepossamai@gmail.com, marcelofudo@outlook.com, mateusteixeira_@hotmail.com, thalesbertaglia@gmail.com

Referências

Documentos relacionados

– Usada pelo processador para armazenar instruções e informações enquanto o sistema está ligado... COMO OS SISTEMAS COMPUTACIONAIS DIVIDEM E OGRANIZAM A

Isto acontece porque programas escritos em linguagens de programação são traduzidos para o código de máquina do computador em vez de ser diretamente executado.. Uma meta ambiciosa

p: Antonio é casado. As proposições simples são geralmente designadas pelas letras minúsculas p,q,r,s,... Proposições compostas: São aquelas formadas pela combinação de duas ou

Na informática, o algoritmo é o "projeto do programa“, ou seja, antes de se fazer um programa (software) na Linguagem de Programação desejada (Pascal, Java, C, Delphi,

a) A execução de um código compilado é mais lenta do que se o mesmo código fosse interpretado. c) Na interpretação temos como resultado a geração de um outro arquivo escrito

Lógica de programação é a forma como você organiza qual passo você deve dar em cada momento para realizar a ação que você deseja.. Em outras palavras, você vai aprender

• Para desenvolver o raciocínio lógico e conceber uma solução a um dado problema, independente de uma linguagem de programação.. Lógica de

O seguinte exemplo, composto por 5 comandos em alto nível, representa um algoritmo de extrema complexidade de ser implementado, pois os comandos são muito