roteiro de 1 informatica das...

45
ROTEIRO DE 1 INFORM ´ ATICA DAS ENGENHARIAS Prof. Dr. Catalunha Atualizado em 3 de Julho de 2013 as 15:43 1 Este roteiro cont´ em textos de minha autoria e outros retirados das bibliografias indicadas, ou textos correlatos no assunto, sempre que poss´ ıvel citadas as fontes. Tais notas n˜ ao excluem a consulta ao conte´ udo na integra da bibliografia original e s˜ ao apenas uma forma de guia de conte´ udo dentro de sala de aula.

Upload: tranmien

Post on 17-Dec-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

ROTEIRO DE 1

INFORMATICA DAS ENGENHARIAS

Prof. Dr. Catalunha

Atualizado em 3 de Julho de 2013 as 15:43

1Este roteiro contem textos de minha autoria e outros retirados das bibliografias indicadas, ou textoscorrelatos no assunto, sempre que possıvel citadas as fontes. Tais notas nao excluem a consulta aoconteudo na integra da bibliografia original e sao apenas uma forma de guia de conteudo dentro de salade aula.

Page 2: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Conteudo

2

Page 3: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Parte I

Ementa e Conteudo Programatico

3

Page 4: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

Ementa de disciplina do curso de Engenharia Ambiental conforme Plano Polıtico Pegagogicoaprovado em 2007.

DISCIPLINA:Informatica das EngenhariasCH Total CH Teorica CH Pratica Creditos60 15 45 4

PERIODO: PRE-REQUISITOS:4 Calculo NumericoOBJETIVO:Capacitar o aluno dos cursos de graduacao em engenharia da UFT na utilizacao da pro-gramacao, em ambiente JAVA, para aplicacao de modelos matematicos e processamento dedados nas suas atividades.

CONTEUDO BASICO:

Introducao. As Funcoes. Introducao Basica. As Entradas E Saıdas. Comentarios. Palavras Re-servadas Do Java. . Variaveis, Constantes, Operadores E Expressoes. Nomes De Variaveis. OsTipos Do Java. Declaracao E Inicializacao De Variaveis. Constantes. Operadores AritmeticosE De Atribuicao. Operadores Relacionais E Logicos. Expressoes. Estruturas De Controle DeFluxo. O Comando If. O Comando Switch. O Comando For. O Comando While. O ComandoDo. O Comando Break. Comando Continue. Matrizes E Vetores. Entradas E Saıdas Padroni-zadas E Em Arquivo. Lendo E Escrevendo Strings. Abrindo E Fechando Um Arquivo. OutrosComandos De Acesso A Arquivos. Fluxos Padrao. Classes E Objetos. Especificando UmaClasse. Chamando Funcoes Membro. Encapsulamento Com “class”. Tipo Abstrato De Dados.Heranca. Hierarquias De Tipos. Hierarquias De Implementacao. Polimorfismo, Funcoes Virtu-ais. Tratamento De Excecoes. Conclusoes. Aplicacoes. Estruturas de programacao. Recursosde Programacao. Funcoes intrınsecas. Opcoes de arquivo, leitura e escrita.METODOLOGIA DE ENSINO:O ensino sera ministrado de forma expositiva em sala de aula, utilizando os recursos audiovisuaisdisponıveis, com consulta ao material bibliografico e debates sobre o tema. A disciplina seraadministrada utilizando todos os recursos disponıveis no sistema Moodle.

PROCEDIMENTOS DE AVALIACAO:Trabalhos e provas.

BIBLIOGRAFIA BASICA:* DEITEL, H.; DEITEL, P. Java Como Programar, Prentice Hall, 6 edicao.* SIERRA, K.; BATES, B. Pense Java - Guia de Aprendizagem, Alta Books, 1 edicao* ROGERS, C. Aprenda em 21 Dias Java, 4a edicao, Campus* BOENTE, A. Aprendendo a Programar em Java 2 Orientado a Objetos, Brasport* NIEMEYER, P.; KNUDSEN, J. Aprendendo JAVA, Campus* MANZANO, J. A. N.G.. Estudo dirigido de Fortran. Ed. Erika. ISBN 85-7194-9816.BIBLIOGRAFIA COMPLEMENTAR:* BERG, C. Advanced Java 2 Development for Enterprise Applications, Pearson* DEITEL, H.; DEITEL, P.; SANTRY, S. Advanced Java 2 How to Program Pearson

4 Atualizado em 3 de Julho de 2013

Page 5: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

Na Tabela ?? temos as datas conforme calendario do periodo vigente. Na Tabela ?? o encontroque sera realizado na referida data.

Data Encontro24-05-2013 107-06-2013 214-06-2013 321-06-2013 428-06-2013 505-07-2013 612-07-2013 702-08-2013 809-08-2013 1016-08-2013 1123-08-2013 P 930-08-2013 1206-09-2013 1313-09-2013 1420-09-2013 1527-09-2013 1604-10-2013 P 1811-10-2013 E 20-2013 R 17-2013 R 19

Tabela 1: Datas

Encontro Conteudo Planejado1 Apresentacao da disciplina, Trabalho.2 Linguagens e Algoritmos.3 Funcao, variaveis, entrada e saıda.4 Condicionais, lacos e repeticoes5 Desenvolvimento de programas6 Desenvolvimento de programas7 Desenvolvimento de programas8 Desenvolvimento de programas9 Desenvolvimento de programas10 Entrada e Saida via arquivo de dados11 Desenvolvimento de programas12 Desenvolvimento de programas13 Desenvolvimento de programas14 Desenvolvimento de programas15 Desenvolvimento de programas16 Desenvolvimento de programas17 Prova 0118 Prova 0219 Reposicao de Provas20 Exame Final

Tabela 2: Conteudo

Legenda: R: indica data de reposicao de aula. E: indica data de exame final. P: indica datade prova.Observacao: Horario de atendimento aos alunos sera na quinta de 08h as 11h30, Bloco II, Sala10, Ramal 8229 ou Telefone 32328229.

Atualizado em 3 de Julho de 2013 5

Page 6: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Parte II

Teoria e Tarefas

6

Page 7: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Capıtulo 1

Nocoes basicas de programacao

Em construcao...

1.1 Nivelamento Matematico

1. Sistemas Lineares

(a) Metodos diretos

i. Gauss

ii. Pivotacao completa

iii. Jordan

(a) Metodos iterativos

i. Jacobi

ii. Gauss-Seidel

2. Ajuste de Modelo

(a) Polinomial

(b) Multiplo

3. Interpolacao

(a) Ajuste de modelo

(b) Lagrange

(c) Diferenca Dividida de Newton

4. Zero de funcoes

(a) Metodo da bissecao

(b) Metodo pegaso

(c) Metodo de Newton

5. Integracao

7

Page 8: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

(a) Regra dos Trapezio

(b) Regra de Simpson I

(c) Regra de Simpson II

(d) Extrapolacao de Richardson

(e) Integral Dupla

(f) Quadratura Gaussiana

6. Equacoes Diferenciais Ordinarias

(a) Metodo de Runge-Kutta

1.2 Programas Resolvidos

Em construcao...

1.3 Programas Propostos

A seguir inclui as paginas da lista antiga de tarefas por falta de tempo em atualizar os exercıcios.Gentileza resolver normalmente.

8 Atualizado em 3 de Julho de 2013

Page 9: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

2.1 Tarefa: erro

Teoria:

Crie o programa em que um número x é dito uma aproximação para o número exato x se existe uma pequena diferença entre eles. Esta diferença é chamada de erro absoluto, dado por

ex=∣x− x∣ , ou relativo, dado por Ex=ex

∣x∣ .

Exemplo:

ex=∣x− x∣

Programa:

Desenvolva um programa que tenha a seguinte interface com o usuário:

Entrada e saída via terminal:

Informe o valor real: 1

Informe o valor aproximado: 1.1

Erro absoluto: 0.1

Erro relativo: 0.001

2.2 Tarefa: modmat

Desenvolva um programa para resolver o modelo matemático a seguir. “e” é exponencial:

y=aebx

2.3 Tarefa: temperatura

Desenvolva um programa para converter a temperatura dada em celsius para kelvin ou fahrenheit. Considere os modelos a seguir:

K=C273.15

F=C∗1.832

2.4 Tarefa: prismas

Desenvolva um programa para calcular a área da base, a área da superfície e o volume de um prisma com base quadrada.

A pq=l 2

S pq=2l24lh

V pq=l 2 h

em que: l= lado da base quadrada; h= altura do prisma; A pq = Área do prisma de base quadrada; S pq = Superfície do prisma de base quadrada; V pq = Volume do prisma de base quadrada;

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 4 de 18

Page 10: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

2.5 Tarefa: situacao

Desenvolva um programa que analise o modelo a seguir e retorne se o mesmo é crescente ou decrescente para um valor de x qualquer.

y=x3−3x+1 y '=3x2

−3 Situação

−1<x<1 y'<0 decrescente

x1 y'>0 crescente

x−1 y'>0 crescente

2.6 Tarefa: Academia

Desenvolva um programa para cálculo do Índice de Massa Corporal, IMC, de acordo com o seguinte modelo.

IMC=Peso

Altura2

Em seguida o programa determina também a situação do atleta e seu IMC, de acordo com a seguinte tabela.

Situação IMC

abaixo do peso IMC < 18,5

Peso normal 18,5≤IMC 25

Sobrepeso 25≤IMC30

Obesidade grau I 30≤IMC35

Obesidade grau II 35≤ IMC40

Obesidade grau III 40≤IMC

2.7 Tarefa: notas

Considere que você tem a nota de vários alunos e deve calcular a mínimo, média e máximo.

2.8 Tarefa: matrizlinear

Pode-se ajustar uma reta do tipo y=abx a pontos x i e y i em que i=0,1 , ... , n e n é o número de pontos disponível. Para isto precisamos resolver um sistema linear de 2 equações. Este sistema linear uma vez montado com base nos somatórios permitirá a determinação dos valores dos coeficientes a e b da equação da reta. Desenvolva um programa para calcular somente os somatórios para a montagem do sistema de equações, conforme estrutura a seguir.

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 5 de 18

Page 11: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

a nb∑ x i=∑ y i

a∑ x1b∑ x12=∑ x i y i

Dica: o programa deverá pegar os valores de n, x i e y i e calcular somente as somas indicadas. Note que eles são vetores. Após os cálculos, escrever o sistema conforme apresentado, agora informando os valores numéricos. Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 7.

2.9 Tarefa: matrizmultiplo

Pode-se ajustar uma curva do tipo y=abx1cx2 a pontos x1i , x2i e y i em que i=0,1 , ... , n e n é o número de pontos disponível. Pode ser determinado pela resolução de um sistema linear de 3 equações. Este sistema linear uma vez montado com base no pontos permitirá a determinação dos valores dos coeficientes a, b e c da equação da curva. Desenvolva um programa para calcular somente os somatórios para a montagem do sistema de equações, conforme estrutura a seguir.

