Matrizes em Fortran 90

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

Download "Matrizes em Fortran 90"

Transcrição

1 Matrizes em Fortran 90 Flavio Aristone Juvenal Muniz 1 de maio de 2010 Resumo Discutiremos neste documento a implementação de operações básicas sobre matrizes na linguagem de programação Fortran 90: adição, multiplicação, transposta e inversa. Calcularemos o determinante de uma matriz pela sua decomposição LU. Sumário 1 Introdução 1 2 Teoria Arrays, vetores e matrizes Alocação dinâmica de arrays Funções e subrotinas 3 3 Implementação 4 Referências 11 1 Introdução Uma matriz é um arranjo retangular de números. Por exemplo, A = As operações básicas que podem ser aplicadas a matrizes são: adição, multiplicação, transposição e inversão. Nossa preocupação maior neste documento é a implementação destas operações na linguagem de programação Fortran 90. Para uma discussão teórica sobre matrizes, sugerimos o livro [3]. 2 Teoria Antes de implementarmos as operações matriciais, vamos fornecer um breve resumo de alguns conceitos da linguagem Fortran 90 que iremos utilizar mais adiante neste documento. 1

2 2.1 Arrays, vetores e matrizes Para implementar matrizes na linguagem Fortran 90 iremos utilizar uma array 1. Uma array é uma estrutura de dados que consiste de uma coleção de valores (variáveis ou constantes) de um mesmo tipo que são referidos por um mesmo nome. Um valor individual dentro da array é chamado um elemento da array e é identificado pelo nome da array juntamente com um índice indicando a localização do elemento dentro da array. Por exemplo, a seguinte coleção de 5 números inteiros poderá ser representada em Fortran 90 por {5, 7, 9, 1, 8} i n t e g e r, dimension ( 5 ) : : numeros = (/ 5, 7, 9, 1, 8 /) O trecho de código acima declara uma array chamada numeros contendo 5 números inteiros. No código, a array numeros é inicializada já na sua própria declaração pelo construtor de arrays (/ /). Outra forma de declarar e inicializar esta array seria i n t e g e r, dimension ( 5 ) : : numeros numeros ( 1 ) = 5 numeros ( 2 ) = 7 numeros ( 3 ) = 9 numeros ( 4 ) = 1 numeros ( 5 ) = 8 O número entre os parênteses é o índice que localiza a posição dentro da array; o índice 1 localiza a primeira posição na array, o 2 a segunda e assim em diante. Portanto, o código acima atribui o valor 5 à posição 1 da array, o valor 7 à posição 2, etc. O sinal de igual = é a forma de atribuir valores a variáveis em Fortran 90. As arrays em Fortran 90 podem ter mais de um índice, podendo ser organizadas em múltiplas dimensões. Essas arrays são convenientes para representar dados organizados, por exemplo, em forma matricial (linhas e colunas). Utilizaremos arrays bidimensionais (dois índices) para representar matrizes. Chamaremos de matrizes as arrays bidimensionais e de vetores as arrays unidimensionais. Por exemplo, se quiséssemos representar a matriz identidade de ordem Id 3 = poderíamos utilizar o seguinte código em Fortran 90 i n t e g e r : : i, j i n t e g e r, dimension ( 3, 3 ) : : identidade do i = 1, 3 do j = 1, 3 i f ( i /= j ) then identidade ( i, j ) = 0 identidade ( i, j ) = 1 1 Por falta de uma melhor tradução da palavra, iremos utilizar o termo em inglês neste documento. 2

3 Neste trecho de código utilizamos as variáveis i e j para representar os valores das linhas e colunas, respectivamente. O laço externo percorre as linhas da matriz, equanto que o laço interno percorre as colunas. Para cada elemento da matriz é atribuído o valor 0, caso a posição deste elemento esteja fora da diagonal (i j), ou o valor 1, caso o elemento esteja na diagonal (i = j) Alocação dinâmica de arrays Em todos os trechos de código acima, as declarações das arrays são do tipo denominado alocação estática da memória, isso porque o tamanho de cada array é escolhido no momento da declaração e não poderá mudar. Desta maneira, o tamanho da array deverá ser grande o suficiente para que todos os valores possam ser armazenados sem problemas. A alocação estática de memória pode apresentar sérias limitações. Por exemplo, suponha que você declare uma array de 1000 posições. Essa array irá ocupar parte da memória do computador para armazenar 1000 números, mesmo que você só utilize 2 posições dela, ou seja, você estaria desperdiçando 998 posições de memória. Uma solução para este problema é a chamada alocação dinâmica da memória, exemplificada no seguinte código i n t e g e r, a l l o c a t a b l e, dimension ( :, : ) : : identidade O código acima declara a matriz identidade com alocação dinâmica da memória. Observe que os sinais de dois pontos, :, entre os parênteses, são obrigatórios, assim como a palavra allocatable. Observe também que a vírgula após o primeiro sinal de dois pontos foi necessária, pois estamos declarando uma array bidimensional (uma matriz). Com este tipo de declaração, nenhuma memória é reservada. Para utilizarmos a matriz identidade, temos que alocar (reservar) memória antes. Veja o seguinte código i n t e g e r, a l l o c a t a b l e, dimension ( :, : ) : : identidade a l l o c a t e ( identidade ( 3, 3 ) ) Para alocarmos memória, utilizamos a função allocate com o nome da matriz e o tamanho que quisermos 2. Feito isto, podemos atribuir valores aos elementos da matriz normalmente. Após utilizarmos a matriz, poderemos liberar a memória para ela reservada, utilizando a função deallocate, como a seguir d e a l l o c a t e ( identidade ) 2.2 Funções e subrotinas Utilizamos certos procedimentos em Fortran 90, tais como funções e subrotinas, para organizar melhor nossos programas. Essa organização facilita a correção de erros, estruturação do programa em tarefas e subtarefas, etc. Iremos apenas mostrar como utilizar funções e subrotinas em Fortran 90. Para mais informações sobre este assunto, sugerimos o livro [1]. Basicamente, subrotinas são procedimentos que são executados por uma instrução chamada CALL. Subrotinas podem retornar múltiplos resultados através da sua lista de argumentos de chamada. Funções são procedimentos que são executados pelos próprios 2 Isto é, caso haja memória suficiente para alocar a matriz. 3

4 nomes em expressões e só podem retornar um único resultado a ser usado na expressão. Os exemplos a seguir dão a forma geral de uma subrotina e de uma função, respectivamente s u b r o u t i n e minha_subrotina ( lista de argumentos ) (declarações de variáveis) (código a ser executado) r e t u r n f u n c t i o n minha_funcao ( lista de argumentos ) (declarações de variáveis) (código a ser executado) minha_funcao = expressão r e t u r n end f u n c t i o n Tanto para subrotinas quanto para funções, é possível estabelecer uma lista de argumentos que serão utilizados pela subrotina ou função. Vale destacar que na função, é necessário que haja uma atribuição de valor ao nome da função, indicando o valor que será retornado pela mesma. 3 Implementação O código a seguir é a implementação em Fortran 90 das operações básicas sobre matrizes e o cálculo do determinante de uma matriz pela sua decomposição em matrizes triangulares inferior e superior, conhecida como decomposição LU. O algoritmo utilizado é conhecido como algoritmo de Doolittle. Utilizamos um algoritmo simples para o cálculo da inversa de uma matriz. Esse algoritmo é baseado no processo de eliminação gaussiana e tem um caráter mais didático, pois seu desempenho é baixo. Tentamos, exageradamente, comentar o código para facilitar a compreensão do material. Utilizamos várias técnicas e construções sintáticas para mostrar várias formas de implementação. O código é extenso devido ao seu caráter didático, mas você poderá modificá-lo à vontade, buscando melhores formas de expor os algoritmos ou, até mesmo, utilizar algoritmos mais eficientes e precisos É aconselhável que você digite (ao invés de copiar-e-colar) todo o código e tente executá-lo, pois assim, estará treinando suas habilidades para detectar e corrigir erros, caso ocorram. Vale ressaltar que este é um código com caráter didático e não deve ser utilizado em outros ambientes que não os de sala de aula. Algumas instruções em Fortran 90 possuem opções até agora não utilizadas, como por exemplo, a opção advance= no na instrução write. Não detalharemos o significado dessas opções, mas todas elas são facilmente encontradas em [1]. 4

5 A variável seed será compartilhada com a subrotina que cria os elementos das matrizes A e B aleatoriamente. Isto é necessário para que os valores das matrizes não sejam iguais. Módulos devem sempre vir definidos antes do seu uso no programa. module global i n t e g e r : : seed end module Início do programa program matrizes use global Propósito: Criar procedimentos para somar, multiplicar, transpor, inverter e decompor matrizes e calcular o determinante de uma matriz. Data: Programador: Juvenal Muniz Revisões : Código original Declarações das variáveis e das subrotinas utilizadas Descrição das variáveis e/ou matrizes n Dimensão da matriz i Contador condicao Indica se houve erro ao abrir o arquivo opcao Armazena a opcao selecionada pelo usuário determinante Valor do determinante da matriz a, b, c Matrizes a, b e c arquivo Constante utilizada para acessar o arquivo resposta Armazenará a resposta à pergunta (S ou N) nome arquivo Nome do arquivo contendo os elementos das matrizes Descrição das subrotinas matriz aleatoria Gera uma matriz quadrada aleatória de ordem n matriz adicao Efetua a adição de duas matrizes matriz mul Efetua a multiplicação de duas matrizes matriz transposta Obtém a transposta de uma matriz matriz inversa Obtém a inversa de uma matriz matriz lu Decompõe a matriz em matrizes triangulares inferior e superior matriz imprime Exibe os elementos da matriz i n t e g e r : : n, i, j, condicao, opcao r e a l : : determinante r e a l, a l l o c a t a b l e, dimension ( :, : ) : : a, b, c i n t e g e r, parameter : : arquivo = 17 c h a r a c t e r ( 1 ) : : resposta c h a r a c t e r ( 2 0 ) : : nome_arquivo Valor inicial para a função RAN() seed = Leitura da dimensão das matrizes quadradas w r i t e (, ' (A) ', advance= ' no ' ) ' Qual e a dimensao das m a t r i z e s? ' read (, ' ( I ) ' ) n Verifica se a dimensão é maior ou igual a 2. Caso contrário, interrompe o programa. i f ( n >= 2) then a l l o c a t e ( a ( n, n ), b ( n, n ), c ( n, n ) ) w r i t e (, ) ' As m a t r i z e s devem p o s s u i r dimensao maior ou i g u a l a 2 ' Pede confirmação para gerar as matrizes aleatoriamente w r i t e (, ' (A) ', advance= ' no ' ) ' Deseja que as m a t r i z e s a e b sejam geradas? ( S ou N) ' read (, ' (A1) ' ) resposta Verifica a resposta dada pelo usuário i f ( ( resposta == ' S ' ). or. ( resposta == ' s ' ) ) then Usuário prefere que as matrizes sejam geradas aleatoriamente c a l l matriz_aleatoria ( a, n ) 5

6 c a l l matriz_aleatoria ( b, n ) Usuário prefere fornecer as matrizes em um arquivo w r i t e (, ' ( /, x,a) ' ) 'ATENCAO Termine o arquivo com uma l i n h a em branco. ' w r i t e (, ' ( x,a) ', advance= ' no ' ) 'Nome do arquivo contendo as m a t r i z e s (max. 20 c a r a c t e r e s ) : ' read (, ' ( A20 ) ' ) nome_arquivo Abrindo o nome arquivo para leitura. status= old força que nome arquivo já exista iostat=condicao armazena informações sobre erros ao abrir o arquivo open ( u n i t=arquivo, f i l e =nome_arquivo, s t a t u s= ' old ', a c t i o n= ' read ', i o s t a t=condicao ) O nome arquivo abriu sem problemas? i f ( condicao == 0) then Arquivo aberto Agora vamos ler os valores das matrizes a e b read ( arquivo, ) ( ( a ( i, j ), j = 1, n ), i = 1, n ) read ( arquivo, ) ( ( b ( i, j ), j = 1, n ), i = 1, n ) w r i t e (, ' ( /, x,a) ' ) ' Matrizes l i d a s com s u c e s s o ' Erro ao abrir o arquivo. Terminar o programa. w r i t e (, ' ( /, x,a) ' ) ' Erro ao a b r i r o arquivo V e r i f i q u e o arquivo de entrada. ' c l o s e ( arquivo ) Fechar o arquivo, pois já temos os valores armazenados nas variáveis c l o s e ( arquivo ) Menu para seleção das operações matriciais implementadas Este laço se repetirá até que o usuário escolha a opção 0. do w r i t e (, ' ( 3 /, x,a) ' ) ' ( 1 ) Somar as m a t r i z e s A e B ' w r i t e (, ) ' ( 2 ) M u l t i p l i c a r as m a t r i z e s A e B ' w r i t e (, ) ' ( 3 ) Obter a t r a n s p o s t a de A ' w r i t e (, ) ' ( 4 ) Obter a i n v e r s a de A ' w r i t e (, ) ' ( 5 ) C a l c u l a r o determinante de A ' w r i t e (, ) ' ( 6 ) E x i b i r as m a t r i z e s A e B ' w r i t e (, ) ' ( 0 ) S a i r ' w r i t e (, ' ( /,A) ', advance= ' no ' ) ' D i g i t e a opcao d e s e j a d a (0 6) : ' read (, ) opcao i f ( opcao == 1) then C = A + B c a l l matriz_soma ( a, b, c, n ) w r i t e (, ' ( /, x,a) ' ) 'A soma da matriz A com B e i g u a l a ' c a l l matriz_imprime ( c, n ) i f ( opcao == 2) then C = A * B c a l l matriz_mul ( a, b, c, n ) w r i t e (, ' ( /, x,a) ' ) 'O produto da matriz A com B e i g u a l a ' c a l l matriz_imprime ( c, n ) i f ( opcao == 3) then Matriz transposta de A w r i t e (, ' ( /, x,a) ' ) 'A matriz t r a n s p o s t a de A e i g u a l a ' w r i t e (, ' ( /, x,a) ' ) 'MATRIX A ' c a l l matriz_imprime ( a, n ) c a l l matriz_transposta ( a, n ) w r i t e (, ' ( /, x,a) ' ) 'MATRIX A ( t r a n s p o s t a ) ' c a l l matriz_imprime ( a, n ) i f ( opcao == 4) then Matriz inversa de A w r i t e (, ' ( /, x,a) ' ) 'A matriz i n v e r s a de A e i g u a l a ' w r i t e (, ' ( /, x,a) ' ) 'MATRIX A ' c a l l matriz_imprime ( a, n ) c a l l matriz_inversa ( a, b, n ) w r i t e (, ' ( /, x,a) ' ) 'MATRIX B ( i n v e r s a ) ' c a l l matriz_imprime ( b, n ) c a l l matriz_inversa_verifica ( a, b, n ) 6

7 i f ( opcao == 5) then Decomposição de A em LU c a l l matriz_lu ( a, n ) Cálculo do determinante para uma matriz LU determinante = 1. 0 determinante = determinante a ( i, i ) w r i t e (, ' ( /, x,a) ' ) 'MATRIX A ' c a l l matriz_imprime ( a, n ) w r i t e (, ' ( /, x,a, F) ' ) 'O determinante da matriz A v a l e : ', determinante i f ( opcao == 6) then Exibe os elementos das matrizes A e B w r i t e (, ' ( /, x,a) ' ) 'MATRIX A ' c a l l matriz_imprime ( a, n ) w r i t e (, ' ( /, x,a) ' ) 'MATRIX B ' c a l l matriz_imprime ( b, n ) i f ( opcao == 0) then Interrompe o programa w r i t e (, ' ( /, x,a, / ) ' ) ' Programa terminado. Ate mais ' e x i t Libera a memória ocupada pelas matrizes A, B, C d e a l l o c a t e ( a, b, c ) end program Esta subrotina exibe os valores dos elementos de uma matriz Parâmetros: a Matriz cujos elementos serão exibidos n Dimensão da matriz (apenas matrizes quadradas) s u b r o u t i n e matriz_imprime ( a, n ) i n t e g e r : : n, i, j r e a l : : a ( n, n ) w r i t e (, ' ( f, 2 x ) ', advance= ' no ' ) a ( i, j ) p r i n t Esta subrotina gera uma matriz com valores aleatórios para seus elementos Parâmetros: a Matriz que armazenará os elementos gerados n Dimensão da matriz (apenas matrizes quadradas) s u b r o u t i n e matriz_aleatoria ( a, n ) use global i n t e g e r : : n, i, j r e a l : : a ( n, n ) Calcula valores aleatórios de -5 à +5 A função ran() retorna valores entre 0.0 e 1.0 a ( i, j ) = ( 1.0) ( i+j ) 5. 0 ran ( seed ) Esta subrotina faz a adição de duas matrizes quadradas (a + b) Parâmetros: a e b Matrizes de entrada 7

8 c Matriz que armazenará a soma de a com b n Dimensão da matriz (apenas matrizes quadradas) s u b r o u t i n e matriz_soma ( a, b, c, n ) i n t e g e r : : n, i, j r e a l : : a ( n, n ), b ( n, n ), c ( n, n ) c ( i, j ) = a ( i, j ) + b ( i, j ) Esta subrotina faz a multiplicação de duas matrizes quadradas (a * b) Parâmetros: a e b Matrizes de entrada c Matriz que armazenará o produto de a por b n Dimensão da matriz (apenas matrizes quadradas) s u b r o u t i n e matriz_mul ( a, b, c, n ) i n t e g e r : : n, i, j, k r e a l : : a ( n, n ), b ( n, n ), c ( n, n ) c = 0. 0 do k = 1, n c ( i, j ) = c ( i, j ) + a ( i, k ) b ( k, j ) Esta subrotina cria a transposta de uma matriz Parâmetros: a Matriz de entrada n Dimensão da matriz (apenas matrizes quadradas) AVISO: A matriz a será modificada no processo s u b r o u t i n e matriz_transposta ( a, n ) i n t e g e r : : n, i, j r e a l : : a ( n, n ), temp i f ( i < j ) then temp = a ( i, j ) a ( i, j ) = a ( j, i ) a ( j, i ) = temp Esta subrotina calcula a inversa de uma matriz por eliminação gaussiana Parâmetros: matriz Matriz de entrada inversa Matriz que armazenará a inversa n Dimensão da matriz (apenas matrizes quadradas) AVISO: A matriz a será modificada no processo Referência : mcfarlat/inverse.htm inverse.html s u b r o u t i n e matriz_inversa ( matriz, inversa, n ) i n t e g e r : : n 8

9 r e a l, dimension ( n, n ) : : matriz r e a l, dimension ( n, n ) : : inversa l o g i c a l : : invertivel =. true. i n t e g e r : : i, j, k, l r e a l : : m r e a l, dimension ( n, 2 n ) : : matriz_aumentada Matriz aumentada com uma matriz identidade do j = 1, 2 n i f ( j <= n ) then matriz_aumentada ( i, j ) = matriz ( i, j ) i f ( ( i+n ) == j ) then matriz_aumentada ( i, j ) = 1 matriz_aumentada ( i, j ) = 0 e n d i f Reduzir a matriz aumentada a uma matriz triangular superior pela eliminação gaussiana do k = 1, n 1 Verifica se algum elemento da diagonal é zero i f ( abs ( matriz_aumentada ( k, k ) ) <= 1. 0 E 6) then invertivel =. false. do i = k + 1, n Verifica se os elementos são maiores que zero i f ( abs ( matriz_aumentada ( i, k ) ) > 1. 0 E 6) then do j = 1, 2 n matriz_aumentada ( k, j ) = matriz_aumentada ( k, j ) + matriz_aumentada ( i, j ) invertivel =. true. e x i t e n d i f Se algum elemento da diagonal for zero, não podemos calcular a inversa i f ( invertivel ==. false. ) then w r i t e (, ' ( /, x,a, / ) ' ) ' A matriz nao e i n v e r s t i v e l ' inversa = 0 e n d i f e n d i f Eliminação gaussiana do j = k + 1, n m = matriz_aumentada ( j, k ) / matriz_aumentada ( k, k ) do i = k, 2 n matriz_aumentada ( j, i ) = matriz_aumentada ( j, i ) m matriz_aumentada ( k, i ) Teste para invertibilidade Elementos da diagonal não podem ser zero i f ( abs ( matriz_aumentada ( i, i ) ) <= 1. 0 E 6) then w r i t e (, ' ( /, x,a, / ) ' ) ' A matriz nao e i n v e r s t i v e l ' inversa = 0 e n d i f Elementos da diagonal iguais a 1 m = matriz_aumentada ( i, i ) do j = i, 2 n matriz_aumentada ( i, j ) = matriz_aumentada ( i, j ) / m Reduzir o lado esquerdo da matriz aumentada a matriz identidade do k = n 1, 1, 1 do i = 1, k 9

10 m = matriz_aumentada ( i, k+1) do j = k, 2 n matriz_aumentada ( i, j ) = matriz_aumentada ( i, j ) matriz_aumentada ( k+1, j ) m Armazene o resultado do i =1, n inversa ( i, j ) = matriz_aumentada ( i, j + n ) end s u b r o u t i n e Esta subrotina verifica se a matriz inversa é válida (a * b = identidade) Parâmetros: a Matriz original b Matriz inversa de a n Dimensão da matriz (apenas matrizes quadradas) s u b r o u t i n e matriz_inversa_verifica ( a, b, n ) i n t e g e r : : n, i, j r e a l, dimension ( n, n ) : : a, b, identidade l o g i c a l : : ok ok =. true. c a l l matriz_mul ( a, b, identidade, n ) Elementos fora da diagonal principal não podem ser diferentes de zero i f ( ( i /= j ). and. ( abs ( identidade ( i, j ) ) >= 1. 0 E 6) ) then ok =. false. Elementos na diagonal principal não podem ser diferentes de um i f ( ( i == j ). and. ( abs ( identidade ( i, i ) 1. 0 ) >= 1. 0 E 6) ) then ok =. false. i f ( ok ==. false. ) then w r i t e (, ' ( /, x,a, / ) ' ) 'A v e r f i c a c a o da matriz i n v e r s a f a l h o u ' w r i t e (, ' ( /, x,a, / ) ' ) 'A v e r f i c a c a o da matriz i n v e r s a f o i c o n c l u i d a com s u c e s s o ' end s u b r o u t i n e Esta subrotina decompõe uma matriz em matrizes triangulares inferior e superior (LU) pelo algoritmo de Doolittle (diagonal principal da matriz L igual a 1). Para uma descrição teórica sobre o algoritmo de Doolittle, veja [2]. Parâmetros: a Matriz que armazenará as matrizes LU n Dimensão da matriz (apenas matrizes quadradas) AVISO: A matriz a será modificada no processo s u b r o u t i n e matriz_lu ( a, n ) i n t e g e r : : n, i, j, k r e a l : : a ( n, n ), s, ss Os elementos da diagonal não podem ser zero i f ( abs ( a ( 1, 1 ) ) <= 1. 0 E 6) then w r i t e (, ' ( /, x,a, / ) ' ) ' I m p o s s i v e l f a t o r a r a matriz ' do i = 2, n a ( i, 1 ) = a ( i, 1 ) / a ( 1, 1 ) 10

11 end do do i = 2, n 1 s = 0. 0 do k = 1, i 1 s = s a ( i, k ) a ( k, i ) a ( i, i ) = ( a ( i, i ) + s ) Os elementos da diagonal não podem ser zero i f ( abs ( a ( i, i ) ) <= 1. 0 E 6) then w r i t e (, ' ( /, x,a, / ) ' ) ' i m p o s s i v e l f a t o r a r a matriz ' do j = i + 1, ss = 0. 0 s = 0. 0 n do k = 1, i 1 ss = ss a ( i, k ) a ( k, j ) s = s a ( j, k ) a ( k, i ) a ( i, j ) = a ( i, j ) + ss a ( j, i ) = ( a ( j, i ) + s ) / a ( i, i ) s = 0. 0 do k = 1, n 1 s = s a ( n, k ) a ( k, n ) a ( n, n ) = a ( n, n ) + s Referências [1] Stephen J. Chapman, Fortran 95/2003 for scientists and engineers, McGrall-Hill Companies, New York, NY, [2] R.L. Burden e J.D. Faires, Numerical analysis, Brooks Cole, California, CA, [3] J.L. Boldrini et al., Álgebra linear, Editora Harbra, Ltda., São Paulo, SP,

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

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

TUTORIAL MATLAB Victor Breder 2016

TUTORIAL MATLAB Victor Breder 2016 TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra

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

Matrizes. Sumário. 1 pré-requisitos. 2 Tipos de matrizes. Sadao Massago 2011-05-05 a 2014-03-14. 1 pré-requisitos 1. 2 Tipos de matrizes.

Matrizes. Sumário. 1 pré-requisitos. 2 Tipos de matrizes. Sadao Massago 2011-05-05 a 2014-03-14. 1 pré-requisitos 1. 2 Tipos de matrizes. Matrizes Sadao Massago 20-05-05 a 204-03-4 Sumário pré-requisitos 2 Tipos de matrizes 3 Operações com matrizes 3 4 Matriz inversa e transposta 4 5 Determinante e traço 5 Neste texto, faremos uma breve

Leia mais

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho O que é Microsoft Excel? Microsoft Excel O Microsoft Excel é um programa para manipulação de planilhas eletrônicas. Oito em cada dez pessoas utilizam o Microsoft Excel pra trabalhar com cálculos e sistemas

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

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes [email protected]

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 [email protected] RESUMO DA AULA SUB-ROTINAS: Procedimentos Funções Escopo de variáveis Parâmetros Prof. José Honorato

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

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

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

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A.

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A. Determinantes A cada matriz quadrada de números reais, pode associar-se um número real, que se designa por determinante da matriz Definição de determinantes de primeira e segunda ordens Seja A uma matriz

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:

Leia mais

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA INFORMÁTICA BÁSICA Conceitos c++ Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e O r g a n i z a ç ã o d e A l g o r i t m o s D e m e t r i o s. c o u t i n h o @

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

Manual do sistema SMARam. Módulo Cadastro de Bens Intangíveis

Manual do sistema SMARam. Módulo Cadastro de Bens Intangíveis Manual do sistema SMARam Módulo Cadastro de Bens Intangíveis LISTA DE FIGURAS Figura 1-Acesso ao Cadastro de Bens Intangíveis... 5 Figura 2-Aba básico... 5 Figura 3-Aba Financeiro... 6 Figura 4-Aba Movimentação...

Leia mais

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina. e Aula Zero - Álgebra Linear Professor: Juliano de Bem Francisco Departamento de Matemática Universidade Federal de Santa Catarina agosto de 2011 Outline e e Part I - Definição: e Consideremos o conjunto

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

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 ([email protected]) Objetivos do Curso Desenvolver o Pensamento Computacional

Leia mais

Ficha de Exercícios nº 2

Ficha de Exercícios nº 2 Nova School of Business and Economics Álgebra Linear Ficha de Exercícios nº 2 Matrizes, Determinantes e Sistemas de Equações Lineares 1 O produto de duas matrizes, A e B, é a matriz nula (mxn). O que pode

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

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

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

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

Álgebra Linear Computacional

Álgebra Linear Computacional Álgebra Linear Computacional Geovan Tavares, Hélio Lopes e Sinésio Pesco. PUC-Rio Departamento de Matemática Laboratório Matmidia http://www.matmidia.mat.puc-rio.br Sistemas de Equações Lineares Espaços

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

3 Determinantes. 2 Definição Número de trocas de ordem de um termo de uma matriz. 3 Definição Determinante de uma Matriz ( ( ))

3 Determinantes. 2 Definição Número de trocas de ordem de um termo de uma matriz. 3 Definição Determinante de uma Matriz ( ( )) Nova School of Business and Economics Prática Álgebra Linear 1 Definição Termo de uma matriz Produto de elementos de, um e um só por linha e por coluna. Ex.: 2 Definição Número de trocas de ordem de um

