25
7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08 http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 1/25 Fundamentos de Programação 1 Fundamentos de Programação 1 Aula 4B Lógica e Algoritmos. Profª. Fabiany [email protected] 

Fundamentos1 SlidesA4 B 2009-10-08

Embed Size (px)

Citation preview

Page 1: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 1/25

Fundamentos de Programação 1Fundamentos de Programação 1

Aula 4B

Lógica e Algoritmos.

Profª. [email protected] 

Page 2: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 2/25

LógicaLógica A lógica de programação é a técnica de

encadear pensamentos para atingir determinado

objetivo.

 Sequência Lógica

ou a solução de um problema.

 Instruções

Um conjunto de regras ou normas definidas paraa realização ou emprego de algo. Eminformática, é o que indica a um computador  uma ação elementar a executar.

[email protected] 

Page 3: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 3/25

AlgoritmoAlgoritmo “Algoritmo é uma sequência de passos que

visa atingir um objetivo bem definido.”(Forbellone,1999)

“Algoritmo é a descrição de uma sequênciade passos que deve ser seguida para arealização de uma tarefa.” (Ascencio,1999)

No dia-a-dia executamos vários algoritmos.

[email protected] 

Page 4: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 4/25

Exemplo AlgoritmoExemplo Algoritmo  Fazer um sanduíche:

- Pegar o pão

- Cortar o pão ao meio- Pegar a maionese- Abrir a maionese- Passar a maionese no pão

- Pegar o alface e tomate- Cortar o tomate- Lavar o alface- Colocar o tomate e o alface no pão

- Pegar o hamburger - Fritar o hamburger - Colocar o hamburger no pão- Fechar o pão.

[email protected] 

Page 5: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 5/25

ExercíciosExercícios

Crie uma sequência lógica para tomar  banho.

Faça um algoritmo para trocar uma

lâmpada. Descreva com detalhes.

[email protected] 

Page 6: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 6/25

Método para a construção de algoritmosMétodo para a construção de algoritmos   Compreender completamente o problema a ser 

resolvido, destacando os pontos mais importantes e

os objetos que o compõem;  Definir os dados de entrada, ou seja, quais os dados

serão fornecidos e quais objetos fazem parte destecenário- problema;

 Definir o processamento, ou seja, quais cálculos serãoefetuados e quais as restrições para esses cálculos. Oprocessamento é responsável pela transformação dosdados de entrada em dados de saída.

  Definir os dados de saída, ou seja, quais os dados serãogerados depois do processamento.

 Construir o algoritmo utilizando alguns dos tipos de

algoritmos existentes.

  Testar o algortimo realizando simulaçõ[email protected] 

Page 7: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 7/25

Regras para a construção do AlgoritmoRegras para a construção do Algoritmo

Usar somente um verbo por frase;

Imaginar que você está desenvolvendo umalgoritmo para pessoas que não trabalham cominformática

Usar frases curtas e simples; Ser objetivo;

Procurar usar palavras que não tenham sentido

ambíguo.

[email protected] 

Page 8: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 8/25

Fases do algoritmoFases do algoritmo Primeiramente precisamos dividir o problema

apresentado em três fases fundamentais:

entrada processamento saída

  Entrada: são os dados de entrada do algoritmo;

  Processamento: são os procedimentos utilizados para

chegar ao resultado final;   Saída: são os dados já processados.

[email protected] 

Page 9: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 9/25

Exemplo 1Exemplo 1  Problema: Calcular a média final dos alunos de

uma turma. Os alunos realizarão quatro provas:

P1, P2, P3 e P4.Onde:

Média Final = P1+ P2 + P3 + P4 

4

Para montar o algoritmo, faremos três perguntas:

a) Quais são os dados de entrada?

b) Qual será o processamento a ser utilizado?

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

[email protected] 

Page 10: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 10/25

ResRespostaspostasa) 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?

.de entrada e dividi-los por 4.

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

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

[email protected] 

Page 11: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 11/25

Algoritmo Exemplo 1Algoritmo Exemplo 1

Receba a nota da prova1

Receba a nota da prova2

 ece a a no a a prova

Receba a nota da prova4

Some todas as notas e divida o resultado por 4

Mostre o resultado da divisão.

[email protected] 

Page 12: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 12/25

Tipos de AlgoritmosTipos de Algoritmos   Descrição narrativa: consiste em analisar o enunciado

do problema e escrever, utilizando uma linguagem natural(ex: língua portuguesa), os passos a serem seguidos paraa sua resolução;

  Fluxo rama ou Dia rama de blocos: consiste em

analisar o enunciado do problema e escrever, utilizandosímbolos gráficos predefinidos, os passos a seremseguidos para a sua resolução;

  Pseudocódigo ou portugol: consiste em analisar o

enunciado do problema e escrever, por meio de regraspredefinidas, os passos a serem seguidos para a suaresolução.

