apostila logica final

86

Upload: igor-schmidt

Post on 24-Jun-2015

1.042 views

Category:

Documents


0 download

DESCRIPTION

Uploaded from Google Docs

TRANSCRIPT

Page 1: Apostila Logica Final
Page 2: Apostila Logica Final

ESTA OBRA PODE SER REPRODUZIDA E DISTRIBUÍDA

PARCIAL OU INTEGRALMENTE DESDE QUE CITADA A FONTE.

VENDA PROIBIDA

CID – COORDENADORIA DE INCLUSÃO DIGITAL

IDORT – INSTITUTO DE ORGANIZAÇÃO RACIONAL DO TRABALHO

EQUIPE CAPACITAÇÃO – ÁREA TÉCNICA

PAULO JORDÃO DA SILVA BOCCATTO

DOUGLAS DINIZ ALVES

DANIEL PEREIRA MARTINS

Contato

site: www.telecentros.sp.gov.br/capacitacao

email: [email protected]

Page 3: Apostila Logica Final

Í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

Page 4: Apostila Logica Final

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

Page 5: Apostila Logica Final

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

Page 6: Apostila Logica Final

Lógica de Programação 1

Objetivo

Observando a necessidade de solucionar problemas e os

entendermos, o curso de lógica oferecerá ferramentas para

pensarmos de forma rápida, ajudando em conceitos de linguagens de

programação. O uso do raciocínio lógico não é exclusivo dos

profissionais da informática, podemos identificar a utilização da lógica

no nosso dia-a-dia. Este curso facilitará o entendimento de conceitos

abordados no curso de PHP / MYSQL, ministrado no Centro de

Treinamento.

Justificativa

Com avanços tecnológicos o mercado de trabalho encontra-se

competitivo e as pessoas necessitam cada vez mais de conhecimento,

desta forma este curso trará novas formas de resolver problemas até

mesmo uma ligação com linguagens de programação através de

simulações de programas para entendimento no decorrer do curso. A

Lógica está presente em nossa vida sempre que pensamos, falamos

ou escrevemos, pois para realizar essas ações necessitamos que os

pensamentos estejam ordenados de modo a alcançar o resultado

esperado.

Page 7: Apostila Logica Final

Lógica de Programação 2

O que é algoritmo?

Algoritmo é uma seqüência lógica de passos que levam a um

determinado objetivo. Apesar de parecer estranha a palavra algoritmo

utilizamos em nossas ações diárias como, os passos que realizamos

para tomar banho, a seqüência de instruções de uma receita de bolo,

as instruções de um manual de um equipamento eletrônico e outras.

Exemplo de um algoritmo.

● Pegue a escada;

● Coloque-a embaixo da lâmpada queimada;

● Pegue uma lâmpada nova;

● Suba na escada;

● Retire a lâmpada velha;

● Coloque a lâmpada nova;

● Desça da escada;

Assim como o algoritmo para trocar a lâmpada, um algoritmo

para a realização de uma tarefa pelo computador é descrita em

passos.

O uso de algoritmo para construção de programas de

computadores é importante devido ao fato do computador executar

Page 8: Apostila Logica Final

Lógica de Programação 3

exatamente como ela foi criada.

Por isso os passos de um programa devem conter uma

seqüência lógica, e de fácil interpretação.

A elaboração de um algoritmo para a criação de um programa

de computador requer as seguintes etapas:

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;

O problema que o algoritmo representa é composto por três

fases:

Entrada: são os dados de entrada do algoritmo.

Processamento: são os procedimentos utilizados para chegar ao

resultado final.

Saída: são os dados já processados.

Entrada Processamento Saída

Page 9: Apostila Logica Final

Lógica de Programação 4

Estrutura dos Algoritmos

Os algoritmos são construídos em uma linguagem chamada

pseudocódigo seguindo uma estrutura básica para qualquer linguagem

de programação. Não existe uma forma específica de como deve ser

escrito o algoritmo, eles são independentes das linguagens de

programação.

Pseudocódigo significa que o algoritmo está sendo

desenvolvido em uma linguagem que não é uma linguagem de

programação.

Nesta apostila utilizaremos um pseudocódigo denominado

portugal ou português estruturado, e a sua equivalência em

fluxograma. É importante ressaltar que o portugol não é uma

linguagem de programação, pois não existe um compilador que

execute seus comandos dentro do computador, ele serve somente

para auxiliar o programador a montar sua estrutura de programa.

Digite os valores: N1 e N2 Soma: N1 + N2 Resultado: Soma

Page 10: Apostila Logica Final

Lógica de Programação 5

PROGRAMA <Nome do programa>

<Definições>

INÍCIO

<Comandos>

FIM

Teste de Mesa

Quando um algoritmo é desenvolvido em pseudocódigo não há

como testar no computador se o código está correto. Nesse caso,

deve-se realizar o teste de mesa.

O teste de mesa nada mais é do que seguir as instruções do

algoritmo de maneira precisa para verificar se há erro na sua

estrutura, independente da linguagem em que será implementado.

Exemplo: Algoritmo do cálculo da média final considerando a nota da

avaliação 1 como 7,0 e da avaliação 2 como 9,00.

● Receba a nota da avaliação 1.

● Receba a nota da avaliação 2.

