sistemas operacionais e introdução à programaçãomsobral/sop/slides/aula12.pdf · 7 lógica de...

32
1 Sistemas Operacionais Sistemas Operacionais e Introdução à e Introdução à Programação Programação Introdução à Lógica de Introdução à Lógica de Programação Programação

Upload: lytuong

Post on 08-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

1

Sistemas Operacionais Sistemas Operacionais e Introdução à e Introdução à ProgramaçãoProgramação

Introdução à Lógica de Introdução à Lógica de ProgramaçãoProgramação

Page 2: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

2

Lógica de ProgramaçãoLógica de Programação

Estruturas de dadosEstruturas de dados● Representação computacional das informações do

problema ser resolvido● Informações podem ser de diferentes tipos, então

implicam diferentes representações

● Ex: Identifique os dados de entrada e saída neste algoritmo para calcular a aceleração de um corpo:1. Leia para variável M a massa do corpo em kg2. Leia para variável F força a ser aplicada ao corpo3. Calcule aceleração: a = F / M – a

c*Mg

4. Mostre o valor da variável a na tela

Page 3: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

3

Lógica de ProgramaçãoLógica de Programação

Tipos primitivos de dadosTipos primitivos de dados● São os tipos de informação que o computador manipula:

● Numéricos:● Inteiros: um subconjunto dos números inteiros,

podendo ser sinalizados ou não (ex: 4, -5, 1034, 0)● Reais: um subconjunto dos números reais, com

determinada precisão (ex: 1.34, 2.7828)● Não-numéricos:

● Alfanuméricos: sequências de letras, algarismos e símbolos (ex: “ABCDEF”, “FX90”, “R$ 10,00”)

● Booleanos: valores que representam verdadeiro ou falso (ex: TRUE, FALSE)

Page 4: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

4

Lógica de ProgramaçãoLógica de Programação

Constantes e variáveisConstantes e variáveis● Informações podem estar guardadas em constantes

ou variáveis● Constantes: valores que não mudam ao longo do

tempo● Variáveis: guardam valores que podem mudar

● Conteúdo: valor da variável● Identificador: o nome da variável● Do ponto de vista computacional, uma variável é

uma área de memória RAM

Page 5: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

5

Lógica de ProgramaçãoLógica de Programação

Constantes e variáveisConstantes e variáveis● Ex: Algoritmo para calcular a aceleração de um corpo:

1. Leia para variável M a massa do corpo em kg2. Leia para variável F força a ser aplicada ao corpo3. Calcule aceleração: a = F / M – a

c*Mg

4 Mostre o valor da variável a na tela

F: variável que representa a força aplicadaM: variável que representa a massa do corpoa: variável que representa a aceleração resultante a

c: constante que representa o atrito cinético

g: constante que representa a aceleração gravitacional

constantes

Page 6: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

6

Lógica de ProgramaçãoLógica de Programação

Constantes e variáveisConstantes e variáveis● Ex: Algoritmo para formatar o nome de uma pessoa:

1. Leia para variável nome o primeiro nome de uma pessoa

2. Leia para variável sobrenome seu sobrenome3. Faça variável NomeCompleto = nome + “ “

sobrenome4. Mostre o valor da variável NomeCompleto na tela

Variáveis: nome, sobrenome, NomeCompletoConstantes: “ “

Obs: todas variáveis e constantes são alfanuméricas

Page 7: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

7

Lógica de ProgramaçãoLógica de Programação

Constantes e variáveisConstantes e variáveis● O identificador é o nome de um local onde se podem

guardar valores de determinado tipo de dados● A definição de identificadores possui regras (sendo

algumas de bom senso):● Devem iniciar com caractere alfabético● Segundo caractere em diante pode ser numérico● Pode-se usar símbolo “_” como parte do

identificador● Devem ajudar a lembrar do que se trata a

informação guardada (i.e: mnemônico)● Ex: nome, sobrenome, a, F, lista, ...

Page 8: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

8

Lógica de ProgramaçãoLógica de Programação

Declaração de variáveisDeclaração de variáveis● As variáveis necessárias em um algoritmo devem ser

previamente declaradas● Assim se reserva memória para guardar seus

conteúdos● A declaração inclui o tipo de dados da variável e seu

identificador, na forma:Tipo variável1, variável2, ...;

● Exemplos:real x, y; // coordenadas de um pontotexto Nome;inteiro Dia, mes, ano; logico Sucesso; /* verificação do nome bem

