algoritmos e logica de programacao aula-2-

42
LÓGICA DE PROGRAMAÇÃO Aula 2

Upload: momento-da-informatica

Post on 18-Aug-2015

135 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: algoritmos e Logica de programacao   aula-2-

LÓGICA DE PROGRAMAÇÃOAula 2

Page 2: algoritmos e Logica de programacao   aula-2-

O que é Lógica?

A palavra lógica está normalmente relacionada com o modo de pensar de um indivíduo em termos de racionalidade e coerência.

Page 3: algoritmos e Logica de programacao   aula-2-

O que é Lógica?

Todo cachorro é um mamífero. Todo mamífero é um animal. Portanto, todo cachorro é um animal.

O exemplo acima representa um argumento composto por duas premissas e uma conclusão. Está sendo estabelecida uma relação que pode ser válida ou não, aliás, este é um dos objetivos da lógica - estudar técnicas de formalização, dedução e análise com o intuito de verificar a validade de argumentos.

Page 4: algoritmos e Logica de programacao   aula-2-

PRATICANDO O RACIOCÍNIO LÓGICO

Page 5: algoritmos e Logica de programacao   aula-2-

EXERCÍCIO 1

A sequência de palavras abaixo segue uma determinada regra:

Camiseta, acetona, macaco, abacaxi, mágico

Qual é a próxima palavra da sequência?a) cavalob) azeitec) maionesed) basquetee) publicação

Page 6: algoritmos e Logica de programacao   aula-2-

EXERCÍCIO 2

Descubra o nome de um rei famoso por meio desta charada:

“Com quinhentos começa.No meio está o cinco;O primeiro número, a primeira letraOcupam as demais posições.Junte tudo e o nome do grande reiNa sua frente surgirá”

Page 7: algoritmos e Logica de programacao   aula-2-

EXERCÍCIO 3

Você é o comandante de um navio. Cinco marinheiros colocam-se a sua frente para receber suas ordens. Tente nomeá-los, da esquerda para a direita, de acordo com as informações:

– Anderson está entre Jorge e Cláudio;– Humberto está à esquerda de Claúdio;– Jorge não está ao lado de Humberto;– Humberto não está ao lado de Rafael.

Page 8: algoritmos e Logica de programacao   aula-2-

EXERCÍCIO 4

Você está dirigindo um ônibus para o Rio de janeiro, 4 pessoas desceram em São Paulo, ao chegar no Rio de Janeiro desceram 22 e José ficou. Qual o nome do motorista?

Page 9: algoritmos e Logica de programacao   aula-2-

SOLUÇÕESExercício 1:

A regra que determina a seqüência é a posição da letra c. A resposta correta é a alternativa e, publicação, pois é a única palavra na qual c é a sexta letra.

 

Exercício 2:

– Em algarismos romanos 500 é D;– A primeira de todas as letras é A;– O primeiro número romano é I;– No meio está o cinco, que em algarismo romanos é V.Juntando tudo, encontramos o nome do rei DAVI.

 

Exercício 3:

A sequência correta é:

Humberto, Cláudio, Anderson, Jorge e Rafael

 

Exercício 4:

 Você (nome do aluno)

Page 10: algoritmos e Logica de programacao   aula-2-

LÓGICA DE PROGRAMAÇÃO:Técnica de encadear pensamentos para atingir

determinado objetivoNecessária para desenvolver programas e sistemas, pois

permite definir a sequência lógica para a solução de um problema

Page 11: algoritmos e Logica de programacao   aula-2-

SEQUÊNCIA LÓGICA:

Estes pensamentos podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa

Passos executados até se atingir um objetivo ou solução de um problema

Page 12: algoritmos e Logica de programacao   aula-2-

O QUE SÃO INSTRUÇÕES?Pelo dicionário Michaelis encontraremos a seguinte

definição para Instrução: “Conjunto das formalidades e informações necessárias para elucidar uma causa e pô-la em estado de ser julgada.”

No dicionário Michaelis especificamente a área de informática encontraremos que instrução é uma: “palavra ou expressão única que representa uma Operação.”

