Buscar

Resolução Lista Procedimentos e Escopo de Variáveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Lista - Procedimento sem parâmetros com Variáveis Locais e Globais 
 
1) Dado o exercício 1 da Lista 2: “A imobiliária Imóbilis vende apenas terrenos 
retangulares. Faça um algoritmo para ler as dimensões de um terreno e depois 
exibir a área do terreno.” Transforme a leitura dos lados do terreno em um 
procedimento denominado Entrada e o cálculo em um procedimento denominado 
Calculo. 
 
algoritmo “area_terreno”; 
 
var 
 lado, altura, area : real; 
 
procedimento entrada() 
inicio 
 leia(lado); 
 leia(altura); 
fimprocedimento 
 
procedimento calculo() 
inicio 
 area <- lado * altura; // a área de um retângulo é base vezes altura 
fimprocedimento 
 
inicio 
 entrada(); 
 calculo(); 
 escreva(área); 
fimalgoritmo 
 
 
 
2) Dado o exercício 8 da Lista 2: “Uma fábrica de camisetas produz os tamanhos 
pequeno, médio e grande, cada uma sendo vendida respectivamente por 10, 12 e 15 
reais. Construa um algoritmo em que o usuário forneça a quantidade de camisetas 
pequenas, médias e grandes referentes a uma venda, e o programa informe quanto 
será o valor arrecadado” 
Transforme a leitura dos números de camisetas em um procedimento denominado 
Entrada e o cálculo em um procedimento denominado Calculo. No procedimento 
Calculo, criar variáveis LOCAIS para receber o resultado do cálculo do valor por 
tipo de camiseta (Pequena, Média, Grade) 
 
algoritmo “valor_arrecadado”; 
 
var 
 quant_peq, quant_media, quant_grande : inteiro; 
 valor_arrecadado : real; 
 
procedimento entrada() 
inicio 
 leia(quant_peq); 
 leia(quant_media); 
 leia(quant_grande); 
fimprocedimento 
 
procedimento calculo() 
var 
 valor_peq, valor_media, valor_grande : real; 
 
inicio 
 valor_peq <- quant_peq * 10; 
 valor_med <- quant_med * 12; 
 valor_grande <- quant_grande * 15; 
 valor_arrecadado <- quant_peq + quant_media + quant_grande; 
fimprocedimento 
 
inicio 
 entrada(); 
 calculo(); 
 escreva(valor_arrecadado); 
fimalgoritmo 
 
3) Dado o exercício 10 da Lista2: “A empresa Hipotheticus paga R$10,00 por hora 
normal trabalhada, e R$15,00 por hora extra. Faça um algoritmo para calcular e 
imprimir o salário bruto e o salário líquido de um determinado funcionário. 
Considere que o salário líquido é igual ao salário bruto descontando-se 10% de 
impostos.” Crie um procedimento chamado Entrada para a entrada dos dados 
necessários para o algoritmo. Transforme o cálculo do Salário Bruto em um 
procedimento chamado Sal_Bruto e o cálculo do Salário Líquido em um 
procedimento chamado Sal_Liquido. Crie uma variável LOCAL chamada 
desconto no procedimento Sal_Liquido. Para a impressão o salário bruto e liquido 
na tela, defini uma rotina chamada saída. 
È possível imprimir a variável desconto no corpo do programa principal ? Por que 
? 
 
algoritmo “pagamento”; 
 
var 
 hora_normal, hora_extra : real; 
 salario_bruto, salario_liquido : real; 
 
procedimento Entrada() 
inicio 
 leia(hora_normal); 
 leia(hora_extra); 
fimprocedimento 
 
procedimento Sal_Bruto() 
var 
 valor_hora_normal, valor_hora_extra : real; 
inicio 
 valor_hora_normal <- hora_normal * 10.00; 
 valor_hora_extra <- hora_extra * 15.00; 
 salario_bruto <- valor_hora_normal + valor_hora_extra; 
fimprocedimento 
 
procedimento Sal_Liquido() 
var 
 desconto : real; 
inicio 
 desconto <- salario_bruto * 10 / 100; 
 salario_liquido <- salario_bruto - desconto; 
fimprocedimento 
 
procdeimento Saída() 
inicio 
 escreva(salário_bruto); 
 escreva(salário_liquido); 
fimprocedimento 
 
inicio 
 
 Entrada(); 
 Sal_Bruto(); 
 Sal_Liquido(); 
 Saída() 
 
fimalgorimto 
 
È possível imprimir a variável desconto no corpo do programa principal ? 
Não...a variável desconto e uma variável local do procedimento Sal_Liquido() 
 
4) Dado o exercício 12 da Lista 2: “Faça um programa que receba o peso de uma 
pessoa, calcule e mostre: 
 
a) o novo peso se a pessoa engordar 15% sobre o peso digitado; 
b) o novo peso se a pessoa emagrecer 20% sobre o peso digitado.” 
 