sucedida */

Page 9: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

9

Lógica de ProgramaçãoLógica de Programação

Declaração de variáveisDeclaração de variáveis● Ao serem declaradas as variáveis não estão inicializadas

● Quer dizer, não possuem valor inicial● A declaração ocorre antes das ações do algoritmo● Os comentários representam qualquer explicação

inserida no algoritmo, para ajudar seu entendimento● Comentários são precedidos por // ● ... ou delimitados por /* e */ (neste caso, podem

ocupar mais de uma linha)

Page 10: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

10

Lógica de ProgramaçãoLógica de Programação

Operações básicas: atribuiçãoOperações básicas: atribuição● Atribuir ou associar um valor a uma variável

● Sintaxe genérica: identificador  expressão;←● Expressão depende do tipo da variável:

● Numéricas: expressão pode conter constantes, variáveis numéricas, expressões aritméticas, funções matemáticas

● Lógicas: expressão deve resultar em Verdadeiro ou Falso

● Texto: expressão deve resultar em um texto● Exemplos:x ← 10 // variável x é do tipo Inteirosucesso ← (x < 20) E (y > 10); // sucesso é do tipo

Lógicoa ← sin(λx + ωt) // a é do tipo real

Page 11: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

11

Lógica de ProgramaçãoLógica de Programação

Operações básicas: operadores usados em Operações básicas: operadores usados em expressõesexpressões

● Aritméticos (somente com variáveis numéricas):

+, - Adição e subtração (unários)+, - Adição e subtração (binários)* Multiplicação/ Divisãodiv Divisão inteira ou truncadamod Resto da divisão inteira

Page 12: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

12

Lógica de ProgramaçãoLógica de Programação

Operações básicas: operadores usados em Operações básicas: operadores usados em expressõesexpressões

● Relacionais (usados para comparações):● Somente com dados numéricos: >, >=, <, <= ● Com quaisquer tipos de dados: = (igual), =/=

(diferente)● Lógicos ou Booleanos (usados para combinar

condições):● E (conjunção). Ex: (x > 0) E (x < 10)● OU (disjunção). Ex: (idade < 5) OU (idade >= 65)● NOT (negação). Ex: NOT (opcao = “”)

Page 13: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

13

Lógica de ProgramaçãoLógica de Programação

Descrição do algoritmo em pseudo-linguagem:Descrição do algoritmo em pseudo-linguagem:

INICIOINICIO

Declaração de variáveis e constantesDeclaração de variáveis e constantes

Inicialização de variáveis e constantesInicialização de variáveis e constantes

Comandos de entrada de dadosComandos de entrada de dados

Processamento / cálculoProcessamento / cálculo

Comandos de saída de dadosComandos de saída de dados

FIMFIM

Page 14: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

14

Lógica de ProgramaçãoLógica de Programação

Descrição do algoritmo em pseudo-linguagem:Descrição do algoritmo em pseudo-linguagem:

Ex: cálculo de médiaEx: cálculo de média

INICIOINICIO

Real P1, P2, P3, P4, M;Real P1, P2, P3, P4, M;

Ler P1Ler P1

Ler P2Ler P2

Ler P3Ler P3

Ler P4Ler P4

M M  (P1 + P2 + P3 + P4) / 4←

Escrever “Media final = “, MEscrever “Media final = “, M

FIMFIM

Page 15: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

15

Lógica de ProgramaçãoLógica de Programação

Exercícios:Exercícios:

1) Faça um algoritmo para ler dados pessoais 1) Faça um algoritmo para ler dados pessoais (nome, ano de nascimento, endereço, sexo), e (nome, ano de nascimento, endereço, sexo), e mostre esses dados da seguinte forma:mostre esses dados da seguinte forma:

Nome: nome completoNome: nome completo

Nascimento: ano de nascimentoNascimento: ano de nascimento

Idade: idadeIdade: idade

Sexo: M ou FSexo: M ou F

Maior de idade: Verdadeiro ou FalsoMaior de idade: Verdadeiro ou Falso

Page 16: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

16

Lógica de ProgramaçãoLógica de Programação

Exercícios:Exercícios:

22) Faça um algoritmo para calcular e mostrar o ) Faça um algoritmo para calcular e mostrar o perímetro de um polígono qualquer.perímetro de um polígono qualquer.