a n b∑ x1i c∑ x2i = ∑ y i

a∑ x1i b∑ x1i2

c∑ x1i x2i = ∑ x1i y i

a∑ x2i b∑ x 2i x1i c∑ x2i2 = ∑ x 2i y i

Dica: o programa deverá pegar os valores de n, x1i , x2i e y i e calcular as somas indicadas. Note que x e y são vetores. Após os cálculos, escrever o sistema conforme apresentado agora informando os valores numéricos. Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 7.

2.10 Tarefa: ajustelinear

Desenvolva um programa para atender a seguinte necessidade. O usuário informa os pontos x i e y i em que i=1,... , n . E obtêm o modelo y=β0+β1 x .

Os coeficientes do modelo linear β0 eβ1 , podem ser obtidos resolvendo o seguinte sistema de equações:

[ n ∑ x i

∑ x i ∑ x i2][β0

β1]=[ ∑ y i

∑ xi y i]

Dica: o programa deverá pegar os valores de x i e y i e calcular as matrizes indicadas. Os coeficientes podem ser resolvidos, com base na matriz da seguinte forma β=X −1 Y . Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 7.

2.11 Tarefa: ajustequadratico

Desenvolva um programa paraatender a seguinte necessidade. O usuário informa os pontos x i e y i em que i=1,... , n e n é o número de pontos fornecidos.

O modelo polinomial y=abxcx2 , podem ser obtidos resolvendo o seguinte sistema de equações:

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 6 de 18

Page 12: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

[n ∑ x i ∑ x i

2

∑ x i ∑ x i2 ∑ x i

3

∑ x i2 ∑ x i

3 ∑ x i4] [ a

bc ]=[ ∑ y i

∑ x i y i

∑ x i2 y i

]Dica: o programa deverá pegar os valores de x i e y i e calcular as somas indicadas. Os coeficientes podem ser resolvidos, com base na matriz da seguinte forma x=A−1b . Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 7.

2.12 Tarefa: ajustemultiplo

Desenvolva o programa AjusteMultiplo, para atender a seguinte necessidade. O usuário informa os pontos x1i , x2i e y i em que i=1,... , n e n é o número de pontos fornecidos. E o sistema ajusta os pontos fornecidos a uma curva do tipo y=abx1cx2 . Os valores de a, b e c podem ser determinados pela resolução de um sistema linear de 3 equações, conforme abaixo:

[n ∑ x1i ∑ x2i

∑ x1i ∑ x1i2 ∑ x1i x2i

∑ x2i ∑ x1i x2i ∑ x2i2 ][abc ]=[ ∑ y i

∑ x1i y i

∑ x2i y i]

Dica: o programa deverá pegar os valores de x1i , x2i e y i e calcular as somas indicadas. Os coeficientes podem ser resolvidos, com base na matriz da seguinte forma x=A−1b . Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 7.

2.13 Tarefa: InterpLinear

Desenvolva um programa para atender a seguinte necessidade. O usuário informa os pontos x i e y i em que i=1,... , n . O usuário deseja obter qualquer outro valor de y informado um x fora da

lista de valores de entrada.

Precisamos calcular o modelo y=β0+β1 x e aplicar o valor de x .Os coeficientes do modelo linear β0 eβ1 , podem ser obtidos resolvendo o seguinte sistema de equações:

[ n ∑ x i

∑ x i ∑ x i2][β0

β1]=[ ∑ y i

∑ xi y i]

Dica: o programa deverá pegar os valores de x i e y i e calcular as matrizes indicadas. Os coeficientes podem ser resolvidos, com base na matriz da seguinte forma β=X −1 Y . Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 7. A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 4.3.

2.14 Tarefa: InterpQuadratica

Desenvolva um programa para calcular um valor por interpolação quadrática. A teoria pode se

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 7 de 18

Page 13: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 4.4.

2.15 Tarefa: interlagrange

O processo de interpolação quando se deseja um polinômio maior do que grau 2 deve recorrer a funções mais sofisticados do que a interpolação linear ou quadrática. Para isto neste Tarefa vamos adotar o processo de interpolação polinomial pelo método lagrangeano. Uma teoria mais detalhada pode ser encontrada em Barroso, Capítulo 4, contudo o modelo necessário é:

Pnx =∑i=0

n

y i∏j=0j≠i

n x−x j

x i−x j Os nomes das variáveis, funções e a lógica de resolução ficam a seu critério. Apenas separe o programa InterLagrange, que contém o algoritmo do Tarefa de forma pura e independente, e o programa Interface, que faz a interface com o usuário.

Dica: Pegue o livro indicado Barroso, Capítulo 4, estude o seu exercício resolvido e após o entendimento de um dos exemplos ai sim vc inicia o processo de implementação do seu Tarefa.

2.16 Tarefa: EDORK

Desenvolva um programa para calcular o valor de uma Equação Diferencial Ordinária pelo método de Runge-Kutta de 2ª, 3ª ou 4ª ordem. O usuário deve escolher a ordem de cálculo. A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 6.2.3 e 6.2.4.

2.17 Tarefa: EDOEuler

Desenvolva um programa para calcular o valor de uma Equação Diferencial Ordinária pelo método de Euler. A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 6.1.3.

2.18 Tarefa: inttrapezio

O processo de obtenção da integral do tipo ∫a

b

f x dx pode ser feito pelo processo numérico da

regra dos trapézios. Consulte Barroso, Capítulo 5, para maiores informações. Este processo se

baseia na aplicação do modelo I =h2 y02y1...2yn−1 yn em que: h é o intervalo de

integração dado por h=b−a

n; n é o número de iterações necessárias. Desenvolva um programa

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 8 de 18

Page 14: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

que resolva a integral de uma função qualquer pelo método dos trapézios.

2.19 Tarefa: int1simpson

O processo de obtenção da integral do tipo ∫a

b

f x dx pode ser feito pelo processo numérico da

primeira regra de simpson. Consulte Barroso, Capítulo 5, para maiores informações. Este processo

se baseia na aplicação do modelo I =h3 y04y12y24y32y4...2yn−24yn−1 yn em que:

h é o intervalo de integração dado por h=b−a

n; n é, par, o número de iterações necessárias.

Desenvolva um programa que resolva a integral de uma qualquer método da primeira regra de Simpson.

2.20 Tarefa: int2simpson

O processo de obtenção da integral do tipo ∫a

b

f x dx pode ser feito pelo processo numérico da

segunda regra de simpson. Consulte Barroso, Capítulo 5, para maiores informações. Este processo se baseia na aplicação do modelo

I =3h8

y03y13y22y33y43y52y6...3yn−23yn−1 yn em que: h é o intervalo de

integração dado por h=b−a

n; n é, múltiplo de três, o número de iterações necessárias. Desenvolva

um programa para o referido Tarefa que resolva a integral de uma função qualquer pelo método da segunda regra de simpson.

2.21 Tarefa: richardson

O processo de obtenção da integral do tipo ∫a

b

f x dx pode ser feito pelo processo numérico de

Richardson. Consulte Barroso, Capítulo 5, para maiores informações. Desenvolva um programa que resolva a integral de uma função qualquer por este método.

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 9 de 18

Page 15: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

2.22 Tarefa: calcvalor

Crie um programa baseado na teoria de que o modelo y=abx estima o valor de y quando são dados os valores de a, b e x. Para isto desenvolva um programa que solicita do usuário os valores de a e b e em seguida entre num laço que pede ao mesmo o valor de x e determina y indefinidamente, até o usuário encerrar o loop.

2.23 Tarefa: indeciso

Desenvolva a versão 2 para os Tarefas anteriores que agora se chamarão ajustarcurva2, ajustemultiplo2 e sistemalinear2. Considerando que o usuário ameba que estará utilizando esta versão é muito indeciso e erra muito. Para tanto após cada entrada de informação do usuário vc apresenta o valor ou valores que ele digitou e dá opção se ele deseja mudar ou manter aquele valor ou valores e prossegue com a entrada de dados. Caso ele tenha digitado tudo correto o programa segue normalmente, mas caso ele tenha digitado algo errado ele pode atualizar somente a informação desejada.

Exemplo: (Valores em negrito e sublinhado são entrada do usuário ameba os demais são escritos pelo programa.)

…Entre com o valor de n:2O valor informado foi 2. Deseja alterar ? (Sim ou Nao):SimEntre com o valor de n:3O valor informado foi 3. Deseja alterar ? (Sim ou Nao):Nao…A matriz informada é:1 23 4Deseja alterar algum valor ? (Sim ou Nao)SimEntre com a linha:2Entre com a coluna2Entre com o novo valor desejado:5A matriz atualizada é:1 23 5Deseja alterar algum valor ? (Sim ou Nao)…

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 10 de 18

Page 16: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

2.24 Tarefa: sistemalinear

Desenvolva o programa SistemaLinear para atender a seguinte necessidade. O usuário entra com os a ij e bi de um sistema de equações. O seu sistema calcula os valores de x j que tornam o sistema de equações verdadeira. O sistema linear pode ser escrito na forma:

∑j=1

n

aij x j=bi em que i=1,2 , ... , n

ou

a11 x1 a12 x2 a1n xn b1

a21 x1 a22 x2 a2n xn b2

an1 x1 an2 x2 ann xn bn

Sob a forma matricial os sistema de equações pode ser escrito como Ax=b . E resolvido, com base na matriz da seguinte forma:

x=A−1b

Dica: o programa deverá pegar os valores de a ij e bi e calcular os valores de x j . Utilize o programa para resolver os sistemas de equações com base na forma matricial. Uma fonte bibliográfica pode ser encontrada em Barroso, Capítulo 2.

2.25 Tarefa: IntDupla

Teoria:

O processo de obtenção da integral do tipo ∫a

b

dx∫c

d

f x , y dy pode ser feito pela aplicação

sucessiva de um dos processos numéricos de integração simples. Consulte Barroso, L.C. et al.; Cálculo Numérico, Item 5, para maiores informações. Este processo também se baseia na aplicação prática do modelo I =k x k y∑ c i c j f x i , y j em que: i é o número de iterações para a primeira integral; j é o número de iterações para a segunda integral; c i e c j são coeficientes do método de integração para a primeira e segunda integral, respectivamente; x i e y j são intervalos de integração do método de integração para a primeira e segunda integral, respectivamente; k x e k y é a constante de integração correspondente a cada método de integração, respectivamente.

Exemplo:

Consulte Barroso, L.C. et al.; Cálculo Numérico, Item 5.6, Pág 243.

Programa:

Desenvolva um programa que resolva a integral dupla por qualquer método de integração (trapézio, simpson regra 1, simpson regra 2). Sendo a situação de: (a) uma função qualquer definida pelo usuário; (b) um conjunto de pontos qualquer.

A entrada de dados deve ser: (a) informado pelo usuário manualmente; (b) arquivo com dados

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 11 de 18