● Some as notas e divida o resultado por 2.

● Exiba o resultado da divisão.

Page 11: Apostila Logica Final

Lógica de Programação 6

Formas de Representação Gráfica

Os algoritmos podem ser representados por um conjunto de

símbolos padronizados para facilitar a compreensão do código,

chamado fluxograma.

O fluxograma é uma ferramenta usada e desenvolvida pelos

profissionais de análise de sistemas, e tem como finalidade descrever

o fluxo das informações.

As figuras são formas geométricas básicas que representam a

entrada, processamento e saída de dados.

Estes são alguns dos símbolos mais conhecidos e utilizados

pelos profissionais de processamento de dados:

Terminal: símbolo utilizado para indicar o início ou fim de um

algoritmo.

Seta de Fluxo de Dados: indica o sentido do fluxo de dados.

Avaliação 1 Avaliação 2 Média7,0 9,0 8,0

Page 12: Apostila Logica Final

Lógica de Programação 7

Processamento: manipulação de dados.

Entrada: símbolo em função de um dispositivo qualquer de entrada

ou saída de dados.

Saída de dados em impressora: é utilizado para representar os

dados que serão impressos.

Decisão: indica a decisão que deve ser tomada, mostrando a

possibilidade de desvios para outros pontos do fluxo dependendo do

resultado da comparação.

Page 13: Apostila Logica Final

Lógica de Programação 8

Saída de dados em vídeo: é utilizado para representar os dados que

serão exibidos na tela do vídeo.

Conector: é utilizado quando é preciso dividir o fluxograma

Conector: específico para indicar conexão do fluxo em outra página.

Preparação ou Processamento predefinido: representa um bloco

de operações que não estão incluídas na diagramação.

Page 14: Apostila Logica Final

Lógica de Programação 9

Sub-rotina: representa um trecho de instruções que está fora do

programa principal.

Exemplo de um algoritmo para verificação da aprovação ou

reprovação de um aluno:

F V

Início

Média = nota1 + nota2 2

Média >= 7,0

Nota 1Nota 2

AprovadoReprovado

Fim

Page 15: Apostila Logica Final

Lógica de Programação 10

O algoritmo inicia e o usuário entra com as notas da primeira e

segunda avaliação. O computador processa o cálculo da média das

duas notas e verifica a decisão a ser tomada. Se a média for menor

que 7, a condição é falsa então é exibido na tela “Reprovado”, se a

média for maior ou igual a 7 a condição é verdadeira, nesse caso é

exibido “Aprovado”.

Outros Símbolos

Há outros símbolos que são utilizados em outras áreas, mas

também podem ser utilizados pela área de Processamento de Dados.

Modificação de Programas: Indica a existência de uma instrução ou

de um grupo de instruções que irão modificar o programa.

Teclado: são as informações recebidas ou fornecidas.

Disco Magnético: memória de massa para armazenamento de

dados.

Page 16: Apostila Logica Final

Lógica de Programação 11

Tambor Magnético: memória de massa para armazenamento de

dados.

Fita Magnética: memória de massa para armazenamento de dados.

Disquete: memória de armazenamento de dados.

O que são Programas

Os programas de computador são conjuntos de algoritmos

escritos em uma linguagem que o computador consegue interpretar,

como: Pascal, C, Cobol, Fortran, Delphi entre outras. Esses programas

são executados pelo computador e a partir daí o usuário pode utilizá-

lo para o fim que foi desenvolvido.

O que é um Compilador

Um compilador é um programa que transforma o código escrito

Page 17: Apostila Logica Final

Lógica de Programação 12

em uma linguagem de programação.

'

O processo de compilação é composto de análise e síntese,

onde a análise tem como objetivo entender o código fonte e

representá-lo em uma estrutura intermediária, e a síntese constrói o

código objeto a partir desta representação intermediária.

Em linguagens de programação, o compilador tem o papel de

converter o código fonte em um código chamado de byte code, que é

uma linguagem de baixo nível. Um exemplo deste comportamento é o

do compilador da linguagem Java que, em vez de gerar código da

máquina onde está sendo executado o compilador, gera código

chamado Java Bytecode.

O que é Interpretador

Interpretadores são programas que lêem um código fonte de uma

linguagem de programação e os convertem em código executável.

Programa Fonte

Linguagem de alto nível

CompiladorPrograma

objetoLinguagem de

baixo nível

Resultado

Execução

Page 18: Apostila Logica Final

Lógica de Programação 13

O que são Dados e seus Tipos

Os dados são as informações que serão processadas pelo

computador. Essas informações podem ser classificadas em quatro

tipos de dados primitivos: inteiros, reais, caracteres e lógicos.

Tipo Inteiro

Os dados classificados como inteiros são aqueles numéricos

positivos ou negativos, com exceção dos números fracionários.

Observe a seguir exemplos de proposições que utilizam dados

do tipo inteiro.

Programa Fonte

Linguagem de alto nível

Interpretador Resultados

54-89013

Execução

Tipo Inteiro

Page 19: Apostila Logica Final

Lógica de Programação 14

● Na sala existem 10 cadeiras.

● Eu comprei 5 calças.

Tipo Real

O tipo real compreende os números positivos, negativos e

fracionários.