3) Faça um algoritmo para calcular e mostrar a área de 3) Faça um algoritmo para calcular e mostrar a área de um polígono qualquer.um polígono qualquer.

4) Faça um algoritmo para mostrar de forma separada o 4) Faça um algoritmo para mostrar de forma separada o valor inteiro de um número real e sua parte fracionária.valor inteiro de um número real e sua parte fracionária.

Page 17: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

17

Lógica de ProgramaçãoLógica de Programação

Exercícios:Exercícios:

5) Faça um algoritmo para calcular a resistência 5) Faça um algoritmo para calcular a resistência equivalente para um circuito com duas resistências em equivalente para um circuito com duas resistências em paralelo.paralelo.

6) Faça um algoritmo para calcular o desvio padrão de 6) Faça um algoritmo para calcular o desvio padrão de um conjunto de 8 valores reais.um conjunto de 8 valores reais.

7) Em um cinema as cadeiras são numeradas 7) Em um cinema as cadeiras são numeradas sequencialmente, começando no canto esquerdo sequencialmente, começando no canto esquerdo próximo à tela. Essas cadeiras estão organizadas em 40 próximo à tela. Essas cadeiras estão organizadas em 40 fileiras de 20 cadeiras. Faça um algoritmo que informe fileiras de 20 cadeiras. Faça um algoritmo que informe que que fileira se encontre determinada cadeira, e sua que que fileira se encontre determinada cadeira, e sua posiçõa em relação ao início da fileira.posiçõa em relação ao início da fileira.

Page 18: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

18

Lógica de ProgramaçãoLógica de Programação

Estruturas de controle:Estruturas de controle:● CondicionalCondicional: faz a escolha de ações a serem : faz a escolha de ações a serem executadas, dependendo de condições definidas.executadas, dependendo de condições definidas.

● CondiçõesCondições são dadas por expressões booleanas, são dadas por expressões booleanas, que resultam em que resultam em VerdadeiroVerdadeiro ou ou FalsoFalso..

● Sintaxe geral:Sintaxe geral:

Se condição entao Bloco de comandos

FimSe

Se condição entao Bloco de comandos

Senao  Bloco de comandosFimSe

ou

Page 19: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

19

Lógica de ProgramaçãoLógica de Programação

Representação em fluxograma para Representação em fluxograma para se ... se ... então … senãoentão … senão

Condição

Sentenças Sentenças

SimNão

Page 20: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

20

Lógica de ProgramaçãoLógica de Programação

Estruturas de controle: exemploEstruturas de controle: exemplo● Determinar se um número é par ou ímpar:Determinar se um número é par ou ímpar:

INICIO  Inteiro numero

  Escrever “Digite um numero: “  Ler numero  Se (numero % 2 = 0) entao    Escrever “Numero “, numero, “ é par”  Senao    Escrever “Numero “, numero, “ é ímpar”FimSeFIM

Page 21: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

21

Lógica de ProgramaçãoLógica de Programação

Estruturas de controle: exemploEstruturas de controle: exemplo● Determinar se um número é par ou ímpar: Determinar se um número é par ou ímpar: (fluxograma)(fluxograma)

Page 22: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

22

Lógica de ProgramaçãoLógica de Programação

Exercícios:Exercícios:

1) Faça um algoritmo para fazer a divisão de dois 1) Faça um algoritmo para fazer a divisão de dois números reais. Antes de dividi-los deve ser feito um teste números reais. Antes de dividi-los deve ser feito um teste de validade. Caso não seja possível dividi-los, deve ser de validade. Caso não seja possível dividi-los, deve ser mostrada uma mensagem de erromostrada uma mensagem de erro.. Se for possível, deve- Se for possível, deve-se mostrar o resultado da divisão.se mostrar o resultado da divisão.

2)2) Faça um algoritmo para fazer a divisão de dois Faça um algoritmo para fazer a divisão de dois números inteiros. No entanto, antes de efetuar a divisão números inteiros. No entanto, antes de efetuar a divisão deve-se verificar se é possível fazer a divisão sem resto, deve-se verificar se é possível fazer a divisão sem resto, gerando-se uma mensagem de erro caso contrário.gerando-se uma mensagem de erro caso contrário.

Page 23: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

23

Lógica de ProgramaçãoLógica de Programação

