Buscar

Sub rotinas

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 5 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

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.

Continue navegando