Page 17: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

2.26 Tarefa: IntGauss

Teoria:

O processo de obtenção da integral do tipo ∫a

b

f x dx pode ser feito pelo processo

numérico da quadratura gaussiana. Consulte Barroso, L.C. et al.; Cálculo Numérico, Item 5, para

maiores informações. Este processo se baseia na aplicação do modelo I =∑i=0

n−1

Ai F t i em que: Ai

e t i são coeficientes dados pela tabela 5.16, Barroso Pág.: 253;

F t =12b−a f 1

2b−a t

12ba ; n é o número de pontos necessário no processo de

integração.

Exemplo:

Consulte Barroso, L.C. et al.; Cálculo Numérico, Item 5.7, Pág 249.

Programa:

Desenvolva um programa que resolva computacionalmente a teoria apresentada para uma função definida pelo usuário.

A entrada de dados deve ser: (a) informado pelo usuário manualmente; (b) arquivo com dados.

2.27 Tarefa: SLGauss

Teoria:Com (n-1) passos o sistema linear ax=b é transformado num sistema triangular equivalente,

o qual se resolve facilmente por substituição. Um destes funções é de Gauss. Consulte Barroso, L.C. et al.; Cálculo Numérico, Item 2.2.1, pág 27, para maiores informações.Exemplo:

Consulte Barroso, L.C. et al.; Cálculo Numérico, Item 2.1.1, Pág 27.

Programa:

Desenvolva um programa que resolva computacionalmente a teoria apresentada.

A entrada de dados deve ser: (a) informado pelo usuário manualmente; (b) arquivo com dados.

2.28 Tarefa: Dados

Ajuste os dados da Tabela Tabela 2.1 ao modelo y=a+bx.

Tabela 2.1: Características fisiológicas de cultivares de mandioca

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 12 de 18

Page 18: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

x y x y x y

478,8 116,1 375 63,1 492,5 168,1

695,4 231,9 565,1 192,9 676,7 312,2

1095,1 462,2 816,7 338,8 908,1 479,6

1301,2 615,7 965 504,5 1141,8 600,6

1463,1 764,8 1120,4 589,8 1304,3 786,5

Fonte de dados: FAHL et al, 1982, estudando as características fisiológicas de três cultivares de mandioca em que x=massa seca de raízes de mandioca, gm−2 ; y=massa seca total da planta, gm−2 .

Utilize o programa já desenvolvido chamado ajustelinear. A entrada de dados deve ser via Interface e arquivo de entrada.

2.29 Tarefa: SLTriang

Desenvolva um programa para resolver um Sistema Linear Triangulares Inferior, SLTriangInferior, de qualquer sistema dimensão. O sistema deverá solicitar os valores de a ij e b i , sendo i=linha e j=coluna, do usuário, definir automaticamente se o sistema é triangular inferior ou superior e calcular os valores de x j . A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 2.1.2.

2.30 Tarefa: SLPivo

Desenvolva um programa para resolver um Sistema Linear pelo Método da Pivotação Completa. A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 2.2.5.

2.31 Tarefa: SLJordan

Desenvolva um programa para resolver um Sistema Linear pelo Método de Jordan. A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 2.2.6.

2.32 Tarefa: SLJacobi

Desenvolva um programa para resolver um Sistema Linear pelo Método de Jacobi. A teoria pode se encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 2.3.2. Verifique a convergência no item 2.3.7.

2.33 Tarefa: SLGaussSeidel

Desenvolva um programa para resolver um Sistema Linear pelo Método de Jacobi. A teoria pode se

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 13 de 18

Page 19: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LISTA ANTIGA DE TAREFAS. ESTOU ATUALIZANDO. RESOLVER NORMALMENTE.

encontrada em Barroso, L.C. et al.; Cálculo Numérico, Item 2.3.5. Verifique a convergência no item 2.3.7.

2.34 Tarefa: EstatisticaBasica

Desenvolva um programa que apresente o cálculo da:

(1) Média aritmética

(2) Moda

(3) Mediana

(4) Cálculo de quantis

(5) Cálculo de percentis

(6) Variancia

(7) Desvio padrao

(8) Coeficiente de variação

(9) Coeficiente de assimetria

(10) Coeficiente de curtose

Tendo como entrada uma série de dados qualquer e informações complementares. A análise deve ser feita para dados agrupados ou não, a agrupamento deve ser feito com base na série original.

Pesquise a teoria em bibliografia especializada ou de sua disciplina já cursada.

A entrada de dados deve ser via arquivo com dados e a interface a sua escolha.

Prof. Dr. Catalunha – Lista antiga das tarefas de Info Eng Pág.: 14 de 18

Page 20: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Parte III

Administracao da disciplina

20

Page 21: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Capıtulo 2

Procedimentos de avaliacao

Com o intuito de esclarecer e evitar alguns problemas sobre o procedimento de avaliacao, seguemalgumas regras que DEVEM ser seguidas.

2.1 Divisao do conteudo e quantidade de avaliacoes

1. A disciplina Informatica das Engenharias, IE, sera divida em 2 etapas. O conteudo e asavaliacoes serao ministradas em 8 encontros e a prova em 1 encontro, totalizando 9 encontrospor etapa e 18 encontros no total. O 19o encontro sera para aplicacao de provas de reposicaoe o 20o encontro para prova de exame final.

2. A avaliacao do desempenho do aluno dar-se-a por etapa, sendo que em cada etapa teremosum conjunto de trabalhos e uma prova, com pesos conforme Equacao ?? a ??. Todas asatividades valem 1 ponto bem como a sua totalizacao. Sendo este valor convertido para anota na grandeza que a universiade desejar.

2.2 Preparacao da sala para a prova

3. As avaliacoes serao realizadas em sala com computadores. Podendo haver modificacao desala para realizacao da prova, devendo o aluno ficar atendo ao moodle onde sera publicadaa nova sala para avaliacao.

4. A computador onde o aluno devera realizar a prova sera decidida pelo professor. Durante aprova o aluno podera ser modificado de computador sem previo aviso.

5. Para inıcio da prova os alunos devem portar apenas roupa pessoal, oculos (de grau, senecessario), borracha, grafite, caneta, regua. Os demais objetos devem ser deixados dentroda bolsa na frente da sala.

6. Caso o aluno esteja portando blusa, a mesma deve estar sendo usada, senao deve deixarna frente da sala. Qualquer outro objeto eletronico devera ser deixado dentro da bolsa edesligado. O aluno nao tera acesso a sua bolsa durante a realizacao da prova, caso o alarmeou outros sinais sonoros acontecam durante a prova o aluno nao podera ter acesso a seu

21

Page 22: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

objeto para manuseio. O aluno deve tambem certificar de que nao esta de posse de nenhumoutro papel, material ou objeto senao os autorizados. Acarretara o cancelamento da provade todos os alunos, mesmo que um aluno esteja portanto os objetos especificados neste item,quer seja por esquecimento ou outro motivo.

7. Como alimento durante a prova somente sera autorizado o uso de agua em recipiente trans-parente. Portanto o aluno devera efetuar um adequado desjejum antes do inıcio da prova.Que tera duracao de 200 minutos.

8. O acesso ao banheiro esta restrito a casos necessarios. Sendo a liberacao feita pelo professore nao pela vontade propria do aluno. Devendo o aluno sempre cientificar o professor de suasaıda e chegada.

9. O aluno deve ligar o computador, escolher o sistema operacional Linux. Acessar a contaprova. Verificar se o ıcone de conexao com a internet esta habilitado. Verificar o funciona-mento dos softwares necessarios que sao: octave, terminal, navegador de arquivos e editorde texto. Aguardar instrucoes de inıcio da prova. Preparar as pastas e arquivos basicos paraa resposta da prova.

2.2.1 Estrutura da prova:

10. O aluno dispoe de 1 encontro, 200 minutos, para resolucao da prova. O professor poderaliberar todas as questoes da prova ou liberar a questao (n+1) somente apos termino da n,sendo n=1,2,... . Para isto o aluno deve controlar individualmente o tempo de resolucao decada questao, bem como o tempo total.

11. Sera fornecido apenas uma folha A4 como rascunho.

12. A presenca do aluno na prova se da pela assinatura da folha de presenca.

13. A prova e todo material de apoio a prova, tal como resumos do octave, formulario de calculonumerico (sera usado o padrao adotado na disciplina de calculo numerico, portanto o alunodeve se familiarizar com o texto), resumo do linux ou outros. Serao fornecidos somente emformato digital, padrao PDF.

14. A prova consta basicamente do desenvolvimento de um programa utilizando conhecimentoteorico matematico visto ate o perıodo regular desta disciplina e listado no topico Nivela-mento Matematico, Item ??.

15. O aluno deve ficar atento aos conhecimentos listados no nivelamento matematico. O for-mulario de Calculo Numerico, padrao daquela disciplina, sera utilizado como consulta teoricabasica para o programa.

16. Caso o conhecimento teorico para o programa esteja fora do previsto na disciplina de CalculoNumerico. Sera fornecido no formulario complementar. Caso contrario apenas o formulariode Calculo Numerico sera fornecido para consulta.

17. Caso o aluno julgue que seu desenvolvimento esta correto e existe algum problema no octave,o aluno devera avisar ao professor e criar imagens em formato PNG para posterior analise.

22 Atualizado em 3 de Julho de 2013

Page 23: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

18. A perda de qualquer arquivo durante o desenvolvimento devido a erros no manuseio dosmesmos e de total responsabilidade do aluno.

19. O desenvolvimento do programa deve estar de acordo com os seguintes itens: (A) naodeve haver nenhuma mensagens de erros ou alertas do compilador ou interpretador. (B) Assaıdas para visibilidade de dados devem ser contruıdas pelo programador e nao usadas saıdaspadroes de amostragem de dados do compilador ou interpretador. (C) A funcao interfacecompreende as etapas de leitura de dados do usuario, via teclado ou arquivo, chamadaa funcao processamento e escrita das respostas, no monitor ou arquivo. (D) A funcaoprocessamento, que obtem nomes diferentes de acordo com a nome da tarefa a ser resolvida,tem como passagem de parametros apenas os dados necessarios a entrada e saıdas semiteracao com o usuario. (E) Informacoes que podem ser obtidas via funcoes de programacaodo octave, tamanho de vetores ou matrizes, nao deve ser passadas como parametro de entradaou saida. (F) O programa nao deve usar entrada de dados pelo usuario, numero ou texto,no formato matricial.

20. Caso o aluno desenvolva apenas a funcao ’interface.m’ devera eliminar a chamada a funcao’processamento.m’ deixando as variaveis de saida com valores aleatorios.

21. Em cada programa o desenvolvimento completo da funcao “interface.m” vale 0,25 e o de-senvolvimento completo da funcao “processamento.m” vale 0,75. Cabendo as observacoesanteriores.