Leia mais

O QUE É O CALC PLANILHAS ELETRÔNICAS O Calc é um programa que trabalha com planilhas.

O QUE É O CALC PLANILHAS ELETRÔNICAS O Calc é um programa que trabalha com planilhas. O QUE É O CALC PLANILHAS ELETRÔNICAS O Calc é um programa que trabalha com planilhas. INICIANDO Vamos iniciar o BrOffice.org Planilha utilizando o caminho: Aplicações/ Escritório/ Planilhas (oocalc). A

Leia mais

2. Tipos Abstratos de Dados

2. Tipos Abstratos de Dados 2. Tipos Abstratos de Dados Um Tipo Abstrato de Dados especifica uma classe de dados definida pelo usuário em termos de suas propriedades abstratas Esta especificação do TAD descreve o comportamento de

Leia mais

COMO PREENCHER A DECLARAÇÃO DE BENS E VALORES

COMO PREENCHER A DECLARAÇÃO DE BENS E VALORES COMO PREENCHER A DECLARAÇÃO DE BENS E VALORES 1 SUMÁRIO 1 - CADASTRO INICIAL...03 2 ACESSO AO PREENCHIMENTO DAS INFORMAÇÕES...08 3 CADASTRO DAS INFORMAÇÕES DO AGENTE PÚBLICO E DOS DEPENDENTES...09 4 PREENCHIMENTO

Leia mais

Algoritmos APRENDENDO A PROGRAMAR COM C#

Algoritmos APRENDENDO A PROGRAMAR COM C# Algoritmos APRENDENDO A PROGRAMAR COM C# Alô Mundo AULA 01 Conhecendo o ambiente O objetivo principal desse programa não é mostrar a mensagem Alo Mundo. O objetivo é apresentar o ambiente de desenvolvimento

Leia mais

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas. Definição Uma matriz do tipo m n (lê-se m por n), com m e n, sendo m e n números inteiros, é uma tabela formada por m n elementos dispostos em m linhas e n colunas. Estes elementos podem estar entre parênteses

Leia mais

ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU

ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU INSTITUTO POLITÉCNICO DE VISEU ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU Departamento Matemática Disciplina Matemática I Curso Gestão de Empresas Ano 1 o Ano Lectivo 2007/2008 Semestre 1 o Apontamentos Teóricos:

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

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

Á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

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! ALGORITMOS E ESTRUTURAS DE DADOS I DCC/UFMG Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! Pedro O.S. Vaz de Melo May 29, 2013 1 DESCRIÇÃO DO PROBLEMA O objetivo deste trabalho

Leia mais

=...= 1,0 = 1,00 = 1,000...

=...= 1,0 = 1,00 = 1,000... OPERAÇÕES COM NÚMEROS DECIMAIS EXATOS Os números decimais exatos correspondem a frações decimais. Por exemplo, o número 1,27 corresponde à fração127/100. 127 = 1,27 100 onde 1 representa a parte inteira

Leia mais

Prof.ª: Dr. Maria Lúcia Pozzatti Flôres Organização: Gilberto Raitz Junior

Prof.ª: Dr. Maria Lúcia Pozzatti Flôres Organização: Gilberto Raitz Junior Prof.ª: Dr. Maria Lúcia Pozzatti Flôres Organização: Gilberto Raitz Junior O Excel é um programa que nos permite criar planilhas inteligentes. Ele reconhece as informações digitadas e com elas realiza

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

C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O

C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O Sempre que precisarmos em um script PHP que uma ou mais linhas de comandos sejam repetidamente executadas, utilizamos laços

Leia mais

Aula 8 Variações da Eliminação de Gauss/Fatoração LU.

Aula 8 Variações da Eliminação de Gauss/Fatoração LU. Aula 8 Variações da Eliminação de Gauss/Fatoração LU. MS211 - Cálculo Numérico Marcos Eduardo Valle Departamento de Matemática Aplicada Instituto de Matemática, Estatística e Computação Científica Universidade

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

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

CURSO DE INFORMÁTICA. Algoritmos. Parte 6. Ricardo José Cabeça de Souza

CURSO DE INFORMÁTICA. Algoritmos. Parte 6. Ricardo José Cabeça de Souza CURSO DE INFORMÁTICA Algoritmos Ricardo José Cabeça de Souza Parte 6 Sumário UNIDADE II ESTRUTURAS DE CONTROLE 2.3 ESTRUTURAS DE CONTROLE... 2.3.5 Repetição Para 2.3.6 Estrutura Vetor 2.3.7 Estrutura Matriz

Leia mais

Manual do Usuário. Quiz Online

Manual do Usuário. Quiz Online Manual do Usuário Quiz Online Versão 1.0.1 Copyright 2013 BroadNeeds Rev. 2014-06-20 Página 1 de 17 1 - INTRODUÇÃO... 3 1.1 REQUISITOS... 3 2 - CRIANDO O QUIZ ATRAVÉS DA PLATAFORMA NUCLEOMEDIA... 4 2.1

Leia mais

Semana 7 Resolução de Sistemas Lineares

Semana 7 Resolução de Sistemas Lineares 1 CÁLCULO NUMÉRICO Semana 7 Resolução de Sistemas Lineares Professor Luciano Nóbrega UNIDADE 1 2 INTRODUÇÃO Considere o problema de determinar as componentes horizontais e verticais das forças que atuam

Leia mais

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS Autor: Prof. Heliliano Carlos Sartori Guedes [email protected]

Leia mais

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação Aula Extra Depurador Code::Blocks Monitoria de Introdução à Programação Depurador - Definição Um depurador (em inglês: debugger) é um programa de computador usado para testar outros programas e fazer sua

