You are on page 1of 42

Apostila

de
Construção de
Algoritmo
Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília - SP..

0

“ Tutorial de Algoritmo:
Uma ferramenta para o aprendizado de Lógica de Programação ”

1. Introdução
1.1 Noções de Lógica
Lógica é a arte de pensar corretamente. A lógica estuda a correção do raciocínio.
Exemplos:
a)

São Paulo é um estado do Brasil.
Marília é uma cidade do estado de São Paulo.
Portanto, Marília está localizada no Brasil.

b)

A gaveta está fechada.
A caneta está dentro da gaveta.
Precisamos primeiro abrir a gaveta para depois pegar a caneta.

1.1.1 Lógica de Programação
Lógica da Programação significa o uso correto das leis do pensamento, da “ordem da razão” e
de processos de raciocínio e simbolização formais na programação de computadores, objetivando
racionalidade e o desenvolvimento de técnicas que cooperem para a produção de soluções logicamente
válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar. [FOR00]
1.1.2 O que é um Algoritmo?
Um algoritmo pode ser definido como uma seqüência de passos que visam atingir um objetivo
bem definido.
Apesar do nome pouco usual, algoritmos são comuns em nosso cotidiano, como, por exemplo,
uma receita de bolo. Nela está descrita uma série de ingredientes necessários e uma seqüência de
diversos passos (ações) que devem ser fielmente cumpridos para que se consiga fazer o alimento
desejado, conforme se esperava antes do início das atividades (objetivo bem definido). [FOR00]

Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília - SP..

1

1.2 Algoritmizando a Lógica
Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica
de Programação e, dessa forma, permite-nos abstrair de uma série de detalhes computacionais,
que podem ser acrescentados mais tarde.
Outra importância da construção de algoritmos é que, uma vez concebida uma solução
algorítmica para um problema, esta pode ser traduzida para qualquer linguagem de programação e ser
agregada das funcionalidades disponíveis nos diversos ambientes; costumamos denominar esse
processo de codificação.
1.2.1 Método para Construção de Algoritmos
a)
b)
c)
d)

Ler atentamente o enunciado.
Retirar do enunciado a relação das entradas de dados.
Retirar do enunciado a relação das saídas de dados.
Determinar o que deve ser feito para transformar as entradas determinadas nas saídas
especificadas.
e) Construir o algoritmo.
f) Executar o algoritmo.
1.2.2 Exemplos
Algoritmo 1.1
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 subir na escada;
 retirar a lâmpada velha;
 colocar a lâmpada nova.
Algoritmo 1.2
 pegar uma escada;
 posicionar a escada embaixo da lâmapda;
 buscar uma lâmpada nova;
 acionar o interruptor;
 se a lâmpada não acender, então
Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília - SP..

2

 subir na escada;
 retirar a lâmpada queimada;
 colocar a lâmpada nova.
Algoritmo 1.5

acionar o interruptor;
se a lâmpada não acender, então
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 acionar o interruptor;
 subir na escada;
 retirar a lâmpada queimada;
 colocar uma lâmpada nova;
 enquanto a lâmpada não acender, faça
 retirar a lâmpada queimada;
 colocar um lâmpada nova;

1.3 Exercícios que envolvem a Lógica
1.) Os jogadores
Quatro homens se reúnem diariamente para jogar e conversar. Não há dois com cabelos da mesma
cor e que tenham preferência pelo mesmo jogo. Com as seguintes indicações dadas, você
conseguiria completar o quadro associando à cor de cabelo e ao jogo preferido de cada um ?
a) Vicente tem cabelos castanhos.
b) O jogador de pôquer é louro.
c) Alguém gosta de jogar dominó, mas não é o Roberto, pois ele gosta de jogar pôquer.
d) Lucas gosta de jogar damas.
e) O jogador de xadrez tem cabelos brancos.
f) Pedro não tem cabelos ruivos.
Vicente

Lucas

Pedro

Roberto

Cabelos:
Jogo:
2.) Amigos do Esporte

Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília - SP..

3

e) Victor não usa boné amarelo. São eles: Paul. O atleta da Inglaterra não praticava nem ginástica nem futebol. Nome: Camisa: Boné: Antônio Robson Marcos Victor André Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . h) O garoto de boné azul está com a camisa do Cruzeiro. descubra quem está com que camisa e qual a cor do boné que cada um estava usando. e uma camisa de um time diferente.) Os cinco amigos Um grupo de cinco amigos decidem ir a um Estádio de futebol. mas irão se encontrar lá dentro do Estádio. Paul não jogava futebol nem praticava atletismo.SP. g) Victor está com a camisa do Santos.Quatro atletas tornaram-se amigos durante uma competição internacional. George. Com base nos dados abaixo.. George não era nem do Brasil nem dos EUA. Luís não era dedicado à ginástica nem era norte-americano. d) Quem usa boné verde está com a camisa do Guarani. não há dois amigos com a mesma camisa nem com boné da mesma cor. f) André usa boné azul e não preto. descubra o nome. a) Marcos usa boné vermelho. Atleta: País: Esporte: 3. 4 . o esporte e o país de cada atleta. Luís e um atleta da Rússia. a) b) c) d) e) f) Dimitri não jogava futebol nem praticava atletismo. Baseando nas afirmações abaixo. b) Robson está usando a camisa do Brasil. c) O garoto que está com a camisa do São Paulo não usa boné amarelo. Para ficar mais fácil de se encontrarem. O atleta dos EUA praticava basquete. cada um vai com um boné de uma cor.