22. O professor recolhera a prova pessoalmente de cada aluno, devendo o aluno acompanhar oprocesso. Podendo o aluno sair de sala somente apos liberacao do professor, o abandono daprova em sala caracteriza desistencia da mesma e sera arrolada testemunha para tais acoes.

2.2.2 Estrutura do trabalho

23. O trabalho corresponde a resolucao de um conjunto de tarefas, e seus exercıcios, que seraoaplicadas em sala ou via moodle, com prazo de entrega ao finalizar a etapa corrente, eavaliadas de forma individual.

24. O trabalho de cada etapa nao necessariamente e a lista de exercıcios propostos. Podendo serdiferente e nem haver trabalho naquela etapa. O aluno deve ficar atento para a publicacaodo trabalho no moodle.

25. Os exercıcios propostos para aprendizagem devem ser conferidos com outros dois colegaspara assim havendo duvida solicitar discussao do tema em sala de aula.

26. O valor de cada tarefa vale 1 e o valor total do trabalho vale 1. Somente serao pontuadastarefas entregues completas.

2.2.3 Outras disposicoes:

27. As provas ficarao com o professor, a disposicao do aluno, para revisoes de nota em data aser definida com o professor. Apos este perıodo estas atividades serao arquivadas. Exceto oexame final, que ficara na Secretaria Academica do Curso.

Atualizado em 3 de Julho de 2013 23

Page 24: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

28. O professor a todo momento podera revisar as notas lancadas, ate o fechamento do diariono final do semestre.

29. O aluno devera assinar lista de presenca em sala de aula e no atendimento a alunos noperıodo programado, como comprovacao de sua presenca naquela atividade.

30. As regras previstas no capıtulo Elaboracao de Tarefas,Capıtulo ?? serao adotadas comoreferencia para todas as tarefas: sejam elas provas, trabalhos, projetos, questoes, exercıciosetc; desenvolvidas durante o curso. Somente sendo considerados para correcao as tarefasque estiverem de acordo com estas regras.

31. A administracao da disciplina sera feita somente via moodle ou link relacionado neste. Serautilizado planilha eletronica, para calculo de notas e medias, sem interferencia subjetiva nasnotas ou casas decimais. No diario a nota 1 corresponde a nota da etapa 1, idem paranota 2. O lancamento da nota sera conforme padrao daquele sistema, uma casa decimal,arredondados conforme planilha. Na correcao das provas e trabalhos as notas valem de zeroa um, com duas casas decimais, conforme as equacoes a seguir:

NotaTrab =

∑ni=1NotaTarefai

n(2.1)

NotaProva =

∑ni=1NotaQuestaoi

n(2.2)

NotaQuestao = 0.25 ∗ Interface.m + 0.75 ∗ Processamento.m (2.3)

NotaEtapa =NotaTrab ∗ PesoTrab + NotaProva ∗ PesoProva∑

(PesoTrab + PesoProva)(2.4)

NotaF inal = NotaEtapa ∗ 10 (2.5)

32. O exame final, que envolve toda a materia, tem os mesmos procedimentos de uma etapa,sem a atividade de trabalho.

33. A solicitacao para reposicao de provas seguira os tramites da Secretaria Academica do Curso,SAC, e sera analisadas de acordo com cada caso pelo professor. Sendo marcada uma unicadata para realizacao destas atividades.

34. Todas as atividades da disciplina como aulas, trabalhos e provas, estao previamente agen-dados e sao apresentados aos alunos no primeiro dia de aula. E constam do roteiro dadisciplina.

35. A mudanca de qualquer compromisso requer concordancia unanime dos alunos, disponibi-lidade de sala e disponibilidade do professor. O pedido de alteracao de deve ser feito porescrito e em tempo habil para estas mudancas.

36. As provas podem ser alteradas apenas uma vez da data da inicialmente prevista no inıciodo curso.

37. As notas serao divulgadas via moodle, logo apos a realizacao das correcoes que poderaocorrer mesmo depois da realizacao da prova seguinte. Sendo que as provas que estiveremcom dificuldade de interpretacao serao corrigidas por ultimo. O aluno nao deve presumirque deve ter acesso a nota anterior para realizacao de uma prova seguinte na agenda deavaliacoes.

24 Atualizado em 3 de Julho de 2013

Page 25: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

Quaisquer outros procedimentos nao previstos neste texto serao resolvidos pelo professor eatualizados.

Atualizado em 3 de Julho de 2013 25

Page 26: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Capıtulo 3

Elaboracao das Tarefas

3.1 Introducao

Uma disciplina e composta basicamente da ministracao/apresentacao de conteudo teorico e de-senvolvimento de atividades para fixacao e ampliacao destes conteudos.

O Moodle referencia qualquer atividade da disciplina (exercıcios, trabalhos, provas) comotarefa, o que sera seguido nestas orientacoes.

Utilizaremos o software OCTAVE como base de todo nosso desenvolvimento de programacao,podendo tambem utilizar outras linguagens, desde que previamente acordado com o professor.

Considere que foi proposto o desenvolvimento de uma programa que envolve a teoria de Ajustede Modelos, o conhecimento teorico e fundamental para seu sucesso, ao aluno de nome FulanoFerreira da Silva, cujo nome usado na disciplina e Fulano.

A referencia a tarefa e apresentada da seguinte forma:

3.1.1 Programas Propostos

1. Nome: ajustemodelo. Considere os valores da Tabela ?? de um experimento onde y=f(x).

Tabela 3.1: Experimentox y

1.3 23.4 5.25.1 3.86.8 6.18 5.8

Teoria:

Veja formulario de Calculo Numerico.

Pede-se:

Desenvolva um programa que determine um modelo polinomial de 1 grau, para os pontosdados. E calcule o coeficiente ajustamento do modelo obtido.

26

Page 27: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

3.1.2 Relacao de arquivos basicos no programa

A resolucao do programa devera ser composta dos seguintes arquivos do tipo texto puro. Aestrutura de pastas padrao das disciplinas e:

1 /home/suaconta/uft/

2 |-- infoeng

3 |- docs

4 ‘-- tarefas

5 |-- ie_fulano_ajustemodelo

6 | ‘-- [arquivos do OCTAVE]

7 ‘-- ie_fulano_ajustemodelo.zip

Na Tabela ?? e apresentado cada arquivo utilizado no programa bem como um resumo de seuconteudo e finalidade.

Nao use acento ou espaco em nome de arquivos ou pastas.

Tabela 3.2: Arquivos padroes em cada softwareSoftware Arquivo Descricao

OCTAVE

interface.m Arquivo de texto puro que contem a interface com o usuario parauso da funcao processamento.

ajustemodelo.m Arquivo de texto puro que contem a funcao processamento pura desolucao do problema. Esta funcao nao deve de forma alguma lerdados do teclado ou emitir mensagens em vıdeo.

entrada.txt Arquivo de texto puro que armazena a entrada de dados. Existeum formato padronizado na disciplina.

saida.txt Arquivo de texto puro que armazena a saıda de dados. Existe umformato padronizado na disciplina.

3.1.3 Resolucao do Programa Exemplo

As tarefas destinadas com desenvolvimento de programas devem ser elaboradas utilizando edi-tor de texto simples (gedit), o sistema operacional Linux (ubuntu) e linguagem de programacao(OCTAVE).

Podem ser utilizadas tambem outras linguagens de programacao (exemplo: Java, C, C++,Python) desde que o programa atenda as solicitacoes da tarefa. Para uso de outras linguagens oaluno deve informar oficialmente ao professor e definir os detalhes desta abordagem.

Sua tarefa esta pronta para ser enviada via moodle ou recolhida durante a prova.Quaisquer outras orientacoes neste item serao atualizadas e informadas aos alunos.A seguir apresento um programa para atender ao solicitado no exemploArquivo contendo a interface do programa, Arquivo ??

Arquivo 3.1: ie fulano ajustemodelo/interface.m

1 #D i s c i p l i n a : Inform a t i c a das Engenharias2 #Tarefa : Prova013 #Autor : Prof . Dr . Catalunha

Atualizado em 3 de Julho de 2013 27

Page 28: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

4 #Programa : Ajuste de Modelo56 function i n t e r f a c e ( )78 #I n t e r f a c e de entrada9 printf ( ” S e l e c i o n e :\n” ) ;

10 printf ( ”1 = entrada v ia arquivo \n” ) ;11 printf ( ”2 = entrada v ia conso l e \n” ) ;12 iopcao = input ( ”=> ” ) ;13 switch ( iopcao )14 case 115 #i n t e r f a c e de entrada de parametros16 [ vx , vy ] = leArqEntrada ( ” entrada . txt ” ) ;17 case 218 #i n t e r f a c e de entrada de parametros19 n=input ( ’ Informe o numero de pontos a p ro c e s s a r : ’ ) ;20 for i =1:n21 printf ( ’ Informe os v a l o r e s para x[#d]= ’ , i ) ;22 vx ( i )=input ( ’ ’ ) ;23 end24 for i =1:n25 printf ( ’ Informe os v a l o r e s para y[#d]= ’ , i ) ;26 vy ( i )=input ( ’ ’ ) ;27 endfor28 otherwise29 printf ( ”Opc ao i n e x i s t e n t e .\n” ) ;30 return ;31 endswitch32 #parametros de entrada33 #x34 #y3536 #processamento37 [ ea , eb ]= ajustemodelo ( vx , vy ) ;3839 #saida padrao dos r e t o r n o s40 #a41 #b4243 #I n t e r f a c e de sa ida44 printf ( ” S e l e c i o n e :\n” ) ;45 printf ( ”1 = sa ida v ia arquivo \n” ) ;46 printf ( ”2 = sa ida v ia conso l e \n” ) ;47 iopcao = input ( ”=> ” ) ;48 switch ( iopcao )49 case 1

28 Atualizado em 3 de Julho de 2013

Page 29: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

50 GravaArqSaida ( ” sa ida . txt ” , vx , vy , ea , eb ) ;51 case 252 #saida formatada53 printf ( ’ y=#6.2 f + #6.2 fx \n ’ , ea , eb )54 otherwise55 printf ( ”Opc ao i n e x i s t e n t e .\n” ) ;56 return ;57 endswitch58 end596061 function GravaArqSaida ( sarquivo , vx , vy , ea , eb )62 aarq=fopen ( sarquivo , ”w” ) ;63 fpr intf ( aarq , ”#Resultado da ana l i s e \n” ) ;64 fpr intf ( aarq , ”x\n” ) ;65 fpr intf ( aarq , ”#.4 f \n” , vx ) ;66 fpr intf ( aarq , ” fim\n” ) ;67 fpr intf ( aarq , ”y\n” ) ;68 fpr intf ( aarq , ”#.4 f \n” , vy ) ;69 fpr intf ( aarq , ” fim\n” ) ;70 fpr intf ( aarq , ”a\n” ) ;71 fpr intf ( aarq , ”#0.4 f \n” , ea ) ;72 fpr intf ( aarq , ”b\n” ) ;73 fpr intf ( aarq , ”#0.4 f \n” , eb ) ;74 fc lose ( aarq ) ;75 endfunction7677 function [ vX,vY ] = LeArqEntrada ( aarquivo )78 arq = fopen ( aarquivo , ” r ” ) ;79 while ( ! feof ( arq ) )80 s l i n h a=fget l ( arq ) ;81 switch ( s l i n h a )82 case ”x”83 l i n =1;84 while ( ! strcmp ( l i nha=fget l ( aArq ) , ” fim ” ) )85 vTemp( l i n++)=str2num( l i nha ) ;86 end87 vX=vTemp ;88 case ”y”89 l i n =1;90 while ( ! strcmp ( l i nha=fget l ( aArq ) , ” fim ” ) )91 vTemp( l i n++)=str2num( l i nha ) ;92 end93 vY=vTemp ;94 otherwise95 endswitch