Observe a seguir alguns exemplos de proposições que utilizam

dados do tipo real.

● O piso salarial do setor de criação é R$703.56.

● A largura da cama é 0,88 cm.

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.

Tipo Real

54-890

0,23

Page 20: Apostila Logica Final

Lógica de Programação 15

Observe a seguir exemplos de proposições que utilizam dados do tipo

caracter.

● Entregue na “Rua das Flores, 145”.

● Lê-se naquela placa “Lave os utensílios após o uso”.

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.

Observe a seguir exemplos de proposições que utilizam dados

do tipo lógico.

● O zíper pode estar aberto ou fechado.

● O computador pode estar ligado ou desligado.

Tipo Caracter“Rua das Flores, 145”

“Aviso”“CEP: 18900-000”

“10”

Page 21: Apostila Logica Final

Lógica de Programação 16

O que são Variáveis

O termo variável tem como definição aquilo que é sujeito a

mudança, ou seja, que é incerto, instável ou inconstante. Em

programação a quantidade de informações que são processadas é

muito grande e diversificada, com isso, os dados se tornam bastante

variáveis.

A memória do computador pode ser comparada com um

grande arquivo com várias gavetas, que seriam os locais físicos

responsáveis por armazenar os dados.

Cada gaveta pode armazenar um único valor de um tipo

específico por vez.

Exemplo de declaração e estrutura de um algoritmo

PROGRAMA <Nome do programa>

nome: CARACTER

preco: REAL;

numero: INTEIRO;

INICIO

<Comandos>

FIM

Dentro de um programa a variável pode exercer dois papéis:

um de ação quando é modificada ao longo de um programa para

Page 22: Apostila Logica Final

Lógica de Programação 17

apresentar um determinado resultado, e outro de controle, onde esta

poderá ser controlada durante a execução de um programa.

Entrada, Processamento e Saída

Para desenvolver um programa de computador é necessário

saber que ele passa por três fases de trabalho: entrada de dados, o

processamento desses dados e a saída dos mesmos. A eficiência do

resultado no processo de saída de um programa depende da

qualidade na forma de coletar os dados. Desta forma, os erros

causados pelo computador são provocados por falha humana, pois,

um computador não pode errar por vontade própria.

A execução do programa é feita da seguinte forma: após a

entrada dos dados com a instrução leia (em portugol ), os dados são

processados através de uma sequência da manipulação das variáveis

e por fim, são exibidos os dados processados com a instrução

escreva (em portugol ).

Representação

Como já vimos há várias formas de representar o problema

para o qual iremos desenvolver um programa de computador. Estas

formas de representação têm como papel fundamental, auxiliar o

programador, ou o analista de sistemas, a entender e resolver o

problema, para depois buscar a solução dentro de um computador. Na

Page 23: Apostila Logica Final

Lógica de Programação 18

verdade, o que vamos fazer é ensinar o computador a resolver o

problema, por meio de um programa.

Veja duas formas de representar as instruções: fluxograma e em

portugol.

Fluxograma

O fluxograma tem como objetivo buscar a solução de um

problema separando-o em pequenas partes para facilitar a

compreensão.

Após a fase de interpretação do problema e da definição das

variáveis a serem utilizadas, pode-se diagramar o algoritmo com o

uso de fluxogramas, que é a forma mais utilizada.

Observe ao lado a representação de uma situação onde é

necessário ler dois números reais, calcular a soma entre eles e exibir

o resultado na tela.

Nesse tipo de representação o símbolo Terminal indica o início

e o fim das instruções daquele bloco, sempre utilizado para delimitar

o fluxograma. A representação de exibição dos dados na tela do vídeo

é feita pelo símbolo Saída de dados em vídeo. O processamento das

informações é indicado pelo retângulo e a seta indica a direção do

processamento dos dados.

Page 24: Apostila Logica Final

Lógica de Programação 19

Portugol

Portugol é uma pseudolinguagem que será utilizada para

desenvolver a lógica de programação simulando uma linguagem de

computador. Essa primeira codificação em uma pseudolinguagem,

utiliza palavras comuns ao nosso vocabulário como: leia, escreva,

início e fim. Assim fica mais fácil entender a construção de estrutura

M

N

X = M X N

X

FimFim

Exemplo de um Fluxograma

da leitura, multiplicação de

dois números e apresentação

de resultados.

Início

Page 25: Apostila Logica Final

Lógica de Programação 20

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 m x n

ESCREVA x

FIM

Tipos de Operadores

Os operadores são meios pelo qual se incrementa, decrementa,

compara e avalia os dados dentro do computador. Tendo as variáveis

como base da informação de uma linguagem, elas podem ser

modificadas e comparadas com outras por meio dos chamados

operadores. Temos três operadores:

● Operadores Aritméticos

Page 26: Apostila Logica Final

Lógica de Programação 21

● Operadores Relacionais

● Operadores Lógicos

Operadores Aritméticos

Os operadores aritméticos são utilizados para realizar

operações numéricas com os dados utilizados pelo programa. Além da

adição, subtração, multiplicação e divisão, pode utilizar-se, também, o

operador para exponenciação e radiciação.

Há dois operadores que não são muito convencionais, porém

bastante úteis para resolver diversas situações na construção de um

algoritmo: o Mod e o Div.

