algoritmos i variáveis, entrada e saída de dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · saídade...

26
Algoritmos I Algoritmos I Variáveis, Entrada e Saída Variáveis, Entrada e Saída de Dados de Dados de Dados de Dados Carlos de Salles Soares Neto [email protected] Segundas e Quartas, 17h40 às 19h10

Upload: duongkien

Post on 27-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Algoritmos IAlgoritmos IVariáveis, Entrada e Saída Variáveis, Entrada e Saída

de Dadosde Dadosde Dadosde DadosCarlos de Salles Soares Neto

[email protected] e Quartas, 17h40 às 19h10

Page 2: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Variáveis

• Área de memória para o armazenamento de dados

• Variáveis em algoritmos são sutilmentediferentes do mesmo conceito emmatemática. O nome é dado porqueaqui seu valor pode variar com o tempo

2

Page 3: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Nomenclatura de Variáveis• Os nomes de variáveis devem começar com uma letra, seguida de outras letras, dígitos, ou sublinhado (“_”);

• Toda variável possui um tipo associado;• Os nomes de variáveis devem ser autoexplicativos;autoexplicativos;

• Exemplos:– qtde_funcionarios– idade– h, gr, qtde (nomes ruins)

• Historicamente, as letras i, j, k são usadas para contadores

3

Page 4: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Declaração de Variáveis

• A declaração de uma variável serve para identificá-la (dar um nome) e apresentar seu tipo;

• Sintaxe de uma declaração:<variável 1>, <variável 2>, ... :<tipo><variável 1>, <variável 2>, ... :<tipo>

• Atribuindo valores a variáveis

• – Uma variável sempre armazena apenas um único

• valor;

4

Page 5: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Atribuindo valores a variáveis

• Uma variável sempre armazena apenasum único valor

• Numa atribuição, o novo valor da variávelsubstitui o antigo

5

Page 6: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Atribuições

• Atribuir valores de tipos diferentes é um erro:quantidade : inteiro;quantidade � ‘Carlos’;quantidade � ‘Carlos’;

6

Page 7: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Comando de Entrada de Dados

• Sintaxe do comando:– ler <variável1>, <variável2>, …

• O comando ler é a forma maisrudimentar de entrada de dados porrudimentar de entrada de dados porparte do usuário;

• A entrada de dados em portuguêsestruturado é feita exclusivamentepor meio deste comando.

7

Page 8: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Entrada de Dados – Exemplos

clientes: inteiro;

ler clientes;

nome_cliente: cadeia;nome_cliente: cadeia;

jdade_cliente: inteiro;

ler nome_cliente, idade_cliente;

8

Page 9: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Saída de Dados

• Sintaxe do comando– escrever <variável1 ou expressão

ou mensagem>, …

• O comando escrever é a forma mais• O comando escrever é a forma maisrudimentar de saída de dados;

• Em português estruturado, a saídade dados é feita exclusivamente pormeio deste comando.

9

Page 10: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Saída de Dados – Exemplosescrever ‘Olá. Boa tarde!’

Exibe na tela:Olá. Boa tarde!

nome_cliente: cadeia;idade_cliente: inteiro;idade_cliente: inteiro;nome_cliente � ‘João’;idade_cliente �20;escrever ‘O cliente ’, nome_cliente, ‘ tem ’, idade_cliente, ‘ anos de idade.’;Exibe na tela:

O cliente João tem 20 anos de idade.

10

Page 11: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Sintaxe Geral de Português EstruturadoTipos

<tiponovo1> = <tipo1>;

<tiponovo2> = <tipo2>;

Variáveis

<variável1>, <variável2>, … : <tipo>;

<variável3>, <variável4>, … : <tipo>;

//Isso é um comentário que será ignorado

Início

<comando1>; …

Fim.

Módulo <nomemódulo1>;

[[ …

]];

Módulo …

11

Page 12: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 1 – Equações de Segundo Grau

• Uma equação de segundo grau tem o seguinte formato:

• Com base nisso, escreva um programa que lê os valores a, b, c e exibe o resultado da equação de segundo grau.

12

Page 13: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 1 - Solução

13

Page 14: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 2 – Área de um retângulo

• A área de um retângulo é definidapor:

• Faça um programa que receba do • Faça um programa que receba do usuário a base a a altura de um retângulo e exiba a área desseretângulo.

14

Page 15: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 2 - Solução

15

Page 16: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 3 - Rendimentos

• No Brasil, uma aplicação financeirapaga 20% de imposto de renda sobreos rendimentos brutos.

• Faça um programa que leia do usuárioseu saldo em uma aplicação financeiraseu saldo em uma aplicação financeirae os rendimentos em um mês damesma.

• Exiba como resposta o saldo atualizadoda aplicação excluindo o imposto de renda.

16

Page 17: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 3 – Solução

17

Page 18: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 4 – Qual a senha?

• Para entrar em um sistema de segurança o espião precisa informarsua senha de acesso. A senha é ‘abre-te sesamo’.‘abre-te sesamo’.

• Faça um programa que pede para o usuário informar a senha e exibeVERDADEIRO caso a senha sejacorreta ou FALSO em caso contrário.

18

Page 19: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 4 – Solução

19

Page 20: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 5 – Média em uma disciplina

• A média final de uma disciplina é calculada da seguinte forma:

• Faça um programa que leia as três• Faça um programa que leia as trêsnotas de um aluno em uma disciplina e exiba sua média. Além disso, o programa exibe VERDADEIRO se o aluno tiver média sete ou mais e FALSO em caso contrário.

20

Page 21: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 5 – Solução

21

Page 22: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 6 – Pay per view• Em um sistema de TV por assinatura, alguns canais funcionam no sistema de pay per view e outros não.

• Os canais pay per view são múltiplos de 11 e os canais 56 a 62. Todos os demais canaissão livres, ou seja, estão inclusos nasão livres, ou seja, estão inclusos naassinatura mensal.

• Faça um programa que leia do usuário um número de canal e exiba na tela a mensagem ‘Canal livre FALSO’ se o canal for pay per view ou ‘Canal livreVERDADEIRO’ em caso contrário.

22

Page 23: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Problema 6 – Solução

23

Page 24: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Etapas da Construção de um Algoritmo

• Entender o problema• Identificar as saídas• Identificar as entradas do problema• Analisar o processamento• Manter separadas as etapas de entrada, processamento e saída

• Definir a sequencia de comandos• Se necessário, realizar a verificaçãomanual de algoritmos (chinês)

24

Page 25: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Modularização de algoritmos

• Equivale a dividir um problema maiorem vários subproblemas, maissimples de serem resolvidos

• Método “dividir para conquistar”• Método “dividir para conquistar”

25

Page 26: Algoritmos I Variáveis, Entrada e Saída de Dadosdeinf.ufma.br/~csalles/alg/parte2.pdf · Saídade Dados–Exemplos escrever‘Olá. ... • Com base nisso, escrevaum programaquelêosvaloresa,

Exemplo de modularização(Problema 1)

26