SlideShare uma empresa Scribd logo
Bases deBases de
ProgramaçãoProgramação
Lógica de Programação
Funcionamento básico doFuncionamento básico do
computador - Fluxo de dadoscomputador - Fluxo de dados
Entrada
Saída
Memória
Processamento
Lógica de ProgramaçãoLógica de Programação
Lógica
A lógica de programação é necessária para as pessoas
que desejam trabalhar com o desenvolvimento de
sistemas e programas de computador
Permite definir as instruções que serão executadas pelo
computador dentro de uma sequência lógica.
Desta forma, pode-se definir a lógica de programação
como a técnica de encadear pensamentos para atingir um
determinado objectivo.
Lógica de ProgramaçãoLógica de Programação
Sequência Lógica
Estes pensamentos devem ser descritos como um
sequência de instruções ou passos que devem ser
seguidos para se cumprir uma determinada tarefa.
Desta forma, uma sequência lógica pode ser entendida
como um conjunto de passos que devem ser seguidos até
se atingir um objectivo ou a solução de um problema.
Lógica de ProgramaçãoLógica de Programação
Instruções
Em informática uma instrução é uma informação que
indica ao computador uma acção a executar.
Uma ordem ou acção isolada normalmente não permite a
especificação de todas as instruções para se atingir um
objectivo ou realizar uma tarefa completa sendo, para isto,
necessário um conjunto de instruções colocadas numa
certa sequencia lógica.
- Por exemplo, se quisermos fazer um omelete de batatas,
precisamos de: descascar as batatas, bater os ovos, fritar as
batatas, etc, etc. É evidente também que essas instruções
devem ser executadas numa ordem adequada (não se pode
descascar as batatas depois de fritá-las).
Algoritmo x ProgramaAlgoritmo x Programa
Algoritmo:
“Conjunto de etapas finitas, ordenadamente definidas com
o propósito de obter soluções para um determinado
problema.”
Programa:
“Formalização de um algoritmo numa linguagem
compreensível pelo computador. É escrito numa
linguagem de alto nível, gerando o programa fonte.”
AlgoritmoAlgoritmo
Algoritmo não é a solução de um problema, pois, se
assim fosse, cada problema teria um único algoritmo.
Algoritmo é um caminho para a solução de um
problema, e geralmente, os caminhos que levam a uma
solução são muitos.
Problema Algoritmo Programa
AlgoritmosAlgoritmos
Aprender a criar algoritmos consegue-se através de
muitos exercícios.
Algoritmos não se aprendem:
Copiando Algoritmos
Estudando Algoritmos
Algoritmos só se aprendem:
Construindo Algoritmos
Testando Algoritmos
Como criar um algoritmoComo criar um algoritmo
Detectar os dados envolvidos no problema.
Identificar os dados que são de entrada e os dados que
são de saída.
Efectuar a leitura dos dados de entrada.
Identificar que operações devem ser feitas com os
dados lidos.
Armazenar os resultados destas operações.
Mostrar os dados de saída.
Características de um AlgoritmoCaracterísticas de um Algoritmo
Segundo Knuth, um algoritmo é uma sequência de passos bem
definida que resolve determinado problema, através da
transformação de dados iniciais na resposta desejada, tendo
cinco importantes características:
- Deve ser finito (finitness);
- Os passos devem ser bem definidos, sem
ambiguidades,
- ou seja, os passos não devem ter várias
interpretações (definiteness);
- Deve ser eficaz, ou seja, deve produzir resultados
em tempo “aceitável” (effectiveness);
- Deve possuir uma entrada (input);
- Deve produzir uma saída ou resultado (output).
Formas de RepresentaçãoFormas de Representação
Os Algoritmos podem ser representados, dentre outras
maneiras, por:
Descrição Narrativa;
Fuxogramas;
Pseudocódigo.
Formas de RepresentaçãoFormas de Representação
Descrição Narrativa
Faz-se uso do português para descrever algoritmos.
- EXEMPLO: Receita de Bolo:
Arranje manteiga, ovos, 2 Kg de massa, açucar.
Misture os ingredientes
Despeje a mistura na forma de bolo
Leve a forma ao forno
Espere 20 minutos
Retire a forma do forno
Deixe arrefecer
Prove
Formas de RepresentaçãoFormas de Representação
Descrição Narrativa
Vantagens:
- O português é bastante 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).
Formas de RepresentaçãoFormas de Representação
Fluxograma
Utilização de símbolos gráficos para representar
algoritmos.
No fluxograma existem símbolos padronizados para início,
entrada de dados, cálculos, saída de dados, fim, etc.
Cálculo Decisão Entrada Saída Início/Fim
Formas de RepresentaçãoFormas de Representação
Fluxograma
Exemplo
- Algoritmo
que receba
um numero
e mostre o
seu dobro:
EXEMPLOEXEMPLO EXPLICAÇÃOEXPLICAÇÃO
Início do algoritmo
Entrada do número
Cálculo do dobro do número
Apresentação do resultado
Fim do algoritmo
Início
Leia NUM
DOBRO <- NUM * 2
Escreva DOBRO
Fim
Formas de RepresentaçãoFormas de Representação
Fluxograma
Vantagens
- Uma das ferramentas mais conhecidas;
- Figuras dizem muito mais que palavras;
- Padrão mundial.
Desvantagens
- Qualquer alteração obriga a re-desenhar o fluxograma;
- Pouca atenção aos dados, não oferecendo recursos para
descrevê-los ou representá-los;
- Complica-se à medida que o algoritmo cresce.
Formas de RepresentaçãoFormas de Representação
PseudoCódigo
Consiste na definição de uma pseudolinguagem de
programação, cujos comandos são em português, para
representar algoritmos.
- EXEMPLO: Algoritmo CALCULA_DOBRO
início
Ler (NUM)
DOBRO  2 * NUM
Escrever (DOBRO)
fim
Formas de RepresentaçãoFormas de Representação
PseudoCódigo
Vantagens:
- Independência física da solução (solução lógica apenas);
- 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.
Refinamentos SucessivosRefinamentos Sucessivos
Top-DownTop-Down
Um algoritmo é considerado completo se os seus comandos forem
entendidos pelo destinatário.
Caso isso não aconteça, terá que ser desdobrado em novos
comandos, que constituirão um refinamento do comando inicial, e
assim sucessivamente, até que os comandos sejam entendidos
pelo destinatário.
Por exemplo, o algoritmo para calcular a média aritmética de dois
números pode ser escrito da seguinte forma:
Algoritmo CALCULA_MÉDIA
Início
Receba os dois números
Calcule a média dos dois números
Exiba o resultado
Fim
Refinamentos SucessivosRefinamentos Sucessivos
Top-DownTop-Down
Podemos desdobrar o comando “Calcule a média dos dois números” em:
Soma os dois números
Divida o resultado por 2
Após esse refinamento, o algoritmo pode ser considerado completo, a
menos que o destinatário não saiba fazer as operações de adição e divisão,
ou não seja capaz de entender directamente algum comando.
Estando o algoritmo estando completo, podemos reescrevê-lo, inserindo o
refinamento na posição do comando que foi refinado. Assim sendo, obtém-
se:
Algoritmo CALCULA_MÉDIA
Início
Receba os dois números
Soma os dois números
Divida o resultado por 2
Mostre o resultado
Fim
Refinamentos SucessivosRefinamentos Sucessivos
Top-DownTop-Down
Reescrever um algoritmo completo, com os
refinamentos sucessivos inseridos nos seus devidos
lugares, permite ter uma visão global de como o
algoritmo deve ser executado.
À medida que o algoritmo passa a ser maior e mais
complexo, esta visão global torna-se menos clara .
Um algoritmo apresentado com os refinamentos
sucessivos separados oferece uma melhor abordagem
para quem precisar entendê-lo.
Refinamentos SucessivosRefinamentos Sucessivos
Top-DownTop-Down
Algoritmo 1 Algoritmo 2
Molhar o cabelo
Colocar shampoo
Massajar
Enxaguar
Secar o cabelo
Abrir a torneira do chuveiro
Entrar na água
Molhar o cabelo
Abrir o shampoo
Colocar um pouco na mão
Levar à cabeça
Massajar
Enxaguar
Sair da água
Fechar o chuveiro
Secar o cabelo
ESTRUTURA GERAL DE UMESTRUTURA GERAL DE UM
ALGORITMOALGORITMO
- Algoritmo Nome-do-Algoritmo;
- Declaração de constantes, tipos e variáveis;
- Início
 Sequências de Comandos;