Pode-se mover um disco de cada vez para qualquer haste.4. l) Patrese. e necessita saber disso para informar os jornalistas. ajude-o a formar a ordem de largada baseando-se nas seguintes afirmações: a) O 1º colocado tem um carro amarelo. c) O carro de Rosset é preto. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . Rosset.) F-1 O diretor da corrida de F-1 esqueceu qual é a ordem de largada da corrida. 5 . contanto que nunca seja colocado um disco maior sobre um menor. b) Eddie. uma das quais serve de suporte para três discos de tamanhos diferentes (1 – 2 – 3). f) Se invertessem a ordem. a equipe Tasman ficaria em primeiro. Ordem: 1º 2º 3º 4º 5º 6º Piloto: Equipe: Cor do carro: 5. e) Senna está atrás de um carro branco.. i) Richie é o piloto da equipe Lotus. que são: um lobo. Sabendo que são apenas seis pilotos e que cada um pertence a uma equipe onde as cores dos carros são diferentes.) Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas. O objetivo é transferir os três discos para outra haste. j) O dono do carro verde é Luyendyk. h) O carro do 5º colocado é preto. vai largar na frente da equipe Lola e atrás do carro azul.SP. k) A equipe de Minardi está entre as equipes Lotus e March. Luyendyk e Eddie não conseguiram ficar em 1° lugar. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? 6. d) O último colocado está atrás da Lola. os menores sobre os maiores. g) O carro da equipe Brabham é vermelho. um bode e um maço de alfafa.) A Torre de Hanói consiste em três hastes (a – b – c).

Exemplos: “Teste de Impressão.SP. 2.5.1.1 Inteiro: toda e qualquer informação numérica que pertença ao conjunto dos números inteiros relativos. Exemplos: A porta pode estar aberta ou fechada.99. A temperatura desta noite foi de -2 graus. 2.. vamos dividi-las em quatro tipos primitivos: 2. 2.3 Caractere: toda e qualquer informação composta por um conjunto de caracteres alfanuméricos (letras e dígitos) e/ou por símbolos especiais.1 Tipos Primitivos A informação é a matéria-prima que faz com que seja necessária a existência dos computadores.. Exemplos: Ele tem 18 anos. A placa daquele automóvel é “BHA 3456”. 2.4 Lógico: toda e qualquer informação que pode apenas assumir duas situações (falso ou verdadeiro). O preço deste sapato foi R$ 45..2 Real: toda e qualquer informação numérica que pertença ao conjunto dos números reais. A lâmpada pode estar acesa ou apagada. Exemplos: O cartaz dizia: “Não Fume”. Exemplos: Sua nota é 6. A ciência que estuda a informação é a Informática.1. pois eles são capazes de manipular e armazenar grande volume de dados.1. Tópicos Preliminares 2.” 1234 Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .1.2. 6 . Aproximando-nos da maneira pela qual o computador manipula as informações.2 Constantes Uma informação é dita constante quando ela não sofre nenhuma variação no decorrer do tempo.

SP. precisamos definir nomes para especificar esses objetos que podem ser manipulados. A regra básica para criá-los é:  o primeiro caractere obrigatoriamente deve ser uma letra  os demais podem ser qualquer combinação de letras e dígitos  não podem ser utilizados símbolos especiais ( * . A diferenciação das várias variáveis são feitas através dos identificadores. inteiro: a.  São permitidos 256 caracteres. EX.. O único símbolo permitido é o underline ( _ ).) finaliza uma declaração e. a) aritméticos: representam as operações básicas de matemática ( + . b..6 Operadores Os operadores podem ser aritméticos. relacionais. 2. mas para o compilador apenas 8 são reconhecidos. Obs. 7 . Exemplos: Cotação do dólar. constante e outros nomes utilizados no programa. x2. NOME_FUNC.4 Identificadores É através dos identificadores que referenciamos (nomeamos) uma variável.). podem ser declaradas quantas variáveis forem necessárias. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .+ [ } & $ % @ . caractere: rua. 2.Falso 2. lógico: flag. SOMA_1. lógicos e atribuição. O ponto e vírgula (. Ex. X1 . em um mesmo tipo.5 Declaração de Variáveis Nos computadores as variáveis são armazenadas em dispositivos eletrônicos chamados de memória. etc. real: x1. juros 2./ * ) e ainda DIV (quociente entre inteiros) e MOD (resto da divisão entre inteiros). c. X2. separando-as por vírgulas..3 Variáveis Uma informação é dita variável quando tem possibilidade de ser alterada em algum instante no decorrer do tempo. nome.. Portanto. cep.

Ex. Quando eu vou almoçar ? Eu vou almoçar se tiver macarronada ou frango.parte inteira de um número real rnd (x) . São eles: = > < <= >= <> (diferente).. São eles: e ou não . Também retornam falso ou verdadeiro. Funções Matemáticas Além das operações básicas citadas. Ex.SP. podemos usar algumas expressões aritméticas.valor absoluto int (x) .sorteia um número randômico entre 0 e x b) relacionais: são utilizados para realizar comparações entre dois valores.Ex.. 45 + 67 * 4 / 2 10 DIV 3 (resulta em 3) 10 MOD 3 (resulta em 1) A prioridade dos operadores é : primeiro * e / e depois + e . Dentre elas: sen(x) e cos(x) abs (x) . ( a >= 10) ( c <> d ) c) lógicos: são utilizados para combinarem relações. ( (a > b) e (c > d) ) ( (s = 10) ou (x = -15)) B F V F V Ae B F F F V A F F V V B F V F V A ou B F V V V A F V não A V F Eu vou almoçar se tiver macarronada e frango. Sempre retornam falso ou verdadeiro. exceto quando do uso de parênteses. 8 . Quando eu vou almoçar ? Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . A F F V V Ex.

59 ao vendedor de tintas. b. taxa%.) Determine qual é o tipo primitivo da informação presente nas sentenças a seguir. endereço.59 d) ’Preserve o meio ambiente’ e) ’S’ a) falso b) -57. 9 .d) atribuição: é utilizado para atribuir uma expressão ou valor à uma variável. 5. REAL: preco1.) Declare variáveis capazes de armazenar seus dados pessoais: nome.. 2.3 segundos nos 100 metros rasos.) Determine qual é o tipo primitivo das informações: a) ’Pare’ b) 2 c) 100.5 horas para chegar ao hospital onde concebeu uma garota. e ficou devendo R$ 100. lucro2. cep. telefone. . assinale aqueles que estão errados. cidade.3 c) -5000 d) ’UNIMAR’ e) 0. cédula de identidade. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .001 4. a) A placa "Pare!" tinha 2 furos de bala. b  2 * a + (a / 4) a  a + 1.) Dos identificadores abaixo. a) cod b) s 1 c) prova2 d) X@ e) 2y g) P1-P2 h) M&S i) dados j) Rg f) aux k) nome do cliente 2. e) Felisberto recebeu sua 18a medalha por ter alcançado a marca de 57. encontre-os: INTEIRO: a. data de nascimento. d) Astrogilda pintou em sua camisa: "Preserve o meio ambiente". Será utilizado o símbolo  .) Nas declarações de variáveis abaixo existe alguns erros.7 Exercícios 1.SP. c.. Ex. 3.. b) Josefina subiu 5 degraus para pegar uma maçã boa. a  10. z. c) Alberta levou 3.