Atualizado em 3 de Julho de 2013 29

Page 30: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

96 endwhile97 fc lose ( arq ) ;98 endfunction

Arquivo contendo o processamento do programa, Arquivo ??

Arquivo 3.2: ie fulano ajustemodelo/ajustemodelo.m

1 #D i s c i p l i n a : Inform a t i c a das Engenharias2 #Tarefa : Prova013 #Autor : Prof . Dr . Catalunha4 #Programa : Ajuste de Modelo56 function [ ea , eb ]= ajustemodelo ( vx , vy )7 #Construindo a matr iz de v a l o r e s de X8 vX(1 , 1 ) = length ( vx ) ;9 vX(2 , 1 ) = sum( vx ) ;

10 vX(1 , 2 ) = vX(2 , 1 ) ;11 vX(2 , 2 ) = sum( vx . ˆ 2 ) ;1213 #Construindo a matr iz de v a l o r e s de Y14 vY(1 , 1 )=sum( vy ) ;15 vY(2 , 1 )=sum( vy .∗ vx ) ;1617 #Resolvendo o s i s tema l i n e a r de equa c o es18 vC=vXˆ−1∗vY;1920 #Iso lando os c o e f i c i e n t e s21 ea=vC(1 , 1 ) ;22 eb=vC(2 , 1 ) ;23 endfunction

Uma das opcoes para executar este programa e o arquivo de entrada de dados, Arquivo ??

1 #Dados iniciais para an alise

2 x

3 1.3

4 3.4

5 5.1

6 6.8

7 8.0

8 fim

9 y

10 2.0

11 5.2

12 3.8

13 6.1

14 5.8

15 fim

30 Atualizado em 3 de Julho de 2013

Page 31: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Prof. Dr. Catalunha - Roteiro Calculo Numerico

O resultado pode ser visto no arquivo de saida, Arquivo ??

1 #Resultado da an alise

2 x

3 1.3000

4 3.4000

5 5.1000

6 6.8000

7 8.0000

8 fim

9 y

10 2.0000

11 5.2000

12 3.8000

13 6.1000

14 5.8000

15 fim

16 a

17 2.0097

18 b

19 0.5224

3.2 Formularios

Atualizado em 3 de Julho de 2013 31

Page 32: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Capıtulo 4

Formularios e Softwares

O uso do formulario do Octave, Linux, Calculo Numerico e de Informatica e de extrema im-portancia em todas as atividades, inclusive nas provas, entao estude pelo livro mas resolva osexercıcios usando apenas os formularios.

Os formularios sao apresentados em anexo.Segue tambem um roteiro simples de como instalar o linux em algumas condicoes.

32

Page 33: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

OCTAVEEste material é um auxílio de consulta rápida, o conhecimento aqui

apresentado deve ser fundamentado pelas atividades de aula e principalmente pelas bibliografias fornecidas. Cada disciplina demanda parte do

conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.

1) Introdução 1.1) Para acessar o octave via terminal linux digite:$ octave

1.2) Acessando ajuda de qualquer função.> help sum

1.3) Verifique se os pacotes: odepkg, statistics, symbolic. Estão instalados:> pkg list

Caso negativo acesse “adm_Orientacoes.pdf” e proceda a instalação.

1.4) Ativando o diário de atividades, recarregando variáveis, se necessário.> diary diario > diary on> load variaveis

Ou listar as variáveis usadas no momento> whos

Apague as variáveis desnecessárias> clear ea vb mc

1.5) Salve as variáveis ao finalizar uma tarefa. se necessário.> save variaveis

1.6) Desative o diário e feche o programa. se necessário.> diary off> quit

2) Nomes de variáveis 2.1) Adotamos uma letra minúscula como prefixo do nome da variável para indicar seu tipo.ttexto = 'Texto Livre' # para texto ou função em análise simbólicaenumero = 1.123 # um escalar inteiro ou decimal.vvetor = [1,2,3,4,5,6] # para vetor linha (1xN).mmatriz = [1.1,2.2;3.3,4.4;5.5,6.6] # para matriz (NxN).blogico =true # variável boleana ou seja sim (true) ou não (false)

3) Modelos e Operações matemáticas 3.1) Escrevendo modelo matemático como funções em linha. f=@(<arg1>,...,<argN>) <expressão>> f=@(x) 2*x; > f(2) ans = 4

3.2) Escrevendo modelo matemático como texto e calcula valor> tf='1+2*x';> x=2;> eval(tf)ans = 5

3.3) Operações básicas. “+” Soma; “-” Subtração; “*” Multiplicação; “/” Divisão; “^” ou “**” Potenciação; “.” Aplica a operação termo a termo na matriz, exemplo A.*B; “ ' ” transpõe a matriz. '++' incrementa a variável; '- -' decrementa a variável.

3.4) Operações matemáticas. sin(x); cos(x); tan(x); asin(x); acos(x); atan(x); exp(x); logaritmo na base e: log(x); logaritmo na base 10: log10(x); valor absoluto: abs(x); menor numero inteiro (não menor que o passado como parâmetro): ceil(x); maior numero inteiro (nao maior do que o passado como parâmetro): floor(x); arredenda corretamente: round(x); resto da divisão: rem(x,y); raiz quadrada: sqrt(x); pi valor de pi=3,14.... Use NA para valores em falta e NaN para valores não é numero.

4) Operadores de comparação < # menor que. Ex: 1 < 2> # maior que<= # menor ou igual a>= // maior ou igual a== // operador lógico igual

~= // operador log. diferente~ // negação do teste&& // operador lógico e|| //operador lógico ou

Teste 1 Teste 2 && || ==

true true true true true

true false false true false

false true false true false

false false false false true

5) Manipulação matricial e vetorial 5.1) Criar vetor.> va=1:1:10a = 1 2 3 4 5 6 7 8 9 10> va=[12.4,4.5,9.6,3.0]va = 12.4000 4.5000 9.6000 3.0000> vb=linspace(1,10,5) vb = 1.0 3.25 5.50 7.75 10.00

5.2) Criar matriz> ma=[1,2,3;4,5,6;7,8,9;10,11,12]ma = 1 2 3 4 5 6 7 8 9 10 11 12 5.3) Criar matrizes aleatoria> rand(2,2) # matriz aleatorioans = 0.21680 0.97528 0.57017 0.97381

5.4) Acessar ou alterar elemento da matriz. Referência subscripts ou indice linear.> ma(2,:) ans = 4 5 6> ma(:,2) ans = 2 5 8 11> mmatriz(2,2) # acesso por subscriptsans = 4.4> mmatriz(3) # acesso por indice linearans = 5.5> sub2ind([3,2],2,2)ans = 5> [i,j]=ind2sub([3,2],3)i = 3j = 1

5.5) Obter tamanho e tipo de dado da matriz e vetor> lin = size(mmatriz,1) #obtem 1 dimensão num de linhaslin = 3> tam = length(vvetor) #obtem tamanho do vetorcol = 6> isempty(mmatriz) #analise se matriz esta vaziaans = 0>isfinite ([13, Inf, NA, NaN]) # se tem valores validosans = [ 1, 0, 0, 0 ]

5.6) Retira parte da matriz. A(inicioL:fimL,inicioC:fimC). Use “end” para acessar a ultima linha ou coluna. Use “:” para acessar a toda a linha ou coluna.> B=ma(2:end,1:2) B = 4 5 7 8 10 11

5.7) Construção e acesso a matriz de textos. Numero de caracteres corresponde as número de colunas. A matriz de texto é 'mt' e próxima letra é minúscula.> mtNomes=['joao';'maria']vtNomes =joaomaria> mtNomes(2,:)maria

5.8) Comando de estatistica. Se arg for matriz retorna a funcao para cada coluna.[vlr pos]=min(arg) # retorna o min valor e sua posicao[vlr pos]=max(arg) # retorna o max valor e sua posicaosum(arg) # retorna a soma dos elementosprod(arg) # retorna o produto dos elementos

5.9) Comando de pesquisa.find(arg == 3) # localiza valor igual a 3 em arg

x = randn(2,3) xind = (x >= 1)|(x < -0.2) xc = x(xind)

exemplo de matrizCria indice na condição.Seleciona valores bons.

> finite([-1,0,1,inf,NaN,NA])ans = [1 1 1 0 0 0]

# retorna ind. de valores validos

Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs Página 1 de 4

Page 34: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

6) Estrutura de repetição e controle 6.1) Estrutura de controle ifif condicao01 #caso verdadeiro01elseif condicao02 #caso verdadeiro02else #caso falsoendif

6.2) Estrutura de controle Switch.switch (inteiro) case 1 # codigo case {2,3} # codigo otherwise # codigoendswitchouswitch (texto) case 'bananeira' # codigo case {'palmeira','figueira'} # codigo otherwise # codigoendswitch

6.3) Estrutura de repetição for# for i=inicio:fimfor i=1:10 # executa codigo i vezesendfor

6.4) Estrutura de repetição whilewhile condicao # executa codigo enquanto condicao for verdadeiraendwhile

6.5) Estrutura de repetição do-untildo # executa codigo até que condicao seja verdadeirauntil condicao

6.6) Encerra o programa neste ponto.return;

Outros códigos e observações: 6.7) Lê valor do teclado. Não importa o tipo. Se usar 's' ele não interpreta a entrada.> enumero=input('Informe o valor: ');Informe o valor: 1.1> tequacao=input('Informe a equacao:','s');Informe a equacao: 1+2*x

6.8) Imprime texto e valor de variavel. %s=imprimir texto; %cd imprimir inteiro; %c.pf imprimir decimal, em que c=numero de casas, p=precisão decimal.> printf('ver %s %4d %5.2f\n', ttexto, einteiro, edecimal);ver Texto Livre 1 1.23

6.9) Manipulando strings. Os demais comandos strcat, strfind, strsplit, strtrim devem ser estudados.> str2num('1.23'); # string para númerosans = 1.2300 > strcmp('a','a'); # comparando duas stringsans = 1

