• Nenhum resultado encontrado

Lógica de Programação - Aula 02

N/A
N/A
Protected

Academic year: 2021

Share "Lógica de Programação - Aula 02"

Copied!
53
0
0

Texto

(1)

Lógica de Programação e

Algoritmos

(2)

Objetivos da Aula

• Introdução a Algoritmos

• Tipos de Algoritmos

(3)

O Que é um Algoritmo?

(4)

Introdução

• Desde o início dos tempos o homem cria máquinas que

auxiliem em seus trabalhos, diminuindo assim:

– Esforço – Tempo

• Dentre essas máquinas o computador tem se mostrado

como mais versátil, rápido e seguro;

– Hardware – Software

• A finalidade do computador é receber, manipular e

(5)
(6)
(7)

Hardware – Parte Física

UCP – Unidade Central de Processamento Memória Dispositivos de entrada e saída Barramento Conexões externas Teclado, Mouse Monitor, Impressora e Etc...

Processador (contém as instruções que são capazes de executar)

Memória(Armazena as informações ou instruções

usadas pelo processador)

(8)

Exemplo

Somar dois números? 2 2

(9)

Introdução

• Sendo a finalidade principal do computador

realizar a tarefa de processamento de dados:

– Ou seja, receber dados por um dispositivo de

entrada, realizar operações com esses dados e

gerar uma resposta que será expressa em um

dispositivo de saída

(10)
(11)

Introdução

• Quando queremos escrever (criar, desenvolver)

software para realizar determinado tipo de

processamento de dados, devemos escrever um

programa;

• No entanto para que o computador compreenda

e execute esse programa, devemos escreve-lo em

uma linguagem que tanto o computador quanto

o desenvolvedor de software entendam ->

(12)

Algoritmos e Lógica de Programação

• Algumas Categorias de Programas

– Cadastro

– Vendas de produtos

– Jogos

(13)

Cadastro de Clientes

Venda de Produtos

(14)

Introdução

• Passos do desenvolvimento de um programa

– Análise

– Algoritmo

– Codificação

• Portanto um programa é a codificação de um

algoritmo em determinada linguagem de

programação;

– Várias linguagens

– Vários Paradigmas

(15)

Linguagens de Programação

• Existem inúmeras linguagens de programação;

• No entanto, elas são muito ligadas a uma grande

diversidades de detalhes computacionais, que

pouco tem haver com o raciocínio original.

• Então para escapar dessas complicações no inicio

da aprendizagem de lógica de programação

foram criados os algoritmos;

(16)
(17)

Conceito Algoritmo

• Existem Várias Definições

• Simples

– “Algoritmo é uma sequência de passos que visa atingir um objetivo”

• Completa

– “Um algoritmo é uma sequência de instruções finita e

ordenada de forma lógica para a resolução de uma

determinada tarefa ou problema.”

• Obs: Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução de um problema.

(18)

Conceito Algoritmos

• Em geral, existem muitos (senão infinitos)

caminhos que levam a uma solução

satisfatória de um determinado problema.

(19)

Porque é importante construir um

algoritmo antes de um programa de

computador?

(20)

• Um Algoritmo tem por objetivo representar

mais fielmente o raciocínio usado na lógica de

programação e, dessa forma, permite-nos

abstrair

de

uma

serie

de

detalhes

computacionais,

que

podem

ser

acrescentados mais tarde. Assim focamos

nossa atenção naquilo que é realmente

importante. A lógica de programação;

(21)

Conceito de Algoritmos

• Exemplo de Algoritmos

– Ex: Receita de Bolo;

(22)

Exemplo de Algoritmos no dia-dia

• Exemplo:

– Fazer um Sanduíche

• 1. Pegar o pão

• 2. Cortar o pão ao meio • 3. Pegar a maionese

• 4. Passar a maionese no pão

• 5. Pegar e cortar alface e tomate • 6. Colocar alface e tomate no pão • 7. Pegar o Hambúrguer

• 8. Fritar o Hambúrguer

(23)

Exemplo de Algoritmos

• Exemplo:

– Sacar dinheiro do banco 24 horas

• 1. Ir até um banco 24 horas • 2. Colocar o cartão

• 3. Digitar a senha

• 4. Solicitar a quantia desejada

