SlideShare uma empresa Scribd logo
1 de 55
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

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çãoAndré Agostinho
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
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
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoLeinylson Fontinele
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de MicroprocessadoresDiogo Silva
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosHenrique Nunweiler
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Pacc UAB
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 

Mais procurados (20)

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
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
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 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Aula 1
Aula 1Aula 1
Aula 1
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de Microprocessadores
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de Dados
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 

Semelhante a Lógica de Programação e Algoritmos

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmospronatecvja
 
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çãoJose Augusto Cintra
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
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.pptxPaulo Cardoso
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma 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
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 

Semelhante a Lógica de Programação e Algoritmos (20)

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
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
 

Último

HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024GleyceMoreiraXWeslle
 
Dança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parteDança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira partecoletivoddois
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASEdinardo Aguiar
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAlexandreFrana33
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxkarinasantiago54
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESpatriciasofiacunha18
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoCelianeOliveira8
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptTREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptAlineSilvaPotuk
 

Último (20)

HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024
 
Dança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parteDança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parte
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptx
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e feminino
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptTREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
 
(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..
(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..
(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..
 

Lógica de Programação e 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