• Nenhum resultado encontrado

IF Sertão PE - Floresta 2

N/A
N/A
Protected

Academic year: 2019

Share "IF Sertão PE - Floresta 2"

Copied!
54
0
0

Texto

(1)
(2)

IF Sertão PE - Floresta 2

Apresentação da Disciplina

Professor: Eziom Alves de Oliveira

Carga horária: 80 aulas.

1ª e 2ª aulas da segunda.

(3)

Ementa da Disciplina

Introdução à lógica de programação.

(4)

IF Sertão PE - Floresta 4

Objetivos

Geral

Fornecer aos alunos, através do estudo dos conceitos

de algoritmos, os conhecimentos básicos necessários

para construção de algoritmos e programas de

computador eficientes para a solução de um dado

problema.

Específicos

Introduzir o aluno nos conceitos básicos de algoritmos,

tipos de dados, operações primitivas e estruturas de

controle;

(5)

Avaliação

Avaliação escrita.

Exercício Desafio

(6)

IF Sertão PE - Floresta 6

Bibliografia

TONET, Bruno. KOLIVER, Cristian. Introdução aos

(7)

Softwares utilizados

Visualg – Programação em Portugol

CodeBlocks – Programação em C

(8)

IF Sertão PE - Floresta 8

(9)

Algoritmo: Definição

“Um algoritmo é uma sequência de instruções finita e

ordenada de forma lógica para a resolução de uma

determinada tarefa ou problema.” (Tonet e Koliver).

Algoritmo é a especificação da sequência ordenada

de passos que deve ser seguida para a solução de

um problema ou para a realização de uma tarefa,

garantindo a sua repetibilidade (José Romildo, nota

de aula, 2011).

Algoritmo é um conjunto ordenado de passos

(10)

IF Sertão PE - Floresta 10

Algoritmo: Definição

São exemplos de algoritmos instruções de

montagem, receitas, manuais de uso, etc..

um algoritmo é um caminho para a solução

(11)

Algoritmos não computacionais

● Um algoritmo não computacional é um algoritmo cuja sequência de passos, a princípio, não pode ser executada por um computador.

(12)

IF Sertão PE - Floresta 12

Algoritmos não computacionais

● Algoritmo para fritar um ovo

1) Colocar um ovo na frigideira

2) Esperar o ovo ficar frito

(13)

Algoritmos não computacionais

● Algoritmo para fritar um ovo (Versão mais detalhada)

1. Retirar um ovo da geladeira

2. Colocar a frigideira no fogo

3. Colocar óleo

4. Esperar até o óleo ficar quente

5. Quebrar o ovo separando a casca

6. Colocar o conteúdo do ovo na frigideira

7. Esperar um minuto

8. Retirar o ovo da frigideira

(14)

IF Sertão PE - Floresta 14

Algoritmos não computacionais

● Para que o algoritmo possa ser útil, é necessário ainda que quem faz uso dele conheça os termos utilizados nas instruções.

● Retirar, Colocar, Esperar, frigideira…

● Língua Portuguesa.

(15)

Problema com linguagens naturais

(16)

IF Sertão PE - Floresta 16

Português Estruturado

● Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambiguidades.

● Dessa forma, utilizaremos um linguagem que é bem mais restrita que o Português om significados bem definidos para todos os termos utilizados nas instruções.

(17)

Dicas para se tornar um bom programador

Conhecer bem a linguagem.

Aprender os conceitos de lógica de programação.

Muita prática.

Em lógica de programação o principal foco é aprender as

ferramentas para resolver problemas computacionais

independente de linguagem.

Um problema tem várias formas de ser resolvido. Porém,

(18)

IF Sertão PE - Floresta 18

Algoritmos computacionais

● O computador, a princípio, não executa nada.

● É necessário que ele execute um programa.

(19)

Linearização de Expressões

● Para a construção de algoritmos que realizam cálculo matemáticos, todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas, devendo também ser feito o mapeamento dos operadores da aritmética tradicional para os do Português Estruturado.

(20)

IF Sertão PE - Floresta 20

Operadores Aritméticos

Operadores Português Estruturado

Adição +

Subtração

-Multiplicação *

Divisão /

Divisão inteira \

Exponenciação ^ ou Exp(<base>,<espoente>)

(retorna um valor real) Módulo (resto da divisão) %

(21)

Exercícios

a+b c

2x2−3x(x+1)

2 +

x+1 x

−6x+2y

39

(22)