• 5. Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar mensagem de impossibilidade de saque.

• 6. Retirar o cartão

(24)

Conceito de Algoritmos

• As sequências de resoluções que vimos podem

ser consideradas algoritmos?

– Sim;

– Sanduíche possui 9 instruções ordenadas;

– Sacar dinheiro do banco possui 7 instruções

ordenadas;

• O inicio de uma instrução depende da conclusão da instrução anterior;

– O objetivo da sequência foi atingido?

(25)

Conceito de Algoritmos

• Você pode estar pensando: “Mas eu realizo essas

atividades de maneira diferente!”

• Esse pensamento é correto, pois às vezes um problema

pode ser resolvido de diversas maneiras, porém, gerando

a mesma resposta, ou seja, podem existir vários

algoritmos para solucionar o mesmo problema.

• Mas podem existir algoritmos mais eficientes

que

outros;

(26)

Conceito de Algoritmos

• Exercício

– Ordene e estruture uma sequência para realizar

um telefonema de um celular.

(27)

Conceito de Algoritmos

• Uma solução possível

– Pegar o celular

– Selecionar a aplicação de telefonema

– Teclar o número desejado

– Selecionar o botão de efetuar ligação

– Conversar

(28)

Conceito de Algoritmos

• Solução mais robusta para o problema:

– Pegar o celular

– Selecionar a aplicação de telefonema – Teclar o número desejado

– Selecionar o botão de efetuar ligação – Se chamar e alguém atender...

• Conversar • Desligar

– Senão

• Desligar

(29)

Exemplo

• Jogar Vídeo Game

– Ordene e estruture uma sequência para jogar

determinado jogo em um vídeo game.

(30)

Conceito de Algoritmos

• Uma solução possível

– Ligar o console (Vídeo game)

– Abrir bandeja para colocar o jogo

– Colocar o jogo na bandeja do console

– Fecha a bandeja

– Esperar o jogo carregar

– Apertar iniciar

(31)

Exemplo

• Escreva um algoritmo que ajude o homem do barco a levar o lobo, a ovelha e a caixa de verduras para o outro lado do lago. Utilize a descrição narrativa para representar o algoritmo.

– Obs: Lobos comem ovelhas e ovelhas comem as verduras quando o homem está na outra margem!

(32)

Resolução

• Pegar a ovelha

• Leva para a outra margem • Deixa a ovelha

• Volta a margem inicial • Pega a caixa de verduras • Vai para outra margem

• Deixa a caixa de verduras e pega a ovelha • Volta a margem inicial

• Deixa a ovelha e pega o lobo • Vai para a outra margem • Deixa o lobo

• Volta a margem inicial • Pega a ovelha

• Vai para a outra margem • Deixa a ovelha

(33)

Algoritmos

• O que concluímos sobre algoritmos?

– Algoritmos é um passo a passo de ações (instruções)

– Algoritmos retornam uma saída (calcular a soma de

dois números) a partir de entradas (dois números),

através de uma sequência de passos;

– Os passos são executados um após o outro de forma

sequencial.

(34)

Algoritmos

• Porque é necessário criar algoritmos?

– A linguagem natural não pode ser interpretada por computadores;

– Computadores são projetados para executar tarefas bem definidas a partir de instruções;

– Para desenvolver software, utilizamos linguagens de programação;

• A linguagem algorítmica é similar a uma linguagem de programação;

– Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação;

(35)

Tipos de Algoritmos

• Descrição Narrativa

• Fluxograma

• Pseudocódigo, português estruturado

Portugol;

Subjetividade

(36)

Descrição Narrativa

• Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural (“língua portuguesa”), os passos a serem seguidos para resolução do problema.

– Formada por frases curtas e simples – É objetiva

• Vantagem: Não é necessário o aprendizado de um conceito novo

• Desvantagem: a língua natural abre espaço para várias interpretações, o que pode dificultar a transcrição desse algoritmo para o programa.

(37)

Desvantagem

• Exemplo:

– “A velhinha ouviu o barulho da janela”

• A velhinha ouviu o barulho produzido pela janela • A velhinha estava junto a janela e ouviu o barulho

(38)

Descrição Narrativa

• Exemplo – Dobro de um número (número x 2)

• Digitar um número