Page 13: algoritmos e Logica de programacao   aula-2-

CUIDADOS AO PASSAR INSTRUÇÕES

• Uma ordem isolada não permite realizar o processo completo, é necessário um conjunto de instruções colocadas em ordem seqüencial lógica.

• Claro que essas instruções têm que ser executadas em uma ordem coerente

• Uma instrução tomada isoladamente não faz sentido; para atingirmos o resultado desejado, é preciso colocar em prática o conjunto de todas as instruções, na ordem correta

13

Page 14: algoritmos e Logica de programacao   aula-2-

COMO FAZER UM OMELETE?

DESCREVA A SEQUÊNCIA DE PASSOS

Page 15: algoritmos e Logica de programacao   aula-2-

Instruções incompletas para fazer omelete: para “fazer omelete” Quanto às instruções isoladas: Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete”

Page 16: algoritmos e Logica de programacao   aula-2-

• Instruções para fazer omelete: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc...

Page 17: algoritmos e Logica de programacao   aula-2-

O QUE SÃO INSTRUÇÕES?

Cada um dos passos, cada uma das ações a tomar (obedecendo a sequência lógica) para ir resolvendo o problema, ou para ir executando a tarefa

Em informática, é a informação que indica a um computador uma operação elementar a executar.

Ex.: “somar”, “subtrair”, “comparar se é maior”, etc.

Uma só instrução não resolve problemasExecutar um conjunto de instruçõesExecutar em uma sequência lógica

Page 18: algoritmos e Logica de programacao   aula-2-

O QUE É O ALGORITMO?

“Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico” (KNUTH]

“Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema” (TREMBLAY)

“Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema” (AURÉLIO)

Page 19: algoritmos e Logica de programacao   aula-2-

O QUE É O ALGORITMO?Os passos devem ser especificados com

clareza e exatidão e devem ser realizados em cada uma das fases do processo a ser automatizado, bem como a seqüência em que estas fases devem ser realizadas. A especificação da seqüência ordenada de passos que deve ser seguida para a realização de uma tarefa, garantindo a sua repetibilidade, dá-se o nome de algoritmo.

Page 20: algoritmos e Logica de programacao   aula-2-

PARA QUE SERVE OS ALGORITMO?

20

Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas.

Page 21: algoritmos e Logica de programacao   aula-2-

CARACTERÍSTICAS DE UM ALGORITMO

• Todo algoritmo deve apresentar algumas características básicas: -Ter um início e fim; - Não dar margem à dupla interpretação(não ter duplo sentido); -Ter a capacidade de receber dado(s) de entrada do

mundo exterior; -Poder gerar informações de saída para o mundo

externo ao do ambiente do algoritmo; • Ser efetivo (todas as etapas especificadas no

algoritmo devem ser alcançáveis em um tempo finito).

Page 22: algoritmos e Logica de programacao   aula-2-

PRATICANDO

Desenvolva os seguintes algoritmos:

Sacar dinheiro de um banco 24 horas.

Chamada a cobrar realizada de um telefone público.

Preparar um macarrão instantâneo

Trocar uma lâmpada queimada.

Page 23: algoritmos e Logica de programacao   aula-2-

DADOS Sacar dinheiro de um banco 24 horas. Cartão da conta Senha

Chamada a cobrar realizada de um telefone público. Número do telefone

Preparar um macarrão instantâneo Macarrão Água Tempero

Trocar uma lâmpada queimada. Lâmpada Escada*

Page 24: algoritmos e Logica de programacao   aula-2-

DADOS

Cartão da conta, Senha, Número do telefone, Macarrão, Água, Tempero,

Lâmpada e Escada.

Esses dados são necessários para realizar

as instruções e concluir todo o processo.

Logo, se tornam imprescindíveis no

desenvolvimento de um algoritmo.

Page 25: algoritmos e Logica de programacao   aula-2-

ALGORITMO NÃO COMPUTACIONAL

Os algoritmos não computacionais são

formados por dados e código.

Dados são os itens necessários para

resolver o problema.

Código são os comandos ou instruções

para manipular e "processar" os dados.

