Conceituando o uso de funções em linguagens de programação
Funções Uma função é um subprograma. Que retorna um e, somente um valor ao programa principal. No Visualg sua declaração deve estar entre as palavras-chave var e inicio. O nome da função obedece as mesmas regras da nomenclatura de variáveis.
Função Função <nome-de-função> (<seq-declr-param>) [var] <seq-param “,”>: <tipo-de-dado> “,” <seq-param> é uma lista de variáveis,separadas por vírgulas. var significa passagem de parâmetros por referência (endereço de uma variável global é passado ao subprograma)
Função (Exemplo 1) funcao SOMA: inteiro var AUX : inteiro inicio // M, N, RES, são variáveis globais AUX <- N + M retorne AUX fimfuncao
Chamada de Função algoritmo <nome-alg> // var ... ... inicio N <- 4 M <- -9 RES <- SOMA escreva (RES) fimalgoritmo
Chamada de Função (Exemplo 2) funcao SOMA (X, Y: inteiro): inteiro inicio retorne X + Y fimfuncao algoritmo <nome-alg> // var ... ... N <- 4 M <- -9 RES <- SOMA (N,M) escreva (RES) fimalgoritmo
Conceituando o uso de procedimentos em linguagens de programação
Procedimentos É um subprograma que não retorna nenhum valor. Sua declaração deve estar entre o final da declaração de variáveis e o inicio do algoritmo.
Declaração de Procedimento procedimento <nome-procedimento> (<seq-declr-param>) <seq-declr-param> ::= [var] < , seq-param>: <tipo-de-dado> “,” <seq-param> é uma lista de variáveis, separadas por vírgulas. var significa passagem de parâmetros por referência (endereço de uma variável global é passado ao subprograma)
Exemplo de Procedimento procedimento SOMA var AUX : inteiro inicio // M, N, RES, são variáveis globais AUX <- N + M RES <- AUX fimprocedimento
Chamada de Procedimento algoritmo <nome-alg> // var ... ... inicio N <- 4 M <- -9 SOMA escreva (RES) fimalgoritmo
Passagem de parâmetros por referência O subprograma não recebe o valor, mas sim, o endereço de uma variável global. Qualquer modificação no conteúdo do parâmetro afeta a variável global associada a ele. Durante a execução do subprograma, os parâmetros passados por referência são análogos às variáveis globais. A passagem por referência é feita através da palavra-chave var.
Procedimento procedimento SOMA (X, Y : inteiro); var RESULT: inteiro) inicio RESULT <- X + Y fimprocedimento
Chamada de Procedimento algoritmo <nome-alg> // var ... ... inicio N <- 4 M <- -9 SOMA (N,M) escreva (RES) fimalgoritmo
Recursão Uma subprograma pode chamar a si mesmo. funcao FATORIAL ( V: inteiro): inteiro inicio se V <= 2 entao retorne V senao retorne V * FATORIAL (V-1) fimse fimfuncao
Geração de valores aleatórios aleatorio [on] faixa-padrão: 0..100 caracteres: strings de 5 letras maiúsculas aleatorio <valor1> [, <valor2>] gera aleatório entre mínimo e máximo; se apenas <valor1> for fornecido,a faixa será de 0..<valor1> se <valor2> forfornecido, a faixa será de <valor1..<valor2>. aleatorio off
Lendo Arquivo arquivo “<nome-arq>” algoritmo “lendo arquivo” arquivo “teste.txt” var K, Y : inteiro inicio para K de 1 ate 5 faca leia (Y) // O Visualg obterá os dados deste arquivo até // chegar ao final do mesmo. Daí em diante, lerá pela // digitação no teclado. O arquivo d3eve estar na pasta de // trabalho do Visualg. fimpara fimalgoritmo
Comando Timer time [on] ativa o timer timer <tempo-de-atraso-ms> 0..10000 timer off desativa o timer
Chamada de Procedimento algoritmo <nome-alg> // var ... ... inicio N <- 4 M <- -9 SOMA (N,M,RES) escreva (RES) fimalgoritmo