algoritmo 01 - semana 01

37
Algoritmo 1 Semana 01 INTRODUÇÃO – DEFINIÇÃO - CONCEITOS 1

Upload: eder-samaniego

Post on 09-Jul-2015

662 views

Category:

Education


5 download

DESCRIPTION

Slide de Introdução à Disciplina de Algoritmo 1 Nível Médio Integrado Instituto Federal de Mato Grosso do Sul - IFMS Ponta Porã - MS Professores Eder S. Villalba e Ricardo Lins do Nascimento

TRANSCRIPT

Page 1: Algoritmo 01 - Semana 01

Algoritmo 1

Semana 01INTRODUÇÃO – DEFINIÇÃO - CONCEITOS

1

Page 2: Algoritmo 01 - Semana 01

Ementa

Desenvolver algoritmos por meio de divisão

modular e refinamentos sucessivos. Interpretar

pseudocódigos, algoritmos e outras

especificações para codificar programas. Avaliar resultados de testes dos programas

desenvolvidos. Integrar módulos desenvolvidos

separadamente.

2

Page 3: Algoritmo 01 - Semana 01

Objetivos

Geral

Capacitar o aluno para o desenvolvimento de soluções de problemas usando técnicas estruturadas de programação, algoritmos e estruturas estáticas de dados.

Específicos

Utilizar modelos, pseudocódigos e ferramentas na representação da solução de problemas.

Redigir instruções de uso dos programas implementados.

Utilizar tipos de dados básicos e operadores aritméticos, lógicos e relacionais.

Utilizar instruções de seleção para escolher entre ações alternativas.

Utilizar estruturas de repetição para executar instruções em um programa repetidamente. Implementar subalgoritmos.

3

Page 4: Algoritmo 01 - Semana 01

Avaliação

Provas Bimestrais – Peso 8

Trabalhos Bimestrais – Peso 2

4

Page 5: Algoritmo 01 - Semana 01

Conteúdo ProgramáticoCONTEÚDO PROPOSTO POR AVALIAÇÃO

5

Page 6: Algoritmo 01 - Semana 01

Conteúdo Programático

P1 Introdução

Conceito

Tipos de algoritmos

Descrição geral dos algoritmos

LÓGICA DE PROGRAMAÇÃO

Formas de representação gráfica

Princípios de resolução de problemas

Tipos de variáveis

Uso de Constantes

Fórmulas matemáticas

Instruções básicas

TOMADAS DE DECISÃO

Desvio condicional simples

Desvio condicional composto

Desvio condicional encadeados

6

Page 7: Algoritmo 01 - Semana 01

Conteúdo Programático

P2

LAÇOS DE REPETIÇÃO

Looping com teste lógico no início

Looping com teste lógico no fim

Looping com variável de controle

7

Page 8: Algoritmo 01 - Semana 01

Conteúdo Programático

P3

MATRIZES

Matrizes de uma dimensão ou vetores

Matrizes com mais de uma dimensão

8

Page 9: Algoritmo 01 - Semana 01

Conteúdo Programático

P4

Modularização de programas

Procedimentos e funções

Passagem de parâmetros

9

Page 10: Algoritmo 01 - Semana 01

AlgoritmoDEFINIÇÕES

10

Page 11: Algoritmo 01 - Semana 01

Algoritmo

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.

São exemplos de

algoritmos instruções de

montagem, receitas,

manuais de uso, etc.

11

Page 12: Algoritmo 01 - Semana 01

Algoritmo

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.

Em geral, existem muitos (senão infinitos)

caminhos que levam a uma solução satisfatória.

12

Page 13: Algoritmo 01 - Semana 01

Exemplo 1 13

Page 14: Algoritmo 01 - Semana 01

Exemplo 2

Algoritmo para fritar um ovo

1. Colocar um ovo na frigideira

2. Esperar o ovo ficar frito

3. Remover o ovo da frigideira

14

Page 15: Algoritmo 01 - Semana 01

Exemplo 3

Algoritmo para fritar um ovo

1. Retirar um ovo da geladeira

2. Colocar a frigideira no fogo

3. Colocar óleo

4. Esperar até o óleo ficar quente

5. Quebrar o ovo separando a casca

6. Colocar o conteúdo do ovo na frigideira

7. Esperar um minuto

8. Retirar o ovo da frigideira

9. Apagar o fogo

15

Page 16: Algoritmo 01 - Semana 01

Exemplo 4

Algoritmo Lavar a cabeça

1 – Início

2 – Molhe o cabelo

3 – Coloque Shampoo

4 – Faça Massagem

5 – Enxágüe

6 – Repita o Processo

7 – Fim

16

Page 17: Algoritmo 01 - Semana 01

Exemplo 4

Algoritmo Lavar a cabeça

1 – Início

2 – Molhe o cabelo

3 – Coloque Shampoo

4 – Faça Massagem

5 – Enxágue

6 – Repita o Processo

7 – Fim

1) É a descrição de um procedimento rotineiro; 2) Tem um INÍCIO e um FIM claros; 3) A descrição é feita passo a passo, de maneira bem definida; 4) Há imperfeições: 4.1) Não especifica a quantidade de shampoo;

4.2) Não especifica quantas vezes o processo deve ser repetido; 4.3) Não especifica qual o processo ou qual passo que deve ser repetido.

17

Page 18: Algoritmo 01 - Semana 01

Exemplo 4

Algoritmo Lavar a cabeça

1 – Início

2 – Molhe o Cabelo

3 – Repita 2 (duas) vezes: 3.1 – Coloque a quantidade correspondente

a uma tampa de shampoo

3.2 – Faça massagem durante 1 minuto

3.3 – Enxágüe

4 – Fim

18

Page 19: Algoritmo 01 - Semana 01

Qualidades de um bom Algoritmo

Definição Perfeita

Deve descrever exatamente quais são as instruções que

devem ser executadas e em que seqüência. Deve ser

tornado explícito o maior número possível de

informações, pois a falta de alguma informação pode

levar a uma interpretação errada do algoritmo;

Ausência de Ambigüidade

Não deve deixar dúvidas sobre o que deve ser feito. A

ambigüidade acerca do que deve ser feito também pode

levar a uma interpretação errada do algoritmo;

19

Page 20: Algoritmo 01 - Semana 01

Qualidades de um bom Algoritmo

Eficácia

Conseguir resolver o problema em qualquer situação.

Todas as situações de exceção que possam alterar o

comportamento do algoritmo devem ser especificadas e

tratadas;

Eficiência

Resolver o problema com o mínimo de recursos.

Sempre se deve buscar aquele algoritmo que, dentre os

diversos algoritmos que resolvam um mesmo problema,

utilize a menor quantidade de recursos.

20

Page 21: Algoritmo 01 - Semana 01

Estratégias na Construção

de Algoritmos

Especifique o problema claramente e entenda-o

completamente;

Explicite todos os detalhes supérfluos;

Entre no problema (envolva-se totalmente com o

problema);

Use todas as informações disponíveis;

Decomponha o problema (Top-Down);

Use o sentido inverso, se necessário (Bottom-Up).

21

Page 22: Algoritmo 01 - Semana 01

Como Construir

Algoritmos

Problema

Análise Preliminar

Solução

Teste de Qualidade Alteração

Produto Final

22

Page 23: Algoritmo 01 - Semana 01

Como Construir

Algoritmos Análise Preliminar

Entenda o problema com a maior precisão possível, identifique os dados; identifique os resultados desejados.

Solução

Desenvolva um algoritmo para resolver o problema.

Teste de Qualidade

Execute o algoritmo desenvolvido com dados para os quais o resultado seja conhecido. O ideal é que o universo dos dados tenha todas as combinações possíveis. Note que a qualidade de um algoritmo pode ser limitada por fatores como tempo para a sua confecção e recursos disponíveis.

Alteração

Se o resultado do teste de qualidade não for satisfatório, altere o algoritmo e submeta-o a um novo teste de qualidade.

Produto Final

O algoritmo concluído e testado, pronto para ser aplicado.

23

Page 24: Algoritmo 01 - Semana 01

Portugol

A Linguagem Estruturada é a forma que tem sido

mais utilizada para a elaboração de algoritmos.

É a forma que mais se assemelha com a forma

em que os programas são escritos nas linguagens

de programação.

24

Page 25: Algoritmo 01 - Semana 01

Operadores Aritméticos

Operação Operador Exemplo

Soma + 1+1=2

Subtração - 1-1=0

Multiplicação * 2*2=4

Divisão Real / 7/2=3.5

Divisão de Inteiros \ 7\2=3

Resto da Divisão

Inteira

% 7%2=1

Potenciação ^ 22 = 2^2.

25

Page 26: Algoritmo 01 - Semana 01

Operadores Relacionais

Operador Simbolo

Menor <

Menor ou Igual <=

Maior >

Maior ou Igual >=

Diferente <>

Igual =

Os operadores relacionais retornam valores lógicos

(Verdadeiro ou Falso)

26

Page 27: Algoritmo 01 - Semana 01

Operadores Lógicos

Operador Simbolo Significado

Multiplicação

lógica

E Resulta VERDADEIRO se ambas

as partes forem verdadeiras.

Adição lógica OU Resulta VERDADEIRO se uma

das partes é verdadeira.

Negação NÃO Nega uma afirmação,

invertendo o seu valor lógico:

se for

VERDADEIRO torna-se FALSO, se

for FALSO torna-se

VERDADEIRO.

27

Page 28: Algoritmo 01 - Semana 01

Operadores Lógicos –

Tabela Verdade

28

Page 29: Algoritmo 01 - Semana 01

Exemplo – Operadores

Relacionais

2+5>4 resulta VERDADEIRO

3<>3 resulta FALSO

29

Page 30: Algoritmo 01 - Semana 01

Operadores Lógicos –

Exemplo

(2+5>4) e (3<>3) resulta FALSO,

pois VERDADEIRO e FALSO resulta FALSO.

30

Page 31: Algoritmo 01 - Semana 01

Prioridades de OperadoresOperador Aritmético Prioridade

Exponenciação 3

Multiplicação 2

Divisão 2

Adição 1

Subtração 1

Operador Lógico Prioridade

E 3

OU 2

NÃO 1

Operador Prioridade

Aritméticos 3

Relacionais 2

Lógicos 1

(2 + 2)/2 resulta 2

2 + 2/2 resulta 3

31

Page 32: Algoritmo 01 - Semana 01

Tabelas de Prioridade –

Operadores Lógicos

(2>3) ou (3<2) e (2<3) //resultado seria Falso

(2>3) e (3<2) ou (2<3) //resultado seria Verdadeiro

32

Page 33: Algoritmo 01 - Semana 01

Prioridade entre

categorias de operadores

Atenção:

O software VisuAlg não possui relacionamento de categorias.

2*5>3 ou 5+1<2 e 2<7-2 // resulta em erro.

(2*5>3) ou (5+1<2) e (2<7-2) // certo seria assim.

33

Page 34: Algoritmo 01 - Semana 01

Linearização de

Expressões

Para a construção de algoritmos que realizam

cálculo matemáticos, todas as expressões

aritméticas devem ser linearizadas, ou seja,

colocadas em linhas, devendo também ser feito o mapeamento dos operadores da aritmética

tradicional para os do Português Estruturado.

34

Page 35: Algoritmo 01 - Semana 01

Variáveis

Variável

Conteúdo

NomeTipo

35

Page 36: Algoritmo 01 - Semana 01

Regras no nome das

variáveis

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

2. nomes de variáveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, números e sublinhado);

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

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

5. na sintaxe do Português Estruturado, não há diferença entre letras maiúsculas de minúsculas (NOME é o mesmo que noMe).

36

Page 37: Algoritmo 01 - Semana 01

Tipos de Dados

Tipos

Literal Lógico

Numéricos

37