- Fim.
VariáveisVariáveis
Nos algoritmos a cada variável corresponde uma
posição de memória, cujo conteúdo pode variar ao
longo do tempo durante a execução de um
algoritmo.
Embora a variável possa assumir diferentes valores, ela
só pode armazenar um valor a cada instante.
Espaço de memória primária
Possui um endereço físico - lógico
Exemplo:
Endereço Físico = 3000: B712
Endereço Lógico = Nome
Conteúdo = “João”
VariáveisVariáveis
Toda variável é identificada por um nome ou
identificador.
Assim, por exemplo, num algoritmo para calcular a área
de um triângulo rectângulo pelo teorema de pitágoras
(a2 = b2 + c2), os identificadores A, B e C podem
representar as posições de memória que armazenam o
valor da hipotenusa e dos catetos.
Criar uma variável significa reservar uma gaveta na
memória do computador atribuindo-lhe um nome e
escolher o tipo de dado que esta gaveta armazenará.
ConstantesConstantes
Constantes
Informação que não sofre alteração no decorrer do
algoritmo.
Ex: PI=3,14, Aprovado=Falso.
Variáveis e ConstantesVariáveis e Constantes
Declaração de Variáveis e Constantes
Quando definir variáveis ?
- Quando um dado necessário à resolução do problema
sofrer alterações de valor ao longo desta resolução.
Quando definir constantes ?
- Quando uma valor fixo for utilizado várias vezes para a
resolução do problema.
Variáveis e ConstantesVariáveis e Constantes
Nomes de variáveis e Constantes:
podem ter um ou mais caracteres;
o primeiro caracter deve ser letra;
não pode ter espaços em branco nem acentos;
não podem utilizar caracteres especiais, somente letras e
números;
Tipos de DadosTipos de Dados
Tipo de Dados Exemplo
Inteiro 102
Real 13,5
Lógico Verdadeiro Falso
Caractere ‘S’
String “Programação”
Os algoritmos e as linguagens trabalham com dados.
Estes dados são classificados em tipos.
Tipos de OperadoresTipos de Operadores
Operadores Aritméticos Exemplos
Operador Operação
+ Adição
- Subtracção
* Multiplicação
/ Divisão Real
DIV Divisão Inteira
MOD Resto da Divisão
^ Expoente
Expressão Resultado
1 + 2 3
5.0 - 1 4.0
2 * 1.5 3.0
5 / 2 2.5
5 DIV 2 2
5 MOD 2 1
3^2 9
Tipos de OperadoresTipos de Operadores
PRIORIDADE
Numa expressão aritmética, a ordem de avaliação dos operadores
obedece a tabela abaixo:
Exemplo: Se tivermos a seguinte fórmula matemática:
Fórmula aceita pelo computador:
Area ← (base*altura)/2
2
alturabase
area
•
=
Prioridade Operadores
1ª * / DIV MOD
2ª + -
Tipos de OperadoresTipos de Operadores
Operadores de Comparação Exemplos
Operador Operação
= igual
> maior
< menor
>= maior ou igual
<= menor ou igual
<> diferente
Expressão Resultado
1 = 2 Falso
'A' = 'a' Falso
5 > 2 Verdadeiro
3 <= 3 Verdadeiro
'JOAO' > 'JOSE' Falso
2 + 3 <> 5 Falso
'comp' <> 'COMP' Verdadeiro
Tipos de OperadoresTipos de Operadores
Operadores lógicos
Prioridade
Operador Operação
notnot não (negação)
andand e (conjunção)
oror ou (disjunção)
Prioridade Operadores
1ª NOT
2ª AND
3ª OR
4ª = > < >= <= <>
Tabelas de VerdadeTabelas de Verdade
p não p
V F
F V
p q p e q
V V V
V F F
F V F
F F F
p q p ou q
V V V
V F V
F V V
F F F
Prioridades entre todos osPrioridades entre todos os
OperadoresOperadores
1. parênteses mais internos
2. operadores aritméticos
3. operadores comparação
4. operadores lógicos
AtribuiçãoAtribuição
Fornece um valor a uma variável.
Ex:
a ← 1;
sexo ← “FEMININO”;
salário ← 128,00;
InstruçõesInstruções
Entrada de Dados
Ler ( )
Saída de Dados
Escrever ( )
Atribuição (memória)
←
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
Nas estruturas de um algoritmo é, frequentemente,
necessário:
jogar com determinadas condições, para decidir se se
deve executar uma ou outra acção;
repetir uma série de instruções, um determinado número
de vezes ou enquanto se verificar uma certa condição;
E de acordo com a Programação Estruturada os
mecanismos utilizados para esse controle são :
Sequência, Selecção e Repetição
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
SEQUÊNCIA :
usada para executar comandos passo a passo, sabendo que
todos eles serão executados na ordem de escrita, sem
nenhum desvio.
Uma sequência pode possuir um ou vários comandos, os
quais devem ser delimitados pelos identificadores Início e Fim.
Exemplo:
programa media_final;
var
nota1, nota2, nota3, nota4, media: real;
nome : string
inicio
ler (nome);
ler (nota1, nota2, nota3, nota4);
media ← (nota1 + nota2 + nota3 + nota4) / 4;
escrever (nome, media)
fim.
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
SelecçãoSelecção :
usada para tomar decisões, ou seja desviar a
execução do algoritmo de acordo com uma condição,
podendo ser simples ou composta .
Simples Composta
se condição então
Instruções;
FimSe;
se condição então
Instruções;
Senão
Instruções;
FimSe;
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
SelecçãoSelecção
Muito importante:
- Sempre que existir mais do que uma instrução dentro do então ou
do senão, deve colocar-se Inicio e Fim.
- Exemplo:
se condição então
inicio
Instrução 1;
Instrução 2;
Fim
Senão
inicio
Instrução 1;
Instrução 2;
Instrução 3;
Fim
FimSe;
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
SelecçãoSelecção
Fluxogramas
Simples Composta
Condição
Comando-1
Comando-2
Comando-n
Condição
Comando-A1
Comando-A2
Comando-An
Comando-B1
Comando-B2
Comando-Bn
VV
FF
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
SelecçãoSelecção
Exemplos Pseudocódigo
Simples Composta
PROGRAMA MEDIA_FINAL;
VAR
MEDIA: REAL;
INICIO
LER (MEDIA);
SE (MEDIA>=9,5) ENTÃO
ESCREVER (‘APROVADO’)
FIMSE
FIM.
PROGRAMA MEDIA_FINAL;
VAR
MEDIA: REAL;
INICIO
LER (MEDIA);
SE (MEDIA>=9,5) ENTÃO
ESCREVER (‘APROVADO’)
SENÃO
ESCREVER (‘REPROVADO’)
FIMSE
FIM.
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
SelecçãoSelecção
Exemplos Fluxogramas
Simples Composta
SE MEDIA >=9,5
V
F
INICI
O
FIM
Ler (MEDIA)
Escrever (“Aprovado”)
SE MEDIA >=9,5
V
F
INICI
O
FIM
Ler (MEDIA)
Escrever (“Aprovado”) Escrever (“Reprovado”)
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
Selecção MúltiplaSelecção Múltipla
Caso
- Muito útil quando existem várias hipóteses de selecção, pois
permite reduzir a complexidade do algoritmo.
Sintaxe
CASO (variável) SEJA
valor1: instruções;
valor2: instruções;
.
.
valorn: instruções;
SENÃO: instruções;
FimCaso
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
Selecção MúltiplaSelecção Múltipla
Exemplo de um algoritmo utilizando o Se e o Caso
SE CASO
PROGRAMA LANCHE;
VAR
LETRA: CARACTERE;
INICIO
LER (LETRA);
SE (LETRA=‘H’) ENTÃO
ESCREVER
(‘HAMBURGUER’);
SENÃO SE (LETRA=‘P’) ENTÃO
ESCREVER (‘PIZZA’);
SENÃO SE (LETRA=‘T’) ENTÃO
ESCREVER (‘TOSTA MISTA’);
SENÃO SE (LETRA=‘S’) ENTÃO
ESCREVER (‘SANDES’);
SENÃO
ESCREVER (‘ERRO NA
LETRA’);
FIMSE
PROGRAMA LANCHE;
VAR
LETRA: CARACTERE;
INICIO
LER (LETRA);
CASO (LETRA) SEJA
‘H’: ESCREVER(“HAMBURGUER”);
‘P’: ESCREVER (“PIZZA”);
‘T’:ESCREVER (“TOSTA MISTA”);
‘S’:ESCREVER (“SANDES”);
SENÃO:ESCREVER (“ERRO NA LETRA”)
FIMCASO
FIM.
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
Serve para efectuar um conjunto de acções repetidas
vezes.
A estrutura de repetição, assim como a de selecção,
envolve sempre a avaliação de uma condição.
Existem três tipos básicos de repetições, sendo elas:
- Para
- Repetir
- Enquanto
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
ParaPara
ParaPara variávelvariável ←← valor_inicialvalor_inicial atéaté valor_finalvalor_final façafaça
instruções;instruções;
FimParaFimPara
• O comando Para aumenta, a variável, a partir do valor_inicial
em uma unidade, até que, esta atinja o valor_final.
• E para cada aumento as instruções são executadas..
• NotaNota! No VisualAlg faz-se :! No VisualAlg faz-se :
• para j de valor_inicial ate valor_final facapara j de valor_inicial ate valor_final faca
• InstruçõesInstruções
• fimparafimpara
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
ParaPara
Exemplo: Algoritmo que mostra primeiros 100 números pares.
PROGRAMA PARES;
VAR NUM: INTEIRO;
INICIO
PARA NUM ←← 1 ATE 100 FACA
INICIO
SE (NUM MOD 2 =0) ENTÃO
ESCREVER (NUM);
FIM
FIMPARA.
FIM
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
ENQUANTOENQUANTO
EnquantoEnquanto (condição)(condição) façafaça
Instruções;Instruções;
FimEnquantoFimEnquanto
O comando Enquanto analisa a Condição, e
enquanto o seu resultado for Verdadeiro executa as
instruções.
• NotaNota! No VisualAlg faz-se da mesma forma! No VisualAlg faz-se da mesma forma
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
EnquantoEnquanto
Exemplo: Algoritmo que mostra primeiros 100 números pares.
PROGRAMA PARES;
VAR NUM: INTEIRO;
INICIO
NUM ←1;
ENQUANTO (NUM<=100) FACA
INICIO
SE (NUM MOD 2 =0) ENTÃO
ESCREVER (NUM);
NUM ←NUM+1;;
FIM
FIMPARA.
FIM.
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
REPETIRREPETIR
RepetirRepetir
instruções;instruções;
AtéAté (condição);(condição);
• O comando Repetir executa as instruções até que o
valor retornado pela condição seja Verdadeiro
• NotaNota! No VisualAlg faz-se :! No VisualAlg faz-se :
• Repita
• <instruções>
• ate <condição>
COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE
FLUXOFLUXO
RepetiçãoRepetição
RepetirRepetir
Exemplo: Algoritmo que mostra primeiros 100 números pares.
PROGRAMA PARES;
VAR NUM: INTEIRO;
INICIO
NUM ←1;
REPETIR
INICIO
SE (NUM MOD 2 =0) ENTÃO
ESCREVER (NUM);
NUM ←NUM+1;;
FIM
ATÉ (NUM=100) .
FIM.
CONTADOR VS ACUMULADORCONTADOR VS ACUMULADOR
Um Contador é uma variável que vai aumentando o seu
valor.
Nos exemplos anteriores, a variável NUM é um contador.
Contador é uma linha que, a cada vez que é executada,
soma um número fixo (geralmente 1) a uma variável.
Assim, pode-se contar, por exemplo, quantas vezes
aquela parte do código foi executada e, dessa forma,
controlar o numero de repetições.
O Acumulador é uma estrutura criada para ir
acumulando valores a uma determinada variável.
O contador recebe incrementos constantes enquanto o
acumulador recebe incrementos variáveis
CONTADOR VS ACUMULADORCONTADOR VS ACUMULADOR
Exemplo:
Programa que calcula a soma dos 5 primeiros números.
PROGRAMA SOMA;
VAR NUM, SOMA:INTEIRO;
INICIO
SOMA ←0;
NUM ←1;
REPETIR
SOMA ←SOMA+NUM;
NUM ←NUM+1;
ATÉ QUE (NUM=5);
FIM
Contador: Num
Acumulador: Soma

