Introdução aos Computadores e à Programação

Slides:



Advertisements
Apresentações semelhantes
GEOMETRIA DESCRITIVA A
Advertisements

Paulo C. Centoducatte – MC542 - IC/Unicamp- 2004s2 Eliminação de Estados Redundantes.
Planejamento Viviane Torres da Silva
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Folha de Cálculo 2009/2010 Curso Profissional Técnico de Restauração
FOLHA DE CÁLCULO 1.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 10.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 13.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 10.
9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006.
Introdução aos Computadores e Programação DI-FCT-UNL-2005/2006 Strings, operadores e funções 3.1 Octave Matrizes (cont.) e strings.
Integração Numérica – Áreas e Equações
16 Março 2006Vectores, Gráficos e Funções - Trajectória de um Projéctil1 Vectores, Gráficos e Funções Trajectória de Projéctil Pedro Barahona DI/FCT/UNL.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
2 Dezembro de 2005Simulação com Modelos Diferenciais1 Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre 2005/2006.
Vectores e Matrizes Aplicações à Engenharia
1 Funções Trajectória de Projéctil DI/FCT/UNL 1º Semestre 2004/2005.
1 Folha de Cálculo DI/FCT/UNL 1º Semestre 2004/2005.
24 Novembro 2006Folha de Cálculo 11 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2006/2007.
Recursividade e Iteração Factorial, Fibonacci e Maior Divisor Comum
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
31 de Março de 2005Trajectória de um Projéctil - Gráficos e Funções1 Trajectória de Projéctil –Gráficos e Funções Pedro Barahona DI/FCT/UNL Março 2005.
Vectores, Gráficos e Funções Trajectória de um Projéctil
30 Novembro 2005Folha da Cálculo1 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2005/2006.
1 Funções, Expressões e Excepções Trajectórias Óptimas DI/FCT/UNL 1º Semestre 2004/2005.
9 Março 2007Matrizes e Gráficos - Trajectória de um Projéctil1 Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores.
Integração Numérica: Equações Diferenciais
Introdução aos Computadores e à Programação
Introdução (Informal) à Programação
16 Dezembro 2005Folha de Cálculo - Conclusão1 Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre.
2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005.
Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2007/2008.
1 Conclusão DI/FCT/UNL 1º Semestre 2004/ Ciclos de Simulação A técnica usada no exemplo da queda livre pode ser utilizada para trajectórias a duas.
Introdução aos Computadores e à Programação
Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2008/2009.
Excel - Parte 2 Fórmulas e Funções
Excel Profa. Cristina M. Nunes.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
15 Introdução à Manipulação de Planilhas Eletrônicas Planilhas Eletrônicas são tabelas usadas para comunicar informações de forma clara, precisa e sucinta.
Acompanhamento de Cenas com Calibração Automática de Câmeras
Aula 01 de Excel Profa Jiani Cardoso.
Educandário Nova Grécia Professor: Ronaldo Maio /Junho
Microsoft Excel Planilha Eletrônica
Folha de Cálculo TIC 10.
Pequena revisão e alguns erros comuns
Curso sobre Planilha Eletrônica Este é o primeiro capítulo do nosso curso sobre a Planilha Eletrônica EXCEL 2010, da Microsoft. As planilhas eletrônicas.
Na barra de mensagens, clique em Habilitar Edição,
Profa. Regiane Klidzio URI Campus Santo Ângelo/RS
BR.OFFICE CALC E MICROSOFT OFFICE EXCEL 2003
Funções DATA e HORA AGORA ANO MÊS DIA HORA DIA.DA.SEMANA HOJE
Prof. OSVALDO LUIS ASATO 2007
PLANILHA ELETRÔNICA EXCEL 2003 Disciplina: Informática
INF1503 – Processamento de Dados (Economia)
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE MATEMÁTICA
Funcionalidades principais (continuação)
Microsoft Excel Folha de cálculo
20/21 Abril de 2004Funções, Expressões e Excepções1 Pedro Barahona DI/FCT/UNL Abril 2004.
Microsoft Office Excel 2010
O que é uma folha de cálculo?
Microsoft Office Excel 2010
Informática André alencar.
Técnico/a de Informática Excel 2007 Óbidos
LIGUE O COMPUTADOR.
DISSERTAÇÃO CRITÉRIOS DE CORREÇÃO EM PROVAS DISCURSIVAS
PROGRAMA DE FOLHA DE CÁLCULO EXCEL
Folha de Cálculo Professor: Pedro Lopes Ano Lectivo 2010/2011.
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
23/24 Março de 2004Simulação da Queda de Corpos1 Pedro Barahona DI/FCT/UNL Março 2004.
30/31 Março de 2004Movimento de uma Mola1 Pedro Barahona DI/FCT/UNL Março 2004.
13/14 Abril de 2004Trajectória de um Projéctil1 Trajectória de Projéctil - Funções Pedro Barahona DI/FCT/UNL Março 2004.
Transcrição da apresentação:

Introdução aos Computadores e à Programação Folha de Cálculo Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2007/2008 7 de Dezembro de 2007 Folha de Cálculo

Folha de Cálculo A informação numa folha de cálculo está estruturada com base em matrizes, ou tabelas. Numa folha simples, existe uma única matriz, cuja dimensão é arbitrária. Nessa matriz podem ser definidas submatrizes, ou subvectores. Qualquer posição na matriz é uma variável, identificada pela sua coluna (A, B, Z, AA, ... – uma ou mais letras) e sua linha (1, 2, 3, ... - um inteiro). Por exemplo B2 = “Pedro Vieira” 7 de Dezembro de 2007 Folha de Cálculo

Folha de Cálculo Tal como numa linguagem de programação, a uma variável podem ser atribuidos valores, constantes ou dependentes de outras variáveis através de fórmulas. B1 = 3 * A1 B2 = 3 * A2 .... B5 = 3 * A5 A1 = 1 A2 = 2 .... A5 = 5 Uma folha de cálculo tem uma natureza reactiva. Sempre que uma variável muda de valor, as que são dependentes mudam igualmente de valor. Por exemplo, se A1 passar para 2, B2 passará automáticamente para B1 = 2* A1 = 2* 2 = 4. 7 de Dezembro de 2007 Folha de Cálculo

Folha de Cálculo Por esta razão, não são permitidas fórmulas que introduzam dependências circulares directas ( A1 = 2 * A1); ou indirectas (A1 = 3 * B1 e B1 = 4 * A1). Qualquer destas fórmulas levaria a computações eventualmente infinitas. A1 = 2 * 2 * 2 * 2 * 2 * ... A1 = 3 * 4 * 3 * 4 * 3 * ... Nota: As folhas de cálculo permitem controlar o número de computações mas, em geral, as referências circulares devem ser evitadas. 7 de Dezembro de 2007 Folha de Cálculo

Condicionais em Folhas de Cálculo Em folhas de cálculo há instruções condicionais de atribuição de valores (não condicionais de controle de execução) A sua sintaxe (em EXCEL) é if(condition, then_value, else_value) A1 = 1 A2 = 2 .... A5 = 5 B1 = if (A1 <=3, 3* A1,0) B2 = if (A2 <=3, 3* A2,0) .... B5 = if (A5 <=3, 3* A5,0) Estas instruções podem encadear-se. Por exemplo if(condition1, then_value1, if(condition2, then_value2, if(condition3, then_value3,value_4))) 7 de Dezembro de 2007 Folha de Cálculo

Iterações em Folhas de Cálculo O conceito de iteração numa linguagem imperativa implica a repetição temporal de instruções. Por exemplo, com a instrução para i de 1 até n fazer <instruções> fimfazer; pretende-se fazer executar as <instruções> (de atribuição de valores a variáveis) n vezes, em sequência. Numa folha de cálculo, essa iterações podem ser obtidas através de uma repetição espacial das instruções. A título de exemplo, vamos calcular xn. 7 de Dezembro de 2007 Folha de Cálculo

Iterações em Folhas de Cálculo Numa linguagem imperativa, por exemplo em Octave, o cálculo pode ser feito através do programa y = 1 ; x = <valor> for i = 1:n y = y * x fimfazer; Neste programa, a variável y vai tomando os diversos valores (1, x, x2, x3, ..., xn), ao longo do tempo, começando com o valor 1, e terminando no valor xn. Numa folha de cálculo, os diferentes valores que y toma, podem ser arrumados, ao longo do espaço, por exemplo num conjunto de células contíguas (por exemplo, uma coluna). 7 de Dezembro de 2007 Folha de Cálculo

Iterações em Folhas de Cálculo Numa linguagem imperativa, por exemplo em Octave, o cálculo pode ser feito através do programa X = <...> Y1 = 1 * X Y2 = Y1 * X; Y3 = Y2 * X; … Y5 = Y4 * X; A1 = <...> A2 = A1 * A1; A3 = A2 * A1; … A5 = A4 * A1; y = 1 ; x = <...> for i = 1:n y = y * x fimfazer; De notar que, na realidade, o mesmo programa tem de ser “escrito” n vezes, uma vez em cada célula. Para evitar este inconveniente, a interface das folhas de cálculo permite “copiar” o conteúdo de uma célula para outras, fazendo automáticamante o ajuste das referências. 7 de Dezembro de 2007 Folha de Cálculo