7. d) logico: situação. 10 . o saldo de sua conta bancária. SAL. 7. nome. nome da cidade. 10 e -8. C.. ADIC.5.) Supondo A. nfilhos. função que exerce. Escolha nomes e tipos apropriados para as suas variáveis. salário extra. a sua nota máxima obtida numa disciplina.SP.) Encontre os erros da seguinte declaração de variáveis: a) inteiro: endereço. com valores 5. 3. 9. B. TIPO.) Determine os resultados (verdadeiro ou falso) obtidos na avaliação das expressões lógicas seguintes. rua. ’noite’ e ’frio’ e que existe uma variável lógica L cujo valor é falso: a) (B = A * C) e L ou verdadeiro b) (não (’dia’ = D)) ou (’frio’ <> ’clima’) c) L ou (B DIV A >= C) ou não (A <= C) d) L e (C >= B DIV A) ou não (A<= C) Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . resposta. set. LÓGICO: flag. número de dependentes. D e E contém respectivamente 2. sejam utilizadas para armazenar informações referentes a um funcionário de uma empresa. VALE. 8.CARACTERE: cliente.) Supondo que as variáveis COD.5. salário mensal. c) real: peso. se tem direito a vale transporte e tipo sanguíneo. b) caracter: idade. altura. declare-as corretamente. a saber: código. e D variável do tipo real com valor 1. DEPTO. NOME.) Escreva a declaração das seguintes variáveis: a sua média. sabendo que A. sexo. NDEP. departamento em que trabalha. SEXO. 6. FUNÇÃO. quais os resultados das expressões abaixo: a) 2 + A * ABS(3) + C = b) 3 + RQ (2 * ABS(C)) / 2 = b) QUAD(B -6 * 2) * D + 2 = c) B MOD 3 + A MOD 2 = d) 2 * A MOD 3-C = e) RQ(2*ABS(C)) / 4 = 10. o ano em que espera acabar o curso. B e C variáveis do tipo inteiro. nome.

a nível de hardware.. para realizar alguma tarefa.SP. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .3. Saída: escreva ( expressão e/ou constante ) Ex. Pode-se dizer que todo algoritmo se reduz a: entrada processamento saída As linguagens de programação devem possuir funções para que ocorram as entradas e saídas de dados. escreva ( ‘Digite um número :’). A unidade padrão de entrada do computador é o teclado e a unidade padrão de saída é o monitor. escreva (5 *6 / 3). Comandos Básicos 3. Assim a entrada de dados é a espera pela digitação de uma informação e a saída de dados é a impressão de uma informação. 11 . leia (nome).lista de variáveis (separadas por vírgulas) Ex. Em nossos algoritmos utilizaremos: Entrada: leia ( var ) onde: var .1 Comandos de Entrada e Saída Uma entrada ou saída de dados é uma interrupção que ocorre. leia (a).

início cabeçalho inteiro: a. A parte executável. 3. para que seja estruturada deve ser feita com o auxílio de blocos de programação.) Repita o exercício anterior usando constantes.SP. 12 . crie as variáveis e faça as atribuições necessárias. leia (a).3. Ex. b  2 * a..) Repita o exercício anterior utilizando variáveis. escreva ( ‘O dobro de ’ .0 . 6.2 ESTRUTURA DE UM PROGRAMA Todo programa é constituído por: CABEÇALHO . Um bloco é constituído pelas palavras INÍCIO e FIM.) Escreva um algoritmo que declare uma variável como inteiro.5. ‘ =’ .) Elabore um algoritmo para resolver a expressão: R = 2 * a + 3 * b 2. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . nota 2 = 3. a.b. b ). declarações escreva (‘ Digite um número :’). PROGRAMA Exerc_1. Ex. Obs. parte executável fim.) Escreva um algoritmo que calcule a média aritmética para as seguintes notas: nota 1 = 5.5 e nota 3 = 9.3 Exercícios 1. 4. 5.) Faça um exercício para escrever "Hello World!". inicialize essa variável com o valor 5.) Elabore um algoritmo para resolver a expressão: R = 1 / y 3.PARTE EXECUTÁVEL O cabeçalho deve ser começado com a palavra PROGRAMA seguido de um identificador. 7.DECLARAÇÕES .

Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . este teste deve ser feito a fim de que não ocorra tal erro.y1) para o primeiro ponto e (x2.SP. 11.) FAQ calcule a distância entre dois pontos quaisquer do plano.95%. 13.y2) para o segundo ponto.sendo que os valores iniciais devem ser fornecidos pelo usuário) e mostre o seu resultado.) FAQ calcule a quantidade de latas de tintas necessárias e o custo para pintar tanques cilíndricos de combustível.50 e R$ 1. de coordenadas (x1.) Escreva um algoritmo que calcule e mostre a quantidade de R$ 0. Observe que para o exercício 2. 13 .463. permitindo ao usuário além de fornecer o preço de fábrica.) FAQ troque os valores das variáveis A. c) cada litro de tinta pinta 3 m2. em que são fornecidos a altura e o raio desse cilindro. 9. e atualize o seu valor multiplicando-o pela metade de seu valor atual. sabendo que a) a lata de tinta custa R$ 50.00 que seriam necessárias para trocar um cheque no valor de R$ 13. R$ 0. existe a restrição de que se o valor de y for 0 (zero). A troca deve ser feita da seguinte forma: A B C D 14.incremente essa variável em 10. C e D (tipo inteiro . A fórmula que efetua tal cálculo é: distância = raiz quadrada ((x2-x1) 2 + (y2-y1) 2 ) 12. B.25 R$ 0. determine a soma dos seus 5 primeiros termos e exiba o resultado.) O preço de um produto é dado pelo preço de fábrica. Assim. é necessário o controle do fluxo de dados.10.05. 8. R$ 0. b) cada lata contém 5 litros. se este fosse trocado em cada um dos valores de moedas.) Refaça o exercício anterior. entrar também com a percentagem do vendedor e dos impostos (valores expressos em %)..00. 10.) FAQ dados o primeiro termo e a razão de uma progressão aritmética (PA). ou seja os valores trocados. não haverá solução para o problema. Para que isto seja possível.00. Escreva um algoritmo que calcule e exiba a o preço de venda de um produto qualquer (cujo preço de custo é fornecido pelo usuário) com uma percentagem para o vendedor de 12% e impostos de 26. ao qual é adicionado o lucro do vendedor e os impostos (aplicados ao custo de fábrica).

// comando único <condição> é uma expressão lógica que.SP. pode gerar um resultado falso ou verdadeiro. // seqüência de comandos // fim do bloco verdade Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . 4.4.. Se a <condição> for verdadeira. são ou não satisfeitas [FOR00]. caso contrário (<condição> for falsa).1 Estrutura de Seleção (Comando Se) Uma estrutura de seleção permite a escolha de um grupo de ações (blocos) a ser executado quando determinadas condições.. então. Quando precisamos colocar diversas ações é necessário usar um bloco.. encerra-se a seleção (fimse). 14 . representadas por expressões lógicas ou relacionais. fim. a ação sob a cláusula então (C) será executada. quando inspecionada. delimitado por início fim. A sintaxe deste comando é descrita a seguir: se <condição > então C. . conforme o modelo a seguir: se <condição > então início // início do bloco verdade C1.1 Seleção Simples A seleção de um bloco de comandos é realizada através do comando Se. C2. fimse. sem executar nenhum comando. neste caso. Estruturas de Seleção 4. . Cn.1.

conforme o modelo a seguir: Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . fimse. Exemplo: Média aritmética com aprovação.operação relacional) executa-se o <bloco de comandos> pertencente ao ENTÃO.2 Seleção Composta Quando tivermos situações em que duas alternativas dependem de uma mesma condição... // comando verdade // comando falso Este comando deve ser interpretado da seguinte forma: Se a <condição> for verdadeira (comparação entre valores . escreva ('A média é '. n2.SP. Observamos que também deveremos usar um bloco quando precisamos colocar diversas ações tanto para o então como para o senão.. A seleção composta de um bloco de comandos é realizada através do comando Se. 4. senão Cf. n3. A sintaxe deste comando é descrita a seguir: se <condição > então Cv. n4). usamos a estrutura seleção composta.. 15 . n3. executa-se o <bloco de comandos> pertencente ao SENÃO. leia (n1. fim. n2. ma).1. escreva ('Forneça as 4 notas bimestrais'). então . início // declaração de variáveis real: n1. ma. caso a <condição> seja falsa. senão. uma da condição ser verdadeira e outra da condição ser falsa. fimse. ma  (n1 + n2 + n3 + n4) / 4.fimse.. n4. se (ma >= 7) então escreva ('Aluno aprovado!!').

n4. C2. n2. // seqüência de comandos // fim do bloco verdade senão início // início do bloco falso C1. ma. fim. Cn. . n3. ma  (n1 + n2 + n3 + n4) / 4. 4. fim.se <condição > então início // início do bloco verdade C1. ma). fim. escreva ('Forneça as 4 notas bimestrais').. senão escreva ('Aluno reprovado!!'). .SP.1. Cn. n4). n2. início // declaração de variáveis real: n1. C2. 16 . Exemplo: Média aritmética com aprovação e reprovação. . // seqüência de comandos // fim do bloco falso fimse.2 Seleção Encadeada Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . escreva ('A média é '. fimse. . se (ma >= 7) então escreva ('Aluno aprovado!!'). n3. leia (n1.

Quando. . . 17 .. fimse. . senão se <condição 3> então início // início do bloco falso 2 C1. agruparmos várias seleções. tal formação ocorre quando determinada ação ou bloco deve ser executado se um grande conjunto de possibilidades ou combinações de situações for satisfeito [FOR00]. // seqüência de comandos // fim do bloco verdade 1 fimse. senão Cf. O modelo a seguir expressa um exemplo de seleção encadeada: se <condição 1 > então se <condição 2> então início // início do bloco verdade 1 C1. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . fim. devido à necessidade de processamento. formaremos uma seleção encadeada. fimse. fimse. Normalmente. Cn. // seqüência de comandos // fim do bloco falso 2 senão se <condição 4> então Cv. Cn. . fim. C2. C2.SP.

escreva (‘digite o valor de c:’). c. utilizaremos uma estrutura específica para estes caso.2 Estrutura de Seleção (Múltipla Escolha) Quando um conjunto de valores discretos precisa ser testado e ações diferentes são associadas a esses valores. b. se ( (a > b) e (a > c) ) então maior  a senão se ( b > c) então maior  b senão maior  c. maior. leia(a). fimse. a seleção de múltipla escolha [FOR00]. leia(b). 18 . O sintaxe utilizada para esta estrutura é a seguinte: escolha x Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . maior).Exemplo: Algoritmo para determinar o maior dentre 3 valores (a. início inteiro: a. c) lidos pelo teclado. Como esta situação é bastante freqüente na construção de algoritmos que dependem de alternativas. escreva ( ‘ o maior valor dentre os lidos =’. 4.SP. fim.. escreva (‘digite o valor de a:’). leia(c). escreva (‘digite o valor de b:’). estamos diante de uma seleção encadeada homogênea do tipo se – então – se. b.

c). fimescolha. executando assim a cláusula caso contrário. fimescolha.4.3 Exercícios 1. O valor atribuído Vn. caso contrário: C5. caso V7: C4. 3. como no exemplo: escolha x caso V1: C1.V6: C3. Caso o conteúdo da variável X seja igual ao valor Vn. caso contrário: C5. 4. isósceles ou escaleno. 2.) b2 . Efetuar as entradas (valores de a.. determinar se é equilátero. então o comando Cn será executado. serão inspecionados os outros casos até ser encontrada uma igualdade ou terminarem os casos.) Elabore um algoritmo para resolver uma equação do 2º grau dada por : ax 2 + bx + c = 0. caso V3: C3.infantil A idade >=8 e < 13 .c 2.infantil B Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . verifique se as medidas podem ser triângulo ( a < b + c. caso V4. caso V2. pode também ser um intervalo. b e c). b < a + c e c < a + b).) Elabore um algoritmo que leia e lados de um triângulo ( a. Se for triângulo. caso contrário.) Elabore um algoritmo que leia um número inteiro e determine se ele é par ou ímpar.caso V1: C1. Esta cláusula pode ser omitida. Calcular as raízes utilizando a fórmula: X = .. caso V4: C4.a Elabore um algoritmo leia a idade de um nadador e imprima a categoria que ele pertence: idade < 8 anos .a.b  4. V3: C2. b. caso V2: C2. 19 .SP.

z. leia (x. fimse.idade >=13 e < 18 . Se saldo atual for maior ou igual a zero mostre a mensagem: ’Saldo Positivo’.5.débito + crédito.7 6. 8.) Seja o seguinte algoritmo: início inteiro: x.7*altura) . caracter: resposta. débito e crédito.44.y).juvenil A idade >=18 e < 21 . senão se z <= 100 então resposta ß ’B’. coloque-os em ordem crescente. a altura e o sexo (M ou F) de uma pessoa. saldo anterior. verificar e escrever se é uma vogal (a. o. senão resposta ß ’C’. fim.) Dado um caracter qualquer digitado pelo usuário.) Sejam três números inteiros diferentes digitados pelo usuário.. se z <= 0 então resposta ß ’A’. senão a mensagem ’Saldo Negativo’. z ß x*y . 7. 20 . escreva ('Forneça dois valores'). escreva (z. Faça um teste de mesa e complete o quadro a seguir para os seguintes valores: x y z resposta Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . 9. i.juvenil B idade >= 21 – sênior 5.) Sejam: número da conta do cliente. u).1*altura) .y.SP.58  para sexo feminino àpeso ideal = (62.) FAQ tendo como dados de entrada o nome. resposta). e. fimse. calcule e mostre seu peso ideal. utilizando as seguintes fórmulas:  para sexo masculino àpeso ideal = (72. elabore um algoritmo que calcule e mostre saldo atual = saldo anterior .

caracter: mens. se (a<b+c) e (b<a+c) e (c<a+b) então se (a=b) e (b=c) então mens ß ’Triângulo Equilátero’. fimse. senão mens ß ’Não e possível formar um triângulo’.10. escreva (mens). senão mens ß ’Triângulo Escaleno’. 21 . b.SP. leia (b).) 3 2 150 3 7 -1 -2 5 50 3 Seja o seguinte algoritmo: inicio inteiro: a.. fimse. fimse. c. Faça um teste de mesa e complete o quadro a seguir para os seguintes valores: a b c Mensagem Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . leia (c). fim. {preparar tela} leia (a). senão se (a=b) ou (b=c) ou (a=c) então mens ß ’Triângulo Isósceles’.

) FAQ calcule e escreva os valores das raízes de uma equação do 2º grau (ax2 + bx + c). sabendo-se que:  se x>0 e y>0 então z = x+y. 22 . calcular e escrever o total (total = quantidade adquirida x preço unitário). Caso isto ocorra escrever uma mensagem.desconto). a quantidade adquirida e o preço unitário. sendo x e y fornecidos pelo usuário. levando em consideração a existência de raízes reais. Obs: Não é possível dividir por zero. sabendo-se que:  se quantidade <= 5 o desconto será de 2%  se quantidade > 5 e quantidade <=10 o desconto será de 3%  se quantidade > 10 o desconto será de 5% Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .) Determinar e mostrar o valor de z. sendo que o usuário deve fornecer os valores dos coeficientes a. 2 3x se x=y então z = y se nenhuma das situações ocorrer então z=0. 13..SP. 12.) Dados: a descrição do produto.1 2 3 3 4 5 2 2 4 4 4 4 5 3 3 11. se x>0 ou y>0 então z =   2x  y . b e c. o desconto e o total a pagar (total a pagar = total .

14..) Sejam quantidade em estoque. Se a quantidade em estoque for maior ou igual a quantidade média exibir a mensagem 'Não efetuar compra'. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . senão exibir 'Efetuar compra'.SP. quantidade máxima em estoque e quantidade mínima em estoque de um produto. calcular e exibir a quantidade média = (quantidade máxima + quantidade mínima)/2. 23 .