6.10) Estrutura do arquivo padrão de entrada. Considere um parametro de entrada edecimal=1.1'. Um vetor vdecimal=[1.1;2.2]. Uma matriz mdecimal=[1.1,2.2;3.3,4.4]. Após vetor ou matriz escreva 'fim'. Use # para comentário deste arquivo.

/ie_catalunha_basico/entrada

#Autor: Prof. Dr. Catalunha#Tarefa: Basicoenumero1.1vvetor1.12.2fimmmatriz1.1 2.2 3.3 4.4 fim

6.11) Gravar dados em um arquivo de texto.function gravaarqsaida(tarquivo,ttexto,einteiro,edecimal,vvetor,

mmatriz) aarq=fopen(tarquivo,'w'); fprintf(aarq,'ttexto\n'); fprintf(aarq,'%s\n',ttexto); fprintf(aarq,'einteiro\n'); fprintf(aarq,'%d\n',einteiro); fprintf(aarq,'edecimal\n'); fprintf(aarq,'%5.2f\n',edecimal); fprintf(aarq,'vvetor\n'); fprintf(aarq,'%.4f\n',vvetor); fprintf(aarq,'fim\n'); fprintf(aarq,'mmatriz\n'); for i=1:size(mmatriz,1) fprintf(aarq,'%.4f ',mmatriz(i,:)); fprintf(aarq,'\n'); endfor fprintf(aarq,'fim\n'); fclose(aarq);endfunction

6.12) Le dados em um arquivo de texto.function [ttexto,enumero,vvetor,mmatriz,mtTexto]=learqentrada(tarquivo) arqhd = fopen (tarquivo, 'r'); while(!feof(arqhd)) linha=fgetl(arqhd); switch (linha) case 'ttexto' ttexto=fgetl(arqhd); case 'enumero' linha=fgetl(arqhd); enumero=str2num(linha); case 'vvetor' # Para vetor linha (1xN) pos=1; while(!strcmp(linha=fgetl(arqhd),'fim')) vvetor(pos++)=str2num(linha); endwhile case 'mmatriz' # le vetor coluna (Nx1) ou matriz lin=1; while(!strcmp(linha=fgetl(arqhd),'fim')) mmatriz(lin++,:)=str2num(linha); endwhile case 'mtTexto' mtTexto=''; while(!strcmp(linha=fgetl(arqhd),'fim')) mtTexto=[mtTexto;linha] end endswitch endwhile fclose(arqhd);endfunction

7) Estrutura básica para programação Para programação no octave, usa-se toda a capacidade de processamento disponível no octave. Use #... para comentário simples e #{ … #} para comentário bloco.

7.1) Arquivo que contém a interface com o usuário.

~/ie_catalunha_tarefa/interface.m

# Autor: Nome do autorfunction interface() # interface para coleta de parâmetros de entrada # chamada a função da tarefa # interface para mostra de parâmetros de saídaendfunction # subfunção para leitura de parâmetros em arquivo # subfunção para gravar parâmetros em arquivo

7.2) Arquivo que contém a solução pura do problema proposto na tarefa.

~/ie_catalunha_tarefa/tarefa.m

# Autor: Nome do autorfunction[saida01,...,saidaN]=tarefa(entrada01,...,entradaN) # código para obtenção da solução da tarefaendfunction # subfunção se for necessário

