Funções e Procedimentos

Tamanho: px
Começar a partir da página:

Download "Funções e Procedimentos"

Transcrição

1 Funções e Procedimentos 1 Funções e Procedimentos Uma técnica aconselhada para desenvolver bons programas de computador consiste em dividir o problema inicial em subproblemas mais simples ou, por outras palavras, dividir o programa que permite a resolução computacional do problema em subprogramas. É possível encontrar subprogramas de dois tipos: as funções e os procedimentos. Qualquer um deles é uma peça importante para o desenvolvimento de programas de computador, especialmente quando esses programas se destinam à resolução de problemas complexos. Um subprograma constitui um bloco independente dentro de um programa, podendo ser visto como um programa dentro de outro programa. Tal como um programa necessita de comunicar com o ambiente exterior, através da leitura de dados e da apresentação de resultados, também um subprograma deve ter capacidade de aceitar valores e de, eventualmente, devolver resultados ao ambiente em que se insere, ou seja, o programa ou subprograma que controla a sua execução. Utilização de Subprogramas Na escrita de um programa de computador surge muitas vezes a necessidade de repetir a mesma sequência de instruções em locais diferentes do programa. Para evitar esta repetição, que implica um aumento do número de linhas e um tempo de desenvolvimento maior, muitas linguagens de programação apresentam o conceito de subprograma. Este conceito, por vezes também designado por subrotina, permite escrever um conjunto de instruções da linguagem identificadas por um nome determinado. Assim, em vez de repetir as instruções sempre que estas fossem necessárias no programa, bastaria indicar o nome do subprograma correspondente a essas linhas nos locais onde a sequência seria repetida. Um subprograma é controlado por um programa de nível superior que determina quando e sob que condições o subprograma deve ser executado e que pode eventualmente recolher um valor devolvido por este. Os subprogramas podem ser chamados a partir de várias zonas do programa e sob condições diferentes. O seu uso introduz também uma maior flexibilidade no processo de desenvolvimento de software pois permite a substituição fácil de um subprograma por uma versão mais actual. A divisão em subprogramas corresponde à divisão de um problema em subproblemas mais simples o que facilita a resolução do problema inicial e permite uma abordagem Top-down cujas vantagens já foram discutidas. A utilização de subprogramas é também uma forma de facilitar a produção de software favorecendo o recurso a módulos previamente desenvolvidos e constituídos por conjuntos de subprogramas. A utilização destes módulos evita a reescrita de subprogramas sempre que um novo

2 2 programa necessita de as utilizar, diminuindo o tempo de desenvolvimento de programas complexos e evitando que o programador se preocupe com detalhes pouco importantes para a compreensão do problema. Estes módulos são designados por bibliotecas. Os subprogramas são normalmente classificados como funções ou como procedimentos. Em qualquer subprograma é também possível a definição de outros subprogramas. Alguns deles apresentam ainda uma característica importante e que consiste na possibilidade de se chamarem a si próprios, ou seja, um subprograma é invocado recursivamente pelo mesmo subprograma. Argumentos e Parâmetros Muitas vezes é necessário indicar explicitamente ao subprograma as condições sob as quais a sua execução vai ser realizada. Por estas razões, um subprograma poderá aceitar argumentos que determinam essas condições. Os argumentos poderão ser variáveis, constantes ou expressões. Na descrição do subprograma terão de estar definidos, por sua vez, os parâmetros que correspondem aos argumentos que o programa do nível acima determinou. Estas considerações são válidas quer para subprogramas definidos pelos programadores quer para subprogramas pré-definidos. Considere-se, por exemplo, um subprograma, designado por área(), para calcular a área de um rectângulo, dados os comprimentos dos lados. Este subprograma irá devolver o valor da área do rectângulo. O subprograma seria invocado recorrendo a uma instrução do tipo a = área( comprimento, largura ); A variável a seria de um tipo compatível com o valor de retorno do subprograma e comprimento e largura seriam variáveis usadas como argumentos. O subprograma seria definido como real área( x, y ) real x, y; real z; z = x * y; retorna z; No subprograma área() estão definidos os parâmetros x e y do tipo real. Os parâmetros declaramse imediatamente antes da chaveta que marca o início do conjunto de instruções que constituem a função ou procedimento. Existe uma relação directa entre os argumentos usados na chamada de um subprograma e os parâmetros definidos para esse subprograma. A esses parâmetros irão ser atribuídos os valores dos argumentos. Se o subprograma fosse invocado como

3 Funções e Procedimentos 3 a = área( 10, 5 ); os parâmetros x e y passariam a conter os valores 10 e 5, respectivamente. Note-se que não tem de existir nenhuma correspondência entre os nomes das variáveis definidas como parâmetros de um subprograma e os nomes de eventuais variáveis usadas como argumentos na chamada desse subprograma. Aliás, no exemplo anterior, o subprograma foi invocado com valores constantes. Outra possibilidade é a utilização de expressões com significado dentro do programa a partir do qual o subprograma é executado. Por exemplo, a = área( x * 2, largura / 10 ); Neste caso, a variável x usada na expressão correspondente ao primeiro argumento, tem um significado diferente do parâmetro x usado da definição do subprograma, embora os nomes sejam iguais. É importante que fique desde já bem clara a distinção entre estas situações. Figura 6.1. Relação entre Argumentos, Parâmetros e Valor de Retorno do Subalgoritmo área(). Funções A secção anterior apresentou uma característica importante: o subprograma área() possui um valor de retorno, ou seja, devolve um valor determinado que pode ser utilizado pelo programa que o invocou. Os subprogramas que apresentam esta característica designam-se por funções. As funções podem ser definidas com ou sem parâmetros. real quadrado( x ) real x; x = x * x; retorna x; programa() real número, resultado; lógico fim = falso;

4 4 enquanto fim == falso faça leia( número ); se número == 0 então fim = verdadeiro; senão resultado = quadrado( número ); escreva("quadrado de ", número, " é ", resultado); Programa 6.1. Cálculo do Quadrado de um Número Real. As funções, na linguagem PE, incluem sempre a palavra retorna, seguida do valor a devolver ou de uma expressão que defina esse valor. Nas funções é também necessário indicar o tipo do valor de retorno. A linha real quadrado( x ) indica uma função designada por quadrado() que aceita um parâmetro x e retorna um valor real. Genericamente, na linguagem PE, a sintaxe para definição de uma função é a seguinte <tipo valor de retorno> <nome da função>([<lista de parâmetros>]) [<declaração de parâmetros>] <corpo da função> retorna <expressão>; A lista de parâmetros e declarações respectivas são opcionais. Figura 6.2. Exemplo de Definição de uma Função. Procedimentos

