Top Banner
Apostila Lógica de Programação Professor Marcos Ferreira 1
22

Apostila Netcom

Dec 02, 2015

Download

Documents

Bruno Rafael
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Apostila Netcom

Apostila Lógica de Programação

Professor Marcos Ferreira

1

Page 2: Apostila Netcom

PLANO DE ENSINO

EMENTA:

Introdução a Algoritmos. Português estruturado. Variáveis e operadores matemáticos e lógicos. Estruturas básicas utilizadas para criar de um programa de computador. Estruturas de dados homogêneas.

OBJETIVOS:

Fornecer elementos e técnicas que capacitem o aluno a construir algoritmos, através da identificação dos passos ou ações necessários para transformar um conjunto de dados de entrada em informações de resultado, promovendo dessa forma, um ambiente de prática da lógica de programação.

CONTEÚDO PROGRAMÁTICO:

Conteúdo C.H1. Introdução

Conceitos Básicos de Programação. 3h2. Algoritmos

Princípios de Resolução de Problemas.Formas de Representação.Tipos de Dados.Operadores Matemáticos.Fórmulas Matemáticas.Comandos de Entrada e Saída.

6h

3. Tomadas de DecisãoOperadores Relacionais.Desvio Condicional Simples.Desvio Condicional Composto.Operadores Lógicos.Desvio Condicional Encadeado.Estrutura de Múltipla Escolha.

9h

4. Laços de RepetiçãoLaço com teste lógico no início.Laço com teste lógico no fim.Laço com variável de controle.

9h

5. Variáveis CompostasVetores.Matrizes.

6h

CRONOGRAMA DAS AULAS:

Aula 1 – 6 Introdução. Algoritmos. Tomadas de Decisão. Resolução de Exercícios.

Aula 7 Prova 1

Aula 8 – 12 Laços de Repetição. Variáveis Compostas. Resolução de Exercícios.

Aula 13 Prova 2

Aula 14 Prova Final

2

Page 3: Apostila Netcom

1 – Introdução

Noções de lógica

Lógica é a forma correta de organizar os pensamentos e demonstrar o raciocínio de maneira correta. A utilização da lógica é a melhor forma de solucionar problemas e atingir objetivos. Sempre que se quer pensar, falar ou escrever corretamente, deve-se colocar os pensamentos em ordem. Exemplos:

a) Todo mamífero é animal. Todo cavalo é mamífero. Portanto, todo cavalo é animal.

b) A gaveta está fechada.A caneta está na gaveta.Primeiro é necessário abrir a gaveta, para depois pegar a caneta.

Algoritmo

Um algoritmo é uma seqüência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. São exemplos de algoritmos instruções de montagem, receitas, manuais de uso, etc. Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução de um problema. Em geral, existem muitos (senão infinitos) caminhos que levam a uma solução satisfatória.

Um algoritmo não computacional é um algoritmo cuja sequência de passos, a principio, não pode ser executada por um computador. O termo algoritmo está muito ligado à Ciência da Computação, mas, na realidade, ele pode ser aplicado a qualquer problema cuja solução possa ser decomposta em um grupo de instruções.

Exemplo 1.1:Algoritmo para fritar um ovo.1. Colocar um ovo na frigideira.2. Esperar o ovo ficar frito.3. Remover o ovo da frigideira.

O algoritmo acima, no entanto, poderia ser mais detalhado e completo. Uma versão mais aceitável seria:

Exemplo 1.2:Algoritmo para fritar um ovo.1. Retirar o ovo da geladeira.2. Colocar a frigideira no fogão.3. Acender o fogo.4. Colocar óleo na frigideira.5. Esperar até o óleo ficar quente.6. Quebrar o ovo separando a casca.7. Colocar o conteúdo do ovo na frigideira.8. Esperar o ovo ficar frito.9. Retirar o ovo da frigideira.10. Apagar o fogo.

3

Page 4: Apostila Netcom

A segunda versão é mais completa e detalhada que a anterior. Nela, várias ações que estavam subtendidas foram explicitadas. No entanto, para que o algoritmo possa ser utilizado, é necessário que quem for fazer uso dele conheça os termos utilizados nas instruções. O algoritmo acima só será útil para alguém que conheça o significado das palavras utilizadas para criar as instruções. Em outras palavras, é preciso que a linguagem utilizado no algoritmo seja conhecida tanto por quem o escreveu quanto por quem vai executá-lo.

Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. Portanto, a forma especial de linguagem que utilizaremos é bem mais restrita que o Português e com significados bem definidos para todos os termos utilizados nas instruções. Essa linguagem é conhecida como Português Estruturado (às vezes também chamada de Portugol). O português estruturado é, na verdade, uma simplificação extrema do Português, limitada a umas poucas palavras e estruturas que têm um significado muito bem definido. Ao conjunto de palavras e regras que definem o formato das sentenças válidas chamamos sintaxe da linguagem. Durante este texto, a sintaxe do Português Estruturado será apresentada progressivamente e a utilizaremos em muitos exercícios de resolução de problemas.