O mod retorna o resto, enquanto que o Div retorna o

quociente da divisão inteira.

Os símbolos para os operadores aritméticos são os seguintes:

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

Page 27: Apostila Logica Final

Lógica de Programação 22

Os símbolos mostrados na tabela acima são os únicos símbolos

que podem ser usados para representar as operações aritméticas em

um algoritmo. As expressões aritméticas devem ser escritas no

formato linear para facilitar a digitação dos programas e também

porque alguns símbolos usados em matemática não existem nos

teclados.

Para resolver operações aritméticas há uma hierarquia a ser

seguida:

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.

Exemplos de como resolver operações matemáticas seguindo a

prioridade.

Page 28: Apostila Logica Final

Lógica de Programação 23

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

Page 29: Apostila Logica Final

Lógica de Programação 24

Operadores Relacionais

Durante o desenvolvimento de um algoritmo, encontraremos

situações em que será necessário comparar informações para que o

programa possa tomar uma decisão. É necessário testar uma

condição, que em geral consiste em verificar se uma determinada

variável tem valor verdadeiro ou falso. Essa comparação é, por

exemplo: “se A é maior que B”, ou se “A é igual 15”, se “A é diferente

de 50”.

Os operadores relacionais são utilizados para comparar duas

expressões de qualquer tipo. Quando efetuamos uma comparação o

resultado é sempre do tipo lógico (booleano), resulta sempre em

um valor Verdadeiro (True) ou Falso (False).

Para comparar elementos utilizamos operadores relacionais

que se encontram na tabela seguinte:

Símbolo Descrição

= Igual a

<> ou != Diferente de

> Maior que

< Menor que

>= Maior ou igual a

<= Menor ou igual a

Page 30: Apostila Logica Final

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

Quando não há necessidade de trabalhar com duas ou mais

condições ao mesmo tempo são utilizados os operadores lógicos que

são responsáveis para a formação de novas proposições lógicas

compostas a partir de outras proposições lógicas simples. Os

operadores lógicos são:

Page 31: Apostila Logica Final

Lógica de Programação 26

Operador OperaçãoNão / not Negação

E / and Conjunção

Ou / or Disjunção

As operações lógicas são utilizadas quando é necessário tomar

uma decisão. Exemplo: “Chupar uma bala”. Imagine que algumas

pessoas não gostem de chupar bala de caramelo, neste caso teremos

que modificar o algoritmo para:

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.

Page 32: Apostila Logica Final

Lógica de Programação 27

Fluxograma:

Pegar a bala

Fim

Início

É de Caramelo?

Retirar o papel

Chupar a bala

Jogar o papel no lixo

Não chupe a bala

VF V

Page 33: Apostila Logica Final

Lógica de Programação 28

A prioridade entre os operadores lógicos são:

Prioridade Operador1ª 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.

1ª Condição Operador 2ª Condição ResultadoV E V V

V E F F

F E V F

F E F F

Page 34: Apostila Logica Final

Lógica de Programação 29

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

Page 35: Apostila Logica Final

Lógica de Programação 30

Fluxograma

Início

numero

numero > = 1E

numero < = 10

F V

O número não está

entre 1 e 10.

O número está

entre 1 e 10.

Fim

Page 36: Apostila Logica Final

Lógica de Programação 31

A ação de exibir na tela “O número está entre 1 e 10” só

ocorre se o número digitado pelo usuário for maior ou igual a 1 e

menor ou igual a 10.

OU / OR

O operador lógico OU é utilizado quando pelo menos uma das

proposições lógicas de uma condição necessitam ser verdadeiras. Veja

a tabela verdade para esse tipo de operador:

1ª Condição Operador 2ª Condição ResultadoV OU V V

V OU F V

F OU V V

F OU F F

O operador OU só executa uma determinada operação se pelo

menos uma das condições for verdadeira.

Page 37: Apostila Logica Final

Lógica de Programação 32

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

Page 38: Apostila Logica Final

Lógica de Programação 33

FluxogramaInício

periodo

periodo = “manhã”OU

periodo = “tarde”

Período Inválido!

Período Válido!.

Fim

VF

Page 39: Apostila Logica Final

Lógica de Programação 34

Será exibido na tela “Período Válido!” se o período digitado

pelo usuário for manhã ou tarde. Se o usuário digitar um período que

não seja um desses dois, aparecerá na tela “período inválido!”.

NÃO / NOT

O operador lógico NÃO é utilizado quando há a necessidade de

inverter o valor lógico de uma determinada condição. Se a condição

for verdadeira assumirá o valor falso, e se a condição for falsa

assumirá o valor verdadeiro. Veja a tabela verdade para esse

operador:

1ª Condição Operador ResultadoV NÃO F

F NÃO V

O operador NÃO executa uma determinada operação se a

condição não for verdadeira, ou seja se for falsa ou vice versa.

Page 40: Apostila Logica Final

Lógica de Programação 35

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

Page 41: Apostila Logica Final

Lógica de Programação 36

Exercício Fluxograma

InícioInício

M, N, P

NÃO (P < 10)VF

Resultado P * (M - N)Resultado P * (N - M)

FimFim

Page 42: Apostila Logica Final

Lógica de Programação 37

No exemplo anterior o cálculo resultado P * (M – N)só é