5 Funções e Procedimentos 5 Os procedimentos são subprogramas que se distinguem das funções pelo facto de não apresentarem qualquer valor de retorno. Os procedimentos, tal como as funções, podem apresentar ou não uma lista de parâmetros que definem a forma como o procedimento irá ser executado. Tal como nas funções, é necessário declarar os parâmetros do procedimento no caso de estes existirem. Por exemplo, considere-se o programa 6.1 que permite o cálculo da área de um rectângulo, escrevendo o valor calculado. Neste programa foram definidos dois subprogramas: a função área() que permite o cálculo da área do rectângulo e o procedimento escreve_área() que apresenta o resultado calculado. O programa termina se for introduzido um valor negativo para o comprimento de um lado do rectângulo. real área( x, y ) real x, y; real z; z = x * y; retorna z; escreve_área( área ) real área; escreve( "O valor da área é : ", área ); programa() real x, y, a; lógico fim = falso; repita leia( x ); leia( y ); se x < 0 ou y < 0 então fim = verdadeiro; senão a = área( x, y ); escreve_área( a );

6 6 até fim == verdadeiro Programa 6.2. Cálculo da Área de Rectângulos: Exemplo da Utilização de Funções e Procedimentos. Note-se que as funções e procedimentos que eventualmente possam existir num programa em PE são sempre definidos antes do procedimento especial programa(). Na linguagem PE, a sintaxe para definição de um procedimento é a seguinte: <nome do procedimento> ( [<lista de parâmetros>] ) [<declaração de parâmetros>] <corpo do procedimento> Tal como no caso das funções, a lista de parâmetros e declarações respectivas são opcionais. Âmbito de Variáveis As variáveis que representam o comprimento dos lados de um rectângulo no programa 6.1 têm o mesmo nome no programa principal e na função área(). Que aconteceria se a função área() alterasse os valores destas variáveis? Os novos valores seriam reconhecidos no programa principal, ou este consideraria apenas os valores iniciais? Na realidade, em ambos os casos, as variáveis são locais, ou seja, são variáveis que são reconhecidas apenas nas funções onde se encontram declaradas. Assume-se que o computador cria novas variáveis em cada um dos casos e as armazena em locais diferentes embora os nomes sejam iguais. Desta forma evitam-se conflitos entre os valores armazenados nas duas situações. Quando termina uma função ou procedimento as suas variáveis locais são destruídas e o espaço de memória respectivo é libertado, podendo ser usado pelo programa para outros fins. Uma variável local só é reconhecida no subprograma em que se encontra declarada, não podendo ser invocada por outros subprogramas. O uso de variáveis locais diminui o espaço na memória do computador requerido por um programa, uma vez que apenas possuem uma área de memória reservada durante a execução do bloco do programa no qual se encontram definidas. Existem, no entanto, muitas situações em que é importante que uma dada variável seja reconhecida em qualquer ponto do programa. Isto significa que, independentemente da função ou procedimento que utilizar a variável, esta estará sempre associada à mesma posição de memória, não sendo destruída depois de ser utilizada por um subprograma. A variável existirá, permanecendo reservado o espaço de memória respectivo, até que o programa termine a sua execução. Assim, é possível considerar a existência de variáveis com características distintas: as variáveis locais ou automáticas que apenas têm existência

7 Funções e Procedimentos 7 dentro do subprograma em que se encontram declaradas e as variáveis globais ou estáticas que existem enquanto o programa não terminar, sendo reconhecidas por qualquer subprograma. As variáveis globais são declaradas fora de qualquer função ou procedimento, incluindo o procedimento especial programa(). Argumentos de Subprogramas Um subprograma definido de forma a aceitar parâmetros, cria cópias das variáveis passadas como argumentos pelo programa que invocou o subprograma em questão. Isto significa que os parâmetros definidos para um subprograma irão funcionar como variáveis locais desse subprograma. É por este motivo que não existe qualquer conflito em invocar um subprograma cujos argumentos são variáveis com nomes iguais aos parâmetros definidos para o subprograma. Internamente, o computador irá reservar áreas de memória diferentes para os seus parâmetros. Considere-se, por exemplo, o procedimento seguinte: soma_um( x ) inteiro x; x = x + 1; escreva( x ); Este procedimento limita-se apenas a aceitar um valor inteiro, somar o valor 1 ao valor recebido e escrever o resultado. Se este procedimento for chamado em conjunto com as instruções x = 3; soma_um( x ); escreva( x ); o resultado obtido seria 4 3 Conforme o exemplo demonstra, o procedimento soma_um() não alterou o valor da variável x que continuou a ter o valor 3 após a chamada do procedimento. O valor 4 corresponde ao valor da variável x no procedimento soma_um(). Este mecanismo de cópia dos argumentos para variáveis locais no subprograma não é desejável em todas as situações. Existem muitos casos em que se pretende que as alterações exercidas sobre as

8 8 variáveis correspondentes aos parâmetros do subprograma sejam reconhecidas no programa ou subprograma de nível superior. Um exemplo típico consiste na definição de um subprograma que permita proceder à troca dos valores de duas variáveis. Um procedimento capaz de executar esta tarefa poderia ser troca( a, b ) inteiro a, b; inteiro c; c = a; a = b; b = c; Com este procedimento pretende-se atribuir à variável a o conteúdo da variável b e a esta o conteúdo de a recorrendo a uma variável auxiliar c. Se este procedimento fosse invocado na forma x = 5; y = 6; troca( x, y ); escreva( "x = ", x, " y = ", y ); O resultado obtido seria x = 5 y = 6; ou seja, não houve qualquer troca dos valores das variáveis. A explicação é simples: O procedimento troca() ao ser invocado criou cópias dos argumentos que recebeu, trocou esses valores entre si e, ao terminar, libertou o espaço reservado para os parâmetros que continham o valor dos argumentos. Isto significa que o procedimento funcionou mas apenas em relação às cópias dos argumentos que recebeu. O problema resolve-se se em vez de passar como argumentos os valores das variáveis se indicar ao procedimento troca() as posições de memória (endereços) ocupadas por essas variáveis. Na prática isto significa que os parâmetros do procedimento são substituídos pelos argumentos que são passados, levando a que as alterações efectuadas dentro do procedimento sejam reconhecidas no programa que o invocou. Neste caso diz-se que os argumentos foram passados por referência. A situação inicial corresponde a passar os argumentos por valor. Na linguagem PE a distinção entre estas duas situações é feita através da colocação do carácter & antes do nome do argumento que é passado por referência na instrução correspondente à chamada do procedimento. O carácter & permite aceder ao endereço da variável e não ao seu conteúdo.