Aprender as palavras e regras que fazem parte dessa sintaxe é fundamental; no entanto, não é o maior objetivo deste curso. O que realmente exigirá um grande esforço por parte do estudante é aprender a resolver problemas utilizando a linguagem. Para isso, há somente um caminho: resolver muitos problemas. O processo é semelhante ao de tornar-se competente em um jogo qualquer: aprender as regras do jogo (a sintaxe) é só o primeiro passo, tornar-se um bom jogador (programador) exige tempo, muito exercício e dedicação.

Os algoritmos serão escritos e testados no software Visualg.

Algoritmos ComputacionaisO computador, a princípio, não executa nada. Para que ele faça uma determinada tarefa,

calcular uma folha de pagamento, por exemplo, é necessário que ele execute um programa. Um programa é um conjunto de milhares de instruções que indicam ao computador, passo a passo, o que ele tem que fazer. Logo, um programa nada mais é do que um algoritmo computacional descrito em uma linguagem de programação. Uma linguagem de programação contém os comandos que fazem o computador escrever algo na tela, realizar cálculos aritméticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lógica.

2 – Tipos de Informação

Podemos classificar os tipos de informação a serem processadas em dados e instruções.

DadosSão as informações a serem processadas por um computador. Existem três tipos de

dados: numéricos (inteiros e reais), caracteres e lógicos.

Tipo InteiroToda informação numérica que pertença ao conjunto dos números inteiros (negativa,

nula ou positiva). Exemplos: Número de alunos presentes na turma, número de gols marcados em uma partida de futebol, etc.

4

Page 5: Apostila Netcom

Tipo RealToda informação numérica que pertença ao conjunto dos números reais (negativa, nula,

positiva ou fracionária). Exs.: Média de um estudante, altura de uma pessoa, etc.

Tipo CaracterQualquer sequência contendo letras, números e símbolos especiais. Uma sequência de

caracteres sempre deve ser indicada entre aspas (“”). Ex: Nome de uma pessoa, etc.

Tipo LógicoSão caracterizados como tipos lógicos, os dados que só podem ser representados por

dois valores, verdadeiro e falso. Ex: A lâmpada pode estar ligada ou desligada.

Constantes e Variáveis Entende-se por uma informação constante, aquela que não sofre nenhuma alteração no

decorrer do tempo. Por exemplo, o número π.Tem-se como definição de variável tudo aquilo que é sujeito a variações. Para o

computador, variáveis são espaços de memória que são reservados para armazenar informações.

Nomenclatura e Declaração de Variáveis

Imagine que a memória de um computador é um grande armário com diversas gavetas, onde cada gaveta pode conter somente um valor (numérico, caracter ou lógico). É necessário identificar cada gaveta para sua utilização posterior, através de um nome. O nome de uma variável faz referência ao endereço de memória onde essa variável se encontra. Existem algumas regras para a utilização das variáveis:

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 nem acentuação gráfica; Na sintaxe do Português Estruturado, não há diferença entre letras maiúsculas de

minúsculas (NOME é o mesmo que noMe).

O termo “palavra reservada” se refere aos nomes das instruções (comandos) utilizados pela linguagem. Na tabela abaixo, as palavras reservadas existentes no Visualg:

aleatorio E Grauprad passoabs Eco Inicio pausa

algoritmo Enquanto Int piarccos Então Interrompa posarcsen Escolha Leia procedimentoarctan Escreva Literal quad

arquivo Exp Log radpgrauasc Faca Logico raizqate Falso Logn rand

caracter Fimalgoritmo Maiusc randicaso Fimenquanto Mensagem repita

compr Fimescolha Minusc secopia Fimfuncao Não sencos Fimpara Numérico senao

5

Page 6: Apostila Netcom

cotan fimprocedimento Numpcarac timercronometro Fimrepita Ou tan

debug Fimse Outrocaso verdadeirodeclare Função Para xou