Page 26: algoritmos e Logica de programacao   aula-2-

ALGORITMO COMPUTACIONAL

Page 27: algoritmos e Logica de programacao   aula-2-

ALGORITMO COMPUTACIONAL

O computador, a princípio, não executa

nada. Para que ele faça uma determinada

tarefa é necessário que ele execute um

programa.

O que é um programa?

Conjunto de milhares de instruções que

indicam ao computador, passo a passo, o que

ele tem que fazer.

Page 28: algoritmos e Logica de programacao   aula-2-

PROGRAMA

Logo, um programa nada mais é do que um

algoritmo computacional descrito em uma

linguagem de programação. Uma linguagem de

programação contém os comandos que fazem o

computador escrever algo na tela, realizar

cálculos aritméticos, receber uma entrada de

dados via teclado, e milhares de outras coisas,

mas estes comandos precisam estar em uma

ordem lógica.

Page 29: algoritmos e Logica de programacao   aula-2-

EXEMPLO DE ALGORITMO COMPUTACIONAL

Imagine o seguinte problema: Calcular a

média final de um aluno que realizou quatro

provas: P1, P2, P3 e P4. Onde:

Para montar o algoritmo proposto,

faremos três perguntas:

Page 30: algoritmos e Logica de programacao   aula-2-

EXEMPLO DE ALGORITMO COMPUTACIONAL

a) Quais são os dados de entrada?

R: Os dados de entrada são P1, P2, P3 e P4

b) Qual será o processamento a ser

utilizado?

R: O procedimento será somar todos os dados de

entrada e dividi-los por 4 (quatro)

c) Quais serão os dados de saída?

R: O dado de saída será a média final

Page 31: algoritmos e Logica de programacao   aula-2-

EXEMPLO DE ALGORITMO COMPUTACIONAL

Receba a nota da prova1

Receba a nota de prova2

Receba a nota de prova3

Receba a nota da prova4

Some todas as notas e divida o resultado por

4

Mostre o resultado da divisão

Page 32: algoritmos e Logica de programacao   aula-2-

TESTE DE MESA

Após desenvolver um algoritmo ele deverá

sempre ser testado. Este teste é chamado de

TESTE DE MESA, que significa, seguir as

instruções do algoritmo de maneira precisa

para verificar se o procedimento utilizado está

correto ou não.

Page 33: algoritmos e Logica de programacao   aula-2-

EXERCÍCIO

Identifique quais são os dados

de entrada, o processamento a ser

utilizado e os dados de saída dos

problemas a seguir, e monte seu

algoritmo:

1.Calcule a área do retângulo.

[Área = altura * base]

2.Calcule o IMC. [IMC = peso /

(altura * altura)]

3.Calcule o comprimento de um

círculo. [Comprimento = 2 * PI *

raio]

Calcular a média final de um aluno que

realizou quatro provas: P1, P2, P3 e P4.

a) Quais são os dados de entrada?

R: Os dados de entrada são P1, P2, P3 e P4

b) Qual será o processamento a ser

utilizado?

R: O procedimento será somar todos os dados

de entrada e dividi-los por 4 (quatro)

c) Quais serão os dados de saída?

R: O dado de saída será a média final

ALGORITMO:

Receba a nota da prova1

Receba a nota de prova2

Receba a nota de prova3

Receba a nota da prova4

Some todas as notas e divida o resultado por 4

Mostre o resultado da divisão

Page 34: algoritmos e Logica de programacao   aula-2-

1.CALCULE A ÁREA DO RETÂNGULO.

[ÁREA = ALTURA * BASE]

a) Quais são os dados de entrada?

R: altura, base

b) Qual será o processamento a ser utilizado?

R: multiplicar base pela altura

c) Quais serão os dados de saída?

R: área do retângulo

ALGORITMO:

Receba altura

Receba base

Multiplique base pela altura

Mostre a área do retângulo

Page 35: algoritmos e Logica de programacao   aula-2-

2.CALCULE O IMC. [IMC = PESO / (ALTURA * ALTURA)]

a) Quais são os dados de entrada?