1 Repetição com Variável de Controle Para realizar a repetição com variável de controle..1. para i = 1 até 100 faça s  s + i. Ex.. dentre elas: enquanto .... s). s  0. Ela pode ser realizada de diversas formas. Algoritmo para somar os números de 1 a 100. fimpara. que repete a execução de um bloco ou uma ação um número definido de vezes. O modelo genérico para a estrutura de repetição para é o seguinte: para <var> = <valor_inicial> até <valor_final> passo p faça bloco de comandos fimpara.. 5..1 Estrutura de Repetição A repetição de um bloco de comandos (“loop”) é uma prática muito freqüente em programação. Cada estrutura tem sua sintaxe e em alguns casos umas são mais requisitadas que outras. faça. A estrutura de repetição permite que uma seqüência de comandos seja executada repetidamente até que uma determinada condição de interrupção seja satisfeita.SP. variando .. até e para . porém varia de programador para programador a forma de utilizá-las. utilizando a estrutura para. até .. de . s: inteiro. 24 . Estruturas de Repetição 5. escreva ( ‘A soma =’. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .5.. Deve ser interpretado da seguinte forma: Para <var> (variável contadora) variando de <valor_incial> até <valor_final> (de p em p) executa-se o bloco de comandos. pois ela possui limites fixos.. repita .. utilizamos a estrutura para. Quando o passo for igual a 1. pode-se omitir a cláusula passo da sintaxe. faça. início i.....

fim.1. A interpretação deve ser: enquanto <condição> for verdadeira executa-se o bloco de comandos. que permite que um bloco ou uma ação seja repetido até que uma determinada condição seja verdadeira [FOR00]. s: inteiro. 5. fimenquanto. utilizamos a estrutura repita. O modelo genérico desta estrutura é o seguinte: enquanto ( <condição> ) faça bloco de comandos. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .1. porém. Ex. Quando a <condição> for falsa encerra-se o laço de repetição. Algoritmo para somar os números de 1 a 100. O modelo genérico deste tipo de repetição é o seguinte: repita bloco de comandos. início i. i  1. i  i + 1. 25 . fimenquanto. s  0.. que permite que um bloco ou uma ação seja repetida enquanto uma condição determinada <condição> for verdadeira [FOR00]. escreva ( ‘A soma =’. enquanto (i <=100) faça s  s + i. utilizando a estrutura enquanto. 5. Para realizar a repetição com teste no início. s). fim. utilizamos a estrutura enquanto. sempre verificando antes de cada execução se é "permitido" executar o mesmo trecho [FOR00].2 Repetição com Teste no Final Para realizar a repetição com teste no final.SP.2 Repetição com Teste no Início Consiste em uma estrutura de controle do fluxo de execução que permite repetir diversas vezes um mesmo trecho do algoritmo.

i  i + 1. utilizando a estrutura repitat.. Deve ser interpretado da seguinte forma: Repita o bloco de comandos até que a <condição> seja verdadeira. 2. repita s  s + i.SP. fim.) Construa um algoritmo que verifique se um número fornecido pelo usuário é primo ou não. Para cada contribuinte será feito um desconto de 5% do salário mínimo por dependente: Renda Líquida Até 2 salários mínimos 2 a 3 salários mínimos 3 a 5 salários mínimos 5 a 7 salários mínimos Acima de 7 salários mínimos Alíquota isento 5% 10% 15% 20% Observe que deve ser fornecido o valor atual do salário mínimo para que o algoritmo calcule os valores corretamente. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . i  1. s: inteiro. número de dependentes e renda mensal são valores fornecidos pelo usuário.) Escreva um algoritmo que leia um conjunto de 20 números inteiros e mostre qual foi o maior e o menor valor fornecido. Ex. prepare um algoritmo para gerar o número H. considerando que os dados de cada contribuinte. 5. até i > 100..até ( <condição> ).1 Exercícios 1. 26 . s  0. início i. + 1/N. 4. s).) Sendo H = 1 + 1/2 + 1/3 + 1/4 + .) Calcule o imposto de renda de um grupo de 10 contribuintes. escreva ( ‘A soma =’. número do CPF.. 3. O número é fornecido pelo usuário. Algoritmo para somar os números de 1 a 100.

6. Como finalizados.) Realizou-se uma pesquisa para determinar o índice de mortalidade infantil em um certo período.SP. no qual constava:  sua idade. em um número indeterminado de vezes.5.50 metro e cresce 2 centrímetros por ano. O final do conjunto de habitantes é reconhecido pelo valor –1 entrando como idade. 27 . 'V' – verdes ou 'C' – castanhos). 'C' – castanhos ou 'P' – pretos). depois. Determine e imprima:  a porcentagem de crianças mortas no período. Certo dia.  a percentagem de indivíduos do sexo feminino cuja idade está entre 18 e 35 anos. inclusive.  sua opinião em relação ao filme. 8. 7.10 metro e cresce 3 centrímetros por ano. enquanto Felisberto tem 1.  cor dos cabelos ('L' – louros. e que tenham olhos verdes e cabelos louros. a qual coletou os seguintes dados referentes a cada habitante para análise:  sexo ('M' – masculino ou 'F' – feminino). cada espectador respondeu a um questionário.) Foi realizada uma pesquisa sobre algumas características físicas da população de uma certa região. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Felisberto seja maior que Anacleto.  a porcentagem de crianças que viveram dois anos ou menos no período..) Anacleto tem 1. Construa um algoritmo que leia o número de crianças nascidas no período e.) Um cinema possui capacidade de 100 lugares e está sempre com ocupação total.  idade Faça um algoritmo que determine e escreva:  a maior idade dos habitantes.  cor dos olhos ('A' – azuis. o sexo de uma criança morta ('M' – masculino ou 'F' – feminino) e o número de meses de vida da criança.  a porcentagem de crianças do sexo masculino mortas no período. segundo as seguintes notas: Nota A B C D E Significado Ótimo Bom Regular Ruim Péssimo Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . teremos a letra 'X' no lugar do sexo da criança.

Para otimizar o sistema de controle dos elevadores.  qual o período mais usado de todos e a que elevador pertence.  a diferença percentual entre respostas bom e regular. e C. B.  a diferença de idade entre a maior idade que respondeu ótimo e a maior idade de respondeu ruim. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .  o período que utilizava o elevador. 9.  'N' = noturno. 28 . Construa um algoritmo que calcule e imprima:  qual é o elevador mais freqüentado e em que período se concentra o maior fluxo.  qual a diferença percentual entre o mais usado dos horários e o menos usado. foi realizado um levantamento no qual cada usuário respondia:  o elevador que utilizava com mais freqüência.  'V' = vespertino.  a percentagem de respostas péssimo e a maior idade que utilizou esta opção. entre:  'M' = matutino..) Em um prédio há três elevadores denominados A. lendo estes dados. calcule e imprima:  a quantidade de respostas ótimo.  a média de idade das pessoas que responderam ruim.Elabore um algoritmo que.  qual a percentagem sobre o total de serviços prestados do elevados de média utilização.SP.

1 Unidimensionais ... porque está disponível em quase todas as linguagens de alto nível...SP. 13 9 49 2 50 7 Declaração: TIPO VET = VETOR [1. VET : A... 29 ... Nesta declaração A é um vetor capaz de armazenar 100 elementos reais.1. 6..1 Variáveis Compostas Homogêneas As linguagens de programação de modo geral oferecem recursos adicionais para manusear dados com uma organização mais complexa: MATRIZES e REGISTROS.. a estrutura de dados mais conhecida........ 1 2 10 12 3 4 5 6 5 16 48 .....100] DE REAIS. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .. Neste exemplo a variável Vet é capaz de armazenar 50 elementos inteiros. A matriz é talvez. Uma matriz pode ser classificada como unidimensional (os chamados VETORES) ou multidimensional ( MATRIZES)..6.... A declaração é realizada através da palavra : VETOR. ou organizados.. Vet : VETOR [ 1..50] de inteiros.. Estruturas de Dados 6..Vetores Um vetor é uma estrutura que para acessá-lo é necessário a utilização de índices. As estruturas de dados indica como os elementos num conjunto são relacionados uns com os outros.

leia (v[ i ]).) Algoritmo para ler um vetor de 200 elementos reais e imprimir a média dos elementos início tipo dados = vetor [1. mv. inteiro : i.. inteiro: i.SP. escreva ( ‘A média dos elementos =’. fim.Exemplos: 1. fimpara. 50 ] de inteiros. para i = 1 ate 200 faça escreva (‘elemento’. vet: a. inicio tipo vet = vetor [ 1 . mv  a[ 1 ]. para i = 1 ate 50 faça escreva (‘ elemento ‘. dados: v. ‘ = ‘). real: s. fimpara. med  s/200. 30 .) Elabore um algoritmo para ler um vetor de 50 elementos inteiros e imprima o maior entre eles. fimpara. s  0. 2. fimse. para i = 1 ate 200 faça s  s + v [ i ]. med). i. fim. mv). med. fimpara. leia (a [ i ] ). para i = 2 ate 50 faça se ( a[ i ] > mv ) então mv  a[ i ]. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . escreva (‘ O maior valor = ‘..200] de reais. i ..’ =’).

31 .. Veja o esquema: A 1 2 3 4 5 6 1 2 3 4 5 23 45 67 52 8 9 13 48 86 94 36 10 11 21 28 79 63 32 89 74 55 63 32 5 12 94 28 66 42 17 No esquema acima. A referência a um elemento é feita com o auxílio de 2 índices: um para a linha e o outro para a coluna. inteiro: i. Exemplos 1. B.5. A é uma matriz de duas dimensões com 6 linhas e 5 colunas. Nesta declaração A e B são matrizes com 10 linhas e 10 colunas..6.SP..Matrizes Uma matriz é dita multidimensional quando é necessário utilizar dois ou mais índices para referenciar (acessar) um determinado elemento da estrutura.5] de inteiros.10 ] DE REAIS.) Elabore um algoritmo que leia uma matriz quadrada 5 x 5 e calcule e imprima os elementos da diagonal principal bem como a soma destes elementos.2 ] = 48 A [ 5.1. para i = 1 ate 5 faça para j = 1 ate 5 faça Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . j.4 ] = 63 Declaração TIPO IDEN = MATRIZ [ 1. s. 1. IDEN : A.1. mat a. escreva (‘digite os elementos da matriz :’).2 Multidimensionais .10. Veja: A [ 3. inicio tipo mat = vetor [1...

j.SP. para j = 1 ate 5 faça sl  sl + m[ i. j. ‘=’).5] de reais. fimpara. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . inteiro: i. j ]. ‘=’). fim. i. escreva ( a [ i. ‘coluna’. 32 . s). 2. leia (m [ i. ‘ = ’. para i = 1 ate 10 faça sl  0. fimpara. fimpara. s  0. j ].escreva (‘ linha’. real: sl. fimpara. j ].) Elabore um algoritmo que leia uma matriz 10 x 5 e calcule e imprima a soma de cada linha. i . sl). leia (a [ i. para i  1 ate 10 faça para j  1 ate 5 faça escreva (‘ linha’. fimpara. 1. i. escreva ( ‘A soma da diagonal =’. escreva (‘soma da linha’. fimpara.10. ‘coluna’. fimpara. mat : m.. i ]. escreva (‘digite os elementos da matriz :’). fim. para i  1 ate 5 faça s  s + a [ i. j.. Início tipo mat = matriz [1.. i ]).

é capaz de armazenar 5 informações diferentes. 33 . CARACTERES: cep. FIM. endereço. REG. vamos ler 50 registros especificados anteriormente e imprimir todos os que possuem idade > 21 anos. fone. INTEIRO: idade. REG.6.2 Variáveis Compostas Heterogêneas Os registros são estruturas de dados capazes de armazenar informações de tipos de dados diferentes. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .idade. Declaração: Para declarar uma variável registro usa-se a diretiva REGISTRO e FIM. Na declaração acima. Esquema: registro nome endereço cidade cep fone idade A estrutura acima. DADOS: REG.SP. Ex. a variável REG é capaz de armazenar a estrutura utilizada como exemplo.cep. endereço. Assim. cidade..). é possível combinar em uma única variável um conjunto de dados diferentes.. inteiro: idade. Início tipo dados = registro caracteres: nome. O que diferencia os campos ou componentes do registro é o acesso que é realizado através do ponto (. Como exemplo. etc. REG. caracteres: cep.nome. fone. Veja o exemplo: TIPO DADOS = REGISTRO CARACTERES: nome. cidade.

qr. leia (reg.fim.. se (reg. n2. mostrando o nome e a média dos aprovados.SP. escreva (‘ endereço :’).idade > 21) entao início escreva (‘ nome :’. reg. disciplina. Início tipo rec = registro caracteres: nome.cidade). fim. real: n1. inteiro : i. disc. leia (reg. escreva (‘ cidade:’).reg. escreva (‘ cidade:’. dados: reg. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .nome). escreva (‘ fone:’). escreva ( ‘ idade :’). Em seguida leia 60 registros e imprima a quantidade de alunos aprovados e a quantidade de alunos reprovados. leia (reg.fone). fimpara.cep). fimse. para i = 1 ate 50 faça escreva (‘ nome :’).endereço).endereço).) Declare um registro contendo as informações de alunos: nome. leia (reg. n1. escreva (‘ endereço :’. reg.fone). 34 . reg. escreva (‘ cep:’). Exemplos: 1. senao escreva ( ‘ a pessoa é menor de idade !’). n2.cidade).idade). fim. fim. rec : a. escreva (‘ fone:’.idade). leia (reg. reg. ra. real: med.nome). ra. escreva (‘ cep:’.cep). escreva ( ‘ idade :’ . inteiro : i qa. reg. leia (reg.

escreva (‘ Total de aprovados =’. fornecedor. se ( med >= 7) entao inicio qa  qa + 1. med).500] de reg. descrição. real: qtd. a n2). caracteres: desc. escreva (‘ nome =’. med  (a.qa  0. entrar com a quantidade a ser retirada do estoque. zerar o estoque e retirar o que tem.nome).nome). vet vetor [ 1.n1 . fimse. escreva ( ‘ ra:’ ).. Estoque. forn. leia (a. leia (a. escreva (‘ Total de reprovados =’. escreva (‘ média =’. a. qr). 35 . 2. fim. escreva ( ‘digite as 2 notas:’). qr  0. caso contrário atualize o estoque. Elabore um algoritmo que cadastre os 500 produtos e em seguida efetue baixas no estoque.) Declare um registro contendo informações de um produto: código. Se esta quantia for maior que a estocada. leia (a. etc. para i = 1 ate 60 faça escreva (‘ nome :’).SP. qtd. fim. Início tipo reg = registro inteiro: cod.ra).. escreva ( ‘disciplina :’). leia (a. senao qr  qr + 1. solicitando a digitação do código de um produto e se ele existir no vetor. qa).n1 . Em seguida declare um vetor capaz de armazenar 500 produtos. = Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .disc). fim. a n2) / 2. fimpara. Encerrar o programa quando o usuário desejar.

em estoque:’). forn).qtd). caractere: resp.cod = cd) entao ac  1 senao i  i + 1.cod ). ac .desc ). para i = 1 ate 500 faça escreva (‘codigo :’). enquanto ( ( ac = 0) e (i < 500)) faça se ( v[ i ].forn). fimpara.. cd. fimse. se (ac = 0) então escreva ( ‘Produto não cadastrado!’) senão inicio escreva (‘Digite a quantidade a retirar do estoque:’). v [ i ]. escreva (‘ qtd. leia (cd). escreva (‘Restou:’. repita escreva (‘ Digite o código para busca em vetor:’). qt. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília .SP.qt.qtd). qtd . { v é uma variável capaz de armazenar 500 registros } inteiro: i . fim. fim senão inicio v [ i ]. qtd < qt) então inicio v[ i ]. leia ( v[ i ]. fimse. escreva (‘Efetuar pedido a’. ac  0.qtd : = 0. se ( v[ i ]. fim. escreva (‘descrição:’). i  1. leia ( v[ i ]. leia ( v[ i ]. qtd  v [ i ]. leia (qt).vet: v. 36 . escreva (‘ cadastro dos 500 produtos:’). fimse. v[ i ]. leia ( v[ i ]. escreva (‘fornecedor:’).

escreva (‘ Deseja efetuar outra baixa no estoque:’).3 Exercícios Digitar exercícios da página 91!!!! Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . leia (resp). até ( (resp = ‘n’) ou (resp = ‘n”)).SP. 6.. fim. 37 .

declarações de variáveis locais ao procedimento INÍCIO comandos pertencentes ao procedimento FIM. são duas as formas básicas para desenvolvimento de subprogramas:  PROCEDIMENTOS  FUNÇÕES A diferença básica entre os procedimentos e as funções é que.7..1 Procedimentos Um procedimento é criado pela declaração : PROCEDIMENTO. Modularização de Algoritmos 7.SP. Veja a sintaxe: PROCEDIMENTO < nome do procedimento> . A declaração dos procedimentos e funções pertencentes a um determinado programa devem ser feitas após a declaração das variáveis globais e antes do início do programa principal. 7. basta referenciá-lo quantas vezes desejar) e também por melhor estruturar (organizar) o programa (pode ser implementado um “pedaço” por vez).1. colocando-o em um subprograma. Assim.1 Subprogramas (Subrotinas) A principal razão para se criar subprogramas está relacionada com a otimização do código do programa ( uando um determinado trecho de programação deve ser repetido por várias vezes no programa. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . 38 . as funções obrigatoriamente retornam valor no término de sua execução e os procedimentos não.

salário) e imprimir os 100 registros com um aumento de 10%. procedimento ledados. cargo. end. a[ i ] . Início tipo reg = registro caractere: nome. aumento. inicio para i = 1 ate 100 faça escreva (‘nome = ‘). escreva (‘ cargo = ‘). leia (a [ i ]. escreva (‘ salário = ‘). inicio para i  1 até 100 faça a [ i ]. { variáveis globais . escreva (‘ Impressão dos dados com aumento de salário’). leia ( a [ i ]. escreva (‘nome = ‘. Algoritmo para ler um 100 registros de funcionários ( nome. fimpara. ledados. sal ). sal * 1..cargo). fimpara. a [ i ]. fim. fim.todos os procedimentos podem usá-las } vet : a.1. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília ..SP.EX. 39 . sal ). fim. tipo vet = vetor [1. leia ( a [ i ]. cargo. procedimento aumento. nome . { programa principal } escreva ( ‘ Entrada dos dados ‘).nome). ‘salário = ‘. real: sal. sal : = a [ i ].100] de reg. inteiro: i.

c . Algoritmo para calcular o maior entre 3 valores lidos pelo teclado. fimse. Ex. Assim.7. declarações de variáveis locais à função INÍCIO comandos pertencentes à função < nome da função >  recebe valor a ser retornado FIM.1. a sua declaração deverá conter o tipo de dado que irá retornar. max  maior.. b. { o nome da função recebe o valor a ser retornado } fim.1 Funções A característica fundamental de uma função é que ela retorna um valor para o programa que a chamou.SP. inicio se (( a > b ) e ( a > c )) então maior  a senão se ( b > c ) então maior  b senão maior  c. { programa principal } escreva (‘ Digite os 3 valores :’). inteiro: maior. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . fimse. Início inteiro: a. 40 . função max : inteiro. y. Veja: FUNÇÃO <nome da função> : tipo de dado da função.

2 Exercícios 1. Faculdade de Engenharia e Arquitetura e Tecnologia – UNIMAR – Marília . escreva (‘ O maior valor = ‘. fim.SP. 41 .leia (a. y ). 2. c).) Elabore um algoritmo utilizando procedimentos para ler um vetor de 100 elementos inteiros (idades) e calcule e imprima a média das 100 idades. y  max . b. Lembre-se que para o número ser primo ele deve ser divisível por 1 e por ele mesmo. 7.) Elabore um algoritmo utilizando funções que leia 1 valor inteiros e calcule e imprima se ele é ou não é número primo..