Quando uma variável é declarada é impossível conhecer o seu valor inicial, pois na memória existem informações armazenadas que estão sendo utilizadas pelo computador e outras que não estão mais em uso. Esses espaços, mesmo contendo informação estão disponíveis para novas variáveis. Uma variável pode ser criada em um desses espaços, e seu valor será um “lixo” qualquer da memória. No visualg todas as variáveis começam com o valor zero.

Exercício 2.1.

Indique que tipo de variável que pode armazenar os valores abaixo. Utilize I para indicar tipo inteiro, R para indicar tipo real, C para indicar tipo caractere e L para lógico;

( )1000 ( ) “0” ( ) “-900” ( ) -456 ( ) verdadeiro ( )”Casa 8” ( ) 0 ( ) -1.56 ( ) ”.falso.” ( ) 1.87( )-900 ( ) 4.54 ( ) falso ( ) 1.10 ( ) 34

Exercício 2.2.

Assinale com X os nomes válidos para declaração de uma variável.

( )Endereco ( )21brasil ( )Fone$com ( )NomeUsuario ( )Nome_usuario ( )Nome*usuário ( )End-A ( )Cidade3 ( )#Cabec ( )23 ( )N23 ( ) Dia 21 ( )7quedas ( )C/C ( )x*y ( )Senha_conta2

3 - Comentários