R: peso, altura

b) Qual será o processamento a ser utilizado?

R: dividir peso pela multiplicação de altura por altura

c) Quais serão os dados de saída?

R: imc

ALGORITMO:

Receba altura

Receba peso

Dividir o peso pela multiplicação de altura por altura

Mostre o imc

Page 36: algoritmos e Logica de programacao   aula-2-

3.CALCULE O COMPRIMENTO DE UM CÍRCULO. [COMPRIMENTO = 2 * PI * RAIO]

a) Quais são os dados de entrada?

R: raio

b) Qual será o processamento a ser utilizado?

R: multiplicar 2 por PI (3,14) por raio

c) Quais serão os dados de saída?

R: comprimento

ALGORITMO:

Receba raio

Multiplicar 2 por PI (3,14) por raio

Mostre o Comprimento

Page 37: algoritmos e Logica de programacao   aula-2-

VARIÁVEIS Uma variável pode ser vista como uma

caixa com um rótulo ou nome colado a ela, que num dado instante guarda um determinado objeto, logo, uma variável nada mais é do que um dado. O conteúdo desta caixa não é algo fixo Permanente. Na verdade, essa caixa pode ter seu conteúdo alterado diversas vezes.

Contudo, o conteúdo deve ser sempre do mesmo tipo. Na figura ao lado, a caixa (variável) rotulada com FATOR contém o valor 5. Como seu tipo é numérico, em um determinado instante essa caixa poderá conter qualquer valor numérico (inteiro ou fracionário; positivo, negativo ou zero). Entretanto, em um determinado instante, ela conterá um, e somente um valor.

Page 38: algoritmos e Logica de programacao   aula-2-

VARIÁVEIS

Variáveis são palavras que tem um significado bem específico em um algoritmo. Para que o computador possa executar comandos que envolvem variáveis da maneira correta, ele deve conhecer os detalhes das variáveis que pretendemos usar. Esses detalhes são: o identificador desta variável e o tipo de valores que essa variável irá conter. Precisamos assim, de uma maneira de especificar esses detalhes e comunicá-los ao computador. Para isso devemos declarar nossas variáveis logo abaixo da expressão “VAR” que tem a seguinte forma:

Page 39: algoritmos e Logica de programacao   aula-2-

VARIÁVEIS

Onde <identificador i> é o nome (identificador) de uma variável e <tipo das variáveis>

determina que tipo de valor as variáveis poderão receber.

Os identificadores das variáveis são usados para referenciá-las dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma ideia do “papel” da variável no algoritmo.

Page 40: algoritmos e Logica de programacao   aula-2-

VARIÁVEIS

nomes de variáveis não podem ser iguais a palavras reservadas;

nomes de variáveis devem possuir como primeiro caractere uma letra ou

sublinhado '_' (os outros caracteres podem ser letras, números e sublinhado);

nomes de variáveis devem ter no máximo 127 caracteres;

Nomes de variáveis não podem conter espaços em branco;

na sintaxe do Português Estruturado, não há diferença entre letras maiúsculas de

minúsculas (NOME é o mesmo que noMe).

Page 41: algoritmos e Logica de programacao   aula-2-

VARIÁVEIS

Exemplos:Identificadores válidos: NOME, TELEFONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_CivilIdentificadores inválidos: 3Endereco, Estado Civil, PARA, algoritmo, numero/complementoEm Português Estruturado, só existem três tipos de dados, conforme a tabela abaixo.:

TIPO DESCRIÇÃO TIPO DESCRIÇÃO

INTEIRO Representa valores inteiros.Exemplos: 10, 5, -5, -10

REAL Representa valores reais.Exemplos: 10.2, 5.5, -5.1, -10.0

CARACTER Representa um texto (alfanumérico).Exemplos: Maria, Rua Jaú 22, Feminino

Page 42: algoritmos e Logica de programacao   aula-2-

PRATICANDO

Defina os tipos de variáveis dos dados a seguir como: INTEIRO, REAL ou CARACTER

Base:Altura:Area:

Peso:Altura:Imc:

Raio:Comprimento: