Você está na página 1de 37

1

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

http://eder.villalba.com.br
Ementa 2

 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.

http://eder.villalba.com.br
Objetivos 3

 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.

http://eder.villalba.com.br
Avaliação 4

 Provas Bimestrais – Peso 8


 Trabalhos Bimestrais – Peso 2

http://eder.villalba.com.br
5

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

http://eder.villalba.com.br
Conteúdo Programático 6

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

http://eder.villalba.com.br
Conteúdo Programático 7

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

http://eder.villalba.com.br
Conteúdo Programático 8

P3
 MATRIZES
 Matrizes de uma dimensão ou vetores
 Matrizes com mais de uma dimensão

http://eder.villalba.com.br
Conteúdo Programático P4 9

 Modularização de programas
 Procedimentos e funções
 Passagem de parâmetros

http://eder.villalba.com.br
10

Algoritmo
DEFINIÇÕES

http://eder.villalba.com.br
Algoritmo 11

 Um algoritmo é uma  São exemplos de algoritmos


sequência de instruções finita instruções de montagem,
e ordenada de forma lógica receitas, manuais de uso, etc.
para a resolução de uma
determinada tarefa ou
problema.

http://eder.villalba.com.br
Algoritmo 12

 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.

http://eder.villalba.com.br
Exemplo 1 13

http://eder.villalba.com.br
Exemplo 2 14

Algoritmo para fritar um ovo


 1. Colocar um ovo na frigideira
 2. Esperar o ovo ficar frito
 3. Remover o ovo da frigideira

http://eder.villalba.com.br
Exemplo 3 15

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

http://eder.villalba.com.br
Exemplo 4 16

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

http://eder.villalba.com.br
Exemplo 4 17

Algoritmo Lavar a cabeça


1 – Início 1) É a descrição de um
procedimento rotineiro;
2 – Molhe o cabelo 2) Tem um INÍCIO e um FIM
claros;
3 – Coloque Shampoo 3) A descrição é feita passo a
4 – Faça Massagem passo, de maneira bem definida;
4) Há imperfeições: 4.1) Não
5 – Enxágue especifica a quantidade de
shampoo;
6 – Repita o Processo 4.2) Não especifica quantas vezes
o processo deve ser repetido;
7 – Fim 4.3) Não especifica qual o
processo ou qual passo que deve
ser repetido.

http://eder.villalba.com.br
Exemplo 4 18
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

http://eder.villalba.com.br
Qualidades de um bom 19

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;

http://eder.villalba.com.br
Qualidades de um bom 20

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.

http://eder.villalba.com.br
Estratégias na Construção 21

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).

http://eder.villalba.com.br
Como Construir Algoritmos 22

Problema

Análise Preliminar

Solução

Teste de Qualidade Alteração

Produto Final
http://eder.villalba.com.br
Como Construir Algoritmos 23

 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.

http://eder.villalba.com.br
Portugol 24

 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.

http://eder.villalba.com.br
Operadores Aritméticos 25

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.

http://eder.villalba.com.br
Operadores Relacionais 26

Operador Simbolo
Menor <
Menor ou Igual <=
Maior >
Maior ou Igual >=
Diferente <>
Igual =

Os operadores relacionais retornam valores lógicos (Verdadeiro ou Falso)

http://eder.villalba.com.br
Operadores Lógicos 27

Operador Simbolo Significado


Multiplicação E Resulta VERDADEIRO se ambas as
lógica 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.

http://eder.villalba.com.br
Operadores Lógicos – Tabela 28

Verdade

http://eder.villalba.com.br
Exemplo – Operadores 29

Relacionais
 2+5>4 resulta VERDADEIRO
 3<>3 resulta FALSO

http://eder.villalba.com.br
Operadores Lógicos – Exemplo 30

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


 pois VERDADEIRO e FALSO resulta FALSO.

http://eder.villalba.com.br
Prioridades de Operadores 31
Operador Aritmético Prioridade
Exponenciação 3
Multiplicação 2
Divisão 2
Adição 1
Subtração 1

Operador Lógico Prioridade


(2 + 2)/2 resulta 2 E 3
2 + 2/2 resulta 3 OU 2
NÃO 1

Operador Prioridade
Aritméticos 3
Relacionais 2
Lógicos 1
http://eder.villalba.com.br
Tabelas de Prioridade – 32

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

http://eder.villalba.com.br
Prioridade entre categorias de 33

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.

http://eder.villalba.com.br
Linearização de Expressões 34

 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.

http://eder.villalba.com.br
Variáveis 35

Conteúdo

Variável

Tipo Nome

http://eder.villalba.com.br
Regras no nome das variáveis 36

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).

http://eder.villalba.com.br
Tipos de Dados 37

Tipos

Numéricos

Literal Lógico

http://eder.villalba.com.br

Você também pode gostar