Os comentários são declarações não compiladas que podem conter qualquer informação textual que o programador queira adicionar ao código-fonte para referência e documentação de seu programa. Os comentários são representados por duas barras (//). Todo o texto digitado depois das barras será comentário.

4 - Operadores Aritméticos

Para construir algoritmos que realizam cálculos matemáticos, é necessário utilizar os operadores aritméticos existentes na linguagem do Visualg (Português Estruturado). A tabela seguinte mostra os operadores disponíveis no Visualg.

Operadores Aritméticos Português EstruturadoAdição +

Subtração -Multiplicação *

Divisão /Divisão Inteira \Exponenciação ^

Resto da Divisão %

6

Page 7: Apostila Netcom

As expressões aritméticas utilizadas nos algoritmos devem ser linearizadas, ou seja cada expressão deve ser colocada em apenas uma linha. Exemplo:

Tradicional Computacional

Para o caso de expressões matemáticas que possuem mais de um operador aritmético, o computador obedece a seguinte prioridade de execução:

Operador PrioridadeExponenciação 1Multiplicação 2

Divisão 2Adição 3

Subtração 3 Em alguns é necessário alterar a ordem de execução dos operadores. Nesse caso, os

parênteses são utilizados. Por exemplo: (2 + 2) / 2 = 2 enquanto que 2 + 2 / 2 = 3.

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 pra esquerda. Exemplos de uso:

Peso 78.7 // Este comando atribui à variável Peso o valor 78.7. Nome “João da Silva” // Este comando atribui à variável Nome o valor “João da Silva”.

É importante lembrar que só se pode atribuir às variáveis valores do mesmo tipo da variável.

Exercício 4.1

Assinale os comandos de atribuição considerados inválidos.

varnome, cor, teste, dia: caracter soma, num: inteirosalario: real

a. ( ) nome “5”b. ( ) soma num + 2c. ( ) teste somad. ( ) cor “amarelo”e. ( ) x x+1f. ( ) salario 5.0g. ( ) salario 150

5 - Comandos de E/S (Entrada/Saída)

7

Page 8: Apostila Netcom

Um programa que faz seu processamento e não tem como mostrar seus resultados é inútil (imagine uma calculadora sem um display para mostrar os resultados). Portanto, em algum ponto do algoritmo deve ocorrer à exibição de valores, e todas as linguagens de programação tem comandos para esse fim. Na linguagem do Visualg utiliza-se o comando escreva. O comando tem a seguinte sintaxe:

Escreva (<expressão ou variável>, <expressão ou variável>, <expressão ou variável>).

Também é possível utilizar o comando escreval. O comando escreval imprime na tela tudo que estiver entre parênteses e pula uma linha.

Exemplos:

X 3.5

Y 4

Escreval (“O valor de x é ”, X)

Escreval (“A soma de X e Y é ”,X + Y)

Os comandos acima escreveriam as seguintes mensagens na tela do programa:

O valor de X é 3.5

A soma de X e Y é 7.5

Nem todos os dados que um algoritmo utiliza são gerados por ele. Um algoritmo de um caixa eletrônico tem que obter do usuário o número da conta, a senha, a opção de serviço desejada, etc. Assim, deve haver um meio para que esses dados sejam fornecidos para um algoritmo. Todas as linguagens de programação permitem isso, e no Português Estruturado utiliza-se o comando leia. O comando tem a seguinte sintaxe.

Leia (nome da variável)

Exemplo:

Escreval(“Digite seu nome ”)

Leia(n)// Permite que o algoritmo receba o nome do usuário.

Forma geral de um algoritmo

Agora que os comandos mais básicos já foram estudados é possível escrever algoritmos no Visualg. Os algoritmos escritos no Visualg tem a seguinte estrutura:

Algoritmo “Nome do Algoritmo”var<espaço para declaração de variáveis>inicio<lista de comandos>fimalgoritmo

8

Page 9: Apostila Netcom

Exemplo:

Algoritmo “Soma”// O Algoritmo Soma recebe dois números inteiros do usuário e calcula a soma desses númerosvar a,b:inteiro // variáveis de entradaS:inteiro// variável de saídainicioEscreval(“Digite o primeiro numero ”)Leia(a)Escreval(“Digite o segundo numero ”)Leia(b)s a + bescreval(“Soma: ”,s)fimalgoritmo

Fluxograma

Além de poderem ser escritos na forma de pseudocódigo os algoritmos também podem ser escritos na forma de fluxograma. Um fluxograma é um tipo de diagrama que representa um processo ou fluxo de trabalho. No caso dos algoritmos o fluxograma representa a sequencia de execução dos comandos pelo computador. São utilizadas figuras geométricas e setas unindo as figuras. Principais figuras utilizadas:

9

Page 10: Apostila Netcom

Exercício 5.1

Escreva um algoritmo (utilizando pseudocódigo e fluxograma) que solicite o valor de uma variável através da mensagem: “Digite um número:” leia uma variável do tipo inteiro, e depois imprima a mensagem: “Número digitado:”. A seguir imprima o valor da variável digitada.

Exercício 5.2

Elabore um algoritmo (pseudocódigo e fluxograma) que efetue o cálculo da área de um círculo, apresentando a medida da área calculada. Fórmula : área=π*raio².

Exercício 5.3

Escreva um algoritmo (pseudocódigo e fluxograma) que efetue o cálculo do valor de uma prestação em atraso, utilizando a fórmula: PRESTAÇÃO = VALOR+(VALOR*(TAXA/100)*TEMPO). Obs: Taxa a.d, tempo em dias.

Exercício 5.4

Escreva um algoritmo (pseudocódigo e fluxograma) que leia dois valores, A e B, e efetue as operações de adição, subtração (A - B), multiplicação e divisão de A por B, apresentando no final os quatro resultados obtidos.

Exercício 5.5

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 nome do vendedor e seu salário total.

6. Estrutura Condicional

Na vida real tomamos decisões a todo o momento baseadas em uma situação existente. Em um algoritmo, chamamos esta situação de condição. Associada a uma condição, existirá uma alternativa possível de ações.

Exemplo 6.1Se eu tiver R$ 10,00, então irei ao cinema hoje.

A condição nessa frase é “tiver R$ 10,00”. Essa condição é uma expressão lógica, pois a pergunta “Tenho R$ 10,00?” pode ser respondida com ‘sim’ ou ‘não’. O computador avalia uma condição como verdadeira ou falsa.

A estrutura condicional utilizada na linguagem do visualg tem a seguinte sintaxe:

Se condição entao<ações (uma ou mais) a serem realizadas se a condição for verdadeira>

Fimse

O conteúdo da estrutura condicional sofre um recuo em relação à posição horizontal. Esse recuo é chamado de indentação, e é aplicado a códigos fonte para indicar que elementos hierarquicamente dispostos têm o mesmo avanço. Na maioria das linguagens a indentação tem papel estético, tornando a leitura do código fonte muito mais fácil, porém é obrigatória em outras.

10

Page 11: Apostila Netcom

Para formar as condições utilizadas na estrutura condicional são utilizados os operadores relacionais:

> Maior>= Maior ou igual< Menor

<= Menor ou igual= Igual

<> Diferente As construções com os demais operadores não formam condições válidas. Por exemplo:

se a b entao, se a + b então, etc.

Exemplo 6.2Fazer um algoritmo que deve calcular a área de um círculo, sendo que o raio fornecido deve ser positivo.Algoritmo “Calcula Área de um Circulo”vararea, raio: realinicioescreval(“digite o raio do circulo”)leia(raio)se raio > 0 entao area pi*raio^2 escreval(“A área do círculo de raio ”,raio, ”é ”, area)fimsese raio <=0 entao escreva(“O raio não pode ser nulo ou negativo!”)fimsefimalgoritmo

Observe que se a condição da primeira estrutura é verdadeira, a segunda condição é falsa e vice-versa, e o conjunto de instruções a ser executado se raio <= 0 é uma alternativa para a condição raio > 0. Para expressar isso mais facilmente, as linguagens de programação permitem associar um conjunto de instruções a ser executado se a condição do comando resultar em FALSO. A sintaxe dessa estrutura no visualg é a seguinte:

se condição entao<ações (uma ou mais) a serem realizadas se a condição for verdadeira>

senao<ações (uma ou mais) a serem realizadas se a condição for falsa>

Fimse

Exemplo 6.3Algoritmo “Calcula Área de um Circulo”vararea, raio: realinicioescreval(“digite o raio do circulo”)

11

Page 12: Apostila Netcom

leia(raio)se raio > 0 entao area pi*raio^2 escreval(“A área do círculo de raio ”,raio, ”é ”, area)senao escreva(“O raio não pode ser nulo ou negativo!”)fimsefimalgoritmo

A estrutura condicional é representada pelo fluxograma abaixo:

Exercício 6.1Escrever um algoritmo que leia as duas notas de um aluno, calcule a média aritmética e

informe se o aluno foi aprovado ou reprovado.

Exercício 6.2Escrever um algoritmo que leia os coeficientes de uma equação do segundo grau e

informe se a equação possui raízes reais. Caso ela possua o algoritmo deve informar o valor das raízes.

Operadores lógicosAlgumas estruturas condicionais podem ser formadas por mais de uma condição. Nesse

caso é necessário utilizar operadores lógicos. Operadores mais utilizados na programação: e, ou, nao. Exemplo 6.4Algoritmo “Média do aluno”varn1, n2,m: realfaltas: inteiroinicioescreval(“digite o valor da primeira nota do aluno:”)leia(n1)escreval(“digite o valor da segunda nota aluno:”)leia(n2)escreval(“digite o número de faltas do aluno:”)leia(faltas)m (n1+n2)/2

12

Page 13: Apostila Netcom

escreval(“Média do aluno: ”,m:2:2)//imprime o valor da média com 2 casas decimaisse ((m >= 7) e (faltas<=12)) então//o aluno não pode ter mais de 12 faltas escreval(“Aluno Aprovado”)senao escreva(“Aluno Reprovado”)fimsefimalgoritmo

Testando o algoritmoUm algoritmo, depois de ser elaborado, deve ser testado. Para isso podemos utilizar um teste conhecido como teste de mesa. O teste de mesa é uma simulação de todos os passos, ou seja, entradas, comandos e instruções do algoritmo, a fim de saber se ele chega ao resultado a que se propõe e se a lógica está correta. Para tal, preenche-se uma tabela com valores para as variáveis e segue-se o fluxo de execução do algoritmo, simulando a execução de cada instrução.

Exemplo 6.5Seja o seguinte algoritmo:vara,b,c,d: realinicioleia (a)leia (b)c b + ase a < b entao

d c^2senao

se a=b entaod raizq(c)

senaod a+b*c

fimsefimse

Faça um teste de mesa de acordo com os valores da tabela abaixo:

A b c d4 22 23 4

Exercício 6.3Escreva 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”.

Exercício 6.4Faça um algoritmo que receba o valor do salário de uma pessoa e o valor de um financiamentopretendido. Caso o financiamento seja menor ou igual a 5 vezes o salário da pessoa, o algoritmo deverá escrever "Financiamento Concedido"; senão, ele deverá escrever "Financiamento

13

Page 14: Apostila Netcom

Negado". Independente de conceder ou não o financiamento, o algoritmo escreverá depois a frase "Obrigado por nos consultar."

Exercício 6.5Fazer um algoritmo que escreva o conceito de um aluno, dada a sua nota. O critério para conceitos é o seguinte:

Nota ConceitoNota inferior a 3 Conceito E

Nota de 3 a 5 Conceito DNota superior a 5 e inferior a 7 Conceito C

Nota de 7 a 9 Conceito BNota superior a 9 Conceito A

Exercício 6.6A empresa XYZ decidiu conceder um aumento de salários a seus funcionários de acordo com a tabela abaixo:

Salário atual Índice de aumento0 – 400 15%

401 – 700 12%701 – 1000 10%1001 – 1800 7%1801 – 2500 4%

Acima de 2500 Sem aumento

Escrever um algoritmo que lê, para cada funcionário, o seu nome e o seu salário atual. Após receber estes dados, o algoritmo calcula o novo salário e escreve na tela as seguintes informações:<nome do funcionário> <% de aumento> <salário atual> <novo salário>

Exercícios de Revisão

1) Conceitue:a) Algoritmo;b) Sintaxe;c) Semântica;d) Compilar;e) Comentário;f) Código Fonte;g) Palavra Reservada;h) Usuário.

2) Escreva um algoritmo que leia o nome de um funcionário, seu número de horas trabalhadas, o valor que recebe por hora e calcule o salário desse funcionário.

3) Ler o salário fixo e o valor das vendas efetuadas pelo vendedor de uma empresa. Sabendo-se que ele recebe uma comissão de 3% sobre o total das vendas até R$ 1.500,00 mais 5% sobre o que ultrapassar este valor, calcular e escrever o seu salário total.

14

Page 15: Apostila Netcom

4) Escreva um algoritmo que tendo como dados de entrada o nome, a altura e o sexo (M ou F) de uma pessoa, calcule e mostre seu peso ideal, utilizando as seguintes fórmulas:

- para sexo masculino: peso ideal = (72.7 * altura) - 58 - para sexo feminino: peso ideal = (62.1 * altura) - 44.7

5) A jornada de trabalho semanal de um funcionário é de 40 horas. O funcionário que trabalhar mais de 40 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 50%. Escreva um algoritmo que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas (considere que o mês possua 4 semanas exatas).

6) Faça um algoritmo que lê 2 valores (A e B). o algoritmo deve mostrar uma mensagem “A é múltiplo de B” ou “A Não é Múltiplo de B”, correspondente aos valores lidos. Ex: 10 e 5. A é múltiplo de B pois 10 / 5 = 2. (Divisão Exata).

