Baixe o app para aproveitar ainda mais
Prévia do material em texto
SUB-ROTINA TIPOS: Funções: retornam valores para o programa que chamou Procedimentos: não retorna valor Uso de Variável Global: pode ser utilizada tanto no programa principal como nas sub-rotinas Local: só pode ser utilizada onde foi declarada Passagem de Parâmetros: Por Valor: alterações na variável da sub-rotina não impactam a variável do programa principal Por Referencia: Alterações na variável da sub-rotina também alteram a variável do programa principal (porque é passado o endereço de memória da variável) Retorno de Função Programa SEMROTINA Var: A, B, C, R1, R2, X: INT INICIO Ler A, B Se (A+B>100) ENTAO Ler C R1=A+B+C R2=A*B*C MOSTRE R1, R2 Senao X=A A=B B=X Fimse FIM PROCEDIMENTO FUNÇÃO Programa COMPROCEDI Var A, B: INT PROCEDIMENTO CALCULO Var: C, R1, R2:INT INICIO Ler C R1=A+B+C R2=A*B*C MOSTRE R1, R2 FIM VAR X :INT INICIO Ler A, B SE(A+B>100)ENTAO CALCULO SENÃO X=A A=B B=X Fimse FIM Programa COMFUNCAO Var A, B: INT FUNCAO CALCULO Var: C, R1, R2:INT INICIO Ler C R1=A+B+C R2=A*B*C MOSTRE R1, R2 RETORNE (R1) FIM VAR X, Y: INT Inicio Ler A, B SE(A+B>100) ENTAO Y= CALCULO SENÃO X=A A=B B=X Fim_se FIM PROCEDIMENTO Programa COMPROCEDI PROCEDIMENTO CALCULO (K: INT, Z: INT) Var: C, R1, R2: INT INICIO Ler C R1=K+Z+C R2=K*Z*C MOSTRE R1, R2 FIM VAR X, A, B :INT INICIO Ler A, B SE(A+B>100) ENTAO CALCULO(A,B) SENÃO X=A A=B B=X Fimse FIM FUAQ lê um valor para a variável M e um valor para a variável N. Calcular o valor de N na potência M numa função. Mostrar o resultado no programa principal. Somente podem ser declaradas variáveis locais. Programa Rotina1Ver1 Funcao potencia (x: int, y:int) Var c: int Inicio c=x↑y Retorne (c) Fim Var m, n, r: int Inicio Ler n, m r=potencia(n,m) mostre r Fim Programa Rotina1Ver2 // com procedimento e apenas variáveis globais Var n, m, r: int Procedimento potencia Inicio r=n↑m Fim Inicio Ler n,m Potencia Mostre r Fim FUAQ lê 20 valores para uma variável X. Se X for par, calcular o fatorial de X dentro de uma função e mostrar o resultado no programa principal. Se X for ímpar, calcular e mostrar a tabuada de 1 ate 10 de X num procedimento. Declarar apenas variáveis locais. Programa complex20 Funcao fatorial (z: int) Var f, g: int INICIO f=1 para g=1 ate z f=f*g fim_para retorne(f) FIM Procedimento tabuada (y: int) Var k, t: int INICIO para k=1 ate 10 t=k*y mostre t fim_para FIM Var x, i, fat: int INICIO para i=1 ate 20 ler x se(x\2==0) entao fat=fatorial(x) mostre fat senao tabuada(x) fim_se fim_para FIM EXERCÍCIO FUAQ lê valores para as variáveis A e B. Se A for par, calcular e mostrar o somatório dos valores existente entre 1 e A. Se A for ímpar e B par, calcular e mostrar o somatório dos valores existente entre 1 e B. Se A for ímpar e B ímpar, calcular e mostrar o somatório dos valores existente entre 1 e o resultado da soma de A com B. O cálculo do somatório deve ser realizado numa função e os resultados mostrados no programa principal. Declarar apenas variáveis locais. Programa subrotina6 Funcao somatorio (y: int) Var i, acum: int Inicio acum=0 Para i=2 ate y-1 acum=acum+i Fim_para Retorne(acum) Fim Var a, b, res, s:int Inicio Ler a, b Se (a\2==0) então res=somatorio(a) Senão Se (b\2==0) então res=somatorio(b) Senão s=a+b res=somatorio(s) Fim_se Fim_se Mostre Res Fim 1 – FUAQ lê valor para o salário fixo e o valor do total de vendas para cada um dos 20 vendedores de uma loja. Sabendo que a taxa de comissão é de 5% sobre o valor das vendas se esse montante for maior que R$ 50 mil ou de 2% se for igual ou menor a R$ 50 mil, calcular o salário total dos vendedores dentro de uma função. Os salários totais de cada vendedor devem ser mostrado no programa principal. Passar como parâmetros para a função o salário fixo, o valor das vendas e a taxa da comissão. Declarar apenas variáveis locais. 2 – FUAQ lê 2 notas para cada aluno de uma turma com 40 alunos. A leitura de cada nota deve ser realizada dentro de uma função que valida se é uma nota possível, ou seja, se o valor digitado está entre 0 e 10 e que só retorna quando estiver. Após, calcular a média dos alunos no programa principal e mostrar a mensagem correspondente (Aprovado, Reprovado ou Em Exame) junto com a média. No caso dos alunos em exame, calcular quanto eles precisam para passar dentro de uma função. Ao fim e ao cabo, mostrar no programa principal a média das notas necessárias no exame. Somente declarar variáveis locais. 3 – FUAQ lê 10 valores para uma variável X. Se X for par, calcular o fatorial de X numa função. Se X for ímpar, calcular o somatório dos valores existentes entre 1 e X numa outra função. Após, calcular numa terceira função, que vai ser chamada 2 vezes no programa principal, a média dos fatoriais calculados e a média dos somatórios calculados. Ao fim e ao cabo, mostrar no programa principal as médias encontradas. Somente declarar variáveis locais.
Compartilhar