executado se P for maior que 10. Para qualquer valor abaixo de 10

será efetuado o cálculo resultado P * (N – M).

Estruturas de Decisão

Os comandos de decisão ou desvio, são técnicas de

programação que conduzem as estruturas de programas que não são

totalmente sequenciais. As estruturas de decisão determinam se um

bloco de ações será ou não executado de acordo com as decisões

tomadas por condições lógicas ou relacionais.

As principais estruturas de decisão são:

● Se... Então;

● Se... Então... Senão;

● Selecione... Caso.

SE... ENTÃO

A estrutura de decisão SE ENTÃO é utilizada quando há a

necessidade de testar uma condição antes de executar uma ação.

A estrutura SE ENTÃO é a seguinte:

Page 43: Apostila Logica Final

Lógica de Programação 38

Portugal:

SE <condição> ENTÃO

<COMANDOS>

FIM SE

Fluxograma

Condição

Comandos

F

V

Page 44: Apostila Logica Final

Lógica de Programação 39

O código é analisado da seguinte forma: se a condição for

verdadeira então os comandos que estão entre o SE... ENTÃO e o FIM

SE serão executados Caso a condição seja falsa serão executados os

comandos que estão após o FIM SE.

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

Page 45: Apostila Logica Final

Lógica de Programação 40

FLUXOGRAMA

Observe que logo depois do início do programa é solicitada a

leitura do valor para a variável NUM e em seguida é questionada a

condição que permitirá exibir na tela se o número é positivo no caso

do valor da variável NUM ser maior ou igual a 0. Caso a condição seja

falsa, ou seja, se o valor de NUM for menor que 0, então o programa

é encerrado.

InícioInício

num

num >= 0

O número é positivo

Fim

V

F

Page 46: Apostila Logica Final

Lógica de Programação 41

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

Condição

Comandos 2 Comandos 1

F V

Page 47: Apostila Logica Final

Lógica de Programação 42

A estrutura é executada da seguinte forma: se a condição for

verdadeira então os comandos 1 que estão entre o SE ENTÃO e o

SENÃO serão executados, caso a condição seja falsa serão executados

os comandos 2 que estão entre SENÃO e o FIM SE.

Exemplo:

Algoritmo que exibirá na tela se o número digitado pelo usuário

é par ou ímpar.

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

Page 48: Apostila Logica Final

Lógica de Programação 43

Exercício Fluxograma

InícioInício

num

par = 0

par num mod 2

O número é parO número é

impar

FimFim

VF

Page 49: Apostila Logica Final

Lógica de Programação 44

Após o início do programa é solicitado um valor para a variável

NUM. O valor armazenado na variável é dividido por 2 com o uso do

operador MOD, que retorna o resto da divisão para ser armazenada

na variável PAR. Em seguida, é feita a verificação da condição : se o

resto da divisão armazenado na variável PAR for igual a zero então a

condição é verdadeira e será exibido na tela “O número é par”, mas

se o conteúdo da variável PAR for diferente de zero, então a condição

é falsa e será exibido na tela “O número é ímpar”.

Selecione... Caso

A estrutura de decisão SELECIONE CASO é utilizada para

testar, na condição, uma única expressão ou variável que produz um

resultado diferente para cada valor que assumir. Compare-se, então,

o resultado obtido no teste com valores fornecidos em cada cláusula

CASO e executa somente os comandos do CASO cujo valor é igual ao

declarado no SELECIONE. A estrutura do CASO SEGUINTE é:

Portugol

SELECIONE <condição>

Caso v1: <comandos>

Caso v2: <comandos>

Caso v3: <comandos>

FIM SELECIONE

Page 50: Apostila Logica Final

Lógica de Programação 45

Fluxograma

Condição 1

Condição 2

Condição n

Comandos n

Comandos 1

Comandos 2

Comandos n

V

V

V

F

F

F

Page 51: Apostila Logica Final

Lógica de Programação 46

Esta estrutura será executada de acordo com os dados

fornecidos pelo usuário para uma variável ou expressão. Em cada

condição da estrutura há um possível valor que é comparado ao valor

da variável ou expressão que foi informado pelo usuário, se os valores

forem iguais então são executados os comandos do CASO

correspondente saindo dessa estrutura de controle. Se nenhuma das

condições forem verdadeiras, ou é executado um comando

predeterminado para essa situação, ou a estrutura é encerrada. Nessa

estrutura de decisão somente um dos casos é executado.

Para exemplificar montaremos um algoritmo que leia dois

números e execute com eles uma das quatro operações básicas da

matemática: adição, subtração, multiplicação e divisão.

Page 52: Apostila Logica Final

Lógica de Programação 47

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

Page 53: Apostila Logica Final

Lógica de Programação 48

Início

num1, num2

operador

Operador = +

Total num1 + num2

Operador = -

Total num1 - num2

Operador = *

Total num1 * num2

Operador = /

Total num1 / num2

Escreva (total)Opção errada!

Fim

V

V

V

VF

F

F

F

Exercício

Fluxograma

Page 54: Apostila Logica Final

Lógica de Programação 49

Este programa solicita após seu INICIO a entrada dos valores

para as variáveis NUM1, NUM2 e OPERADOR. Lembrando que é