IF Sertão PE - Floresta 22

Operadores Relacionais

● Os operadores relacionais realizam a comparação entre dois operandos ou duas expressões e resultam em valores lógicos (VERDADEIRO ou FALSO).

Operadores Relacionais Português Estruturado

Maior >

Menor <

Maior ou igual >= Menor ou igual <=

igual =

(23)

Operadores Relacionais

● Os operadores relacionais realizam a comparação entre dois operandos ou duas expressões e resultam em valores lógicos (VERDADEIRO ou FALSO).

● Exemplo:

5 > 4: verdadeiro

1<>1: falso

(24)

IF Sertão PE - Floresta 24

Operadores Lógicos

● Os operadores lógicos atuam sobre expressões e também resultam em valores lógicos VERDADEIRO ou FALSO.

Operadores Lógicos Português Estrutural Significado

AND E Resulta VERDADEIRO se ambas as partes forem verdadeiras.

OR OU Resulta VERDADEIRO se uma das partes é verdadeira.

NOT NAO

Nega uma afirmação, invertendo o seu valor lógico: se for VERDADEIRO torna-se

(25)

Operadores Lógicos

● A tabela abaixo – chamada tabela-verdade – mostra os resultados das aplicações dos operadores lógicos conforme os valores dos operadores envolvidos.

(26)

IF Sertão PE - Floresta 26

Operadores Lógicos

● A tabela abaixo – chamada tabela-verdade – mostra os resultados das aplicações dos operadores lógicos conforme os valores dos operadores envolvidos.

● De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos.

(2+5>4) e (3<>3) resulta FALSO, pois VERDADEIRO e FALSO

(27)

Operadores – Prioridade

● Exemplos:

(2 + 2)/2 resulta 2 e 2 + 2/2 resulta 3

(2>3) ou (3<2) e (2<3) //resultado seria Falso

(2>3) e (3<2) ou (2<3) //resultado seria Verdadeiro

Aritmético Lógico Geral Prioridade

Exponenciação E Aritmético 3 (maior) Multiplicação e divisão OU Relacional 2

(28)

IF Sertão PE - Floresta 28

Forma Geral de um Algorítmo

algoritmo

“nome do algoritmo”

var

<declaração de variáveis>

inicio

<lista de comandos>

(29)

Palavras Reservadas

As palavras que fazem parte da sintaxe da linguagem são

palavras reservadas, ou seja, não podem ser usadas para outro

propósito em um algoritmo que não seja aquele previsto nas

regras de sintaxe. A palavra algoritmo, por exemplo, é uma

palavra reservada. Neste texto, as palavras reservadas sempre

aparecerão em negrito.

Palavras Reservadas do Portugol

(30)

IF Sertão PE - Floresta 30

Variáveis

(31)

Declaração de variáveis

As variáveis são declaradas logo abaixo da

expressão “var”, tendo a seguinte forma:

...

var

<identificador1>,<id2>,<id3>… : <tipo de dados>

...

onde <identificador i> é o nome (identificador) de uma

(32)

IF Sertão PE - Floresta 32

Nome de identificadores

● Os identificadores das variáveis são usados para referenciá-las

dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma idéia do “papel” da variável no algoritmo.

● A identificação ou nomeação de variáveis segue algumas regras:

nomes de variáveis não podem ser iguais a palavras

reservadas;

nomes de variáveis devem possuir como primeiro caractere

uma letra ou sublinhado '_' (os outros caracteres podem ser letras, números e sublinhado);

nomes de variáveis devem ter no máximo 127 caracteres;

Nomes de variáveis não podem conter espaços em branco;

na sintaxe do Português Estruturado, não há diferença entre

(33)

Nome de identificadores

Os identificadores das variáveis são usados para

referenciá-las dentro do algoritmo. Tais identificadores

devem ser claros e precisos, dando uma idéia do “papel”

da variável no algoritmo.

A identificação ou nomeação de variáveis segue algumas

regras:

Exemplos:

Identificadores válidos:

NOME, TELEFONE,

IDADE_FILHO, IdadeFilho, NOTA1, Est_civil

(34)

IF Sertão PE - Floresta 34

Tipos de dados

Uma variável, como o próprio nome sugere, contém valores que variam de acordo com a execução do programa. Uma variável deve possuir um tipo específico. As variáveis em portugol, são divididas em 4 tipos principais:

Inteiro: Qualquer número pertencente ao conjunto dos números

inteiros (-11,0,34,1000)