• Multiplicar o número digitado por 2

• Mostrar o Resultado da Operação

(39)

Fluxograma

• Descrevem o fluxo de ação de um determinado trabalho lógico (ou sequência de ações);

• Usa símbolos convencionais, permitindo poucas variações; • Representado por símbolos geométricos

• Vantagem: o entendimento de símbolos gráficos é mais simples que o entendimento de texto.

• Desvantagem: é necessário aprender a simbologia dos fluxogramas.

(40)
(41)

Exemplo

• Elabore um algoritmo para somar três

números:

– Algoritmo Descrição Narrativa

– Algoritmo Fluxograma

(42)

• Fluxograma

• Descrição Narrativa

– Passo 1: Receber os números que serão somados

– Passo 2: Somar os dois números

– Passo 3: Exibir o resultado da soma

(43)

Exemplo

• Elabore um algoritmo para mostrar o

resultado da divisão entre dois números:

– Algoritmo de descrição narrativa

– Algoritmo Fluxograma

(44)

• Descrição Narrativa

– Passo 1: Receber os dois números que serão divididos;

– Passo 2: Se o segundo número for igual a zero, não poderá haver divisão, pois não existe divisão por zero; caso contrario dividir os dois números

(45)
(46)

Exemplo

• Elaborar um algoritmo para calcular a média

aritmética entre duas notas de um aluno e

mostrar a situação desse aluno, que pode ser

aprovado ou reprovado.

– Algoritmo de descrição narrativa

– Algoritmo Fluxograma

(47)

• Descrição Narrativa

• Passo 1: Receber as duas notas

• Passo 2: Calcular a média aritmética • Passo 3: Mostrar a média aritmética

• Passo 4: Se a média aritmética for maior a igual a sete, então a situação do aluno é aprovado; caso contrário, a situação é reprovado.

(48)
(49)

• Elabore a descrição narrativa e o fluxograma

para calcular o novo salário de um

funcionário. Sabe-se que os funcionários que

possuem salário atual até R$ 500,00 terão

aumento de 20%, os demais terão amento de

10%.

(50)

• Descrição Narrativa

– Receber o salário atual do funcionário

– Se o salário atual do funcionário for até R$ 500,00,

calcular o novo salário com percentual de

aumento de 10%.

(51)
(52)

Português Estruturado

• Consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução.

• Vantagem: A passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas dessa linguagem que serão utilizadas.

• Desvantagem: É necessário aprender as regras do pseudocódigo

;

(53)

Português Estruturado

• A estrutura geral de um algoritmo é:

Algoritmo "<nome do algoritmo>“

var

< declaração de variáveis>

inicio

< lista de comandos>

fimalgoritmo

Nome do Algoritmo Declarar as variáveis que serão utilizadas no processo; Entrada, saída e processamento de informações; Fl ux o de In for maç ões

Referências

Documentos relacionados

Segundo Quadrat, essas ações “visavam combater qualquer tentativa de integração das esquerdas.”31 Quadrat afirma ainda que, num primeiro momento, o Brasil não se mostrou

Os suplementos mais utilizados, foram BCAA isoladamente; associado com maltodextrina; Whey Protein isolado e associado com BCAA e com maltodextrina (Nutrição) e Whey

Junto com a eliminação de glicose, envolve diretamente a perda de eletrólitos e água ocorrendo poliuria, polidipsia, desidratação e hemoconcentração..

Para ambas as variáveis, germinação e classificação do vigor das plântulas houve diferença significativa (P&lt;0,05) entre as três cultivares de ervilha (‘Ervilha Jota Flor

-15º C 5x Cabo apto para as instalações domésticas para a ligação dos altifalantes dos equipamentos de música e para a difusão dos sinais de música por toda a

A frio A quente Superficial Profunda Mistura a frio Mistura a quente Como base reciclada Como camada de ligação Como revestimento Agregados Cimento Portland e Cal Emulsão especial,

A exergia associada ao processo de transferência de calor é determinada pelo máximo trabalho que poderia se obter tendo o meio ambiente como referência. A exergia associada ao

O problema resultante P CER ´ e considerado a forma extensiva do programa estoc´ astico, pois explicita as vari´ aveis de decis˜ ao de segundo est´ agio para todos os cen´