Leia mais

Introdução ao determinante

Introdução ao determinante ao determinante O que é? Quais são suas propriedades? Como se calcula (Qual é a fórmula ou algoritmo para o cálculo)? Para que serve? Álgebra Linear II 2008/2 Prof. Marco Cabral & Prof. Paulo Goldfeld

Leia mais

Avaliação e Desempenho Aula 1 - Simulação

Avaliação e Desempenho Aula 1 - Simulação Avaliação e Desempenho Aula 1 - Simulação Introdução à simulação Geração de números aleatórios Lei dos grandes números Geração de variáveis aleatórias O Ciclo de Modelagem Sistema real Criação do Modelo

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

Onde: A é a matriz do sistema linear, X, a matriz das incógnitas e B a matriz dos termos independentes da equação

Onde: A é a matriz do sistema linear, X, a matriz das incógnitas e B a matriz dos termos independentes da equação Onde: A é a matriz do sistema linear, X, a matriz das incógnitas e B a matriz dos termos independentes da equação À seguir eemplificaremos e analisaremos cada uma dessas três situações. : A X B Podemos

Leia mais

Do alto-nível ao assembly

Do alto-nível ao assembly Do alto-nível ao assembly Compiladores Cristina C. Vieira 1 Viagem Como são implementadas as estruturas computacionais em assembly? Revisão dos conceitos relacionados com a programação em assembly para

Leia mais

Excel. Profª Leticia Lopes Leite

Excel. Profª Leticia Lopes Leite Excel Profª Leticia Lopes Leite 1 Introdução A planilha eletrônica consiste em uma poderosa ferramenta de apoio à gestão e ao processo de tomada de decisão, dentro de uma empresa ou na vida particular.

Leia mais

ALGA - Eng.Civil - ISE - 2009/2010 - Matrizes 1. Matrizes

ALGA - Eng.Civil - ISE - 2009/2010 - Matrizes 1. Matrizes ALGA - Eng.Civil - ISE - 00/010 - Matrizes 1 Matrizes Introdução Se m e n são números naturais, chama-se matriz real de tipo m n (m vezes n ou m por n) a uma aplicação A : f1; ; :::; mg f1; ; :::; ng R:

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

Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS

Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS Anterior Sumário Próximo MATRIZES, DETERMINANTES E SISTEMAS Clicando em, o usuário é conduzido para uma tela onde os conteúdos estão separados por blocos, que são acessados a medida que clicamos em cada

Leia mais

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL ÁLGEBRA BOOLEANA- LÓGICA DIGITAL LÓGICA DIGITAL Álgebra Booleana Fundamentação matemática para a lógica digital Portas Lógicas Bloco fundamental de construção de circuitos lógicos digitais Circuitos Combinatórios

Leia mais

SISTEMA OPERACIONAL - ios

SISTEMA OPERACIONAL - ios Manual do Usuário SISTEMA OPERACIONAL - ios Filho Protegido Versão 1.0 1 1 Índice 1 Índice... 2 2 INTRODUÇÃO FILHO PROTEGIDO... 3 3 INSTALAÇÃO DO APLICATIVO DOS PAIS... 4 3.1 LOCAL DE INSTALAÇÃO DO FILHO

Leia mais

Tutorial 3 Básico do VBA do Excel

Tutorial 3 Básico do VBA do Excel Tutorial 3 Básico do VBA do Excel Este tutorial contém a 3 ª lição sobre a série de Tutoriais do VBA Básico do Excel. Ele cobre tópicos na criação e gerenciamento de array e entendimento das estruturas

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected]

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

Leia mais

Alocação de Custos pelo Método Recíproco

Alocação de Custos pelo Método Recíproco 1 ALOCAÇÃO DE CUSTOS PELO MÉTODO RECÍPROCO Autor: Luiz João Corrar Doutor em Controladoria e Contabilidade pela FEA/USP Professor do Departamento de Contabilidade e Atuária Introdução O objetivo deste

Leia mais

Portal de Carapicuíba Painel Administrativo

Portal de Carapicuíba Painel Administrativo Portal de Carapicuíba Painel Administrativo Guia de Uso ÍNDICE 1. Introdução 2. Acesso ao Painel Administrativo 3. Usuários 4. Notícias 5. Seções 6. Álbum de Fotos 7. Vídeos 8. Banners 9. Atos Oficiais

Leia mais

PYTHON Compreensão de Listas. Introdução à Programação SI2