Iterações em Folhas de Cálculo Por exemplo, se tivermos a célula B1 definida como B1 = 2* A1 e a copiarmos “para baixo”, i.e. para B2, como a cópia é feita para uma célula com nº de linha superior em 1, (B1 para B2), o valor 1 é acrescentado a todas as linhas na fórmula, obtendo-se B2 = 2*A2 Igualmente ao copiar “para o lado” uma célula, a diferença de colunas entre a célula origem e a célula destino é acrescentada às referências a colunas. Se copiar a célula B1 para a posição D1 (2 colunas de diferença) obtem-se D1 = 2*C1 Nota: A cópia pode ser feita com os habituais comandos <ctrl-c> e <ctrl-v>, ou por comandos de “arrastamento”. 7 de Dezembro de 2007 Folha de Cálculo

Referências em Folhas de Cálculo As referências a linhas e colunas que são ajustadas nas cópias de células são chamadas referências relativas (à célula de onde são copiadas – a célula varia n colunas/linhas em relação às célula “de cima” ou “do lado”). No entanto, há situações em que não queremos que estas referências a linhas e colunas sejam relativas mas sim absolutas, e que não sejam alteradas na cópia. Por exemplo, ao copiar o conteúdo da célula A2 para A3, queremos alterar a 1ª referência a A1 para A2 (referência relativa), mas não a 2ª referência (referência absoluta). A1 = <...> A2 = A1 * A1; A3 = A2 * A1; … A5 = A4 * A1; 7 de Dezembro de 2007 Folha de Cálculo

Referências em Folhas de Cálculo Para explicitarmos que uma referência é absoluta, e não se altera quando copiada para uma linha/coluna diferentes, antecedemos a linha/coluna pelo símbolo ‘$’. As referências podem ser relativas a uma dimensão e absolutas na outra dimensão, como no exemplo presente (a linha é absoluta, mas a coluna não é). Assim, se copiarmos as células A2 a A5 para as células B2 a B5, iremos calcular B1^5. A cópia da célula A2 para as células abaixo altera a referência à linha relativa (1 acima), mas não à referência absoluta (a célula A1). A1 = <...> A2 = A1 * A$1; A3 = A2 * A$1; … A5 = A4 * A$1; 7 de Dezembro de 2007 Folha de Cálculo

Referências em Folhas de Cálculo As referências relativas/absolutas podem ser igualmente utilizadas em matrizes. A1 = 2 A2 = A1 * A$1; A3 = A2 * A$1; … A5 = A4 * A$1; B1 = 3 B2 = B1 * B$1; B3 = B2 * B$1; … B5 = B4 * B$1; A iteração (temporal) pode pois ser substituída pela iteração (espacial) mas depende do utilizador o número de células que copia, isto é, o número de iterações a efectuar. Os ciclos enquanto não são assim directamente representáveis numa folha de cálculo, se o utilizador não souber à partida o número de iterações que devem ser efectuadas. 7 de Dezembro de 2007 Folha de Cálculo

Referências em Folhas de Cálculo Podem ainda ser utilizadas referências “mistas” , que são particularmente úteis no caso de se pretenderem preencher tabelas relativas a uma linha e uma coluna. Por exemplo, a tabela de multiplicação acima pode ser obtida por Obter a célula B2 através da multiplicação A2 * B1 Tornar absolutas as referências à linha 1 em B1 e à coluna A, em A2, ficando $A2 * B$1 Copiar esta célula para todas as células na matriz B2:E5. 7 de Dezembro de 2007 Folha de Cálculo

s = 0; for i = 1:5 s = s+a(i); endfor. Soma de um Vector Os valores de um vector ou tabela numa folha de cálculo podem ser agregados (somas, médias, etc..) de uma forma semelhante ao que se faz numa linguagem de programação como o Octave, com a implementação de iteração. Consideremos a soma de o vector nas posições A1 a E1. Em Octave poderíamos escrever (para um vector de 5 posições). s = 0; for i = 1:5 s = s+a(i); endfor. A variável s cujo valor vai sendo iterado, pode ser substituída pelo vector B1 a B5 que vai tomando os valores de s nas diferentes iterações A2 = A1 + 0; B2 = B1 + A2; C2 = C1 + B2; D2 = D1 + C2; E2 = E1 + D2; 7 de Dezembro de 2007 Folha de Cálculo

Soma Condicional de um Vector Em Octave podemos somar valores de um vector que satisfaçam ums condição através de uma instrução condicional dentro do ciclo. Consideremos a soma apenas dos valores positivos de um vector nas posições A1 a E1. Em Octave poderíamos escrever (para um vector de 5 posições). s = 0; for i = 1:5 if a(i) > 0 then d = a(i) else d = 0; s = s+d; endfor. Este estilo de programação pode ser adaptado a um folha de cálculo, utilizando-se uma linha adicional, onde se colocam ou os valores do vector original ou o valor 0. 7 de Dezembro de 2007 Folha de Cálculo