Real ou numérico: qualquer número pertencente ao conjunto

dos números reais. Exemplos: -10, -1.5 , 0 , 2.3 , 4.8

Literal ou caractere: caracteres alfanuméricos. Exemplo: casa,

Win32, 123, alfa*…

(35)

Exercícios

1) Classifique os conteúdo das variáveis abaixo de acordo com seu tipo, assinalando com N os dados numéricos, com L os lógicos, com C os literais.

( ) 0 ( ) “abc” ( ) “Joao” ( ) 5.7 ( )1012

( )Falso ( ) -49 ( )+342 ( ) 659 ( )”Lucas”

( ) “Verdadeiro” ( ) 0.001 ( ) Verdadeiro

2) Assinale com um X os nomes de variáveis válidos.

( ) abc( ) 3abc ( ) a ( ) 123a ( ) –a ( ) acd1 ( ) -_ad

(36)

IF Sertão PE - Floresta 36

Operador de atribuição

Para “colocar” um valor em uma variável dentro de

um algoritmo, utilizamos o operador de atribuição. O

operador de atribuição é representado por uma seta

(<-) apontando para a esquerda.

Exemplo:

Peso <- 78.5

Nome <- “João da Silva”

(37)

Operador de atribuição

É importante lembrar que só se pode atribuir às variáveis

valores do mesmo tipo da variável. Assim, o seguinte comando

seria inválido:

VAR

salario: REAL

INICIO

salario <- "Insuficiente"

(38)

IF Sertão PE - Floresta 38

Operador de atribuição

Deve estar claro, também, que sempre à esquerda do

comando de atribuição deve haver um (e somente um)

identificador de variável. Assim, são incorretos os seguintes

comandos:

2

060 <- NumeroConta

NumeroAgencia+digitoControle <- 2345 + 0

(39)

Linhas de Comentário

Os comentários são declarações não compiladas

que podem conter qualquer informação textual

que você queira adicionar ao código-fonte para

referência e documentação de seu programa.

Uma linha

São representados por duas barras normais ( // ).

Todo o texto que você digitar após as duas barras

será comentário.

(40)

IF Sertão PE - Floresta 40

Comandos de entrada/saida (E/S)

Comando de Entrada:

escreva()

Exibição de informações (texto alfanumérico) para

o usuário em algum dispositivo de saída (monitor).

Exemplos:

escreva(“Meu primeiro programa”)

(41)

Comandos de entrada/saida (E/S)

Comando de saida:

leia(<identificador>)

Exibição de informações (texto alfanumérico) para

o usuário em algum dispositivo de saída (monitor).

Exemplos:

leia(idade)

(42)

IF Sertão PE - Floresta 42

Exercícios

1)

Faça um algoritmo que lê dois valores reais do teclado, calcula e mostra na

tela: soma, subtração, multiplicação e divisão.

2)

Faça um algoritmo que determine o volume de uma caixa dágua cilíndrica,

sendo que o raio e a altura devem ser fornecidos (lidos pelo teclado). V =

PI * Raio^2 * Altura.

3)

Escrever um algoritmo que lê o nome de um funcionário, o número de

horas trabalhadas, o valor que recebe por hora e o número de filhos. Com

estas informações, calcular o salário deste funcionário, sabendo que para

cada filho, o funcionário recebe 3% a mais, calculado sobre o salário bruto.

4)

Escrever um algoritmo que lê o nome de um vendedor, o seu salário fixo, o

total de vendas por ele efetuadas e o percentual que ganha sobre o total de

vendas. Calcular o salário total do vendedor. Escrever o número do

(43)

Estrutura sequencial

De forma genérica, a construção de um

algoritmo se resume às seguintes

etapas:

a)Entendimento do problema

b)Elaboração da solução algorítmica; e

c)Codificação da solução no Português estruturado.

Geralmente a etapa 2 é a mais

complexa,

pois

depende

da

(44)

IF Sertão PE - Floresta 44

Estrutura sequencial - Exemplo

Solução

1.Algoritmo "Cálculo de Média Aritmética"

2.var

3. A,B,Media : REAL

4.

5. inicio

6. Escreva ("Programa que calcula a média aritmética de dois valores.")

7. Escreva ("Digite um valor : ")

8. Leia (A)

9. Escreva ("Digite outro valor : ")

10. Leia (B)

11. Media <- (A+B)/2

12. Escreva ("A média dos dois valores é : ", Media)

(45)