9 Funções e Procedimentos 9 A troca correcta de valores das duas variáveis teria de ser efectuada indicando o endereço dos argumentos do procedimento troca(), ou seja troca( &x, &y ); De igual modo, no exemplo que usava o procedimento soma_um(), a passagem de valores por referência, na forma x = 3; soma_um( &x ); escreva( x ); teria como resultado 4 4 Neste caso, as alterações efectuadas no procedimento foram reconhecidas no programa que o invocou. Em relação a esta questão é importante referir que estes problemas podem ser resolvidos de outra maneira. Para tal basta que as variáveis envolvidas sejam definidas como variáveis globais, sendo reconhecidas em todo o programa. Assim, não seria necessário fazer a passagem de argumentos por referência, aliás, não seria sequer necessário passar essas variáveis como argumentos aos subprogramas que actuassem sobre elas, pois todos os subprogramas são capazes de reconhecer variáveis globais. Este processo não é, no entanto, muito aconselhável, uma vez que limita as potencialidades de utilização dos subprogramas, que passam a ter um carácter muito restrito. As linguagens de programação apresentam formas diversas de efectuar a distinção entre a passagem de argumentos por valor ou por referência. Na linguagem PE optou-se por usar um processo de distinção dos dois casos que se aproxima de certa forma daquilo que se passa na linguagem C. Recursividade Os subprogramas podem invocar livremente outros subprogramas sendo esta possibilidade usada para a subdivisão de tarefas de um programa. Para além desta facilidade, qualquer subprograma pode-se chamar a si próprio de uma forma recursiva. A escrita de subprogramas recursivos permite encontrar boas soluções para certos tipos de problemas particulares que, de outra forma, implicariam maior número de instruções e maior dificuldade de compreensão do objectivo a atingir. Existem muitos exemplos típicos de algoritmos recursivos. Considere-se então um subprograma recursivo para o cálculo da expressão x n, na qual x e n são números inteiros e n é positivo. Este

10 10 subprograma irá tirar partido de uma definição particular da potência de um número, na qual a expressão x n é representada por potência( x, n): potência( x, n ) = x, se n = 1 potência( x, n ) = x * potência( x, n - 1 ), se n > 1 A função potência é, neste caso, definida à custa de si própria. Em linguagem PE, esta função seria escrita conforme se apresenta no programa 6.3. inteiro potência( x, n ) inteiro x, n; se n == 1 então retorna x; senão retorna x * potência( x, n - 1 ); Programa 6.3. Função Recursiva para Cálculo da Potência de um Número Inteiro. De acordo com a função potência(), o cálculo é efectuado através de chamadas recursivas da função com o parâmetro n a ser decrementado de uma unidade em cada nova chamada da função. Quando esta for invocada com o valor 1 para o parâmetro n, a função retorna o valor do parâmetro x. O valor final é então calculado à medida que vão sendo retornados valores correspondentes às diversas chamadas da função potência(). Por exemplo, uma chamada da função com os valores 2 e 3 para os parâmetros x e n, respectivamente, originaria a sequência potência( 2, 3 ) 2 * potência( 2, 2 ) 2 * 2 * potência( 2, 1 ) A função ao ser invocada com o valor 1 para o parâmetro n, termina a série de chamadas recursivas e retorna o valor do parâmetro x, ou seja, 2. A expressão final que a ser calculada calculada é 2 * 2 * 2 e a função retorna o valor 8. Esta função foi apresentada apenas com o objectivo de exemplificar a utilização de uma função recursiva, uma vez que, na linguagem PE, existe definido o operador potenciação ( ^ ).

11 Funções e Procedimentos 11 O cálculo do factorial de um número inteiro é outro caso típico que pode ser resolvido através de um algoritmo recursivo. O factorial de n, também representado por n!, em que n é um inteiro não negativo é calculado pela expressão n! = n * (n - 1) * (n - 2) *... * 1 Por exemplo, o factorial de 5 é 5! = 5 * 4 * 3 * 2 * 1 = 120 A função recursiva para o cálculo do factorial pode ser escrita tendo em consideração que o factorial de 0 é 1 (0! = 1). É esta condição que determina o final das chamadas recursivas. A função pode ser escrita em linguagem PE conforme se representa no programa 6.4. inteiro factorial( n ) inteiro n; se n == 0 então retorna 1; senão retorna n * factorial( n - 1 ); Programa 6.4. Função Recursiva para Cálculo do Factorial de um Número. Os subprogramas recursivos são formas elegantes de resolver alguns problemas particulares, que apresentariam soluções não-recursivas pouco compreensíveis e muito extensas. Este tipo de subprogramas tem larga aplicação em programas que lidam com estruturas de dados complexas. No entanto, as funções e procedimentos recursivos devem ser utilizadas criteriosamente porque cada chamada ocupa um determinado espaço na memória do computador. Esse espaço destina-se a guardar, por exemplo, valores de variáveis que devem ser repostos quando o subprograma terminar a sua execução e o local do programa a partir do qual foi invocado o subprograma. É fácil, em subprogramas recursivos, haver muitas chamadas que rapidamente esgotam os recursos de memória disponíveis para esse efeito. Funções e procedimentos recursivos que possam implicar um número elevado de chamadas deverão ser evitados. Erros mais Comuns

12 12 A correcta compreensão do âmbito de uma variável envolvida num programa e a análise das situações que permitem a escolha da forma de passagem de parâmetros são fundamentais na elaboração de programas de computador. Estes aspectos tornam-se mais críticos à medida que a complexidade dos programas aumenta. Os programas complexos podem envolver um número elevado de variáveis e a utilização de diversos subprogramas, implicando maiores cuidados na definição do âmbito das diversas variáveis e nas formas de passagem de argumentos. Um erro frequente consiste na utilização de uma variável global como se fosse uma variável local. Embora normalmente o computador não acuse qualquer erro, gera-se uma situação que, em geral, leva a um mau funcionamento do programa. Estas situações são normalmente difíceis de detectar. Os erros que ocorrem pela troca da forma de passagem de argumentos também podem ser difíceis de detectar e têm como consequências a alteração de valores de variáveis que se pretendiam inalteráveis (troca da passagem por valor pela passagem por referência) ou a não alteração de conteúdos de variáveis que se pretendiam modificar (troca da passagem por referência pela passagem por valor). Construção de um Programa em PE Após a apresentação das instruções condicionais e cíclicas e da utilização de subprogramas, é possível definir um conjunto de regras para desenvolvimento de programas com a linguagem PE. Estas regras são em tudo idênticas às regras que normalmente se encontram nas linguagens de programação disponíveis para utilização na generalidade dos computadores. No programa, terá então de existir um corpo principal, definido através do procedimento programa(), incluída nos programas apresentados até agora. O programa poderá incluir outras funções ou procedimentos, definidos pelo programador e cuja execução é controlada por programa(). /* Função calcula_média */ real calcula_média( n1, n2, n3, n4 ) inteiro n1, n2, n3, n4; real m; m = (n1 + n2 + n3 + n4) / 4; retorna m; /* Procedimento escreve_média */ escreve_média( x ) real x; escreva( "A média é", x );

13 Funções e Procedimentos 13 /* Função principal */ programa() constante inteiro número_alunos = 25; inteiro nota1, nota2, nota3, nota4; inteiro aluno = 1; real média; enquanto aluno <= número_alunos faça leia(nota1, nota2, nota3, nota4); média = calcula_média(nota1, nota2, nota3, nota4); escreve_média( média ); aluno = aluno + 1; escreva("calculada a média de ", número_alunos, " alunos"); Programa 6.5. Exemplo da Estrutura de um Programa em PE. O programa 6.5 é uma versão do programa 5.5 na qual foram definidos dois subprogramas: a função calcula_média() e o procedimento escreve_média(), colocados antes do procedimento principal programa(). Este, terá de existir sempre em qualquer programa em PE, sendo o bloco que é executado em primeiro lugar. No caso de existirem subprogramas com parâmetros, estes terão de ser declarados como é o caso de n1, n2, n3 e n4 em calcula_média() e x em escreve_média(). No caso de funções, terá de ser sempre definido o tipo do valor de retorno. No programa 6.5 estão incluídas linhas com comentários que, como já foi referido no capítulo anterior, são linhas que têm o objectivo de tornar mais legível a listagem do programa, chamando a atenção para aspectos considerados importantes. Exercícios 6.1. Desenvolva um procedimento que aceite como argumentos três números inteiros e imprima o maior e o menor desses números Escreva um procedimento que imprima os quadrados dos números inteiros compreendidos entre dois valores que são passados como argumentos ao procedimento.