[email protected] 

Page 13: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 13/25

Exemplos de AlgoritmosExemplos de Algoritmos

Fazer um algoritmo para multiplicar dois números. Descrição narrativa:

Receba o primeiro número.

Receba o segundo número.

Multiplique os dois números.

 Mostre o resultado da multiplicação.

Pseudocódigo:

Inicio {

inteiro n1, n2, m;leia (n1, n2);

m = n1 * n2;

escreva(“Resultado é: ”, m);

}[email protected] 

Page 14: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 14/25

Exemplos de AlgoritmosExemplos de Algoritmos Fluxograma ou diagrama de blocos:

Início

n1,n2

[email protected] 

M = n1 + n2

M

Fim

Page 15: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 15/25

Diagrama de Bloco ouDiagrama de Bloco ouFluxogramaFluxograma

O diagrama de blocos é uma forma padronizada eeficaz para representar os passos lógicos de umdeterminado processamento.

Podemos definir uma sequência de símbolos, comsignificado bem definido, portanto, sua principalfunção é a de facilitar a visualização dos passos

de um algoritmo (processamento).

[email protected] 

Page 16: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 16/25

Diagrama de Bloco ou FluxogramaDiagrama de Bloco ou FluxogramaSimbologia

Símbolo Função

Símbolo utilizado para indicar o início e ofim do algoritmo.

Permite indicar o sentido do fluxo de dados.Serve exclusivamente para conectar os

[email protected] 

  .

Símbolo utilizado para indicar cálculos eatribuições de valores.

Símbolo utilizado para representar aentrada de dados.

Símbolo utilizado para representar a saídade dados.

Símbolo utilizado pra indicar que deve sertomada uma decisão, apontando a

possibilidade de desvios.

Page 17: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 17/25

Variáveis e ConstantesVariáveis e Constantes Variáveis e constantes são os elementos básicos

que um programa manipula.

Um programa deve conter declarações quees ecificam de ue ti o são as variáveis ue ele

utilizará e as vezes um valor inicial. Tipos podem ser por exemplo: inteiros, reais,

caracteres, etc.

As expressões combinam variáveis e constantespara calcular novos valores.

[email protected] 

Page 18: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 18/25

ConstantesConstantes

Constante é um determinado valor fixo quenão se modifica ao longo do tempo,

durante a execução de um programa.

[email protected] 

Page 19: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 19/25

VariáveisVariáveis Uma variável é um espaço reservado na

memória do computador para armazenar um tipo de dado determinado, cujoconteúdo pode se alterado ao longo do

tempo durante a execução de umprograma.

Variáveis devem receber nomes parapoderem ser referenciadas e modificadasquando necessário.

[email protected] 

Page 20: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 20/25

VariáveisVariáveis Embora uma variável possa assumir  

diferentes valores, ela só pode armazenar um valor a cada instante.

As variáveis só podem armazenar valoresde um mesmo tipo.

[email protected] 

Page 21: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 21/25

OperadoresOperadores Os operadores são meios pelo qual

realizamos cálculos, comparações eavaliações dos dados no nosso programa.Temos três tipos de operadores:

1. Operadores Aritméticos

2. Operadores Relacionais

3. Operadores Lógicos

[email protected] 

Page 22: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 22/25

Operadores AritméticosOperadores Aritméticos

Operação SímboloAdição +

Subtra ão -

Multiplicação *Divisão /

[email protected] 

Page 23: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 23/25

Operadores RelacionaisOperadores Relacionais

Descrição SímboloIgual a =

Diferente de <> ou !=

Maior que >Menor que <

Maior ou igual a >=

Menor ou igual a <=

[email protected] 

Page 24: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 24/25

Operadores LógicosOperadores LógicosOperação Operador 

E E

OU OU

NÃO NOT

[email protected] 

E / AND: uma expressão AND (E) é verdadeira se todas ascondições forem verdadeiras.

OR/OU: uma expressão OR (OU) é verdadeira se pelomenos uma condição for verdadeira.

NOT: um expressão NOT (NÃO) inverte o valor daexpressão ou condição, se verdadeira inverte para falsa evice-versa.

Page 25: Fundamentos1 SlidesA4 B 2009-10-08

7/23/2019 Fundamentos1 SlidesA4 B 2009-10-08

http://slidepdf.com/reader/full/fundamentos1-slidesa4-b-2009-10-08 25/25

Referência BibliográficaReferência Bibliográfica   FOBERLLONE, André Luiz Villar; EBERSPÄCHER, Henri

Frederico. Lógica de programação a construção de algoritmose estrutura de dados. 3. ed. Makron, 2000.

, ,

Aparecida Veneruchi de. Fundamentos da programação decomputadores. 2. ed. Pearson Prentice Hall, 2007.

  MORAES, Paulo Sérgio de. Curso Básico de Lógica deProgramação. Unicamp, 2000.

[email protected]