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

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çãoMauro Pereira
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação João Piedade
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
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
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
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çãoAislan Rafael
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
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
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Karoline Tavares
 
Aula 01 eletricidade aplicadaos a redes
Aula 01   eletricidade aplicadaos a redes Aula 01   eletricidade aplicadaos a redes
Aula 01 eletricidade aplicadaos a redes Gabriel Xavier
 

Mais procurados (20)

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
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
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
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - 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)
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
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
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
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula 01 eletricidade aplicadaos a redes
Aula 01   eletricidade aplicadaos a redes Aula 01   eletricidade aplicadaos a redes
Aula 01 eletricidade aplicadaos a redes
 

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
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide Soares
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 

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
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Aula02
Aula02Aula02
Aula02
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
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
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 

Último

COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 

Último (20)

COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 

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