14 Escreva uma função que implemente o algoritmo apresentado no exercício O número de combinações de n objectos diferentes, seleccionando p objectos de cada vez e não considerando a ordem na qual os objectos são seleccionados, é dado pela expressão Desenvolva uma função capaz de proceder ao cálculo desta expressão, recorrendo à função factorial() apresentada no programa O cálculo de combinações pode também ser efectuado através da expressão Escreva uma função recursiva que efectue o cálculo de combinações utilizando a expressão apresentada. De notar que se n for igual a p ou p for 0 o resultado é igual a 1; se p for 1 o resultado é igual a n O fluxograma seguinte representa um algoritmo que permite efectuar a multiplicação de números naturais. Escreva a função em PE correspondente ao algoritmo representado Escreva a função digito( n, k ) que retorna o valor do dígito colocado na posição k, contada a partir da direita, de um número inteiro n. Se não existir nenhum dígito na posição indicada, a função retornará o valor 0. Por exemplo, digito( 98263, 4 ) - retorna 8 digito( 256, 8 ) - retorna Escreva uma função que determine, numa sequência de valores lidos, terminada com o valor 0, o número de subsequências não decrescentes. Por exemplo, dada a sequência (2, 8, 6, 7, 8, 2, 1, 3, 5, 6), a função deverá encontrar as subsequências (2, 8), (6, 7, 8) e (1, 3, 5), retornando o valor Escreva um procedimento que implemente o algoritmo proposto no exercício A força de atracção entre dois corpos de massas m1 e m2, separados por uma distância r é dada pela expressão em que G = 6,673 x N m 2 Kg -2

15 Funções e Procedimentos 15 Escreva uma função que dadas as massas de dois corpos e a distância que os separa, calcule a força de atracção entre eles Um jogo designado por Torres de Hanoi popularizou-se na Europa no final século passado. Este jogo consistia em três cilindros verticais nos quais encaixava um conjunto de 64 discos de tamanhos diferentes. De acordo com a figura (exemplo para 5 discos) o objectivo do jogo é o de transportar os discos do cilindro da esquerda para o cilindro da direita, com o auxílio do cilindro do meio. Os discos devem ser movidos um de cada vez e nunca deverá ficar um disco maior colocado sobre um disco menor. Escreva uma função recursiva que resolva este problema. Torres de Hanói: Exemplo com 5 Discos Escreva uma função que converta letras minúsculas para letras maiúsculas. A letra minúscula será passada como argumento à função e a correspondente letra maiúscula será retornada. Deverá usar a função pré-definida ascii() e consultar a tabela apresentada no apêndice A. Resumo 1 A utilização de subprogramas num programa apresenta um conjunto de vantagens: a) Reduzir ou eliminar sequências de linhas de programação idênticas, relacionadas com uma única tarefa, incluindo essas linhas num subprograma que será executado sempre que o programa o exija. b) Aumentar a legibilidade dos programas escondendo pormenores pouco relevantes para a compreensão do problema. c) Reduzir o tamanho e a complexidade dos programas, dividindo-os num conjunto de subprogramas mais simples. d) Permitir a utilização de conjuntos de funções e procedimentos genéricos (bibliotecas) por outros programas, evitando a reescrita de subprogramas. 2 É possível distinguir dois tipos diferentes de subprogramas: as funções e os procedimentos. As funções distinguem-se dos procedimentos pelo facto de devolverem um valor ao programa que as invoca. Tanto as funções como os procedimentos podem, por sua vez, utilizar outras funções ou procedimentos.

16 16 3 As variáveis dentro de um programa podem apresentar âmbitos distintos: global ou local. Uma variável local é apenas reconhecida no bloco em que se encontra definida não podendo ser acedida a partir de outros blocos. Uma variável global é reconhecida em todo o programa podendo ser acedida a partir de qualquer parte do programa. 4 A passagem de argumentos a um procedimento pode ser feita por valor ou por referência. No primeiro caso são criadas no procedimento cópias dos argumentos que são destruídas quando o procedimento termina. No segundo caso, é indicado ao procedimento as posições de memória ocupadas pelos argumentos. Nesta última situação, as alterações efectuadas sobre os valores dos parâmetros do procedimento reflectem-se de igual forma nos valores dos argumentos. 5 Em muitas situações é conveniente usar funções ou procedimentos com capacidade de se invocarem a si próprios. Os subprogramas com estas características designam-se por subprogramas recursivos. 6 Um programa na linguagem PE terá de incluir o procedimento programa(). O programa inicia a sua execução a partir deste procedimento. Para além do procedimento programa() poderão existir outros subprogramas (funções ou procedimentos) definidos pelo programador. Estes deverão ser sempre colocados antes do procedimento programa().

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Introdução Existem situações onde é necessário repetir um determinado trecho de um programa um certo número de vezes. Assim,

Leia mais

Linguagens de Programação:

Linguagens de Programação: Capítulo I : Noções Gerais 11 Linguagens de Programação: Como comunicar com o computador? Linguagem Máquina: Conjunto básico de instruções, em código binário, características de cada computador, correspondentes

Leia mais

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO ANO: 10.º Curso Profissional Técnico de Informática de Gestão Disciplina: Linguagens de Programação ANO LECTIVO: 2008/2009 p.1/13 Módulo 1 Algoritmia 1 - Introdução à Lógica de Programação Lógica Sequência

Leia mais

Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh)

Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh) Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh) Mapas de Veitch-Karnaugh Montar circuitos lógicos a partir de tabela verdade, embora seja tarefa fácil, geral um circuito extremamente grande.

Leia mais

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar

Leia mais

Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro?

Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro? Resumo. O uso de uma variável é necessário quando você não sabe ainda um valor ou uma função, ou seja, quando há uma situação de mudança que impede a determinação direta destes valores. Uma variável pode

Leia mais

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média. 1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)

Leia mais

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação,

Leia mais

Programação. Folha Prática 4. Lab. 4. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved.

Programação. Folha Prática 4. Lab. 4. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved. Programação Folha Prática 4 Lab. 4 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. LAB. 4 4ª semana CONCEÇÃO DE ALGORITMOS E ESTRUTURAS DE CONTROLO

Leia mais

FOLHA DE CÁLCULO ELABORAÇÃO DE GRÁFICOS

FOLHA DE CÁLCULO ELABORAÇÃO DE GRÁFICOS ELABORAÇÃO DE GRÁFICOS Elaboração de gráficos Os gráficos são visualmente atraentes e constituem uma fantástica ajuda para a apresentação e interpretação de dados armazenados numa folha de cálculo. Numa