7) Seja o seguinte algoritmo:

varsat, ns, a: realinicioleia (sat)se sat <1000 entao

a sat*0.15ns sat + a

senaose sat < 1500 entao

a sat*0.1ns sat + a

senaoa sat*0.05ns sat + a

fimsefimse

Faça um teste de mesa de acordo com os valores da tabela abaixo:

sat a ns90012002500

15

Page 16: Apostila Netcom

7. Estrutura de Múltipla Escolha

Em algumas situações é necessário termos várias soluções ligadas a respostas diferentes, neste caso o comando de alternativa simples ou composta não é uma solução prática, isto porque obrigará o programador a escrever muitas linhas de programa, além de ter que criar vários comandos de alternativas compostas e verificar a validade de suas condições para que o comando execute o caminho correto para uma determinada condição. Temos então o comando de alternativa de múltipla escolha.

O funcionamento deste comando obedece a seguinte regra:

escolha <expressão de seleção>caso <exp 1>, <exp 2>, ... , <exp n>

<Lista de comandos 1>caso <exp 1>, <exp 2>, ... , <exp n>

<Lista de comandos 2>outrocaso

< lista de comandos n>fimescolha

Exemplo 7.1

Um determinado clube de futebol pretende classificar seus atletas em categorias e para isto ele contratou um programador para criar um programa que executasse esta tarefa. Para isso o clube criou uma tabela que continha a faixa etária do atleta e sua categoria. A tabela está demonstrada abaixo:

Idade Categoria

De 5 a 10 InfantilDe 11 a 15 JuvenilDe 16 a 20 JuniorDe 21 a 25 Profissional

Construa um programa que solicite o nome e a idade de um atleta e imprima a sua categoria.

algoritmo "CLASSIFICAÇÃO DE ATLETAS"var nome, categoria : caracter idade : inteiroinicio escreval("Nome do Atleta = ") leia (nome) escreval("Idade do Atleta = ") leia (idade) escolha idade caso 5,6,7,8,9,10 categoria <- "Infantil" caso 11,12,13,14,15 categoria <- "Juvenil" caso 16,17,18,19,20

16

Page 17: Apostila Netcom

categoria <- "Junior" caso 21,22,23,24,25 categoria <- "Profissional" outrocaso categoria <- "INVALIDO" fimescolha escreva ("Categoria = ",categoria)

fimalgoritmo

Exercício 7.1

O rodízio de carros de uma cidade obedece a seguinte tabela:Terminação da placa Dia do rodízio

1 e 2 segunda-feira3 e 4 terça-feira5 e 6 quarta-feira7 e 8 quinta-feira9 e 0 sexta-feira

Escreva um programa que leia a placa de um veículo e imprima o seu dia de rodízio.

17