7.3) Estrutura básica de arquivos e pastas de um programaie_catalunha_tarefa|-- interface.m|-- tarefa.m|-- entrada|-- saida|-- diario`-- variaveis

Obs.: o arquivo sublinhado será criado automaticamente pelo programa.

Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs Página 2 de 4

Page 35: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

8) Gerar Grafico 8.1) De Pontos. Considere os dados vx, vy, vxt, vyt. plot(vx,vy,formato,vxt,vyt,formato). Em que formato='<estiloDoPonto><corDoPonto>;<legenda>;' . Sendo: estiloDoPonto=-,+,*,o,x,^. corDoPonto=k(preto), w(branco), r(vermelho), g(verde), b(azul), m(magenta), c(ciano). legenda=texto.> plot(vx,vy,'*r;orig;',vxt,vyt,'+b;transf;')> grid on > title('Titulo do Grafico') > xlabel('Nome do EixoX') > ylabel('Nome do EixoY') > axis([0,10,0,50])> print('nomeArquivo.png','-dpng')

8.2) Gerar gráfico dentro de programa, inicialmente precisamos esconder a janela do plot, para isto use a linha a seguir:janelaPlot=figure('Visible','off');posteriormente incluia as informações necessárias conforme item 8.1

9) Integração 9.1) Integral simples.> f=@(x) 1/x;> quad(f,3.0,3.6) ans = 0.18232

9.2) Integral dupla> g=@(x,y) x.**2+2*y; > dblquad(g,0,1,0,2) ans = 4.6667

10) Manipulações polinomiais 10.1) Ajuste polinomial. polyfit(vx,vy,n) em que n é o grau do polinómio. A saída é cn … c0.> vx=[0.0,1.0]> vy=[1.0,3.0]> vc = polyfit(vx,vy,1)vc = 2.0000 1.0000 # P1= 2*x + 1

10.2) Avalia um polinômio. polyval(vc,x) aplicar um valor x qualquer no polinómio obtido com base nos coeficientes de vc.> polyval(vc,3) # é o mesmo que P1(3)= 2*x + 1ans = 7

10.3) Calcula raizes de um polinômio. vc é o vetor de coeficientes.> roots(vc) # é o mesmo que 0 = 2*x + 1ans = -0.5

11) Regressão Linear Múltipla 11.1) Ajuste um modelo y i=β0+β1 x 1i+ , , ,+β p x pi ;em que: p é o número de variáveis explicativas; i é o número de dados. Sendo a matriz solução organizada na forma.

[y1

y2

...yn

] e [1 x 11 x21 ... x p11 x 12 x22 ... x p2... ... ... ... ...1 x1n x2n ... x pn

] resultando [β0

β1

...β p

]> regress(my,mx)ans = 1 2 # P1= 1 + 2*x

12) Raiz de função 12.1) Encontrar raiz de uma função> f=@(x) x**3-3*x+1; > fzero(f,2) ans = 1.5321

13) Resolver EDO

13.1) Resolver equação diferencial. Veja Cap 6 Barroso, Exemplo: y'=x-y+2 e y(0)=2 e malha [0,1] com 10 subintervalos. No modelo padrão octave y=é a variável x x= é a variável t, ficando:> function xest=f(x,t) xest=t-x+2; endfunction> x0=2> t0=linspace(0,1,10);> [xcal,m1,m2]=lsode('f',x0,t0)xcal =

2.0000 2.0060 2.0230 2.0499

2.0856 2.1293 2.1801 2.2372 2.3000 2.3679

m1 = 2 m2 = successful exit> plot(t,xcal)

14) Matemática Simbólica 14.1) Iniciar pacote de análise matemática simbólica> symbols;

14.2) Declarar variável simbólica> x=sym('x');> y=sym('y');

14.3) Declarar modelo matemático. Pode ser lido direto com input.> sf = 1+2*x;> sg = x+y;

14.4) Substituir valor de variável num modelo matemático, transformando-o para decimal.> ey = subs(sf,x,1)eY = 3.0> ez = subs(sg,{x,y},{2,2})ez = 4.0

14.5) Operações matemáticas para construção de modelo matemático em ambiente simbólico. Cos(x); Cosh(x); Exp(x); Log(x); Sin(x); Sinh(x); Tan(x); Tanh(x); aCos(x); Acosh(x); aSin(x); aSinh(x); aTan(x); aTanh(x); Sqrt(x);

14.6) Calculo de derivada de uma função.> sd1f = differentiate(sf,x,1)sd1f = 2.0

14.7) Plotar modelo simbólico. As demais configurações seguem o exemplo do gráfico de pontos.> splot(sf,x,0:10)

14.8) Transformando tipo simbólicos em decimais.> ey = to_double(subs(sf,x,1)ey = 3

14.9) Avaliando modelo informado como texto> tf='1+Log(x)'> ey = to_double(subs(eval(tf),x,2))ey = 1.6931

15) Outros comandos utilizados 15.1) Diferença entre valores. x1-x0, x2-x1,...octave:9> a=[1,2,3] a = 1 2 3 octave:10> diff(a) ans = 1 1

16) Processamento Via terminal e Script Shell 16.1) Considere o seguinte programa

/ie_catalunha_tarefa/interface.m

function interface() a=input('Informe o valor de a: ') [b]=tarefa(a) printf('Tarefa %f',b)endfunction

/ie_catalunha_tarefa/tarefa.m

function[b]=tarefa(a) b=2*a;endfunction

16.2) Processando programa via terminal.$ octave --eval interface -q -fInforme o valor de a: 3 Tarefa 6.000000

16.3) Processando o gráfico a partir de um script shell, considere o script

/cn_catalunha_tarefa/exercicio1/tarefa.sh

#!/bin/bash

octave --eval interface -q -f

16.4) Mudando a permissão do script para execução, caso necessário$ chmod 777 grafico4.sh

Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs Página 3 de 4

Page 36: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

16.5) Processando o script shell$ ./tarefa.shInforme o valor de a: 3 Tarefa 6.000000

Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs Página 4 de 4

Page 37: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

LinuxEste material é um auxílio de consulta rápida, o conhecimento aqui

apresentado deve ser fundamentado pelas atividades de aula e principalmente pelas bibliografias fornecidas. Cada disciplina demanda parte do

conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.

1) Terminal 1.1) Comando básicos no terminal Linux. Maiores informações podem se obtidas em “man [comando]”.

COMANDO BÁSICO DESCRIÇÃO RESUMIDA

cd pasta/ vai ao caminho especificado.

cd .. acessa pasta anterior

ls lista resumida dos arquivos

ls -la lista todos os arquivos com todas as informações

pwd lista o caminho atual

clear limpa o terminal

eog arq.png aplicativo para abrir arquivo de imagem png

mv arq1 arq2 renomear arquivos

cp -fr arq1 pasta/ copiar arquivo para outra pasta

rm -fr arq pasta/ remove arquivo ou pasta completo

vim arq editar arquivo

mkdir pasta criar pasta

find . -name '*nome*' procura por pasta ou arquivo abaixo da pasta atual

grep -rin 'texto' ./* Procura texto dentro de arquivos abaixo da pasta atual

1.2) Simbolos usados no terminal. Geralmente vemos esta linhaNomeDaConta@NomeDoComputador:~$

@ : separa nome da conta e nome do computador.~ : indica pasta do usuário atual, geralmente: /home/NomeDaConta$ : indica que o usuário atual não é administrador do sistema.

1.3) Na ilustraçãoA = Comando básico conforme item 1.1B = Acessar pasta da tarefa via terminal, ou pode ser via gerenciador de arquivos, Nautilus.C = Use o terminal apenas para acesso aos programas gnuplot, octave, maxima e rD = Abra cada um dos programas em uma aba separada.

2) Gerenciador de Arquivos – Nautilus 2.1) Um dos Gerenciadores de Arquivos do linux é o Nautilus. Quando selecionamos uma pasta, arquivo ou área vazia, sempre na janela a direita, podemos via menu suspenso (Botão direito do mouse) encontrar diversos comandos para manipulação, confira.

2.2) Na ilustraçãoA = Selecione a opção sempre de visualizar arquivos em árvore ou “tree”B = Crie as pastas via menu suspenso (Botão direito do mouse)C = Crie as arquivos via menu suspenso (Botão direito do mouse)D = Acesso ao terminal direto na pasta da tarefa via menu suspenso (Botão direito do mouse)

3) Editor de Textos - gedit 3.1) Na ilustração:

A = Os arquivos devem ser criados via gerenciador de arquivos, Nautilus. E abertos com clique duplo ou via menu suspenso (Botão direito do mouse) abrir com gedit. Não crie novo arquivo ou abra arquivo via gedit. Isto agiliza seu trabalho.B = Abra todos os arquivos de texto necessários a tarefa, neste editor.C = Ative a numeração das linhas via menu do gedit (Edit > Preferences > View > Line Number).D = Selecione as linhas com o mouse ou com a tecla [CTRL]+[Setas de Direção] e use a tecla [TAB] para tabular para direita e [SHIT]+[TAB] para tabular a esquerdaE = Verifique se o identificador de sintaxe esta correto, isto ajuda na visualização colorida do texto.F = A tabulação deve estar sempre em 2. Via menu do gedit (Edit > Preferences > View > Editor) selecione a opção substituir tabulação por espaço e endentação automática.

Resumo Linux. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs Página 1 de 2

Page 38: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

4) ssh +++++++++++++++++++++++++++++++++++++++++ #Acessar servidor local$ ssh [email protected]?fornecer senha? ----------------------------

5) scp +++++++++++++++++++++++ # copiar arquivo unico local$ scp tabela.sql [email protected]:/home/catalunha/ ?fornecer senha? ---------------

6) lftp #Acessar servidor de paginas local$ lftp lftp :~> open -u engambiental cajui.uft.edu.br lftp [email protected]:/>

# acesso a pastas e listagem lftp [email protected]:/> ls lftp [email protected]:/> cd pasta lftp [email protected]:/pasta> cd ..

# remover arquivos lftp [email protected]:/> mrm -rf * # remover arquivos lftp [email protected]:/> mrm -rf nomearq.txt # remover pastas lftp [email protected]:/> mrm -rf pasta # copia arquivo unico do local para pasta do servidor lftp [email protected]:/> mput /var/www/ea/cea/acao06/inedex.php -O /cea/acao06/ # copia pastas e subpastas do local para pasta atual do servidor lftp [email protected]:/> mirror -R /var/www/ea/cea .

7) rsync 7.1) Comando padrãorsync [opções] origem destino

7.2) Sincronizando diretórios locais$ rsync -Cravzp --del /home/fabio/artigos/ /var/backups/artigos/

7.3) Sincronizando arquivos locais para um servidor remoto. $ rsync -Cravzp --del /home/fabio/artigos/ [email protected]:/var/backups/artigos/

7.4) Sincronizando arquivos do servidor para sua máquina localrsync -Cravzp --del [email protected]:/var/backups/artigos/ /home/fabio/artigos/

8) cron O crontab tem o seguinte formato:

[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]

O preenchimento de cada campo é feito da seguinte maneira:•Minutos: informe números de 0 a 59;•Horas: informe números de 0 a 23;•Dias do mês: informe números de 1 a 31;•Mês: informe números de 1 a 12;•Dias da semana: informe números de 0 a 7;•Usuário: é o usuário que vai executar o comando (não é necessário especificá-lo se o arquivo do próprio usuário for usado);•Comando: a tarefa que deve ser executada.• '*' informa que é a qualquer valor do campo

Criar pasta para script$ mkdir /home/usuario/script-cronAcessando a pasta criada$ cd /home/usuario/script-cronCriar script

$ vim fazqqcoisa.shPermitir execução$ chmod +x fazqqcoisa.shAdicionar script a tabela do cron do usuario atual$ crontab -e/* edita arquivo do crontab de acordo com as conf ig de tempo do cron para execução do script, exemplo para executar a todo minuto: */* * * * * catalunha sh /home/usuario/script-cron/fazqqcoisa.shVer tabela do croncrontab -l

9) Script Shell Exemplo de arquivo:$ vim rsync-php.sh#!/bin/bash

echo "== FINALIZADO =="echo -e "senha\n" | sudo -S rsync -Cravzp --del /var/www/ea /home/catalunha/Dropbox/web/echo "== FINALIZADO =="

Habilitar arquivo para execução$ chmod +x rsync-php.sh

Executa script$ ./rsync-php.sh

Resumo Linux. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs Página 2 de 2

Page 39: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

CÁLCULO NUMÉRICO1) Erros

e x=∣x−x∣ , E x=ex

∣x∣

2) Sistemas Lineares:

a11 x1a12 x2...a1n x n=b1

a21 x1a22 x2...a2n xn=b2

...an1 x1an2 x2...ann xn=bn

(1) ou ∑j=1

n

a ij x j=bi ou

Ax=b (2) com i=j=1,2,...,n; i=linha; j=coluna

2.1) Métodos diretos:

Etapa k ; pivô: a ip

jp

k ; multiplicador: i≠i p ; mik=−

aij p

k

a i p j p

k;

linha: Lik1

=Lik

Lip

k∗mi

k

Para Gauss: pivô é a i p j p onde i p= j p transformando a Li onde

ii p e Li p fica inalterada.

Para Pivotação Completa: pivô é a i p j p onde máx∣aij≠0∣

transformando a Li onde i≠i p e Li p fica inalterada.

Para Jordam: pivô é a i p j p onde i p= j p transformando a Li

onde i≠i p

2.2) Métodos iterativos: É condição suficiente para que a iteração de ambos os métodos

convirja se ∣a ii∣> ∑j=1, j≠i

n

∣aij∣ para i=1,2,...,n.

Para ambos os métodos, considere o sistema linear (1). Explicitando

x1 na 1ª equação, x2 na 2ª, …., tem-se:Para Jacobi:

x1(k + 1)

=b1−(a12 x2

(k )+ ...+ a1n xn

(k))

a11

x2(k+ 1)

=b2−(a21 x1

(k )+ ...+ a2n x n

(k ))

a22

...

xn(k+ 1)

=bn−(an1 x1

(k)+ an2 x2

(k )+ ...+ an ,n−1 xn−1

( k))

ann

Para Gauss-Seidel:

x1(k+ 1)

=b1−(a12 x2

(k )+ ...+ a1n xn

(k))

a11

x 2(k+ 1)

=b2−(a21 x1

(k+ 1)+ ...+ a2n xn

(k))

a22

...

xn(k+ 1)

=bn−(an1 x1

(k+ 1)+ an2 x2(k+ 1)+ ...+ an , n−1 xn−1

(k+ 1))

ann

Para ambos os métodos, os valores iniciais são xn

(0)

qualquer. E o

critério de parada é até k> Iterações ou

máx1≤i≤n∣x ik + 1

−x ik∣≤Erro

3) Ajuste de curvas y=c0c1 x1c2 x2...c p x p

[n ∑ x1i ∑ x2i ... ∑ xpi

∑ x1i ∑ x1i x1i ∑ x1i x2i ... ∑ x1i x pi

∑ x2i ∑ x2i x1i ∑ x2i x2i ... ∑ x2i x pi

... ... ... ... ...

∑ x pi ∑ x pi x1i ∑ x pi x2i ... ∑ x pi x pi

]∗[c0

c1

c2

...c p

]=[∑ yi

∑ x1i yi

∑ x2i yi

...

∑ x pi y i

]R2

=1−∑ y i− y i

2

∑ yi2−

∑ y i2

n

4) Interpolação

4.1) Interpolação Lagrangeana

Pn x =∑i=0

n

y i∏j=0j≠i

n x− x j

x i−x j 4.2) Formula de Newton para Diferença Dividida

1 y i=

y i1− y i

x i1−x i

n y i=

n−1 y i1−n−1 y i

x in−x i

Pnx = yo∑i=1

n

i y o∏j=0

i−1

x−x j

5) Zeros de funções

5.1) Briot-Ruffini

P c =an xnan−1 xn−1...a1 xa0

bn=an

bn−1=cbnan−1

bn−2=cbn−1an−2

b0=cb1a0

an an−1 an−2... a1 a0

c cbn cbn−1... cb2 cb1

bn bn−1 bn−2... b1 b0=r

5.2) Limite das raízes

Teorema de lagrange: Sejam an0 , a0≠0 ,

k 0≤k≤n−1 o maior índice dos coeficientes negativos do

polinômio P x . B é máximo dos módulos dos coeficientes negativos do polinômio. Tem-se:

Li=1n−k Ban

P x ⇒ RS≤L

Formulário de Cálculo Numérico. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:16 hs Folha 1 de 2

Page 40: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

P1x =xn P 1x⇒ RI≥

1L1

P2x =P −x ⇒R−I≥−L2

P3x =xn P −1x⇒R−S≤−

1L3

Resumindo 1L1

≤R+≤L ou −L2≤R-

≤−1L3

5.3) Método da bisseção

f x contínua no intervalo [a ,b] e f (a)∗ f (b)< 0 .

Faz-se x=ab

2. Se f a ∗ f x 0 então intervalo será

[a ,b= x ] . Senão, se f (x )∗ f (b)< 0 intervalo será

[a= x ,b ] . Parada ∣b−a∣≤erro ou

iterações≥ln( b−a

erro )ln 2

−1

5.4) Método Pégaso ou Secante

f x contínua em [a , b] e f (a)∗ f (b)< 0 . Faz-se

x=b−f bb−a

f b− f a . Se f x ∗ f b0 então faz a=b e

f a = f b . Senão, se f x ∗ f b0 então faz a=a e

f a =f a f b

f b f x . Em ambos os casos faz b=x e

f b= f x na próxima iteração.

5.5) Método de Newton contínua no intervalo [a , b] e f (a)∗ f (b)< 0 . É condição

suficiente para a convergência do método de Newton que: f ´ x

e f ´ ´ x sejam não nulas e preservem o sinal em a , b e x0

seja tal que f x0∗ f ´ ´ x00 . Então faz

xn1= xn−f xn

f ´ xn

6) Integração

Considere ∫a

b

f x dx e h=b−a

n e x i=a+ hi e

i=0,1 , ... , n

6.1) Regra do Trapézio

I =h2 y02y1...2yn−1 yn

6.2) 1ª regra de Simpson (n=múltiplo de 2)

I =h3 y04y12y24y32y4...2yn−24yn−1 yn

6.3) 2ª regra de Simpson(n=múltiplo de 3)

I=3h8

y03y13y22y33y 43y52y6...3yn−23yn−1 yn

6.4) Richardson

I =I 2n1

p I 2−I 1

n2p−n1

p; p=2 se trapézio e p=4 se simpson.

6.5) Integral dupla

I =∫a

b

dx∫c

d

f (x , y )dy=kx ky∑i=0

i=nx

∑j=0

j=ny

((cxi cy j)∗ f (x i , y j))

kx=hx2

se trapézio; kx=hx3

se 1 reg. de simpson; kx=3hx

8

se 2 reg. de simpson; idem para ky.

6.6) Gauss

I =∑i=0

n−1

Ai F t i e

F t =12b−a f 1

2b−a t

12ba sendo Ai e t i

coeficientes conforme tabela a seguir:

n i t_i A_i

1 0 0 2

2 1;0 ±0,57735027 1

3 0;12

±0,774596670

5/98/9

4 0;12;3

±0,86113631±0,33998104

0,347854840,65214516

7) EDO

7.1) Runge-Kutta de 4ª Ordem

y j1= y jh6K 12K 22K 3K 4

x j1=x jh

K 1= f x j , y j

K 2= f x jh2

, y jh2

K1

K 3= f x jh2

, y jh2

K2

K 4= f x jh , y jhK3

8) Observações e revisões Propriedades logarítmicas

ln ab=ln a ln b ln ab=ln a – ln b ln ab=b ln a

ln a=log e a ln e=1

Formulário de Cálculo Numérico. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:16 hs Folha 2 de 2

Page 41: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Instalando Linux e Outros Softwares

Sumário1 Introdução..........................................................................................................................................12 Sistema Operacional..........................................................................................................................1

2.1 Usando o Linux - no seu PenDrive............................................................................................22.2 Usando o Linux - instalado no seu HD......................................................................................42.3 Instalando Softwares Diretamente.............................................................................................4

2.3.1 Instalando OCTAVE...........................................................................................................42.3.2 Instalando MAXIMA e GNUPLOT...................................................................................42.3.3 Instalando R.......................................................................................................................42.3.4 Instalando Editores de Texto..............................................................................................5

3 Cache do navegador..........................................................................................................................5

1 Introdução

Nas minhas disciplinas são adotados obrigatoriamente algumas ferramentas computacionaispara auxílio no processamento dos dados. Seguem alguns orientações para melhorar instalação econfiguração destas ferramentas.

Estaremos desenvolvendo todas as atividades na plataforma linux, utilizando o terminalcomo interface genérica.

Para processamento matemático numérico e o ambiente de linguagem de programação seráadotado o OCTAVE.

O processamento matemático simbólico será desenvolvido no MÁXIMA.

As análises estatísticas serão desenvolvidas no R.

A geração de gráficos, em formato "png" será feita por padrão GNUPLOT. Caso sejanecessário o OCTAVE, MÁXIMA ou R será adotado para geração de gráficos.

Como editor de relatório das tarefas e código dos programas estaremos utilizando o editor detextos GEDIT, ou VIM, ou qualquer outro editor de textos simples.

O OPENOFFICE será adotado como ferramenta de escritório para formatação complexaem textos, uso de planilhas, confecção de "slides" para apresentação e desenhos. Somente paratrabalhos específicos quando solicitados.

2 Sistema Operacional

Estaremos desenvolvendo todas as atividades na plataforma Linux, Distribuição Ubuntuversão 12.04, o site oficial é (http://www.ubuntu-br.org/), você pode utilizar qualquer oudistribuição linux. E instale os programas anteriormente mencionados conforme orientações do item2.3.

Você poderá utilizar o linux no pendrive ou mesmo instalar no hd de seu computador.Recomendo instalar no seu hd pois a demanda de trabalhos neste ambiente será grande, e open-drive por lhe trazer alguns atrasos.

Nos tutores que se seguem usaremos muito o termo “*.iso”, que quer dizer um imagem dedados pronto para ser gravado em cd/dvd/pendrive.

Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09 Pág.: 1 de 5

Page 42: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

2.1 Usando o Linux - no seu PenDrive

Você pode usar esta distribuição no pendrive, é muito simples. Você não perde o uso dopendrive para windows, carro, aparelho de som ou outras aplicações. Além de permitir que vocêpossa instalar programas no linux do pendrive e guardar arquivos como se estivesse num linuxinstalado no seu hd. Você também acessa ao hd windows normalmente.

Para isto siga estes passos:

Passo 01:

Tenha em mãos um pendrive de no mínimo 4GB. Faça um backup dos dados deste pendrive.Delete todos os dados do pendrive.

Passo 02:

Pegue a imagem iso do ubuntu no site oficial e copie para este pendrive.

Passo 03:

Acesse a um computador Linux em qualquer lugar. Copie a imagem iso do ubuntu do seupendrive para este computador.

Passo 04:

Neste mesmo computador abra o terminal e digite: usb-creator-gtk . Abrirá então umajanela como a da Figura 1.

Passo 05A:

Primeiro selecione a iso que você baixou e foi salva no computador, pois esta será a versãoque será instalada no pendrive, veja letra A na Figura 1.

Passo 05B:

Se o pendrive já foi reconhecido tudo bem. Senão, retire e insira seu pendrive parareconhecimento da USB a ser instalada e clique em apagar disco. Veja letra B na Figura 1. Vocêpode formatar o pendrive neste momento, caso não tenha preparado o mesmo anteriormente, casopositivo pule esta opção.

Passo 05C:

Selecione "Armazenados no espaço adicional reservado". Mova então a barra atéaproximadamente 50% da mesma. Assim você tem 50% do espaço livre após instalação para usogeral e 50% para uso do linux. Neste caso estou usando meu pendrive chamada catalunha2, com4GB, não sobrando nenhum espaço livre no pendrive após a instalação. Precisarei de outro pendrivepara dados. Veja letra C na Figura 1.

Passo 05D:

Clique em "Criar um disco inicializável". Após este procedimento você terá um linuxcompleto num pendrive. Desligue o computador e retire o pendrive. Veja letra D na Figura 1.

Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09 Pág.: 2 de 5

Page 43: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Figura 1: Janela para instalação do linux no pendrive

Passo 06:

Caso tenha espaço disponível no pendrive, você verá que o pendrive possui alguns arquivosde sistema na raiz do mesmo, não modifique estes arquivos. Sugiro criar uma pasta com o nome“0UsoGeral” para que dentro desta pasta você possa colocar os arquivos de seu interesse geral.

Passo 07:

Quando chegar a um computador que deseja trabalhar, estando o computador aindadesligado, coloque o pendrive. Ligue o computador.

Inicio o “boot” do sistema pelo pendrive e ele irá então reconhecer o linux no pendrive, serálistada uma opção de instalar o linux no computador local ou apenas testar. Selecione apenastestar.

O linux irá reconhecer rede e outros periféricos e estará pronto para uso. Caso ao ligar ocomputador ele não reconheça o linux do pendrive, você deve habilitar a leitura da usb nainicialização, para isto procure um profissional da área que ele lhe auxiliará.

Passo 08:

Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09 Pág.: 3 de 5

Page 44: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

O Ubuntu necessita apenas da instalação dos demais programas Octave, Maxima, Gnuplot,R, conforme item 2.3.

2.2 Usando o Linux - instalado no seu HD

Caso possua um computador e queira instalar o Ubuntu, você não perderá o seu windows, oLinux cria uma área no hd para ele e gerencia a inicialização permitindo que você escolha entreLinux ou Windows.

Para este processo é interessante a presença de um amigo da ciência da computação paratirar algumas dúvidas que possam surgir, mas o processo é simples. Lembre-se antes de salvasseus dados do Windows em “backup” externo.

Os passos são: (a) estando o Windows instalado; (b) inicie o computador, dê boot, pelopendrive, estando o linux instalado no pendrive; (d) selecione a opção instruções de instalação. (e)instale conforme desejar.

2.3 Instalando Softwares Diretamente

Pode acontecer de você ter um linux em seu computador e queira apenas instalar ossoftwares da disciplina, veja os itens a seguir.

2.3.1 Instalando OCTAVE

Para instalar o OCTAVE no linux, é muito simples, atualize os repositórios com o seguintecomando:

sudo apt-get update

Instale o OCTAVE com o seguinte comando:

sudo apt-get install octave3.2 octave3.2-doc octave3.2-info octave-symbolic octave-odepkgoctave-statistics

2.3.2 Instalando MAXIMA e GNUPLOT

Para instalar o MAXIMA e GNUPLOT no linux, é muito simples, atualize os repositórioscom o seguinte comando:

sudo apt-get update

Instale o Maxima com o seguinte comando:

sudo apt-get install maxima maxima-doc xmaxima

Após esta operação o Gnuplot também estará atualizado, pois o máxima precisa dele emsuas bibliotecas gráficas.

2.3.3 Instalando R

Para instalar o R no linux, é muito simples, atualize os repositórios com o seguintecomando:

sudo apt-get update

Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09 Pág.: 4 de 5

Page 45: ROTEIRO DE 1 INFORMATICA DAS ENGENHARIASuft.edu.br/engambiental/mysqldbarq/cea/contprog/arquivo/6/ie... · Matrizes E Vetores. Entradas E Sa das Padroni-zadas E Em Arquivo. Lendo

Instale o R com o seguinte comando:

sudo apt-get install r-base

2.3.4 Instalando Editores de Texto

O gedit é o editor de textos padrão do ubuntu, já vem instalado em todas as distribuições. Caso você não queira utilizar o gedit, para instalar o VIM no linux, é muito simples,

atualize os repositórios com o seguinte comando:

sudo apt-get update

Instale o VIM com o seguinte comando:

sudo apt-get install vim

Utilizo o vim nas vídeo-aulas e nos tutoriais por organizar melhor os arquivos na pasta datarefa e por abrir menos janelas na tela. Mas para fins de construção dos arquivos de texto não fazdiferença usar gedit ou vim.

3 Cache do navegador

Quando o nagevador de internet faz um download um arquivo pela primeira vez ele guardauma cópia no cache, depósito auxiliar de armazenamento, com isto quando vc tenta fazer umdownload do arquivo novamente ele ao invês de usar a internet e sobrecarregar a rede ele presumeque vc queira o mesmo arquivo anterior e busca do cache interno do computador local. Por istoalguns de vcs tentam fazer um download da ListaDeTarefas da disciplina, formulário ou outromaterial e encontram o mesmo com uma versão desatualizada. Portando precisamos desativar ocache para fazer um download sempre do arquivo original da internet.

Apenas para o navegador de internet Mozzila Firefox.

No LinuxNo Menu encontre o seguinte caminho: Editar -> Preferencias -> Avançado -> RedeNo item Armazenamento offline ou desligado, configure o cache para "0 MB" e clique em "Limpar cache agora".

Quaisquer outras orientações serão atualizadas posteriormente.

Prof Dr. Catalunha

Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09 Pág.: 5 de 5