necessário que o valor da variável OPERADOR seja um dos símbolos:

+, -, * ou /.

Em seguida o programa verifica se o operador é uma soma

(+), se for verdade, será executada a soma entre os números

digitados, o resultado será exibido e o programa encerrado. Se for

falso, será analisado se o operador é uma subtração (-), se for

verdade, será calculada a subtração entre os números, o operador é

uma multiplicação (*), se for verdade, será feita a multiplicação entre

os números, o resultado será exibido e o programa encerrado. Se for

falso, será verificado se o operado é uma divisão (/), se for verdade,

será calculada a divisão dos dois números, o resultado da divisão será

exibido e o programa encerrado. Se for falso, será exibida a

mensagem “Opção errada!” e o programa será encerrado.

O comando CASO SELECIONE executa o mesmo papel do

comando SE ENTÃO, mas de uma forma mais compacta nas

operações de seleção. Veja como ficaria esse mesmo exemplo com o

comando SE ENTÃO:

Page 55: Apostila Logica Final

Lógica de Programação 50

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

Page 56: Apostila Logica Final

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:

ENQUANTO ... FAÇA

REPITA ... ATÉ QUE

PARA ... DE ... ATÉ ... PASSO...FAÇA

Page 57: Apostila Logica Final

Lógica de Programação 52

A principal vantagem desses comandos é que eles possibilitam

a redução das linhas de códigos e a melhora no desempenho do

processamento.

ENQUANTO ... FAÇA

A estrutura de repetição ENQUANTO ... FAÇA permite que um

trecho de código possa ser executado diversas vezes dependendo do

resultado de um teste lógico. Essa estrutura possui um teste lógico no

início da repetição então as instruções apenas serão executadas se a

condição for verdadeira, caso contrário são executados os comandos

posteriores a essa estrutura. A estrutura do comando ENQUANTO ...

FAÇA é a seguinte:

Exemplo em Portugol

ENQUANTO <condição> FAÇA

<comandos>

FIM ENQUANTO

Page 58: Apostila Logica Final

Lógica de Programação 53

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:

Vamos construir um algoritmo para calcular o fatorial do

número 3, 3!. Lembre-se que o fatorial de 3!= 3 * 2 * 1 ou 3! = 1* 2

*3 é igual a 6.

Condição

Comandos

V

F

Page 59: Apostila Logica Final

Lógica de Programação 54

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

Page 60: Apostila Logica Final

Lógica de Programação 55

Exercício Fluxograma

Início

fatorial 1

contador 1

contador <=3

fatorial fatorial * contador

contador contador + 1

Fatorial

Fim

F

V

Page 61: Apostila Logica Final

Lógica de Programação 56

Após o início do programa as variáveis FATORIAL e

CONTADOR recebem o valor 1. Quando a condição da estrutura de

repetição, na linha 3, é testada pela primeira vez, sua resposta é

verdadeira, pois a variável CONTADOR está assumindo o valor 1 que

é menor que 3. Dessa forma, a variável FATORIAL armazenada, na

linha 4, o resultado da multiplicação do seu valor atual, que no

momento é 1, pelo valor que está guardado na variável CONTADOR é

alterada somando o número 1 ao seu valor atual, assumindo então o

valor 2. A execução do programa volta para o teste da condição na

linha 3, e como 2 é menor que 3, os cálculos são feitos novamente,

mas agora com os valores novos. A multiplicação da variável

CONTADOR que possui o valor 2, pela variável FATORIAL que possui

o valor 1, resulta em 2 que será registrado na variável FATORIAL.

Então, a variável CONTADOR é incrementada em mais 1, e passa a

valer 3. Retornando a verificação da condição, a estrutura de controle

é executada mais uma vez, pois 3 não é menor que 3, mas é igual.

Dessa vez a multiplicação é entre 2 e 3, resultando em 6 para

FATORIAL. O contador é incrementado mais uma vez, tendo agora o

valor 4, e volta novamente a verificar a condição. Quando a condição

é testada seu valor retorna falso, pois 4 não é menor nem igual a 3,

então a execução do código sai do comando ENQUANTO e exibe o

resultado dos cálculos na tela e em seguida encerra o programa.

A variável CONTADOR que controla a quantidade de vezes

que as instruções do comando ENQUANTO serão repetidas. Esse

recurso é muito utilizado nas estruturas de controle, pois a cada

Page 62: Apostila Logica Final

Lógica de Programação 57

looping a variável que armazena as contagens é incrementada em 1.

Assim pode-se determinar quantas vezes os comandos foram

executados.

Obs:

Incrementar é somar um valor constante, normalmente 1, a

um valor já existente.

A estrutura básica de um contador é a seguinte:

Declaração do contador: contador: INTEIRO

Inicialização do contador: contador 0

Incrementar o contador em 1: contador contador + 1

A variável FATORIAL é um contador que funciona como

acumulador, pois o valor adicionado pode variar não mantendo uma

sequência que possa ser utilizada para controlar a quantidade de

voltas da repetição, ao contrário da contagem, que é incrementado de

1 em 1.

O contador não é a única maneira de controlar as voltas do

comando de repetição ENQUANTO FAÇA. A condição de repetição

pode ser uma decisão do usuário. Veja a seguir um exemplo com esse