Transforme o cálculo do incremento de 15% do peso em um procedimento 
chamado Incremento. Esse procedimento deve conter uma local denominada 
Peso_Engorda, que representa em Kg os 15% engordados. O cálculo do 
decremento de 20% em um procedimento chamado Decremento. Esse 
procedimento deve conter uma local denominada Peso_Emagrace, que representa 
em Kg os 20% emagrecidos. A disponibilização da informação para o cliente na 
tela deve ser realizada via um procedimento chamado Saída. 
É possível imprimir os valores de Peso_Emagrace e Peso_Engorda no programa 
principal ? Por que ? 
 
algoritmo “calculo_peso”; 
 
var 
 peso_original, peso_engorda_global, peso_emagrece_global : real; 
 
procedimento Incremento() 
var 
 peso_engorda : real; 
inicio 
 peso_engorda <- peso_original + peso_original * 15 / 100; 
 peso_engorda_global <- peso_engorda 
fimprocedimento 
 
procedimento Decremento() 
var 
 peso_emagrece : real; 
inicio 
 peso_emagrece <- peso_original - peso_original * 20 / 100; 
 peso_emagrece_global <- peso_emagrece 
fimprocedimento 
 
procedimento Saída() 
inico 
 escreva(“Se engordar 15 %: “, peso_engorda_global); 
 escreva(“Se emagrecer 20 %: “, peso_emagrece_global); 
fimprocedimento 
 
inicio 
 leia(peso_original); 
 
 Incremento(); 
 Decremento(); 
 Saída(); 
 
fimalgoritmo 
 
É possível imprimir os valores de Peso_Emagrace e Peso_Engorda no programa 
principal ? Por que ? 
Não...pois as mesas são variáveis locais e não podem ser acessadas do programa 
principal. 
5) Dado o exercício 5 da Lista 3: “Tendo como dados de entrada a altura e o sexo 
(M e F) de uma pessoa, construa um algoritmo que calcule sue peso ideal, 
utilizando as seguintes fórmulas: 
• Para homens: (72.7 * h) – 58; 
• Para mulheres: (62.1 * h) – 44.7. “ 
 
Faça esse algoritmo criando os procedimentos ideal_homem e ideal_mulher, para o 
cálculo do peso ideal para cada sexo e um procedimento denominado Entrada para 
entrada de informações no algoritmo. 
 
algoritmo “peso_ideal”; 
 
variaveis 
 peso_ideal, altura : real; 
 sexo : caracter; 
 
procedimento Entrada() 
inicio 
 leia(altura); 
 leia(sexo); 
fimprocedimento 
 
procedimento ideal_homem() 
inicio 
 peso_ideal <- (72.7 * altura) – 58; 
fimprocedimento 
 
procedimento ideal_mulher() 
inicio 
 peso_ideal <- (62.1 * altura) – 44.7; 
fimprocedimento 
 
 
inicio 
 
 Entrada(); 
 
 se (sexo = “M”) então 
 ideal_homem(); 
 senao 
 ideal_mulher(); 
 fimse 
 
 escreva(peso_ideal); 
fim 
6) Faça um algoritmo que cadastre 20 códigos de produtos em um vetor. 
Posteriormente, dado o código de um produto informada pelo cliente, verifique se 
o produto está cadastrado. Essa pesquisa será encerrada quando o cliente digitar 
um código igual a zero. Os passos necessários para a leitura dos 20 códigos deverão 
ser realizados por um procedimento chamado Entrada. Já a verificação de 
produto cadastrado deverá ser feita por um procedimento chamado Busca. Para os 
laços de repetição do procedimento Entrada e Busca, em caso de utilização do laço 
PARA, criar vaiáveis LOCAIS. 
 
algoritmo “cadastro_produtos”; 
 
var 
 cod_procurado : inteiro; 
 produtos : vetor[1..20] de inteiros. 
 achou : logico; 
 
procedimento Entrada() 
var 
 cont : inteiro; 
inicio 
 para cont de 1 até 50 faca 
 leia(matriculas[cont]); 
 fimpara 
fimprocedimento 
 
procedimento Busca() 
var 
 cont : inteiro; 
inicio 
 para cont de 1 ate 50 faca 
 se cod_procurado = produtos[cont] entao 
 achou <- verdadeiro; 
 interrompa 
 fimse 
 fimparafimprocedimento 
 
inicio 
 
 Entrada(); 
 
 escreva(“Informe o produto procurado”); 
 leia(cod_procurado); 
 enquanto (cod_procurado <> 0) entao 
 
 achou <- falso; 
 Busca(); 
 
 se achou entao 
 escreva(“Matricula encontrada”); 
 senao 
 escreva(“Matricula NÃO encontrada”); 
 fimse 
 
 escreva(“Informe o produto procurado”); 
 leia(cod_procurado); 
 fimenquanto 
 
Fim

Continue navegando