Leia mais

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN 3 INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN 3.1 Estrutura de um programa Fortran Como se viu anteriormente, a definição da sequência de instruções (isto é, o algoritmo) é uma etapa importante na elaboração de

Leia mais

Área Reservada do Beneficiário da ADM Informação em Tempo Real.

Área Reservada do Beneficiário da ADM Informação em Tempo Real. Área Reservada do Beneficiário da ADM Informação em Tempo Real. Os conteúdos disponíveis na área reservada dos Beneficiários da Assistência na Doença aos Militares (ADM), no portal IASFA/ADM na internet,

Leia mais

Algoritmo e Pseudo-código

Algoritmo e Pseudo-código Departamento de Sistemas de Computação Universidade de São Paulo Algoritmo e Pseudo-código Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br) Objetivos do Curso Desenvolver o Pensamento Computacional

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Comandos de Desvio 1

Comandos de Desvio 1 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para

Leia mais

Metodologias de Programação

Metodologias de Programação Metodologias de Programação Bloco 1 José Paulo 1 Formador José António Paulo E-mail: questoes@netcabo.pt Telemóvel: 96 347 80 25 Objectivos Iniciar o desenvolvimento de raciocínios algorítmicos Linguagem

Leia mais

Escalas ESCALAS COTAGEM

Escalas ESCALAS COTAGEM Escalas Antes de representar objectos, modelos, peças, etc. Deve-se estudar o seu tamanho real. Tamanho real é a grandeza que as coisas têm na realidade. Existem coisas que podem ser representadas no papel

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

1. Noção de algoritmo

1. Noção de algoritmo 1. Noção de algoritmo Em português, a palavra algoritmo quer dizer operação ou processo de cálculo, entre outras definições possíveis (Dicionário Brasileiro de Língua Portuguesa, Mirador Internacional,

Leia mais

FUNÇÕES MATEMÁTICAS NÚMERO : PI() SENO E COSSENO: SEN() E COS()

FUNÇÕES MATEMÁTICAS NÚMERO : PI() SENO E COSSENO: SEN() E COS() FUNÇÕES MATEMÁTICAS FUNÇÕES MATEMÁTICAS O Excel possui uma série de funções matemáticas em sua biblioteca. Para utilizar uma função, sempre devem ser utilizados os parêntesis, mesmo que estes fiquem vazios.

Leia mais

AULA 3 Alocação dinâmica de memória: Ponteiros

AULA 3 Alocação dinâmica de memória: Ponteiros UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 3 Alocação dinâmica de memória: Ponteiros Estrutura de Dados 1 Variáveis X Ponteiros VARIÁVEL - Estrutura para armazenamento

Leia mais

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira Tipos de problemas de programação inteira (PI) Programação Inteira Pesquisa Operacional I Flávio Fogliatto Puros - todas as variáveis de decisão são inteiras Mistos - algumas variáveis de decisão são inteiras

Leia mais

Módulo IV Programação Visual Basic. Programação

Módulo IV Programação Visual Basic. Programação Módulo IV Visual Basic 1 Vamos considerar os seguintes elementos e estruturas fundamentais que são habitualmente usados em programação: Tipos de Dados Operadores Atribuições Entrada e Saída de Dados Estruturas

Leia mais

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com Introdução à Programação Funções e Procedimentos Prof. José Honorato F. Nunes honoratonunes@gmail.com RESUMO DA AULA SUB-ROTINAS: Procedimentos Funções Escopo de variáveis Parâmetros Prof. José Honorato

Leia mais

Exercícios: Recursão

Exercícios: Recursão UNIVERSIDADE FEDERAL DE UBERLÂNDIA Lista de exercícios de programação em linguagem C Exercícios: Recursão 1) Faça uma função recursiva que calcule e retorne o fatorial de um número inteiro N. 2) Faça uma

Leia mais

INF1005: Programação I. Algoritmos e Pseudocódigo

INF1005: Programação I. Algoritmos e Pseudocódigo INF1005: Programação I Algoritmos e Pseudocódigo Tópicos Principais Definição de Algoritmo Exemplos Básicos Formas de representação Condicionais Exemplos com Condicionais Repetições Exemplos com Repetições

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Tipos de dados estruturados Tipos estruturados vectores matrizes Estruturas (registos) Vectores e matrizes são estruturas homogéneas. Uma estrutura homogénea é uma sequência linear de elementos de mesmo

Leia mais

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Recursividade Pedro O.S. Vaz de Melo Problema Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo quicksort: 1. Seja

Leia mais

Lição 5 Medidas Descritivas Medidas de Dispersão

Lição 5 Medidas Descritivas Medidas de Dispersão 99 Lição 5 Medidas Descritivas Medidas de Dispersão Após concluir o estudo desta lição, esperamos que você possa: identifi car o objetivo das medidas de dispersão; identifi car o conceito de variância;

Leia mais

OBSERVAÇÕES: EXERCÍCIOS

OBSERVAÇÕES: EXERCÍCIOS OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros

Leia mais

Normas para a elaboração de um relatório. para a disciplina de projecto integrado. 3.º ano 2.º semestre. Abril de 2004

Normas para a elaboração de um relatório. para a disciplina de projecto integrado. 3.º ano 2.º semestre. Abril de 2004 Normas para a elaboração de um relatório para a disciplina de projecto integrado 3.º ano 2.º semestre Abril de 2004 Instituto Superior de Tecnologias Avançadas Índice Introdução...3 O que é um relatório...3

Leia mais

COTAÇÕES. 2... 8 pontos. 1.3... 16 pontos. 52 pontos. 48 pontos. 16 pontos Subtotal... 84 pontos. TOTAL... 200 pontos

COTAÇÕES. 2... 8 pontos. 1.3... 16 pontos. 52 pontos. 48 pontos. 16 pontos Subtotal... 84 pontos. TOTAL... 200 pontos Teste Intermédio Física e Química A Critérios de Classificação 12.02.2014 11.º Ano de Escolaridade COTAÇÕES GRUPO I 1.... 8 pontos 2.... 16 pontos 3.... 12 pontos 4.... 8 pontos 5.... 8 pontos 52 pontos

Leia mais

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED - 2002

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED - 2002 Teoria de Jogos Algoritmo Minimax e Alfa-Beta AED - 2002 Conceptualização do Problema Jogar pode ser visto como uma generalização do problema de procura em espaço de estados, em que existem agentes hostis

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

Exame de Equivalência à Frequência do Ensino Secundário

Exame de Equivalência à Frequência do Ensino Secundário Exame de Equivalência à Frequência do Ensino Secundário INFORMAÇÃO EXAME DE APLICAÇÕES INFORMÁTICAS B 2016 12º ANO DE ESCOLARIDADE (DECRETO-LEI N.º 139/ 2012, DE 5 DE JULHO) Prova 163 Escrita e Prática

Leia mais

Lista 4 Introdução à Programação Entregar até 07/05/2012