tipo de decisão.

Page 63: Apostila Logica Final

Lógica de Programação 58

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

Page 64: Apostila Logica Final

Lógica de Programação 59

Início

resposta “sim”

resposta= “sim”

dias

salario dias * 10

salario

“Deseja Continuar?”

resposta

Fim

F

Exercício

Fluxograma 2

Page 65: Apostila Logica Final

Lógica de Programação 60

A condição do comando ENQUANTO depende do conteúdo da

variável RESPOSTA que será alterada pelo usuário. No início da

execução do programa o valor da variável RESPOSTA é “sim”, então a

condição retorna um valor verdadeiro, executando as instruções que

calculam o valor do salário de acordo com a quantidade de dias

informado pelo usuário. É perguntado ao usuário se ele deseja

continuar, se a resposta for “sim”, a condição retornará uma resposta

verdadeira e a estrutura é executada novamente. Caso o usuário

digite “não” na sua resposta, a condição retornará falso, então o fluxo

de execução é alterado para os comandos que estão depois do FIM

ENQUANTO, que nesse caso é o encerramento do programa.

REPITA ... ATÉ QUE

Nesta estrutura o teste lógico é feito no final do bloco de

instruções, ao contrário do ENQUANTO FAÇA que possui o teste no

início. Devido a isso os comandos dessa estrutura são executados pelo

menos uma vez, já que o teste é realizado após a execução dos

comandos.

Portugol

REPITA

<comandos>

ATÉ QUE <condição>

Page 66: Apostila Logica Final

Lógica de Programação 61

Fluxograma

Quando o código é executado pela primeira vez, o fluxo de

execução das instruções é mantido na mesma sequencia até a

verificação da validade da condição. Se a condição for verdadeira, o

fluxo do programa continua normalmente, mas se a resposta da

condição for falsa, os comandos que estão entre o REPITA e o ATÉ

QUE são processados novamente.

O REPITA é o contrário do ENQUANTO, sempre irá processar o

bloco de instruções pelo menos uma vez até que a condição seja

verdadeira, pois, ela mantém a repetição dos comandos enquanto a

condição for falsa, e a abandona quando for verdadeira. Já a estrutura

Comandos

Condição

V

F

Page 67: Apostila Logica Final

Lógica de Programação 62

ENQUANTO só executa seu bloco de instruções se a condição for

verdadeira e o abandona quando for falsa.

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

Page 68: Apostila Logica Final

Lógica de Programação 63

Exercício Fluxograma

A exibição dos números inteiros de 1 a 100 ocorre da seguinte

forma: a variável NUM recebe como valor inicial o número 1, como a

estrutura REPITA executa pelo menos uma vez seus comandos, o

número 1 já é exibido na tela para o usuário. Em seguida a variável é

incrementada em 1, assumindo o valor 2, e passa pelo teste da

condição. Como 2 é menor que 100, a resposta do teste lógico é falso,

Início

num 1

num num + 1

Fim

num > 100

num

F

Page 69: Apostila Logica Final

Lógica de Programação 64

então a execução do programa volta para o início do REPITA, onde é

exibido na tela o número 2. Enquanto o valor de NUM for menor ou

igual a 100, o fluxo de execução do programa continua dentro do

looping, mas caso o valor de NUM seja maior que 100, a execução do

programa sai da estrutura de repetição e o programa é finalizado.

A condição de repetição da estrutura REPITA também pode ser

determinada por uma resposta do usuário. Veja a seguir um exemplo

dessa situação onde o programa lê e calcula a média aritmética de

dois números e pergunta para o usuário se ele deseja continuar.

Exercício Portugol 2

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

Page 70: Apostila Logica Final

Lógica de Programação 65

Início

Fim

Digite os números:

num1, num2

Media(num1 + num2) / 2

media

Deseja continuar(sim/não)?

resposta

resposta = “não”

F

V

Exercício

Fluxograma 2

Page 71: Apostila Logica Final

Lógica de Programação 66

A condição de parada de repetição depende da resposta do

usuário. Ao contrário da estrutura ENQUANTO, na estrutura REPITA

não é necessário iniciar a variável de controle com um valor para

executar os comandos pelo menos uma vez, pois essa estrutura

executa primeiro as suas instruções para depois verificar a condição.

Ao iniciar, o programa já começa a executar o comando

REPITA exibindo na tela um pedido para o usuário digitar dois

números que serão armazenados dentro das variáveis NUM1 e NUM2.

Em seguida, o programa guarda dentro da variável MÉDIA o resultado

do calculo da média dos dois números digitados e o exibe na tela.

Então, é perguntado na tela se o usuário deseja continuar e o teste da

condição é verificado. Se o usuário digitar como resposta a palavra

“sim”, o resultado lógico da condição é falso, então o fluxo de

execução do programa retorna para o início do repita. Porém, se a

resposta do usuário for “não”, o resultado do teste lógico é verdadeiro

e a estrutura de repetição é abandonada, e o programa passa a

executar a primeira linha após o ATÉ QUE.

PARA ... DE ... ATÉ ... PASSO ... FAÇA

Vimos anteriormente duas estruturas de repetição, ENQUANTO

e REPITA, onde o bloco de instruções é executado enquanto ou até