Soma Condicional de um Vector for i = 1:5 if a(i) > 0 then d = a(i) else d = 0; s = s+d; endfor. A3 = A2 + 0; B3 = B2 + A3; C3 = C2 + B3; D3 = D2 + C3; E3 = E2 + D3; A2 = if(A1 > 0, A1, 0); B2 = if(B1 > 0, B1, 0); C2 = if(C1 > 0, C1, 0); D2 = if(E1 > 0, D1, 0); E2 = if(E1 > 0, E1, 0); 7 de Dezembro de 2007 Folha de Cálculo

Funções para Somas de Vectores Tal como em Octave, também as folhas de cálculo permitem a utilização de funções. O paralelo é ainda maior do que noutras linguagens de programação, porque em Octave vectores e matrizes são tipos básicos, permitindo referências a subvectores e submatrizes. Assim em Octave, a soma dos elementos de um vector V com n elementos é obtida através da função s = sum(V) Ainda em Octave, se se pretender somar apenas os valores do subvector constituído pelos elementos 3 a 7, podemos usar a referência a esse subvector na função através de s = sum(V(3:7)) 7 de Dezembro de 2007 Folha de Cálculo

Funções para Somas de Vectores Numa folha de cálculo, podemos usar igualmente a função sum, sendo o vector delimitado entre a sua célula inicial e final. Quer no caso de um vector linha F1 = SUM(A1:E1) Quer no caso de um vector coluna A6 = SUM(A1:A5) Estas funções podem ainda utilizar-se para somas condicionais: G1 = SUMIF(A1:E1,">0") A7 = SUMIF(A1:A5,">0") 7 de Dezembro de 2007 Folha de Cálculo

Operações de Vectores “Ponto a Ponto” Tal como em Octave, operações sobre elementos de um vector/matriz, podem ser condicionadas através da utilização de vectores/matrizes booleanas, que filtram os elementos a utilizar. Por exemplo,em Octave, a soma de todos os elementos positivos de um vector A pode ser efectuada através da instrução B = sum(A.*(A>0)) que pode ser decompostas nas seguintes operações: Criação de um vector booleano, A > 0, com 1s nas posições correspondentes a elementos positivos do vector A Obtenção do vector A.*(A>0), igual a A nas posições em que A é positivo e com 0s nas outras posições. Soma dos elementos deste vector, que corresponde à soma dos elementos positivos do vector A (os outros foram “filtrados” pela multiplicação por 0). 7 de Dezembro de 2007 Folha de Cálculo

Operações de Vectores “Ponto a Ponto” As mesmas operações “ponto a ponto” podem ser efectuadas na folha de cálculo, como ilustrado acima. Sendo o vector A constituído pelas células A1:E1, na linha 2 é criado o vector A>0, indicando para cada célula Bi a operação Bi = Ai > 0 Na linha 3 são multiplicados os dois vectores, ponto a ponto. A soma dos elementos positivos do vector A é assim obtida na célula E3 através da função sum(A3:E3). De notar, que o mesmo conjunto de operações podia ser efectuado através de uma única função entre vectores {=sum(A3:E3*(A3:E3>0))} Nota: As {} são inseridas através de CTRL-SHIFT-ENTER em vez do simples ENTER. 7 de Dezembro de 2007 Folha de Cálculo

Soma de uma Matriz As mesmas técnicas podem ser utilizadas no caso de matrizes, sendo mais “prático” o uso de funções. E1 = SUM(A1:D1) E2 = SUM(A2:D2) E3 = SUM(A3:D3) F1 = SUMIF(A1:D1,”>0”) F2 = SUMIF(A1:D1,”>0”) F3 = SUMIF(A1:D1,”>0”) A4 = SUM(A1:A3) ..... D4 = SUM(D1:D3) E4 = SUM(A1:D4) F4 = SUM(F1:F3) E5 = SUM(E1:E4) F5 = SUMIF(A1:D4,”>0”) A4 = SUMIF(A1:A3,”>0”) ... D4 = SUMIF(D1:D3,”>0”) 7 de Dezembro de 2007 Folha de Cálculo

Exemplo: Queda Livre g = 9.8 % aceleração da gravidade h = % altura inicial (em metros) k = % coeficiente de atrito (1/s) dt = % intervalo de tempo (em segs) ? t = 0; x = h; v = 0; a = g; while x < h t = t + dt; x = x + v * dt; v = v + a * dt; a = g - k * v; endwhile; = A4+A$2 = B4+C4*A$2 = C4+D4*A$2 = C$2-D$2*C5 7 de Dezembro de 2007 Folha de Cálculo