Exercícios

1) Faça um programa que lê o nome de um aluno, as notas de suas três provas e, em seguida, exiba os dados do aluno com a seguinte

formatação:

Nome do aluno: XXXXX XXXXX XXXX Nota da prova 1: xx.xx

Nota da prova 2: xx.xx Nota da prova 3: xx.xx

Média da Disciplina: xx.xx

(46)

IF Sertão PE - Floresta 46

Estrutura Condicional

"se tiver R$ 10,00 sobrando então irei ao cinema

hoje à noite.”

Condição: “tiver R$ 10,00 sobrando”

Condição deve ser algo que tenha como resposta

SIM ou NÃO, Verdadeiro ou FALSO.

(47)

Estrutura Condicional

se

"tiver R$ 10,00 sobrando"

entao

"irei ao cinema"

(48)

IF Sertão PE - Floresta 48

Estrutura Condicional

dinheiro <- 10

se

dinheiro >= 10

entao

escreval(

"irei ao cinema"

)

(49)

Comando de condição SE

se

<condição>

entao

<ações (uma ou mais) a serem realizadas

se a condição for verdadeira>

(50)

IF Sertão PE - Floresta 50

Comando de condição SE

Agora vamos modificar o algoritmo para que ele exiba a

mensagem “ficar em casa” caso não tiver R$ 10,00 sobrando

.

Solução:

se

dinheiro >= 10

entao

escreval(“vou ao cinema”)

fimse

se

dinheiro < 10

entao

escreval(“vou ficar em casa”)

(51)

Comando de condição SE

Agora vamos modificar o algoritmo para que ele exiba a

mensagem “ficar em casa” caso não tiver R$ 10,00 sobrando

.

Solução:

se

dinheiro >= 10

entao

escreval(“vou ao cinema”)

fimse

se

dinheiro < 10

entao

escreval(“vou ficar em casa”)

(52)

IF Sertão PE - Floresta 52

Comando de condição SE

Agora vamos modificar o algoritmo para que ele exiba a

mensagem “ficar em casa” caso não tiver R$ 10,00 sobrando.

Solução (melhorada):

se

dinheiro >= 10

entao

escreval(“vou ao cinema”)

senao

escreval(“vou ficar em casa”)

(53)

Comando de condição SE-SENAO

Exemplo:

Determinar se um número digitado pelo usuário é negativo ou positivo

Algoritmo “Positivo-Negativo”

VAR

numero : inteiro

inicio

escreval(“Digite um número inteiro: ”)

leia(numero)

se numero >= 0 entao

escreval(“O número digitado é positivo”)

senao

(54)

IF Sertão PE - Floresta 54

Exercícios

1)Escreva um algoritmo que lê o salário em uma pessoa e determina se ela é baixa renda ou não. Pessoas de baixa renda são aquelas que ganham menos de 1 salário mínimo por mês (R$ 880,00).

2)Escreva um algoritmo que determina se um número digitado pelo usuário está entre 10 e 20.

3)Escreva um programa que leia um número inteiro. Se o número lido for

positivo, escreva uma mensagem indicando se ele é par ou ímpar. Se o número for negativo, escreva a seguinte mensagem “Este número não é positivo”.

Referências

Documentos relacionados

(1961), que prepara- ram as amostras de carne moida a partir de carne não moida, no caso do presente trabalho as quarenta amostras utilizadas foram obtidas do comér- cio

a) Sistema monousuário - Permite que apenas um usuário utilize o equipamento pôr vez (como o próprio nome diz: computador pessoal). b) monoprogramável - Pôr possuir uma

Dentre os nematódeos foram encontrados espécimes da Família Anisakidae (Fig.2), resultado também verificado por Madi &amp; Silva (2005), estudando peixes da Reserva do Jaguaraí,

Alternativamente à convocação para comparecer perante o órgão ou entidade para a assinatura do Termo de Contrato ou aceite/retirada do instrumento equivalente, a Administração

Como indica a tabela 3, patentes relaciona- das às tecnologias Terminator e Traitor são con- cedidas no mundo desde 1994 e estão sob o po- der de universidades, centros de pesquisa e

Os principais resultados encontrados foram a falta de conhecimento técnico das comunidades para direcionar a atividade turística sob uma visão estratégica, a

[r]

pação do IDE na 23ª edição da Come- jus, os jovens da mocidade de sábado optaram por trocar a folia do Carnaval para estudar e confraternizar com outros companheiros espíritas