que uma condição seja satisfeita. Essas duas estruturas controlam a

quantidade de vezes que um grupo de operações é executado

utilizando uma variável de controle como contador. Nesse caso, o

Page 72: Apostila Logica Final

Lógica de Programação 67

número de repetições já é determinado, porém a quantidade de voltas

dentro da estrutura pode ser indeterminada, tendo como condição

uma resposta do usuário.

A estrutura PARA é utilizada somente quando já se sabe a

quantidade de vezes que a execução de um bloco de instruções deve

ser repetida, pois não verifica uma condição, mas sim uma variável

denominada contador. Quando é conhecido o número de vezes que

uma determinda sequencia de instruções deverá ser executada utiliza-

se a estrutura PARA ... DE ... ATÉ ... PASSO ... FAÇA, deixando para

as estruturas ENQUANTO e REPITA as situações onde o número de

repetições não é conhecido.

A estrutura do comando PARA ... DE ... ATÉ ... PASSO ... FAÇA

é a seguinte:

PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO

<incremento>

FAÇA

<comandos>

FIM PARA

Page 73: Apostila Logica Final

Lógica de Programação 68

Fluxograma

Na estrutura de repetição PARA a variável de controle recebe

o valor inicial e verifica se o valor da variável de controle ultrapassa o

valor final. Se não ultrapassar, o bloco de comandos que está dentro

da estrutura PARA será executado. A seguir, a variável de controle

será incrementada com o valor determinado e verifica-se novamente

se o seu valor ultrapassa o valor final. Se não ultrapassar , o bloco de

comandos será executado, caso contrário o fluxo de execução do

programa vai para a próxima linha depois do FIM PARA.

Na representação em forma de fluxograma a estrutura do

PARA é indicada pela figura de um hexágono denominado

Preparação ou Processamento Predefinido. Dentro da figura é

indicada a variável a ser controlada com a implicação dos valores

Var início, fim,

incremento

Comandos

Page 74: Apostila Logica Final

Lógica de Programação 69

iniciais, finais e de incrementos, separados por vírgula.

É muito importante ser lembrado que a estrutura de repetição

será executada pelo menos uma vez, pois a variável de controle

receberá o valor inicial como primeiro valor, estando dentro da faixa

de valores que possibilitam a execução dos comandos. Nem sempre a

variável de controle atingir o valor final estabelecido como o valor do

incremento é maior que 1. A repetição termina quando a variável de

controle assume um valor maior que o valor final.

Vamos desenvolver um algoritmo de um programa que calcula

e exibe a tabuada do número 9.

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

Page 75: Apostila Logica Final

Lógica de Programação 70

Exercício Fluxograma

Início

contador 1, 10, 1

resultado contador * 9

resultado

Fim

Page 76: Apostila Logica Final

Lógica de Programação 71

Transformação de pseudocódigo para linguagem PHP

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";

echo "O seu desempenho foi $desempenho";

?>

Page 77: Apostila Logica Final

Lógica de Programação 72

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”;

?>

Page 78: Apostila Logica Final

Lógica de Programação 73

Exercícios Adicionais

Assinale os nomes válidos para variáveis:

1. Assinale os nomes válidos para variáveis:

a) 1nome

b) RUA

c) (Y)

d) Programmierung

e) “ano”

f) fone14

g) A*B

h) &resposta

i) KM/H

j) média

k) data_nascimento

l) X

m) V5J

n) endereço

o) valor$

p) COD

2. Assinale os dados que são do tipo inteiro:

a) 002

Page 79: Apostila Logica Final

Lógica de Programação 74

b) “56”

c) Verdadeiro

d) 4000

e) “Bom dia”

f) -85

g) Falso

h) 2,56

i) “-741”

3. Assinale os dados que são do tipo real:

a) “45,2”

b) -803

c) “dez”

d) Verdadeiro

e) 0,56

f) 78,12579

g) “numero”

h) Falso

i) -1,58

4. Assinale os dados que são do tipo caracter:

a) “12,8”

b) -745

Page 80: Apostila Logica Final

Lógica de Programação 75

c) “média”

d) Verdadeiro

e) 0,56

f) -23,5983

g) “eu & você”

h) Falso

i) 200

5. Assinale os dados que são do tipo lógico:

a) “76978”

b) Verdadeiro

c) “Rua 7 de Setembro”

d) 4569

e) 0,056

f) -3,687

g) “preço $”

h) Falso

i) 100

6. Escreva um programa em portugol e fluxograma que leia dois

valores A e B, calcule a soma entre eles e exiba para o usuário.

PROGRAMA Exercício06

VARIÁVEIS

Page 81: Apostila Logica Final

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

Page 82: Apostila Logica Final

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

Page 83: Apostila Logica Final

Lógica de Programação 78

Entrada, Processamento e Saída

Representação

Fluxograma

Portugol

Algoritmo da Multiplicação

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

Page 84: Apostila Logica Final

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

Page 85: Apostila Logica Final

Lógica de Programação 80

10ª Aula

Revisão

Avaliação

Encerramento

Page 86: Apostila Logica Final

Lógica de Programação 81

Bibliografia

Lógica de Programação – Aprendendo a Programar;

Viena; Camila Ceccatto da Silva e Everaldo Antônio de Paula;

2007