1
Apresentação da disciplina e
Representação gráfica de funções
BC-0005 Bases Computacionais da Ciência
Prof. Rodrigo de Alencar [email protected]
(inspirado nos slides do prof. Jesús P. Mena-Chalco)
http://bcc.compscinet.org http://bcc2.compscinet.org
2
O curso
Objetivo: apresentar algumas ferramentas computacionais úteis para o desenvolvimento de ciência e tecnologia.
1) Introdução
2) Representação e Análise de Dados
Representação gráfica de funções
Noções de estatística
Correlação e regressão
Base de dados
3) Algoritmos
Variáveis e estruturas sequenciais
Estruturas condicionais
Estrutura de repetição
Funções
4) Simulação Computacional
3
Introdução(Capítulo 1)
4
Computação em todos os lugares
Cada vez mais, diversas áreas do conhecimento utilizamconceitos e recursos de Computação.
De fato, atualmente é praticamente impensável fazer ciência ou tecnologia sem o uso da Computação:
Presença de instrumentos computadorizados coletando dados o tempo todo em todo lugar;
Geração de dados científicos em volumes que não podem mais ser entendidos apenas com cálculos simples.
5
Computação em todos os lugares
6
Computação em todos os lugares
Na indústria projetos de máquinas, processos e produtos são inicialmente desenvolvidos em ambientes controlados de simulação
7
O computador
Um sistema de computação é:
uma coleção de componentes que realizam operações lógicas e aritméticas (transformação); sobre um conjunto de dados (entrada) e fornecem uma saída (os dados transformados);
Um computador é uma máquina capaz de executar automaticamente alguma transformação no conjunto de dados de entrada.
8
Atividade 01 : Tidia-ae
Faça um resumo das seções 1.1, 1.2 e 1.3 (~11 páginas) do Capítulo 1 do livro texto.
O resumo não deve conter mais de 500 palavras.Pode usar qualquer editor (Word, LibreOffice, …)Submissão: copie e cole o texto no TidiaPode usar a ferramenta de contagem de palavras do seu editor ou http://www.wordcounttool.com/
Atenção para o prazo máximo de submissão!Matutino: 17h da véspera da próxima aulaNoturno: 14h do dia da próxima aula
9
Representação GráficaDe Funções(Capítulo 2)
10
Função
O estudo de funções decorre da necessidade de:
Analisar fenômenos, visualizando o comportamento de um sistema.Interpretar interdependências, entendendo como uma variável comporta-se com relação à outra.Encontrar soluções de problemas.Descrever regularidades.Generalizar.
11
Representação de uma função
Uma função pode ser representada das seguintes formas:
Verbalmente (descrevendo-a com palavras);Ex.: “considere f a função que transforma números naturais nos seus quadrados.” Numericamente (através de tabela de valores);Ex.: “f é tal que f(0) = 0, f(1) = 1, f(2) = 4, f(3) = 9, f(4) = 16, f(5) = 25, ...”Visualmente (através de gráficos);(próximo slide)Algebricamente (utilizando-se uma fórmula explícita);Ex.: “f(n) = n², onde n ”∈ ℕ
12
Representação de uma função
Ex.: gráfico da função f(n) = n², onde n ∈ ℕ
0 1 2 3 4 50
5
10
15
20
25
30
13
Ferramentas de visualização
Existem diversas ferramentas utilizadas em cálculos matemáticos avançados:
Matlab;Maple;Octave;Scilab;Rlab (r-project);SciPy (python);Linguagens de programação de uso geral: C/C++, Fortran, etc.
Geralmente contam com bibliotecas de funções matemáticas prontas e recursos avançados.
14
Scilab
É um software utilizado para resolução de problemas numéricos. É gratuito e distribuído com código fonte: http://www.scilab.org;
Permite trabalhar com diversos objetos matemáticos (matrizes, polinômios, equações, etc);
Ambiente de programação que permite a criação de novas funções/bibliotecas do usuário;
15
Scilab - ambiente
16
Scilab - ambiente
Console:onde digitamos instruções ao Scilab
17
Scilab - ambiente
Prompt de comando:Indicação do Scilab de que está pronto para receber uma instrução
18
Scilab - expressões
O Scilab pode ser usado como uma calculadora:
2 + (1,5² + 3) 5⨯
Scilab:
19
Scilab - expressões
O Scilab pode ser usado como uma calculadora:
2 + (1,5² + 3) 5⨯
Scilab: 2 + (1.5^2 + 3)*5
Parte inteira é separada da parte fracionária por ponto (notação americana)
exponenciação: ^
multiplicação: *
20
Scilab - expressões
O Scilab pode ser usado como uma calculadora:
2 + (1,5² + 3) 5⨯
Scilab: 2 + (1.5^2 + 3)*5
Scilab:
15+75
25−√3+8
21
Scilab - expressões
O Scilab pode ser usado como uma calculadora:
2 + (1,5² + 3) 5⨯
Scilab: 2 + (1.5^2 + 3)*5
Scilab: (15 + 75)/(2^5 – sqrt(3)) + 8
Cuidado com os parênteses!
15+75
25−√3+8 divisão: /
Raiz quadrada:sqrt(...)
22
Scilab - variáveis
Digitando o comando:
estaremos criando uma variável real chamada x cujo valor é igual a 2.
ATENÇÃO: o símbolo = na linha de comando significa atribuição (dar um valor a uma variável)
O ponto-e-vírgula ao final da instrução não é obrigatório.Caso ele não seja colocado, a atribuição atual da variável é
apresentada na tela:
23
Scilab - variáveis
Veremos agora como, cada vez que mencionarmos o nome de uma variável, estaremos na verdade utilizando o seu conteúdo
Esta operação define y como sendo uma variável com valor igual ao valor de x mais cinco,
ou seja, y terá um valor igual a 7
Neste caso, z será igual à multiplicação dos valores guardados em x e y, ou seja, z será igual
a 14
Aqui, w será igual à divisão dos valores guardados em z e x, ou seja, w
será igual a 7
24
Scilab – constantes
● Algumas constantes mais comuns já estão definidas no Scilab.
--> %pi %pi = 3.1415927
--> %e // número de Euler %e = 2.7182818
--> %i // unidade dos números imaginários %i = i(não é possível representar como número real)
25
Scilab - funções
● Exponencial ex: exp(x)
● Logaritmos: log(x) (natural), log10(x) (base 10)
● Raiz quadrada: sqrt(x)
● Trigonométricas: ângulo em radianos sin(x) , cos(x), sec(x), csc(x), tan(x), cotg(x)
● Trigonométricas inversas: asin(x) , acos(x), …
● Módulo ou valor absoluto |x|: abs(x)
Obs1.: , no Scilab: (x)^(1/n)
Obs2.: log(x) = y, onde y é tal que ey = x
n√ x=(x )1n
26
Scilab: Exercício 00
Vamos considerar a função:
-->x = [1,2,3,4,5,6] -->y = x .^ 2 -->plot (x,y)
https://help.scilab.org/docs/5.5.1/pt_BR/plot.html
27
Scilab: Exercício 00
Vamos considerar a função:
-->x = [1,2,3,4,5,6] -->y = x .^ 2 -->plot (x,y)
https://help.scilab.org/docs/5.5.1/pt_BR/plot.html
Operador de exponenciaçãoelemento-a-elemento.
Outros operadores elemento-a-elemento: .* multiplicação ./ divisão
28
Scilab: Exercício 00
Vamos considerar a função:
-->x = [1,2,3,4,5,6] -->y = x .^ 2 -->plot (x,y,'ro-')
Onde 'ro-' é:r=cor (red)o=círculo-=linha sólida
https://help.scilab.org/docs/5.5.1/pt_BR/LineSpec.html
29
Scilab: Exercício 00
Vamos considerar a função:
-->x = [-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6]; -->y = x .^ 2 -->plot (x,y,'bx-')
Onde 'bx-' é:b=cor (blue)x=cruz-=linha sólida
clf() ← limpa a tela gráfica, evitando que o próximo gráfico sobreponha-se ao anterior
30
Scilab: Exercício 00
Vamos considerar a função:
-->x = -100:0.1:100; -->y = x .^ 2 -->plot (x,y,'gs-')
-->length(x)-->length(y)-->whos
31
Scilab: Exercício 01
Vamos considerar a função:
y = sen(x)
No intervalo x ∈ [0;2π]
Existem duas formas para se definir os valores do domínio: Definindo diretamente os pontos x nos quais queremos plotar a função (exercício anterior). Definindo um intervalo de valores de x no qual queremos plotar a função (este exercício).
32
Scilab: Exercício 01
32
● Tal instrução criará um vetor x cujo primeiro valor será igual ao primeiro valor do intervalo.● O segundo valor será dado pelo valor anterior somado ao valor do passo.● Isto irá se repetir até que o valor da soma seja igual ou menor do que o último valor do intervalo.
33
Scilab: Exercício 01
Vamos considerar a função:
-->x = 0:1:2*%pi -->y = sin(x) -->plot (x,y,'gs-')
34
Scilab: Exercício 01
Vamos considerar a função:
-->x = 0:0.1:2*%pi -->y = sin(x) -->plot (x,y,'gs-')
35
Scilab: Exercício 01
●Para colocar nomes nos eixos dos gráficos podemos usar:
Para colocar linhas de grade no gráfico:--> set(gca(),”grid”,[1 1]);
36
Scilab: Exercício 02
Identifique visualmente as raízes da seguinte função (onde a função “toca” o eixo do x):
37
Scilab: Exercício 02
x = 1:0.01:4;y = x.^2-5.*x+6;plot(x,y)
plot(2,0,'r*')plot(3,0,'g*')
Raizes: x=2 e x=3
38
Scilab: Exercício 03
no intervalo x = [0; 40]Desenhe a função
39
Scilab: Exercício 03
no intervalo x = [0; 40]Desenhe a função
-->x=0:0.1:40; -->y = x./(1+x.^2); -->plot(x,y);
40
Scilab: Exercício 03
Determine os pontos de intersecção entre as funções:
2x e −x² + 4x
Desenhe as funções e identifique a interseção entre ambas funções.
41
Scilab: Exercício 03
Quais os pontos de intersecção entre as funções e ?
>clf()>x = 5:0.1:5;
>y1 = 2.*x;>y2 = x.^2+4*x;
>plot(x,y1,'r')>plot(x,y2,'b')
42
Scilab: Exercício 03
Quais os pontos de intersecção entre as funções e ?
find(abs(y1y2) < 0.01) ans = 51. 71.
tolerânciapequena
43
Scilab: Exercício 03
Quais os pontos de intersecção entre as funções e ?
find(abs(y1y2) < 0.01) ans = 51. 71.
Que valores são estes?índices do vetor x
44
Scilab: Exercício 03
Quais os pontos de intersecção entre as funções e ?
find(abs(y1y2) < 0.01) ans = 51. 71.
x(find(abs(y1y2) < 0.01)) ans = 0. 2.
45
Observações sobre o Scilab
● Maiúsculas e minúsculas: nomes de variáveis com maiúsculas são diferentes de nomes com minúsculas.
Ex. 1: variável a é diferente da variável A. --> a = 3 --> A = 4 --> a + A
Ex. 2: são todas variáveis diferentes:● banana● Banana● BANANA● bananA
46
Observações sobre o Scilab
● Limpar o ambiente (esquecer variáveis):comando clear nome
--> a = 3;--> b = 5;--> a, b a = 3. b = 5.--> clear a--> a !--error 4 Variável indefinida: a--> b
b = 5.
--> clear // esquece tudo--> b !--error 4 Variável indefinida: b
47
Atividade 02 : Tidia-ae
Identifique visualmente e com a função find os pontos de intersecção entre as funções f(x) e g(x) no intervalo x [0;5]∊ ?
Submeter ao Tidia-ae um documento PDF (mini-relatório) contendo:
Título: Atividade 2 - GráficosNome do grupo, nomes completos e RA dos integrantesA sequência de instruções em Scilab, com explicações, para desenhar ambas funções, e desenhar uma marca (colorida) em cada ponto de intersecção.Captura de tela do gráfico.
f(x) = sen(x) + cos(1 + x²) − 1
g (x)=12
x−1 Precisão:pelo menos 2 casas decimais!
48
Parte “burocrática”
49
Metodologia
Aulas práticas
A parte de teoria deve ser lida antes da aula
Os alunos desenvolverão atividades e exercícios extraclasse:
Individuais e em grupoUso da Biblioteca e da Internet
Os alunos contarão com apoio de monitores (em horários pré-determinados)
Objetivo da monitoria:
Esclarecer dúvida (não é aula particular)
50
Avaliação
Em grupos de 2 (mas não adianta “ser carregado” pelo colega)
A avaliação será composta por: 2 provas (obrigatórias) + projeto (opcional)
Média = (3 P1 + 4 P2 + 3 Projeto)/10 + Bônusou Média = (4 P1 + 6 P2) / 10 + Bônus
Prova 1: 19/outubroProposta de projeto: entregar até 3/novembroProva 2: 30/novembroProjeto e prova substitutiva: 7/novembroRec: 12/dezembroVista de provas, sub da rec: 12/dezembro
Classificação de conceitos:A ≥ 9,0; B ≥ 7,5; C ≥ 6,0; D ≥ 5,0; F < 5,0
51
Avaliação e honestidade
COLA = F na disciplina (sem chororô!)
PLÁGIO = F na disciplina
Cuidado com o plágio:
jamais peça para ver o trabalho de outros grupos!não mostre o seu trabalho para integrantes de outros gruposplágio “não intencional” é plágio de qualquer jeito (resulta em conceito F)
Quer ajudar um colega? Fale para ele procurar a monitoria ou o professor.
52
53
Considerações sobre a aprendizagem
Ler o capítulo do livro antes da aula.
Estar presente nas aulas e atento ao material apresentado;
Fazer os exercícios em aula e em casa;
Consultar os monitores;
Procurar entender, refletir e questionar;
Associar o conteúdo com sua própria experiência;
Associar com o conteúdo das aulas anteriores;
Consultar as referências bibliográficas da próxima aula.
54
Bibliografia
Livro texto: Bases Computacionais da Ciência (Marietto et al., 2013) – No repositório do Tidia-ae.
Forbellone, A. L. V.; Eberspächer, H. F.; Lógica de Programação - A Construção de Algoritmos e Estruturas de Dados; 3a edição, Editora Pearson Prentice-Hall, 2005
Sebesta, R. W.; Conceitos de Linguagens de Programação; 5a edição, Editora Bookman, 2003
Ascensio, A.F.; Campos, E.A., Fundamentos da Programação de Computadores, Pearson, 3a edição, 2012.
55
Informações adicionais
Site do curso:
http://bcc.compscinet.orgou
http://bcc2.compscinet.org
Acesse imediatamente o site do curso e faça as atividades no Tidia.
Forme seu grupo até semana que vem!Não perca o prazo da Atividade 0!
Para casa:
atividades 1, 2 e 3ler capítulos 1, 2 e 3
Top Related