Lista 4 Introdução à Programação Entregar até 07/05/2012 Lista 4 Introdução à Programação Entregar até 07/05/2012 1. Um vendedor necessita de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve receber o código de um produto e a quantidade

Leia mais

2ª Lista de Exercícios

2ª Lista de Exercícios Esta lista de exercícios contempla o comando de atribuição além dos comandos de leitura e de escrita. Quando definimos o tipo de variável, tomamos como base o conteúdo que deveria ser armazenado. Os exercícios

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Escreva um programa que leia 10 números

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc.

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc. Professor José Alves Aula pocii Aula 3,4 Custeio por Absorção Custeio significa apropriação de custos. Métodos de Custeio é a forma como são apropriados os custos aos produtos. Assim, existe Custeio por

Leia mais

Índice. Para que efeito deve ser usada cada operação de certificação? Qual o período de referência das operações de certificação?

Índice. Para que efeito deve ser usada cada operação de certificação? Qual o período de referência das operações de certificação? Índice As operações de certificação Para que efeito deve ser usada cada operação de certificação? Qual o período de referência das operações de certificação? Qual o prazo para submissão das operações de

Leia mais

Teste de Funções por Cobertura do Grafo de Fluxo de Controle

Teste de Funções por Cobertura do Grafo de Fluxo de Controle Teste de Funções por Cobertura do Grafo de Fluxo de Controle Programação II Universidade de Lisboa Faculdade de Ciências Departamento de Informática Licenciatura em Tecnologias da Informação Vasco Thudichum

Leia mais

Microsoft Excel INTRODUÇÃO PARTE 1 SUMÁRIO

Microsoft Excel INTRODUÇÃO PARTE 1 SUMÁRIO Microsoft Excel INTRODUÇÃO PARTE 1 SUMÁRIO 01-) Barra de Ferramentas do Excel... 2 02-) Planilha... 3 a-) Linha... 3 b-) Coluna... 3 c-) Célula... 4 d-) Movimentando-se pela planilha... 4 e-) Tamanho da

Leia mais

Prova Modelo. Nome: Número:

Prova Modelo. Nome: Número: Arquitectura de Computadores (2008/2009) Licenciatura em Engenharia Informática Prova Modelo 27 de Abril de 2009 Duração: 56 min. + 5 min. de tolerância Nome: Número: Isto trata-se de uma prova modelo

Leia mais

Parabéns pela escolha do cartão TOURS.

Parabéns pela escolha do cartão TOURS. Manual de utilizador Cartão Tours Parabéns pela escolha do cartão TOURS. Para obter o melhor desempenho, recomendamos ler atentamente este Manual de Instruções antes de realizar as operações. Índice Segurança...

Leia mais

EXAME NACIONAL DO ENSINO SECUNDÁRIO

EXAME NACIONAL DO ENSINO SECUNDÁRIO EXAME NACIONAL DO ENSINO SECUNDÁRIO 12.º Ano de Escolaridade (Decreto-Lei n.º 74/2004, de 26 de Março) PROVA 706/7 Págs. Duração da prova: 150 minutos 2007 2.ª FASE PROVA PRÁTICA DE DESENHO A V.S.F.F.

Leia mais

Circuitos Aritméticos

Circuitos Aritméticos Circuitos Aritméticos Semi-Somador Quando queremos proceder à realização de uma soma em binário, utilizamos várias somas de dois bits para poderemos chegar ao resultado final da operação. Podemos, então,

Leia mais

22 SET. 2015 Área Cliente. Manual do Utilizador

22 SET. 2015 Área Cliente. Manual do Utilizador 22 SET. 2015 Área Cliente Manual do Utilizador Índice 1. O que é a Área Cliente?... 1 2. Quais são as principais funcionalidades disponíveis na Área Cliente?... 2 3. Quais são as condições necessárias

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Structs 1. Utilizando estrutura, fazer um programa em C que permita

Leia mais

1.2. Grandezas Fundamentais e Sistemas de Unidades

1.2. Grandezas Fundamentais e Sistemas de Unidades CAPÍTULO 1 Grandezas, Unidades e Dimensões 1.1. Medidas Uma grandeza física é uma propriedade de um corpo, ou particularidade de um fenómeno, susceptível de ser medida, i.e. à qual se pode atribuir um

Leia mais

SOLUÇÕES N2 2015. item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2.

SOLUÇÕES N2 2015. item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2. Solução da prova da 1 a fase OBMEP 2015 Nível 1 1 SOLUÇÕES N2 2015 N2Q1 Solução O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2. Com um

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CE José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 2009/2010 Módulo 2: Álgebra e Lógica

Leia mais

PROVA 2016. Duração da prova: 120 minutos

PROVA 2016. Duração da prova: 120 minutos Página 1 de 7 Provas de ingresso específicas para avaliar a capacidade para a frequência dos ciclos de estudo de licenciatura, pelos titulares de um diploma de especialização tecnológica, Decreto-Lei nº

Leia mais

M A N U A L D O ADMINISTRADOR DO PORTAL

M A N U A L D O ADMINISTRADOR DO PORTAL M A N U A L D O ADMINISTRADOR DO PORTAL Versão 1.1 Sumário Introdução 1 Sobre o Administrador do Portal 1 Categorias de informação 2 Link adicional 3 Lista de arquivos 5 Anexos da licitação 9 Anexos do

Leia mais

1. Estrutura de Dados

1. Estrutura de Dados 1. Estrutura de Dados Não existe vitória sem sacrifício! Filme Transformers Um computador é uma máquina que manipula informações. O estudo da ciência da computação inclui o exame da organização, manipulação

Leia mais

Placas Gráficas. Placas Gráficas. Placas Gráficas. Placas Gráficas. O que é? Para que serve? Resolução (cont.) Resolução

Placas Gráficas. Placas Gráficas. Placas Gráficas. Placas Gráficas. O que é? Para que serve? Resolução (cont.) Resolução O que é? Para que serve? -A função das placas gráficas é a de construir as imagens que são apresentadas nos monitores dos computadores. -O conteúdo dessa memória está sempre a ser actualizado pela placa

Leia mais

ÍNDICE GIRA VOLEI REGRAS DE JOGO CAPÍTULO I FUNDAMENTOS E REGRAS DO JOGO. REGRA 1 Terreno de jogo (figs. 1 e 2) 1.1 Superfície de jogo. 1.

ÍNDICE GIRA VOLEI REGRAS DE JOGO CAPÍTULO I FUNDAMENTOS E REGRAS DO JOGO. REGRA 1 Terreno de jogo (figs. 1 e 2) 1.1 Superfície de jogo. 1. ÍNDICE CAPÍTULO I FUNDAMENTOS E REGRAS DO JOGO REGRA 1 Terreno de jogo (figs. 1 e 2) 1.1 Superfície de jogo 1.2 Linhas 1.3 Zona de serviço REGRA 2 Rede e postes 2.1 Altura da rede 2.2 Postes REGRA 3 Equipas

Leia mais

Fevereiro 2013 v1.3/dbg