Mais conteúdo relacionado

Mais procurados

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
Gercélia Ramos
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
Aislan Rafael
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
André Agostinho
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
Elaine Cecília Gatto
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
Gercélia Ramos
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
O Scratch no ensino da programação
O Scratch no ensino da programaçãoO Scratch no ensino da programação
O Scratch no ensino da programação
João Sá
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
pronatecvja
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Regis Magalhães
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
Carlos Wagner Costa
 
Pensamento computacional
Pensamento computacional Pensamento computacional
Pensamento computacional
Fernanda Ledesma
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
Mauro Pereira
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
Adilio Tavares
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
Professor Samuel Ribeiro
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
Elaine Cecília Gatto
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
Roney Sousa
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
Elaine Cecília Gatto
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
Gercélia Ramos
 

Mais procurados (20)

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
O Scratch no ensino da programação
O Scratch no ensino da programaçãoO Scratch no ensino da programação
O Scratch no ensino da programação
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Pensamento computacional
Pensamento computacional Pensamento computacional
Pensamento computacional
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 

Semelhante a Algoritmos

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
Jose Augusto Cintra
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
Rodrigo Kiyoshi Saito
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
dasko
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
Sandro Lopes
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
Paulo Cardoso
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
Jocelma Rios
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Alex Camargo
 
