Unidade 1 Conceitos básicos - UFPA

25
Unidade 1 Conceitos básicos

Transcript of Unidade 1 Conceitos básicos - UFPA

Page 1: Unidade 1 Conceitos básicos - UFPA

Unidade 1Conceitos básicos

Page 2: Unidade 1 Conceitos básicos - UFPA

Agenda

⊡ Conceito de algoritmo⊡ Características⊡ Dificuldades⊡ Representação de algoritmos⊡ Etapas na solução de problemas

Page 3: Unidade 1 Conceitos básicos - UFPA

Desafio 01O lobo, a ovelha e o capim

Você tem um lobo, uma ovelha e um monte de capim para levar ao outro lado de um rio. Porém seu barco é pequeno e você só poderá levar um por vez.

Detalhe: a ovelha não pode comer o capim e nem o lobo a ovelha.

Como você fará para levar os três e garantir que não perderá nenhum deles até o final da jornada?

Page 4: Unidade 1 Conceitos básicos - UFPA

Algoritmo

Conceito 1Sequência lógica de instruções que devem ser seguidas para a resolução de um problema ou para a execução de uma tarefa.

Conceito 2Sequência de ações bem definidas, organizadas em ordem coerente que são executadas uma a uma para realizar uma determinada tarefa.

Exemplos do dia-a-dia§ A dona de casa

utiliza-os para preparar um bolo.

§ Um motorista, para a troca de um pneu furado.

§ Um matemático, para resolver uma equação.

Page 5: Unidade 1 Conceitos básicos - UFPA

Algoritmo ir para o trabalho- Acordar- Levantar da cama- Tomar café- Tomar Banho- Por a roupa- Ir pro trabalho

Mais exemplos do dia-a-dia

Ou assim? É possível?- Acordar- Levantar da cama- Tomar café- Por a roupa- Tomar Banho- Ir pro trabalho

Page 6: Unidade 1 Conceitos básicos - UFPA

Receita de comidaInício1. Coloque os ingredientes do molho na panela2. Misture por 03 minutos em fogo alto3. Desligue o fogo e acrescente um copo de água fria4. Despeje o molho na carneFim

Observação: variáveis - ingredientes do molho

Mais exemplos do dia-a-dia

Page 7: Unidade 1 Conceitos básicos - UFPA

Desafio 02Como subir uma escada

Elabore uma sequência de passos para subir uma escada.

Page 8: Unidade 1 Conceitos básicos - UFPA

Algoritmo

Subir uma escadaInício1. Suba um degrau.2. Se não chegou ao topo da escada

então vá para 1.Fim

Subir uma escadaInício1. Enquanto não chegou ao topo da escada

Suba um degrau.Fim

Subir uma escadaInício1. Repita

Suba um degrauAté chegar ao topo da

escada.Fim

Page 9: Unidade 1 Conceitos básicos - UFPA

Verificar se o estudante foi aprovado ao final do semestreInício1. Leia nota12. Leia nota23. Faça média = (nota1+nota2)/24. Se média > = 5

então escreva "aluno aprovado"senão escreva "aluno reprovado"

Fim.

Mais exemplos do dia-a-dia

Page 10: Unidade 1 Conceitos básicos - UFPA

Desafio 03Construindo formas

geométricas

Você tem que construir um triângulo e um quadrado usando apenas estes comandos:

parafrente = PF <numero de passos>paratrás = PT <numero de passos>paraesquerda = PE <ângulo>paradireita = PD <ângulo>

Page 11: Unidade 1 Conceitos básicos - UFPA

Características

⊡ Finitude: algoritmos devem terminar após um número finito de passos.⊡ Definição: cada passo deve ser precisamente definido.⊡ Entradas: devem ter zero ou mais entradas.⊡ Saídas: devem ter uma ou mais saídas.⊡ Efetividade: todas as operações devem ser simples de

modo que possam ser executadas em um tempo limitado.

Page 12: Unidade 1 Conceitos básicos - UFPA

Representação

Descrição narrativa (linguagem natural)Algoritmos expressos diretamente em linguagem natural, como nas receitas de culinária.

FluxogramaRepresentação gráfica.

Pseudocódigo ou pseudolinguagemEmprega uma linguagem intermediária entre linguagem natural e linguagem de programação.

Page 13: Unidade 1 Conceitos básicos - UFPA

Descrição narrativa

⊡ Faz uso da língua portuguesa⊡ Vantagens:

• O Português é muito conhecido por nós.

⊡ Desvantagens:• Imprecisão.• Pouca confiabilidade (a

imprecisão acarreta a desconfiança).

• Extensão (normalmente, escreve-se muito para dizer pouca coisa).

Cálculo de média final e status do estudanteAdquirir nome do estudante com suas notas relativas ao semestre.Calcular a média aritmética das quatro notas.Verificar se o estudante passou (nota >=5) e imprimir resultado.

Page 14: Unidade 1 Conceitos básicos - UFPA

Fluxograma

⊡ Representação de algoritmospor meio de símbolosgráficos.

⊡ Cada tipo de operação érepresentada por um símbolodiferente.