Fevereiro 2013 v1.3/dbg dbgep-v Alteraço es para 2013 Fevereiro 2013 v1.3/dbg Processamento de vencimentos... 3 Alterações ao módulo dbgep-v... 3 Alterações introduzidas pela versão 3.5.0 de 16-01-2013... 3 Tabela de Impostos...

Leia mais

SEQUÊNCIA DIDÁTICA PODCAST ÁREA CIÊNCIAS DA NATUREZA FÍSICA - ENSINO MÉDIO

SEQUÊNCIA DIDÁTICA PODCAST ÁREA CIÊNCIAS DA NATUREZA FÍSICA - ENSINO MÉDIO SEQUÊNCIA DIDÁTICA PODCAST ÁREA CIÊNCIAS DA NATUREZA FÍSICA - ENSINO MÉDIO Título do Podcast Área Segmento Duração Relações matemáticas entre grandezas físicas Ciências da Natureza Física e Matemática

Leia mais

PROGRAMAÇÃO DE COMPUTADORES I - BCC701-2015 Lista de Exercícios do Módulo 1 - Preparação para a Prova 1

PROGRAMAÇÃO DE COMPUTADORES I - BCC701-2015 Lista de Exercícios do Módulo 1 - Preparação para a Prova 1 PROGRAMAÇÃO DE COMPUTADORES I - BCC701-2015 Lista de Exercícios do Módulo 1 - Preparação para a Prova 1 Exercício 1 Apesar da existência do Sistema Internacional (SI) de Unidades, ainda existe a divergência

Leia mais

ANEXO EXCEL 2007 AVAÇADO

ANEXO EXCEL 2007 AVAÇADO ANEXO EXCEL 2007 AVAÇADO Funções Lógicas: Fórmula SE 1 Agora vamos conhecer uma das funções mais utilizadas todas as funções para um iniciante em Excel. É a função SE, que Retorna um valor se uma condição

Leia mais

Introdução à Algoritmos. Aula 11

Introdução à Algoritmos. Aula 11 Introdução à Algoritmos Aula 11 Um programa de computador é um produto resultante da atividade intelectual. Essa atividade depende de um treinamento prévio em abstração e modelagem de problemas, bem como

Leia mais

MEMÓRIA DESCRITIVA. PROJECTO DE ARQUITECTURA Equipamento com função de apoio de praia

MEMÓRIA DESCRITIVA. PROJECTO DE ARQUITECTURA Equipamento com função de apoio de praia REMODELAÇÃO E ALTERAÇÃO DO EDIFÍCIO A ONDA Praia da Nazaré - Nazaré. MEMÓRIA DESCRITIVA PROJECTO DE ARQUITECTURA Equipamento com função de apoio de praia 1. DESCRIÇÃO E JUSTIFICAÇÃO DA PROPOSTA Refere-se

Leia mais

A primeira coisa ao ensinar o teorema de Pitágoras é estudar o triângulo retângulo e suas partes. Desta forma:

A primeira coisa ao ensinar o teorema de Pitágoras é estudar o triângulo retângulo e suas partes. Desta forma: As atividades propostas nas aulas a seguir visam proporcionar ao aluno condições de compreender de forma prática o teorema de Pitágoras em sua estrutura geométrica, através do uso de quadrados proporcionais

Leia mais

Ficheiros binários 1. Ficheiros binários

Ficheiros binários 1. Ficheiros binários Ficheiros binários 1 Ficheiros binários 1. Considere que dispõe de ficheiros binários cujo conteúdo é constituído por uma ou mais estruturas como a indicada a seguir struct registo { }; int ref; float

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Engenharia de Software Análise Estruturada Sergio Petersen 22/4/2012 Sumário 1. Técnicas de Análise 3 2. Principais Autores 3 3. Análise

Leia mais

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing Docente (Teóricas): Eng.º Vitor M. N. Fernandes Web: http://www.vmnf.net/ipam Mail: vmnf@yahoo.com Aula 10 Sumário Relacionamentos entre

Leia mais

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 2006/2007 2 o Semestre RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE I. (2,0+2,0+2,0 = 6,0 val.) 1) Calcule o valor óptimo da função objectivo

Leia mais

Matemática Aplicada às Ciências Sociais

Matemática Aplicada às Ciências Sociais ESCOLA SECUNDÁRIA DE AMORA PLANIFICAÇÃO ANUAL Matemática Aplicada às Ciências Sociais Ensino Regular Curso Geral de Ciências Sociais e Humanas 11º ANO Ano Letivo 2014 / 2015 PLANIFICAÇÃO A LONGO PRAZO

Leia mais

Polinômios. Para mais informações sobre a história de monômios e polinômios, leia o artigo Monômios.

Polinômios. Para mais informações sobre a história de monômios e polinômios, leia o artigo Monômios. Um pouco de história Polinômios A grande maioria das pessoas que estão em processo de aprendizagem em matemática sempre buscam aplicações imediatas para os conteúdos. Não que esse deva ser um caminho único

Leia mais

Versão 1. Identifica, claramente, na folha de respostas, a versão do teste (1 ou 2) a que respondes.

Versão 1. Identifica, claramente, na folha de respostas, a versão do teste (1 ou 2) a que respondes. Teste Intermédio de Matemática Versão 1 Teste Intermédio Matemática Versão 1 Duração do Teste: 90 minutos 27.04.2010 3.º Ciclo do Ensino Básico 8.º Ano de Escolaridade Decreto-Lei n.º 6/2001, de 18 de

Leia mais

4 A Ferramenta Computacional

4 A Ferramenta Computacional 4 A Ferramenta Computacional Para pôr em prática o Modelo Inteligente de Avaliação da Qualidade de Água e da Qualidade Biótica MIAQR-PALADINES programou-se uma ferramenta computacional utilizando a linguagem

Leia mais

AC05 Lista de Exercícios sobre Sequências, Condições e Repetição Em C++

AC05 Lista de Exercícios sobre Sequências, Condições e Repetição Em C++ AC05 Lista de Exercícios sobre Sequências, Condições e Repetição Em C++ Instruções: Os algoritmos deverão ser desenvolvidos em C++ com o Code::Blocks; Exercícios em grupos de até 6 participantes; Colocar

Leia mais

Documento Geral Explicativo. GS1 Portugal

Documento Geral Explicativo. GS1 Portugal GS1 Portugal Sumário Plataforma Registo Nacional de Códigos... 3 Enquadramento... 3 Criar Produto... 6 Código Interno... 6 Escolher imagem... 6 Visibilidade na plataforma SyncPT... 7 Guardar e/ou Atribuir...

Leia mais

Solução da prova da 2a fase OBMEP 2014 Nível 2. Questão 1. item a)

Solução da prova da 2a fase OBMEP 2014 Nível 2. Questão 1. item a) Questão 1 Cada nova pilha tem dois cubinhos a mais em sua base. Assim, como a terceira pilha tem 5 cubinhos em sua base, a quarta pilha tem 5 + 2 = 7 cubinhos e a quinta pilha tem 7 + 2 = 9 cubinhos em