PYTHON Compreensão de Listas. Introdução à Programação SI2 PYTHON Compreensão de Listas Introdução à Programação SI2 Inicializando listas Não é possível atribuir a uma posição inexistente de uma lista >>> vetor = [] >>> vetor [0] = 1 Traceback (most recent call

Leia mais

FUNDAMENTOS DA MATEMÁTICA

FUNDAMENTOS DA MATEMÁTICA FUNDAMENTOS DA MATEMÁTICA Aula Matrizes Professor Luciano Nóbrega UNIDADE MATRIZES _ INTRODUÇÃO DEFINIÇÃO Uma matriz é uma tabela com m linhas e n colunas que contém m. n elementos. EXEMPLO: Ângulo 0º

Leia mais

6 CONCEPÇÃO BÁSICA DO SISTEMA DE APOIO À DECISÃO

6 CONCEPÇÃO BÁSICA DO SISTEMA DE APOIO À DECISÃO 78 6 CONCEPÇÃO BÁSICA DO SISTEMA DE APOIO À DECISÃO Neste capítulo serão apresentados: o sistema proposto, o procedimento de solução para utilização do sistema e a interface gráfica, onde é ilustrada a

Leia mais

POTENCIAÇÂO. A potenciação é uma forma de representar uma multiplicação de fatores iguais.

POTENCIAÇÂO. A potenciação é uma forma de representar uma multiplicação de fatores iguais. POTENCIAÇÂO A potenciação é uma forma de representar uma multiplicação de fatores iguais. A potência é o resultado. x x x cada termo desta multiplicação é chamado de fator, portanto temos 4 fatores iguais

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

Isto não é exequível!... B[8][6] A[10] Slides_Java_4

Isto não é exequível!... B[8][6] A[10] Slides_Java_4 A[10] B[8][6] Slides_Java_4 Sistemas Informáticos I 2005-2006 Imaginemos que é necessário escrever um programa que: leia uma lista de 50 alunos e as respectivas notas. calcule a nota média. escreva a diferença

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

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

Capítulo VI Circuitos Aritméticos

Capítulo VI Circuitos Aritméticos Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números

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

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch Switch A estrutura if de seleção única, a estrutura if / else de seleção dupla. Outra maneira de indicar uma condição é através de uma declaração switch. A construção switch permite que uma única variável

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

Aula 3/4: Vetores/Matrizes e Ponteiros

Aula 3/4: Vetores/Matrizes e Ponteiros Carlos Henrique/Introdução C++ Aula 3/4: Vetores/Matrizes e Ponteiros Funções: Função main (int argc, char ** argv) Recursão Vetores/Matrizes/Strings Vetor (Matriz Unidimensional) Gerando um ponteiro para

Leia mais

Disciplina: Álgebra Linear - Engenharias ], C = Basta adicionar elemento a elemento de A e B que ocupam a mesma posição na matriz.

Disciplina: Álgebra Linear - Engenharias ], C = Basta adicionar elemento a elemento de A e B que ocupam a mesma posição na matriz. Universidade Federal de Goiás Campus Catalão Departamento de Matemática Disciplina: Álgebra Linear - Engenharias Professor: André Luiz Galdino Gabarito da 1 a Lista de Exercícios 1. Sejam Encontre: [ 1

Leia mais

Microsoft Excel Ficha prática n. 8

Microsoft Excel Ficha prática n. 8 1. Inicie o Microsoft Excel e abra o livro apoio_ficha8.xlsx. 2. Grave o livro com o nome Ficha8. 3. Crie uma macro, usando o gravador de macros, que formate a vermelho as notas finais negativas duma pauta

Leia mais

Welcome the programmation Linux with shell script!!! Seja bem vindo a programação Linux com shell script!!!

Welcome the programmation Linux with shell script!!! Seja bem vindo a programação Linux com shell script!!! Exemplos de shell scripts Esses exemplos são para você testar seu conhecimento geral em shell script. Após ver os exemplos, aconselho que você mesmo tentar escrever seus próprios scripts shell, assim que

Leia mais

Cadastrando uma nova denúncia

Cadastrando uma nova denúncia Cadastrando uma nova denúncia Versão 1.0 Índice 1. Introdução... 2 2. Consultando uma denúncia... 2 3. Incluindo uma denúncia... 4 Cadastrando uma nova denúncia Pág. 2 1. Introdução O Conselho Tutelar

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

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: [email protected] Aula 10 Sumário Relacionamentos entre

Leia mais

LINGUAGEM JAVA - RESUMO

LINGUAGEM JAVA - RESUMO LINGUAGEM JAVA - RESUMO 1.1. Estrutura Geral de um Programa 1. ESTRUTURAS BÁSICAS public class nome do programa public static void main(string[] args) instruções do programa 1.2. Tipos Primitivos de Dados

Leia mais

Importação XML Nota fiscal eletrônica. Integração Xml / Protheus

Importação XML Nota fiscal eletrônica. Integração Xml / Protheus P á g i n a 1 Importação XML Nota fiscal eletrônica Integração Xml / Protheus P á g i n a 2 Estrutura ( Pastas ) - Protheus_data\system\nfe\entrada - Todos os novos arquivos XML para importação, deverão

Leia mais

Unidade 16: Funções de Busca e Referência

Unidade 16: Funções de Busca e Referência Unidade 16: Funções de Busca e Referência 16.0 Introdução Uma das características mais importantes do Excel é sua habilidade de buscar um valor específico em um grande número de células contendo dados

Leia mais

Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1.

Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1. Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1 Matrizes 1 Considere as matrizes A = 1 2 3 2 3 1 3 1 2 Calcule

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos

Leia mais

Introdução ao Fortran 90. Aula 3

Introdução ao Fortran 90. Aula 3 Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um

Leia mais

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa

Leia mais

Exercícios (if/ if else/ if elseif else)

Exercícios (if/ if else/ if elseif else) SECRETARIA DA EDUCAÇÃO E CULTURA POLÍCIA MILITAR DO ESTADO DO TOCANTINS COLÉGIO DA POLÍCIA MILITAR DO ESTADO DO TOCANTINS UNIDADE ESCOLAR: CPM PERÍODO: 4º Bimestre DISCIPLINA: Lógica de Programação ANO/SÉRIE:

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

MATRÍCULA GESTÃO ESCOLAR

MATRÍCULA GESTÃO ESCOLAR MATRÍCULA GESTÃO ESCOLAR 1. Informações Gerais. Este módulo tem por objetivo prover a matrícula dos alunos, regular ou complementar, com disputa de vagas ou on-line ou não. O processo é concluído com a

Leia mais

Linguagens e códigos digitais

Linguagens e códigos digitais 2 Linguagens e códigos digitais SUMÁRIO DO VOLUME LINGUAGENS E CÓDIGOS DIGITAIS 1. Operações com números naturais 5 2. Números positivos e negativos 10 3. Média aritmética simples e ponderada 12 4. Plano

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