⊡ Tem a vantagem de permitiro acompanhamento visual do fluxo do algoritmo.

⊡ Vantagens:• Uma das ferramentas mais

conhecidas.• Figuras dizem muito mais que

palavras.• Padrão mundial.

⊡ Desvantagens:• Pouca atenção aos dados, não

oferecendo recursos para descrevê-los ou representá-los.

• Complica-se à medida que o algoritmo cresce.

Page 15: Unidade 1 Conceitos básicos - UFPA

Fluxograma

Início e fim de algoritmo

Atribuições e cálculosde valores

Decisões

Entrada de dados

Discos

Impressão de resultados

Conector na página

Entrada manual

Ligação entre símbolos

Conector fora da página

Page 16: Unidade 1 Conceitos básicos - UFPA

FluxogramaUm dia de sol

Sol? 2

Início

Acordar

TomarCafé

1

Não

Sim

1

Ir à praia

2

Ler jornal

Ir ao cinema

Jantar

Fim

Page 17: Unidade 1 Conceitos básicos - UFPA

Pseudolinguagem

⊡ Procura misturar as facilidades da linguagemnatural com a precisão das linguagens de programação.

⊡ A representação da soluçãoem pseudolinguagempossibilita a abstração dos detalhes da sintaxe da linguagem escolhida.

⊡ Vantagens• Usa o português como base.• Pode-se definir quais e como

os dados vão estar estruturados.

• Passagem quase imediata do algoritmo para uma linguagem de programação qualquer.

⊡ Desvantagens• Exige a definição de uma

linguagem não real para trabalho.

• Não padronizado.

Page 18: Unidade 1 Conceitos básicos - UFPA

PseudolinguagemÁrea de uma mesa

retangular

Inicioleia (comprimento)leia (largura)área <- comprimento * larguraescreva ('Área igual a', área)

Fim

Observação: as palavras em negrito são consideradas as palavras-chaveda pseudolinguagem

Page 19: Unidade 1 Conceitos básicos - UFPA

Etapas na solução de problemas

Problema

Solução na forma de Algoritmo

Solução comoum programa

de computador

Fase de Resolução do Problema

Fase de Implementação (ou codificação) do Algoritmo em alguma Ling. de Programação

1

2

Page 20: Unidade 1 Conceitos básicos - UFPA

Etapas na solução de problemas

⊡Método Cartesiano: dividir o problema em diversos problemas menores, a fim de torná-lo mais simples ou específico, repetindo a operação sempre que necessário.

⊡ Planejamento reverso: por meio das informações que se quer de saída, podem ser determinadas reversamente quais são as informações de entrada, bem como todas as etapas necessárias de transformação destas informações.

Page 21: Unidade 1 Conceitos básicos - UFPA

Etapas na solução de problemas

⊡ Ler atentamente o enunciado, para poder pensar na solução do problema.⊡ Entrada: retirar do enunciado a relação das entradas de dados,

a partir dos quais serão efetuados os cálculos.⊡ Saída: retirar do enunciado a relação das saídas de dados

(quais serão os resultados que se quer obter).⊡ Processamento: determinar o que deve ser feito para que as

entradas se tornem os resultados esperados (saídas). Nessa fase é que se dá a construção do algoritmo propriamente dito. ⊡ Teste de mesa: simular a execução das fases acima mencionadas,

verificando o funcionamento na prática das instruções executadas

Page 22: Unidade 1 Conceitos básicos - UFPA

Etapas na solução de problemas

⊡ Ex.: Dado o valor de um lado de um quadrado, calcular sua área.

⊡ Entrada: Lado do quadrado⊡ Processamento: Lado2

⊡ Saída: Área do quadrado

Lado do quadrado Lado2 Área do

quadrado

Page 23: Unidade 1 Conceitos básicos - UFPA

⊡ Problema:□ Dado o preço de um terreno retangular, bem como as medidas de dois dos

lados adjacentes, pretende-se saber se o preço por metro quadrado está acima ou abaixo da média dos preços praticados na zona (que nos é dado).

⊡ Estratégia para formulação do algoritmo: decompor o problema em problemas mais simples1. Precisamos saber: o preço do terreno; a medida do lado A (em metros); a

medida do lado B (em metros); e o preço médio por metro quadrado.2. Precisamos calcular a área do terreno: área = lado A x lado B.3. Precisamos calcular o preço por m2: preço por m2 = preço do terreno / área.4. Precisamos comparar os preços por m2

SE preço por m2 > preço médio ENTÃO o preço está acima da médiaSE preço por m2 < preço médio ENTÃO o preço está abaixo ao da média

Etapas na solução de problemas

Page 24: Unidade 1 Conceitos básicos - UFPA

Etapas na solução de problemas

⊡ Entendimento do problema.⊡ Criação de uma sequência de

operações (ou ações) que, quando executadas, produzem a solução do problema.⊡ Descrição desse conjunto de ações.⊡ Codificação (uso de uma

linguagem de programação).

Resolução doproblema

Programação

Page 25: Unidade 1 Conceitos básicos - UFPA