Leia mais

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL PREFEITURA DE JUIZ DE FORA SECRETARIA DA FAZENDA SUBSECRETARIA DO SISTEMA DE CONTROLE INTERNO DEPARTAMENTO DE NORMAS TÉCNICAS MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL DATA:

Leia mais

Recursos-chave para Gestores de Projecto Guia 3 Pensamento Crítico Auto-estudo Para o Gestor de Projecto

Recursos-chave para Gestores de Projecto Guia 3 Pensamento Crítico Auto-estudo Para o Gestor de Projecto Guia 3 Pensamento Crítico Auto-estudo Para o Gestor de Projecto Objectivos de aprendizagem Depois de ter lido o material de consulta do Guia de Pensamento Crítico e ter concluído este guia de estudo,

Leia mais

1. Números. MatemáticaI Gestão ESTG/IPB Departamento de Matemática. Números inteiros. Nota: No Brasil costuma usar-se: bilhão para o número

1. Números. MatemáticaI Gestão ESTG/IPB Departamento de Matemática. Números inteiros. Nota: No Brasil costuma usar-se: bilhão para o número MatemáticaI Gestão ESTG/IPB Departamento de Matemática 1. Números Números inteiros 0 10 1 1 10 10 2 10 100 3 10 1000 6 10 1000000 10 10 12 18 Uma unidade (um) Uma dezena (dez) Uma centena (cem) Um milhar

Leia mais

Exercícios de Fixação Aulas 05 e 06

Exercícios de Fixação Aulas 05 e 06 Disciplina: TCC-0.0 Prog. de Computadores III Professor: Leandro Augusto Frata Fernandes Turma: E- Data: / / Exercícios de Fixação Aulas 0 e 0. Construa um algoritmo (pseudocódigo e fluxograma) que determine

Leia mais

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada. Universidade Estadual Vale do Acaraú Curso: Engenharia Civil Disciplina: Programação de Computadores Prof. Hudson Costa Instruções: as equipes de cinco componentes (ou elementos) deverão fazer apenas 30

Leia mais

Produção de documentos acessíveis com Microsoft Word. Gabinete para a Inclusão (GPI)

Produção de documentos acessíveis com Microsoft Word. Gabinete para a Inclusão (GPI) Produção de documentos acessíveis com Microsoft Word Gabinete para a Inclusão (GPI) 2013 Produção de documentos acessíveis com Microsoft Word Com este tutorial pretendemos orientá-lo na produção de documentos

Leia mais

Calculando seno(x)/x com o interpretador Hall.

Calculando seno(x)/x com o interpretador Hall. Calculando seno(x)/x com o interpretador Hall. Problema Seja, por exemplo, calcular o valor do limite fundamental f(x)=sen(x)/x quando x tende a zero. Considerações Fazendo-se a substituição do valor 0

Leia mais

(1, 6) é também uma solução da equação, pois 3 1 + 2 6 = 15, isto é, 15 = 15. ( 23,

(1, 6) é também uma solução da equação, pois 3 1 + 2 6 = 15, isto é, 15 = 15. ( 23, Sistemas de equações lineares generalidades e notação matricial Definição Designa-se por equação linear sobre R a uma expressão do tipo com a 1, a 2,... a n, b R. a 1 x 1 + a 2 x 2 +... + a n x n = b (1)

Leia mais

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA Curso de Sistemas de Informação Disciplina: Algoritmos 1º e 2º Períodos Turmas 216071A, 216071B e 216062 Notas de Aula Aulas 07, 08 e 09. Professor: Edkallenn Aula 07 Variáveis Talvez o conceito de variável

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

Módulo de Catalogação e Pesquisa

Módulo de Catalogação e Pesquisa Módulo de Catalogação e Pesquisa BIBLIObase, versão 2004 Procedimentos de instalação 1. EQUIPAMENTO MÍNIMO NECESSÁRIO Antes de instalar o BIBLIObase verifique se a configuração e as características mínimas

Leia mais

PLANEJAMENTO SIMPLIFICADO DE PROJETOS

PLANEJAMENTO SIMPLIFICADO DE PROJETOS PLANEJAMENTO SIMPLIFICADO DE PROJETOS Nestor Nogueira de Albuquerque, MsC. Gestão e Desenvolvimento Regional V Encontro de Pós-GraduaP Graduação UNITAU 2005 Necessidade de um processo de Gestão de Projetos

Leia mais

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.) I. INTRODUÇÃO Quando se faz um experimento, deseja-se comparar o resultado obtido

Leia mais

Recursos Humanos 2007. Recursos Humanos 2007

Recursos Humanos 2007. Recursos Humanos 2007 Recursos Humanos 2007 Descritivo completo Optimize a selecção e recrutamento, proceda à correcta descrição de funções, execute as avaliações de desempenho e avalie as acções de formação. Tenha uma gestão

Leia mais

PLANEJAMENTO E MODELAGEM

PLANEJAMENTO E MODELAGEM Apresentação 06 Introdução a Engenharia Elétrica COMO CRIAR MODELOS NA ENGENHARIA. PLANEJAMENTO E MODELAGEM Prof. Edgar Alberto de Brito Continuando os conceitos anteriores, nessa apresentação será mostrado

Leia mais

Exercícios: comandos de repetição

Exercícios: comandos de repetição UNIVERSIDADE FEDERAL DE UBERLÂNDIA Lista de exercícios de programação em linguagem C Exercícios: comandos de repetição 1) Elabore um programa que faça leitura de vários números inteiros, até que se digite

Leia mais

TOM, SEMITOM, SUSTENIDO, BEMOL.

TOM, SEMITOM, SUSTENIDO, BEMOL. TOM, SEMITOM, SUSTENIDO, BEMOL. Tom e semitom (ou tono e semitono): são diferenças específicas de altura, existentes entre as notas musicais, isto é, são medidas mínimas de diferença entre grave e agudo.

Leia mais

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO SAD Sistemas de Apoio à Decisão 2011/02 Aula Cinco crishamawaki@yahoo.com.br Modelos de decisão Sistemas de

Leia mais

Manual de Utilizador Portal de Formação RE/MAX v4.0

Manual de Utilizador Portal de Formação RE/MAX v4.0 Manual de Utilizador Portal de Formação RE/MAX v4.0 Índice ACESSO...3 ÁREA CONTA...4 ÁREA DOCUMENTAÇÃO...6 ÁREA DESTAQUE...6 ÁREA VIDEOS...7 ÁREA NOTICIAS...7 ÁREA PERCURSO...8 MENU TOPO...8 HOME...8 CALENDÁRIO

Leia mais

CURSO DE MOLDES EM MÓDULOS OU COMPLETO

CURSO DE MOLDES EM MÓDULOS OU COMPLETO CURSO DE MOLDES EM MÓDULOS OU COMPLETO Com Prof/Artista.: Vinicios Jorge Curso de Moldes Fusion FX e Mundo Mágico arte compartilhada Este curso foi pensado e desenvolvido para que você possa aprender e

Leia mais

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial Unidade 10 Análise combinatória Introdução Princípio Fundamental da contagem Fatorial Introdução A escolha do presente que você deseja ganhar em seu aniversário, a decisão de uma grande empresa quando

Leia mais