Escolar Documentos
Profissional Documentos
Cultura Documentos
VENDA PROIBIDA
Contato
site: www.telecentros.sp.gov.br/capacitacao
email: capacitatecnica@gmail.com
Índice
Objetivo / Justificativa........................................................... 01
O que é algoritmo?............................................................... 02
Estrutura dos Algoritmos....................................................... 04
Teste de Mesa..................................................................... 05
Formas de Representação Gráfica.......................................... 06
Outros Símbolos.................................................................. 10
O que são Programas........................................................... 11
O que é um Compilador........................................................ 11
O que é Interpretador........................................................... 12
O que são Dados e seus Tipos............................................... 13
Tipo Inteiro......................................................................... 13
Tipo Real............................................................................ 14
Tipo Caracter...................................................................... 14
Tipo Lógico......................................................................... 15
O que são Variáveis.............................................................. 16
Exemplo de declaração e estrutura de um algoritmo................. 16
Entrada, Processamento e Saída............................................ 17
Representação .................................................................... 17
Fluxograma......................................................................... 18
Portugol.............................................................................. 19
Algoritmo da Multiplicação..................................................... 20
Tipos de Operadores............................................................ 20
Operadores Aritméticos........................................................ 21
Exemplo 1.......................................................................... 23
Exemplo 2.......................................................................... 23
Exemplo 3.......................................................................... 23
Operadores Relacionais........................................................ 24
Operadores Lógicos.............................................................. 25
E / And.............................................................................. 28
Exercício Portugol e Fluxograma............................................ 29
OU / OR............................................................................. 31
Exercício Portugol e Fluxograma............................................ 32
NÃO / NOT......................................................................... 34
Exercício Portugol e Fluxograma............................................ 35
Estruturas de Decisão.......................................................... 37
Se... Então......................................................................... 37
Exercício Portugol e Fluxograma........................................... 39
Se... Então... Senão............................................................. 41
Exercício Portugol e FLuxograma........................................... 42
Selecione... Caso................................................................. 44
Exercício Portugol e Fluxograma........................................... 47
Exercício se_então............................................................... 50
Estrutura de Repetição......................................................... 51
Enquanto ... Faça................................................................ 52
Exercício Portugol e fluxograma............................................. 54
Exercício Portugol e Fluxograma 2.......................................... 58
Repita ... Até que................................................................ 60
Exercício Portugol e fluxograma............................................. 62
Exercício Portugol e Fluxograma 2.......................................... 64
Para ... de ... até ... passo ... faça......................................... 66
Exercício Portugol e fluxograma............................................. 69
Transformação de pseudocódigo para PHP.............................. 71
Exercícios Adicionais............................................................ 73
Plano de Aula...................................................................... 77
Bibliografia......................................................................... 81
Lógica de Programação 1
Objetivo
Justificativa
O que é algoritmo?
Exemplo de um algoritmo.
● Pegue a escada;
● Suba na escada;
● Desça da escada;
1. Definir o problema;
2. Estudar a situação atual e analisar a forma de resolver o
problema;
3. Desenvolver o programa utilizando uma linguagem de
programação;
4. Após a implementação, analisar, junto aos usuários, se o
problema foi resolvido;
Digite os valores:
N1 e N2 Soma: N1 + N2 Resultado: Soma
Teste de Mesa
Nota 1
Nota 2
Reprovado Aprovado
Fim
Lógica de Programação 10
Outros Símbolos
O que é um Compilador
Um compilador é um programa que transforma o código escrito
Lógica de Programação 12
Execução
' Programa Fonte Programa
Compilador
objeto
Linguagem de alto Resultado
Linguagem de
nível baixo nível
O que é Interpretador
Execução
Programa Fonte
Tipo Inteiro
Os dados classificados como inteiros são aqueles numéricos
positivos ou negativos, com exceção dos números fracionários.
Tipo Inteiro
54
-89
0
13
Tipo Real
O tipo real compreende os números positivos, negativos e
fracionários.
Tipo Real
54
-89
0
0,23
Observe a seguir alguns exemplos de proposições que utilizam
dados do tipo real.
Tipo Caracter
Os dados classificados como caracteres são as sequências
contendo letras, números e símbolos especiais (@, !, $, %, &, *).
Essa sequência de caracteres deve ser delimitada por apenas aspas
(“”) ou apóstrofo (' '). O tipo caracter também é conhecido como:
alfanumérico, string, literal ou cadeia.
Lógica de Programação 15
Tipo Caracter
“Rua das Flores, 145”
“Aviso”
“CEP: 18900-000”
“10”
Tipo Lógico
Os dados classificados como lógicos são aqueles que podem
assumir somente dos valores: Verdadeiro e Falso. O tipo lógico,
também é conhecido como booleano devido a contribuição do filósofo
e matemático inglês George Boole na área da lógica matemática.
Representação
Fluxograma
Início
Exemplo de um Fluxograma
N
da leitura, multiplicação de
dois números e apresentação
de resultados. X=MXN
Fim
Portugol Fim
do programa.
Vamos utilizar o mesmo problema tratado pelo fluxograma
para codificar em portugol.
ALGORITMO MULTIPLICACAO
VARIÁVEIS
m: real
n: real
x: real
INÍCIO
LEIA m
LEIA n
x mxn
ESCREVA x
FIM
Tipos de Operadores
● Operadores Aritméticos
Lógica de Programação 21
● Operadores Relacionais
● Operadores Lógicos
Operadores Aritméticos
Operação Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação **
Radiciação rad
Resto da Divisão mod
Quociente da Divisão div
Lógica de Programação 22
Prioridade Operadores
1º ()
2º ** rad
3º * / div mod
4º +-
Obs:
Quando duas operações de mesmo nível de prioridade tem de
ser avaliadas, a operação mais à esquerda será resolvida primeiro.
Exemplo 1:
(2 +(30 mod 4 * 9 / 3)) -1
(2 +(2 * 9 / 3)) -1
(2 + (18 / 3))-1
(2+6)-1
8-1
7
Exemplo 2:
8+((8 * 3) / 6 div 2)
8+(24 / 6 div 2)
8+(4 div 2)
8+2
10
Exemplo 3:
12+(3**2 +15*4/2)-8*9
12+(9+15*4/2)-8*9
12+(9+60/2)-8*9
12+(9+30)-8*9
12+39-8*9
12+39-72
51-72
-21
Lógica de Programação 24
Operadores Relacionais
Símbolo Descrição
= Igual a
<> ou != Diferente de
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
Lógica de Programação 25
Exemplo:
Tendo duas variáveis A=7 e B=4, os resultados das expressões
seriam:
A=B Falso
A<>B Verdadeiro
A>B Verdadeiro
A<B Falso
A>=B Verdadeiro
A<=B Falso
Obs:
Para estabelecer prioridades no que diz respeito a qual
operação executar primeiro, utilize os parênteses. As operações
lógicas só podem ser efetuadas com relação a valores do mesmo tipo.
Operadores Lógicos
Operador Operação
Não / not Negação
E / and Conjunção
Ou / or Disjunção
1. Pegar a bala
2. A bala é de caramelo?
3. Se sim, não chupe a bala.
4. Se não, continue com o algoritmo.
5. Retirar o papel
6. Chupar a bala.
7. Jogar o papel no lixo.
Lógica de Programação 27
Fluxograma:
Início
Pegar a bala
F É de V
Caramelo?
Retirar o papel
Chupar a bala
Fim
Lógica de Programação 28
Prioridade Operador
1ª Não / not
2ª E / and
3ª Ou / or
E / AND
O operador lógico E é utilizado quando todas as proposições
lógicas de uma condição necessitam ser verdadeiras. Veja a seguir a
tabela verdade representando este novo operador.
Portugol
PROGRAMA Exemplo_E
VARIÁVEL
numero: INTEIRO
INÍCIO
LEIA numero
SE ( numero >= 1 ) E ( numero <= 10) ENTAO
ESCREVA “O número está entre 1 e 10”
SENÃO
ESCREVA “O número não está entre 1 e 10”
FIM SE
FIM
Lógica de Programação 30
Fluxograma
Início
numero
F numero > = 1 V
E
numero < = 10
Fim
Lógica de Programação 31
OU / OR
Portugol
PROGRAMA Exemplo_OU
VARIÁVEL
periodo: CARACTER
INÍCIO
LEIA periodo
SE (periodo = “manhã”) OU (periodo = “tarde”) ENTÃO
ESCREVA “período válido!”
SENÃO
ESCREVA “período inválido!”
FIM SE
FIM
Lógica de Programação 33
Fluxograma
Início
periodo
F periodo = “manhã”
V
OU
periodo = “tarde”
Período Período
Inválido! Válido!.
Fim
Lógica de Programação 34
NÃO / NOT
Portugol:
PROGRAMA Exemplo_NÃO
VARIÁVEL
M, N, P, resultado: INTEIRO
INÍCIO
LEIA M, N, P
SE NÃO (P < 10) ENTÃO
resultado P * (M – N)
SENÃO
resultado P * (N - M)
FIM SE
FIM
Lógica de Programação 36
Exercício Fluxograma
Início
Início
M, N, P
F V
NÃO (P < 10)
Resultado P * (N - M) Resultado P * (M - N)
Fim
Fim
Lógica de Programação 37
Estruturas de Decisão
● Se... Então;
● Selecione... Caso.
SE... ENTÃO
Portugal:
SE <condição> ENTÃO
<COMANDOS>
FIM SE
Fluxograma
V
Condição
F
Comandos
Lógica de Programação 39
Exemplo:
Imagine um algoritmo que deve verificar se um número é
positivo e exibir na tela “Número positivo”. Veja como ficaria a
algoritmo em portugol.
Exercício Portugol
PROGRAMA Exemplo_SE
VARIÁVEL
num: INTEIRO
INÍCIO
LEIA num
SE (num >=0) ENTÃO
ESCREVA “O número é positivo”
FIM SE
FIM
Lógica de Programação 40
FLUXOGRAMA Início
Início
num
V
num >= 0
F O número é positivo
Fim
SE...ENTÃO...SENÃO
A estrutura de decisão SE...ENTÃO...SENÃO, é utilizada quando
há duas alternativas que dependem de uma mesma condição, onde
uma será executada caso a condição seja verdadeira e a outra caso a
condição seja falsa.
A estrutura SE...ENTÃO...SENÃO é a seguinte:
Portugol
SE <condição> ENTÃO
<comandos 1>
SENÃO
<comandos 2>
FIM_SE
F V
Condição
Comandos 2 Comandos 1
Lógica de Programação 42
Exercício Portugol
PROGRAMA Exemplo_SE_SENÃO
VARIÁVEL
num,par: INTEIRO
INICIO
LEIA num
par num mod 2
SE (par = 0 ) ENTÃO
ESCREVA “O número é par”
SENÃO
ESCREVA “O número é ímpar”
FIM SE
FIM
Lógica de Programação 43
Exercício Fluxograma
Início
Início
num
F V
par = 0
O número é
O número é par
impar
Fim
Fim
Lógica de Programação 44
Selecione... Caso
Portugol
SELECIONE <condição>
Caso v1: <comandos>
Caso v2: <comandos>
Caso v3: <comandos>
FIM SELECIONE
Lógica de Programação 45
Fluxograma
V
Condiç Comandos 1
ão 1
V
Condiç Comandos 2
ão 2
F
V
Comandos n Condiç
Comandos n
ão n
Lógica de Programação 46
Exercício Portugol
PROGRAMA Exemplo_CASO
VARIÁVEIS
num1, num2, total: INTEIRO
operador: CARACTER
INÍCIO
LEIA num1 e num2
LEIA operador
SELECONE operador
CASO +:
total num1 + num2
ESCREVA (total)
CASO -:
total num1 - num2
ESCREVA (total)
CASO *:
total num1 * num2
ESCREVA (total)
CASO /:
total num1 / num2
ESCREVA (total)
CASO CONTRÁRIO:
ESCREVA “Opção errada!”
FIM SELECONE
FIM
Lógica de Programação 48
Exercício
Início
Fluxograma
num1, num2
operador
V
Total num1 +
Operador
=+ num2
F
V
Operador Total num1 -
=- num2
F
V
Operador Total num1 *
=* num2
F
F Operador = V Total num1 /
/ num2
Fim
Lógica de Programação 49
Exercício se_então
PROGRAMA Exemplo_SE_ENTÃO
VARIÁVEIS
num1, num2, operador, total: INTEIRO
INÍCIO
LEIA num1 e num2
LEIA operador
SE (operador = +) ENTÃO
total num1 +num2
ESCREVA (total)
SENÃO
SE (operador = -) ENTÃO
total num1 - num2
ESCREVA (total)
SENÃO
SE (operador = *) ENTÃO
total num1 * num2
ESCREVA (total)
SENÃO
SE (operador = /) ENTÃO
total num1 / num2
ESCREVA (total)
SENÃO
ESCREVA “Opção errada!”
FIM SE
Lógica de Programação 51
FIM SE
FIM SE
FIM SE
FIM
Estrutura de Repetição
Durante o desenvolvimento de um programa muitas vezes
encontramos situações onde é necessário repetir um trecho de código
várias vezes, como por exemplo, quando temos que calcular a média
aritmética das notas dos alunos de uma escola. Se fossemos utilizar a
estrutura SE ENTÃO teríamos que escrever um trecho de cálculo
para cada aluno da escola. Para resolver situações como esta,
utilizamos os comandos de repetição, que possibilitam que um trecho
de código seja repetido por quantas vezes forem necessárias.
Os comandos de repetição são conhecidos por: loops ou
looping que significa voltas laçadas. São utilizados quando desejamos
que um determinado conjunto de instruções ou comandos sejam
executados em um número definido ou indefinido de vezes, ou
enquanto um determinado estado de coisas prevalecer ou até que
seja alcançado.
Podemos citar os seguintes comandos de repetição:
Exemplo em Portugol
F
Condição
Comandos
Obs:
Perceba que nessa estrutura existe um retorno à condição após
a execução dos comandos até que a condição seja falsa.
Exemplo:
Exercício Portugol
PROGRAMA Exemplo_enquanto
VARIÁVEIS
contador, fatorial: INTEIRO
INÍCIO
1 fatorial 1
2 contador 1
3 ENQUANTO (contador <= 3) FAÇA
4 fatorial fatorial * contador
5 contador contador + 1
6 FIM ENQUANTO
7 ESCREVA “O fatorial de 3 é = “, fatorial
FIM
Lógica de Programação 55
Exercício Fluxograma
Início
fatorial 1
contador 1
contador
<=3 F
contador contador + 1
Fatorial
Fim
Lógica de Programação 56
Obs:
Exercício em Portugol 2
PROGRAMA Exemplo_enquanto2
VARIÁVEIS
dias, salario: INTEIRO
resposta: CARACTER
INÍCIO
resposta “sim”
ENQUANTO (resposta = “sim”) FAÇA
LEIA dias
salario dias * 10
ESCREVA salario
ESCREVA “Deseja continuar?”
LEIA resposta
FIM ENQUANTO
FIM
Lógica de Programação 59
Exercício
Início
Fluxograma 2
resposta “sim”
resposta= F
“sim”
dias
salario dias * 10
salario
“Deseja
Continuar?”
resposta
Fim
Lógica de Programação 60
Portugol
REPITA
<comandos>
ATÉ QUE <condição>
Lógica de Programação 61
Fluxograma
Comandos
F
Condição
Exemplo
Para analisar melhor a estrutura de repetição, vamos
desenvolver um algoritmo que exiba os números inteiros de 1 a 100.
Exercício Portugol
PROGRAMA Exemplo_repita01
VARIÁVEIS
num: INTEIRO
INÍCIO
num 1
REPITA
ESCREVA num
num num + 1
ATÉ QUE (num > 100)
FIM
Lógica de Programação 63
Exercício Fluxograma
Início
num 1
num
num num + 1
F
num > 100
Fim
PROGRAMA Exemplo_repita02
VARIÁVEIS
media, num1, num2: INTEIRO
resposta: CARACTER
INÍCIO
REPITA
ESCREVA “Digite os números:”
LEIA num1 e num2
media (num1 + num2) / 2
ESCREVA media
ESCREVA “Deseja continuar (sim/não)?”
LEIA resposta
ATÉ QUE (resposta = “não”)
FIM
Lógica de Programação 65
Exercício
Início
Fluxograma 2
Digite os
números:
num1, num2
Media
(num1 + num2) / 2
media
Deseja continuar
(sim/não)?
resposta
F resposta =
“não”
V
Fim
Lógica de Programação 66
Fluxograma
Var início,
fim,
incremento
Comandos
Exercício Portugol
PROGRAMA Exemplo_PARA
VARIÁVEIS
contador, resultado: INTEIRO
INÍCIO
1 PARA contador DE 1 ATÉ 10 PASSO 1 faça
2 resultado contador * 9
3 ESCREVA resultado
4 FIM PARA
FIM
Lógica de Programação 70
Exercício Fluxograma
Início
contador
1, 10, 1
resultado contador * 9
resultado
Fim
Lógica de Programação 71
Exemplo 1:
<?php
$avaliacao1 = 1;
$avaliacao2 = 4;
$nota = ($avaliacao1+$avaliacao2) / 2;
if ($nota <3)
$desempenho = "Péssimo";
elseif ($nota<5)
$desempenho = " Ruim";
elseif ($nota<7)
$desempenho = " Medio";
elseif ($nota<9)
$desempenho = " Bom";
else
$desempenho = "Excelente";
Exemplo 2:
<?php
$m = 5;
$n = 8;
$x = $m * $n;
echo "O resultado da multiplicação é $x";
?>
Exemplo 3:
<?php
$m = 4;
$n = 6;
$z = $m + $n;
echo “O resultado da soma é $z”;
?>
Lógica de Programação 73
Exercícios Adicionais
a) 002
Lógica de Programação 74
b) “56”
c) Verdadeiro
d) 4000
e) “Bom dia”
f) -85
g) Falso
h) 2,56
i) “-741”
a) “45,2”
b) -803
c) “dez”
d) Verdadeiro
e) 0,56
f) 78,12579
g) “numero”
h) Falso
i) -1,58
a) “12,8”
b) -745
Lógica de Programação 75
c) “média”
d) Verdadeiro
e) 0,56
f) -23,5983
g) “eu & você”
h) Falso
i) 200
a) “76978”
b) Verdadeiro
c) “Rua 7 de Setembro”
d) 4569
e) 0,056
f) -3,687
g) “preço $”
h) Falso
i) 100
PROGRAMA Exercício06
VARIÁVEIS
Lógica de Programação 76
a, b, soma: REAL
INÍCIO
ESCREVA “Digite os valores: “
LEIA a, b
soma a+b
ESCREVA soma
FIM
Lógica de Programação 77
Plano de Aula
1ª Aula
Objetivo / Justificativa
O que é algoritmo?
Estrutura dos Algoritmos
Teste de Mesa
Formas de Representação Gráfica
2ª Aula
Outros Símbolos
O que são Programas
O que é um Compilador
O que é Interpretador
O que são Dados e seus Tipos
Tipo Inteiro
Tipo Real
Tipo Caracter
Tipo Lógico
3ª Aula
O que são Variáveis
Exemplo de uma declaração de variáveis e estrutura de um
algoritmo
Lógica de Programação 78
4ª Aula
Tipos de Operadores
Operadores Aritméticos
Exemplo 1
Exemplo 2
Exemplo 3
Operadores Relacionais
5ª Aula
Operadores Lógicos
E / And
Exercício Portugol e Fluxograma
OU / OR
Exercício Portugol e Fluxograma
NÃO / NOT
Exercício Portugol e Fluxograma
Lógica de Programação 79
6ª Aula
Estruturas de Decisão
Se... Então
Exercício Portugol e Fluxograma
Se... Então... Senão
Exercício Portugol e FLuxograma
Selecione... Caso
Exercício Portugol e Fluxograma
Exercício se_então
7ª Aula
Estrutura de Repetição
Enquanto ... Faça
Exercício Portugol e fluxograma
Exercício Portugol e Fluxograma 2
Repita ... Até que
Exercício Portugol e fluxograma
Exercício Portugol e Fluxograma 2
8ª Aula
Para ... de ... até ... passo ... faça
Exercício Portugol e fluxograma
9ª Aula
Transformação de pseudocódigo para PHP
Lógica de Programação 80
10ª Aula
Revisão
Avaliação
Encerramento
Lógica de Programação 81
Bibliografia