Exercícios:Exercícios:3) Tendo como dados de entrada o sexo e a altura de 3) Tendo como dados de entrada o sexo e a altura de uma pessoa, faça um algoritmo que calcule o peso ideal uma pessoa, faça um algoritmo que calcule o peso ideal usando estas fórmulas (h = altura):usando estas fórmulas (h = altura):

Homens: 72.7 * h – 58Homens: 72.7 * h – 58Mulheres: 62.1 * h - 44.7 Mulheres: 62.1 * h - 44.7

Page 24: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

24

Lógica de ProgramaçãoLógica de Programação

Exercícios:Exercícios:

4) Traduza o fluxograma ao lado para 4) Traduza o fluxograma ao lado para Portugol. O que faz esse algoritmo ?Portugol. O que faz esse algoritmo ?

Page 25: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

25

Lógica de ProgramaçãoLógica de Programação

Condições: expressões que resultam em Condições: expressões que resultam em VerdadeiroVerdadeiro ou ou FalsoFalso

Condições simplesCondições simples: apenas uma comparação. Ex:: apenas uma comparação. Ex:Idade < 18 // Verdadeiro se pessoa for menor de Idade < 18 // Verdadeiro se pessoa for menor de

idadeidade Sexo = “M” // Verdadeiro se pessoa for do sexo Sexo = “M” // Verdadeiro se pessoa for do sexo femininofeminino

Condições compostasCondições compostas: combinam condições usando : combinam condições usando operadores lógicos (NAO, E, OU). Ex:operadores lógicos (NAO, E, OU). Ex:

Idade > 18 E sexo = “F”Idade > 18 E sexo = “F” // mulheres maiores // mulheres maiores de idadede idade

X > 0 E x < 10X > 0 E x < 10 // valor da variável x está // valor da variável x está entre 0 e 10entre 0 e 10 NAO (idade > 5) E (idade < 65)NAO (idade > 5) E (idade < 65) // idade para // idade para passe livrepasse livre

Page 26: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

26

Lógica de ProgramaçãoLógica de Programação

Condições: exercícioCondições: exercício

1) Um edifício possui dois elevadores. Quando alguém chama 1) Um edifício possui dois elevadores. Quando alguém chama um elevador, o sistema de controle seleciona o mais um elevador, o sistema de controle seleciona o mais adequado. As regras de seleção para o melhor elevador são as adequado. As regras de seleção para o melhor elevador são as seguintes (em ordem de preferência):seguintes (em ordem de preferência):i) Aquele que estiver indo na mesma direção do chamado, e i) Aquele que estiver indo na mesma direção do chamado, e indo para o andar de onde ele se originou.indo para o andar de onde ele se originou.ii) Aquele que estiver parado e mais próximo do andar de onde ii) Aquele que estiver parado e mais próximo do andar de onde veio o chamado.veio o chamado.

(continua ...)(continua ...)

Page 27: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

27

Lógica de ProgramaçãoLógica de Programação

Cada elevador é descrito pelas variáveis (N é 1 ou 2):Cada elevador é descrito pelas variáveis (N é 1 ou 2):Logico paradoN, subindoNLogico paradoN, subindoNInteiro andarNInteiro andarN

O chamado é descrito pelas variáveis:O chamado é descrito pelas variáveis:Inteiro chamadoAndarInteiro chamadoAndarLogico chamadoSubindoLogico chamadoSubindo

a) Escreva a condição que expresse a regra de seleção i)a) Escreva a condição que expresse a regra de seleção i)b) Escreva a condição que expresse a regra de seleção ii)b) Escreva a condição que expresse a regra de seleção ii)c) Escreva a condição escolha o elevador adequadoc) Escreva a condição escolha o elevador adequado

Page 28: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

28

Lógica de ProgramaçãoLógica de Programação

Estrutura condicional: Estrutura condicional: Escolhe … casoEscolhe … caso

Mais prática para comparar uma variável (ou expressão) com Mais prática para comparar uma variável (ou expressão) com múltiplos valoresmúltiplos valoresINICIOINICIO Inteiro opcaoInteiro opcao

Escrever “Digite uma opcao entre 1 e 3: “Escrever “Digite uma opcao entre 1 e 3: “ Ler opcaoLer opcao Escolhe opcaoEscolhe opcao Caso 1: Caso 1: escrever “opcao 1”escrever “opcao 1” Caso 2: Caso 2: escrever “opcao 2”escrever “opcao 2” Caso 3: Caso 3: escrever “opcao 3”escrever “opcao 3” Defeito: Defeito: escrever “opcao desconhecida !”escrever “opcao desconhecida !” FimEscolheFimEscolheFIMFIM