Cap03
Cap03Cap03
Cap03
mvbahamut
 
Cap03
Cap03Cap03
Cap03
mvbahamut
 
Cap03
Cap03Cap03
Cap03
mvbahamut
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
12anogolega
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
Raul Oliveira
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Aula02
Aula02Aula02
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
GustavoBarrosLins1
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
Adao Chiavelli
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
Rogério Fernandes da Costa
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
diogoa21
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
Cleide Soares
 

Semelhante a Algoritmos (20)

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Aula02
Aula02Aula02
Aula02
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 

Último

Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
edivirgesribeiro1
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
djincognito
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
atividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinhaatividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinha
Suzy De Abreu Santana
 
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdfUFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
Manuais Formação
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
TomasSousa7
 

Último (20)

Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
atividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinhaatividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinha
 
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdfUFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
 

Algoritmos

  • 2. Funcionamento básico doFuncionamento básico do computador - Fluxo de dadoscomputador - Fluxo de dados Entrada Saída Memória Processamento
  • 3. Lógica de ProgramaçãoLógica de Programação Lógica A lógica de programação é necessária para as pessoas que desejam trabalhar com o desenvolvimento de sistemas e programas de computador Permite definir as instruções que serão executadas pelo computador dentro de uma sequência lógica. Desta forma, pode-se definir a lógica de programação como a técnica de encadear pensamentos para atingir um determinado objectivo.
  • 4. Lógica de ProgramaçãoLógica de Programação Sequência Lógica Estes pensamentos devem ser descritos como um sequência de instruções ou passos que devem ser seguidos para se cumprir uma determinada tarefa. Desta forma, uma sequência lógica pode ser entendida como um conjunto de passos que devem ser seguidos até se atingir um objectivo ou a solução de um problema.
  • 5. Lógica de ProgramaçãoLógica de Programação Instruções Em informática uma instrução é uma informação que indica ao computador uma acção a executar. Uma ordem ou acção isolada normalmente não permite a especificação de todas as instruções para se atingir um objectivo ou realizar uma tarefa completa sendo, para isto, necessário um conjunto de instruções colocadas numa certa sequencia lógica. - Por exemplo, se quisermos fazer um omelete de batatas, precisamos de: descascar as batatas, bater os ovos, fritar as batatas, etc, etc. É evidente também que essas instruções devem ser executadas numa ordem adequada (não se pode descascar as batatas depois de fritá-las).
  • 6. Algoritmo x ProgramaAlgoritmo x Programa Algoritmo: “Conjunto de etapas finitas, ordenadamente definidas com o propósito de obter soluções para um determinado problema.” Programa: “Formalização de um algoritmo numa linguagem compreensível pelo computador. É escrito numa linguagem de alto nível, gerando o programa fonte.”
  • 7. AlgoritmoAlgoritmo Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um caminho para a solução de um problema, e geralmente, os caminhos que levam a uma solução são muitos. Problema Algoritmo Programa
  • 8. AlgoritmosAlgoritmos Aprender a criar algoritmos consegue-se através de muitos exercícios. Algoritmos não se aprendem: Copiando Algoritmos Estudando Algoritmos Algoritmos só se aprendem: Construindo Algoritmos Testando Algoritmos
  • 9. Como criar um algoritmoComo criar um algoritmo Detectar os dados envolvidos no problema. Identificar os dados que são de entrada e os dados que são de saída. Efectuar a leitura dos dados de entrada. Identificar que operações devem ser feitas com os dados lidos. Armazenar os resultados destas operações. Mostrar os dados de saída.
  • 10. Características de um AlgoritmoCaracterísticas de um Algoritmo Segundo Knuth, um algoritmo é uma sequência de passos bem definida que resolve determinado problema, através da transformação de dados iniciais na resposta desejada, tendo cinco importantes características: - Deve ser finito (finitness); - Os passos devem ser bem definidos, sem ambiguidades, - ou seja, os passos não devem ter várias interpretações (definiteness); - Deve ser eficaz, ou seja, deve produzir resultados em tempo “aceitável” (effectiveness); - Deve possuir uma entrada (input); - Deve produzir uma saída ou resultado (output).
  • 11. Formas de RepresentaçãoFormas de Representação Os Algoritmos podem ser representados, dentre outras maneiras, por: Descrição Narrativa; Fuxogramas; Pseudocódigo.
  • 12. Formas de RepresentaçãoFormas de Representação Descrição Narrativa Faz-se uso do português para descrever algoritmos. - EXEMPLO: Receita de Bolo: Arranje manteiga, ovos, 2 Kg de massa, açucar. Misture os ingredientes Despeje a mistura na forma de bolo Leve a forma ao forno Espere 20 minutos Retire a forma do forno Deixe arrefecer Prove
  • 13. Formas de RepresentaçãoFormas de Representação Descrição Narrativa Vantagens: - O português é bastante 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).
  • 14. Formas de RepresentaçãoFormas de Representação Fluxograma Utilização de símbolos gráficos para representar algoritmos. No fluxograma existem símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim, etc. Cálculo Decisão Entrada Saída Início/Fim
  • 15. Formas de RepresentaçãoFormas de Representação Fluxograma Exemplo - Algoritmo que receba um numero e mostre o seu dobro: EXEMPLOEXEMPLO EXPLICAÇÃOEXPLICAÇÃO Início do algoritmo Entrada do número Cálculo do dobro do número Apresentação do resultado Fim do algoritmo Início Leia NUM DOBRO <- NUM * 2 Escreva DOBRO Fim
  • 16. Formas de RepresentaçãoFormas de Representação Fluxograma Vantagens - Uma das ferramentas mais conhecidas; - Figuras dizem muito mais que palavras; - Padrão mundial. Desvantagens - Qualquer alteração obriga a re-desenhar o fluxograma; - Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los; - Complica-se à medida que o algoritmo cresce.
  • 17. Formas de RepresentaçãoFormas de Representação PseudoCódigo Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em português, para representar algoritmos. - EXEMPLO: Algoritmo CALCULA_DOBRO início Ler (NUM) DOBRO  2 * NUM Escrever (DOBRO) fim
  • 18. Formas de RepresentaçãoFormas de Representação PseudoCódigo Vantagens: - Independência física da solução (solução lógica apenas); - 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.
  • 19. Refinamentos SucessivosRefinamentos Sucessivos Top-DownTop-Down Um algoritmo é considerado completo se os seus comandos forem entendidos pelo destinatário. Caso isso não aconteça, terá que ser desdobrado em novos comandos, que constituirão um refinamento do comando inicial, e assim sucessivamente, até que os comandos sejam entendidos pelo destinatário. Por exemplo, o algoritmo para calcular a média aritmética de dois números pode ser escrito da seguinte forma: Algoritmo CALCULA_MÉDIA Início Receba os dois números Calcule a média dos dois números Exiba o resultado Fim
  • 20. Refinamentos SucessivosRefinamentos Sucessivos Top-DownTop-Down Podemos desdobrar o comando “Calcule a média dos dois números” em: Soma os dois números Divida o resultado por 2 Após esse refinamento, o algoritmo pode ser considerado completo, a menos que o destinatário não saiba fazer as operações de adição e divisão, ou não seja capaz de entender directamente algum comando. Estando o algoritmo estando completo, podemos reescrevê-lo, inserindo o refinamento na posição do comando que foi refinado. Assim sendo, obtém- se: Algoritmo CALCULA_MÉDIA Início Receba os dois números Soma os dois números Divida o resultado por 2 Mostre o resultado Fim
  • 21. Refinamentos SucessivosRefinamentos Sucessivos Top-DownTop-Down Reescrever um algoritmo completo, com os refinamentos sucessivos inseridos nos seus devidos lugares, permite ter uma visão global de como o algoritmo deve ser executado. À medida que o algoritmo passa a ser maior e mais complexo, esta visão global torna-se menos clara . Um algoritmo apresentado com os refinamentos sucessivos separados oferece uma melhor abordagem para quem precisar entendê-lo.
  • 22. Refinamentos SucessivosRefinamentos Sucessivos Top-DownTop-Down Algoritmo 1 Algoritmo 2 Molhar o cabelo Colocar shampoo Massajar Enxaguar Secar o cabelo Abrir a torneira do chuveiro Entrar na água Molhar o cabelo Abrir o shampoo Colocar um pouco na mão Levar à cabeça Massajar Enxaguar Sair da água Fechar o chuveiro Secar o cabelo
  • 23. ESTRUTURA GERAL DE UMESTRUTURA GERAL DE UM ALGORITMOALGORITMO - Algoritmo Nome-do-Algoritmo; - Declaração de constantes, tipos e variáveis; - Início  Sequências de Comandos; - Fim.
  • 24. VariáveisVariáveis Nos algoritmos a cada variável corresponde uma posição de memória, cujo conteúdo pode variar ao longo do tempo durante a execução de um algoritmo. Embora a variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. Espaço de memória primária Possui um endereço físico - lógico Exemplo: Endereço Físico = 3000: B712 Endereço Lógico = Nome Conteúdo = “João”
  • 25. VariáveisVariáveis Toda variável é identificada por um nome ou identificador. Assim, por exemplo, num algoritmo para calcular a área de um triângulo rectângulo pelo teorema de pitágoras (a2 = b2 + c2), os identificadores A, B e C podem representar as posições de memória que armazenam o valor da hipotenusa e dos catetos. Criar uma variável significa reservar uma gaveta na memória do computador atribuindo-lhe um nome e escolher o tipo de dado que esta gaveta armazenará.
  • 26. ConstantesConstantes Constantes Informação que não sofre alteração no decorrer do algoritmo. Ex: PI=3,14, Aprovado=Falso.
  • 27. Variáveis e ConstantesVariáveis e Constantes Declaração de Variáveis e Constantes Quando definir variáveis ? - Quando um dado necessário à resolução do problema sofrer alterações de valor ao longo desta resolução. Quando definir constantes ? - Quando uma valor fixo for utilizado várias vezes para a resolução do problema.
  • 28. Variáveis e ConstantesVariáveis e Constantes Nomes de variáveis e Constantes: podem ter um ou mais caracteres; o primeiro caracter deve ser letra; não pode ter espaços em branco nem acentos; não podem utilizar caracteres especiais, somente letras e números;
  • 29. Tipos de DadosTipos de Dados Tipo de Dados Exemplo Inteiro 102 Real 13,5 Lógico Verdadeiro Falso Caractere ‘S’ String “Programação” Os algoritmos e as linguagens trabalham com dados. Estes dados são classificados em tipos.
  • 30. Tipos de OperadoresTipos de Operadores Operadores Aritméticos Exemplos Operador Operação + Adição - Subtracção * Multiplicação / Divisão Real DIV Divisão Inteira MOD Resto da Divisão ^ Expoente Expressão Resultado 1 + 2 3 5.0 - 1 4.0 2 * 1.5 3.0 5 / 2 2.5 5 DIV 2 2 5 MOD 2 1 3^2 9
  • 31. Tipos de OperadoresTipos de Operadores PRIORIDADE Numa expressão aritmética, a ordem de avaliação dos operadores obedece a tabela abaixo: Exemplo: Se tivermos a seguinte fórmula matemática: Fórmula aceita pelo computador: Area ← (base*altura)/2 2 alturabase area • = Prioridade Operadores 1ª * / DIV MOD 2ª + -
  • 32. Tipos de OperadoresTipos de Operadores Operadores de Comparação Exemplos Operador Operação = igual > maior < menor >= maior ou igual <= menor ou igual <> diferente Expressão Resultado 1 = 2 Falso 'A' = 'a' Falso 5 > 2 Verdadeiro 3 <= 3 Verdadeiro 'JOAO' > 'JOSE' Falso 2 + 3 <> 5 Falso 'comp' <> 'COMP' Verdadeiro
  • 33. Tipos de OperadoresTipos de Operadores Operadores lógicos Prioridade Operador Operação notnot não (negação) andand e (conjunção) oror ou (disjunção) Prioridade Operadores 1ª NOT 2ª AND 3ª OR 4ª = > < >= <= <>
  • 34. Tabelas de VerdadeTabelas de Verdade p não p V F F V p q p e q V V V V F F F V F F F F p q p ou q V V V V F V F V V F F F
  • 35. Prioridades entre todos osPrioridades entre todos os OperadoresOperadores 1. parênteses mais internos 2. operadores aritméticos 3. operadores comparação 4. operadores lógicos
  • 36. AtribuiçãoAtribuição Fornece um valor a uma variável. Ex: a ← 1; sexo ← “FEMININO”; salário ← 128,00;
  • 37. InstruçõesInstruções Entrada de Dados Ler ( ) Saída de Dados Escrever ( ) Atribuição (memória) ←
  • 38. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO Nas estruturas de um algoritmo é, frequentemente, necessário: jogar com determinadas condições, para decidir se se deve executar uma ou outra acção; repetir uma série de instruções, um determinado número de vezes ou enquanto se verificar uma certa condição; E de acordo com a Programação Estruturada os mecanismos utilizados para esse controle são : Sequência, Selecção e Repetição
  • 39. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO SEQUÊNCIA : usada para executar comandos passo a passo, sabendo que todos eles serão executados na ordem de escrita, sem nenhum desvio. Uma sequência pode possuir um ou vários comandos, os quais devem ser delimitados pelos identificadores Início e Fim. Exemplo: programa media_final; var nota1, nota2, nota3, nota4, media: real; nome : string inicio ler (nome); ler (nota1, nota2, nota3, nota4); media ← (nota1 + nota2 + nota3 + nota4) / 4; escrever (nome, media) fim.
  • 40. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO SelecçãoSelecção : usada para tomar decisões, ou seja desviar a execução do algoritmo de acordo com uma condição, podendo ser simples ou composta . Simples Composta se condição então Instruções; FimSe; se condição então Instruções; Senão Instruções; FimSe;
  • 41. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO SelecçãoSelecção Muito importante: - Sempre que existir mais do que uma instrução dentro do então ou do senão, deve colocar-se Inicio e Fim. - Exemplo: se condição então inicio Instrução 1; Instrução 2; Fim Senão inicio Instrução 1; Instrução 2; Instrução 3; Fim FimSe;
  • 42. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO SelecçãoSelecção Fluxogramas Simples Composta Condição Comando-1 Comando-2 Comando-n Condição Comando-A1 Comando-A2 Comando-An Comando-B1 Comando-B2 Comando-Bn VV FF
  • 43. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO SelecçãoSelecção Exemplos Pseudocódigo Simples Composta PROGRAMA MEDIA_FINAL; VAR MEDIA: REAL; INICIO LER (MEDIA); SE (MEDIA>=9,5) ENTÃO ESCREVER (‘APROVADO’) FIMSE FIM. PROGRAMA MEDIA_FINAL; VAR MEDIA: REAL; INICIO LER (MEDIA); SE (MEDIA>=9,5) ENTÃO ESCREVER (‘APROVADO’) SENÃO ESCREVER (‘REPROVADO’) FIMSE FIM.
  • 44. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO SelecçãoSelecção Exemplos Fluxogramas Simples Composta SE MEDIA >=9,5 V F INICI O FIM Ler (MEDIA) Escrever (“Aprovado”) SE MEDIA >=9,5 V F INICI O FIM Ler (MEDIA) Escrever (“Aprovado”) Escrever (“Reprovado”)
  • 45. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO Selecção MúltiplaSelecção Múltipla Caso - Muito útil quando existem várias hipóteses de selecção, pois permite reduzir a complexidade do algoritmo. Sintaxe CASO (variável) SEJA valor1: instruções; valor2: instruções; . . valorn: instruções; SENÃO: instruções; FimCaso
  • 46. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO Selecção MúltiplaSelecção Múltipla Exemplo de um algoritmo utilizando o Se e o Caso SE CASO PROGRAMA LANCHE; VAR LETRA: CARACTERE; INICIO LER (LETRA); SE (LETRA=‘H’) ENTÃO ESCREVER (‘HAMBURGUER’); SENÃO SE (LETRA=‘P’) ENTÃO ESCREVER (‘PIZZA’); SENÃO SE (LETRA=‘T’) ENTÃO ESCREVER (‘TOSTA MISTA’); SENÃO SE (LETRA=‘S’) ENTÃO ESCREVER (‘SANDES’); SENÃO ESCREVER (‘ERRO NA LETRA’); FIMSE PROGRAMA LANCHE; VAR LETRA: CARACTERE; INICIO LER (LETRA); CASO (LETRA) SEJA ‘H’: ESCREVER(“HAMBURGUER”); ‘P’: ESCREVER (“PIZZA”); ‘T’:ESCREVER (“TOSTA MISTA”); ‘S’:ESCREVER (“SANDES”); SENÃO:ESCREVER (“ERRO NA LETRA”) FIMCASO FIM.
  • 47. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição Serve para efectuar um conjunto de acções repetidas vezes. A estrutura de repetição, assim como a de selecção, envolve sempre a avaliação de uma condição. Existem três tipos básicos de repetições, sendo elas: - Para - Repetir - Enquanto
  • 48. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição ParaPara ParaPara variávelvariável ←← valor_inicialvalor_inicial atéaté valor_finalvalor_final façafaça instruções;instruções; FimParaFimPara • O comando Para aumenta, a variável, a partir do valor_inicial em uma unidade, até que, esta atinja o valor_final. • E para cada aumento as instruções são executadas.. • NotaNota! No VisualAlg faz-se :! No VisualAlg faz-se : • para j de valor_inicial ate valor_final facapara j de valor_inicial ate valor_final faca • InstruçõesInstruções • fimparafimpara
  • 49. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição ParaPara Exemplo: Algoritmo que mostra primeiros 100 números pares. PROGRAMA PARES; VAR NUM: INTEIRO; INICIO PARA NUM ←← 1 ATE 100 FACA INICIO SE (NUM MOD 2 =0) ENTÃO ESCREVER (NUM); FIM FIMPARA. FIM
  • 50. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição ENQUANTOENQUANTO EnquantoEnquanto (condição)(condição) façafaça Instruções;Instruções; FimEnquantoFimEnquanto O comando Enquanto analisa a Condição, e enquanto o seu resultado for Verdadeiro executa as instruções. • NotaNota! No VisualAlg faz-se da mesma forma! No VisualAlg faz-se da mesma forma
  • 51. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição EnquantoEnquanto Exemplo: Algoritmo que mostra primeiros 100 números pares. PROGRAMA PARES; VAR NUM: INTEIRO; INICIO NUM ←1; ENQUANTO (NUM<=100) FACA INICIO SE (NUM MOD 2 =0) ENTÃO ESCREVER (NUM); NUM ←NUM+1;; FIM FIMPARA. FIM.
  • 52. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição REPETIRREPETIR RepetirRepetir instruções;instruções; AtéAté (condição);(condição); • O comando Repetir executa as instruções até que o valor retornado pela condição seja Verdadeiro • NotaNota! No VisualAlg faz-se :! No VisualAlg faz-se : • Repita • <instruções> • ate <condição>
  • 53. COMANDOS DE CONTROLE DECOMANDOS DE CONTROLE DE FLUXOFLUXO RepetiçãoRepetição RepetirRepetir Exemplo: Algoritmo que mostra primeiros 100 números pares. PROGRAMA PARES; VAR NUM: INTEIRO; INICIO NUM ←1; REPETIR INICIO SE (NUM MOD 2 =0) ENTÃO ESCREVER (NUM); NUM ←NUM+1;; FIM ATÉ (NUM=100) . FIM.
  • 54. CONTADOR VS ACUMULADORCONTADOR VS ACUMULADOR Um Contador é uma variável que vai aumentando o seu valor. Nos exemplos anteriores, a variável NUM é um contador. Contador é uma linha que, a cada vez que é executada, soma um número fixo (geralmente 1) a uma variável. Assim, pode-se contar, por exemplo, quantas vezes aquela parte do código foi executada e, dessa forma, controlar o numero de repetições. O Acumulador é uma estrutura criada para ir acumulando valores a uma determinada variável. O contador recebe incrementos constantes enquanto o acumulador recebe incrementos variáveis
  • 55. CONTADOR VS ACUMULADORCONTADOR VS ACUMULADOR Exemplo: Programa que calcula a soma dos 5 primeiros números. PROGRAMA SOMA; VAR NUM, SOMA:INTEIRO; INICIO SOMA ←0; NUM ←1; REPETIR SOMA ←SOMA+NUM; NUM ←NUM+1; ATÉ QUE (NUM=5); FIM Contador: Num Acumulador: Soma