Page 29: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

29

Lógica de ProgramaçãoLógica de Programação

Estrutura condicional: Estrutura condicional: Escolhe … casoEscolhe … caso

Equivalente a Equivalente a se .. então … senãose .. então … senão aninhados: aninhados:INICIOINICIO Inteiro opcaoInteiro opcao

Escrever “Digite uma opcao entre 1 e 3: “Escrever “Digite uma opcao entre 1 e 3: “ Ler opcaoLer opcao Se opcao = 1 entao escrever “opcao 1”Se opcao = 1 entao escrever “opcao 1” Senao Senao Se opcao = 2 entao escrever “opcao 2”Se opcao = 2 entao escrever “opcao 2” Senao Senao Se opcao = 3 entao escrever “opcao 3”Se opcao = 3 entao escrever “opcao 3” Senao escrever “opcao desconhecida !”Senao escrever “opcao desconhecida !” FimSeFimSe FimSeFimSe FimSeFimSeFIMFIM

Page 30: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

30

Lógica de ProgramaçãoLógica de Programação

Estrutura condicional: Estrutura condicional: Escolhe … casoEscolhe … caso

Podem-se especificar múltiplos valores em cada teste:Podem-se especificar múltiplos valores em cada teste:

INICIOINICIO Inteiro opcaoInteiro opcao

Escrever “Digite uma opcao entre 1 e 10: “Escrever “Digite uma opcao entre 1 e 10: “ Ler opcaoLer opcao Escolhe opcaoEscolhe opcao Caso 1, 3, 5, 7, 9: Caso 1, 3, 5, 7, 9: escrever “opcao ímpar”escrever “opcao ímpar” Caso 2, 4, 6, 8, 10: Caso 2, 4, 6, 8, 10: escrever “opcao par”escrever “opcao par” Defeito: Defeito: escrever “opcao desconhecida !”escrever “opcao desconhecida !” FimEscolheFimEscolheFIMFIM

Page 31: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

31

Lógica de ProgramaçãoLógica de Programação

ExercíciosExercícios

1) Refaça o programa da calculadora, mas desta vez usando a 1) Refaça o programa da calculadora, mas desta vez usando a estrutura estrutura escolhe … casoescolhe … caso..

2) Faça um algoritmo que mostre qual o último dia de um 2) Faça um algoritmo que mostre qual o último dia de um determinado mês informado pelo teclado. Caso seja informado determinado mês informado pelo teclado. Caso seja informado o mês 2 (fevereiro), seu algoritmo deve identificar se é ano o mês 2 (fevereiro), seu algoritmo deve identificar se é ano bissexto (assim o mês tem 29 dias), ou não (mês tem 28 dias). bissexto (assim o mês tem 29 dias), ou não (mês tem 28 dias). Obs: anos bissextos são dados pelas regras (segundo o Obs: anos bissextos são dados pelas regras (segundo o calendário Gregoriano):calendário Gregoriano):

i) De 4 em 4 anos é ano bissexto.i) De 4 em 4 anos é ano bissexto.ii) De 100 em 100 anos não é ano bissexto.ii) De 100 em 100 anos não é ano bissexto.iii) De 400 em 400 anos é ano bissexto.iii) De 400 em 400 anos é ano bissexto.iv) Prevalecem as últimas regras sobre as primeiras.iv) Prevalecem as últimas regras sobre as primeiras.

Page 32: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula12.pdf · 7 Lógica de Programação Constantes e variáveis O identificador é o nome de um local onde

32

Lógica de ProgramaçãoLógica de Programação

ExercíciosExercícios

3) A previsão do tempo na costa brasileira pode ser feita de forma 3) A previsão do tempo na costa brasileira pode ser feita de forma aproximada usando-se um barômetro e um termômetro. Uma aproximada usando-se um barômetro e um termômetro. Uma estimativa com boa chance de acerto se baseia na tabela abaixo estimativa com boa chance de acerto se baseia na tabela abaixo (obtida em (obtida em http://www.popa.com.br/meteorologia/pressao&temperatura.htm):http://www.popa.com.br/meteorologia/pressao&temperatura.htm):

Faça um algoritmo que forneça uma estimativa da previsão do Faça um algoritmo que forneça uma estimativa da previsão do tempo, usando a tabela acima.tempo, usando a tabela acima.