Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 12.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 5.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 11.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 5.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 3.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 4.
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 6.
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 9.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 2.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 4.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 6.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 10.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 2.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Variáveis, matrizes e séries 2.1 Octave Variáveis, Matrizes e Séries.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 2.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 11.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 4.
11 de Maio de 2006Listas e Ordenação1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006.
Excel Profa. Cristina M. Nunes.
Campus Curitiba Departamento Acadêmico de Matemática Angela Olandoski Barboza UTFPR – Damat.
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
FUNÇÃO MODULAR.
CAP. 2 RESPOSTA EM FREQÜÊNCIA TE 054 CIRCUITOS ELETRÔNICOS LINEARES
Aula 4 Nomes, Vinculações, Tipos e Escopos
Questionário de Avaliação Institucional
Estrutura de decisão e repetição em JAVA
Técnica de Contagem.
Provas de Concursos Anteriores
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Bolsas Vera Crevelin OBS: Nos slides disponíveis clique sobre o ícone de informação para visualizar mais fotos das bolsas.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Árvores binárias de pesquisa com balanceamento
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Salas de Matemática.
Coordenação Geral de Ensino da Faculdade
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
Entendendo as definições de classe
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
É u m e l e m e n t o f u n d a m e n t a l
EXERCÍCIOS PARA GUARDA-REDES
EMPREENDEDORES EM AÇÃO PROF. NILSON R. FARIA Colégio Wilson Joffre.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
45 Lições Que A Vida Me Ensinou..
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo de Probabilidades. Regra de Laplace. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Transcrição da apresentação:

Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3

Ludwig Krippahl, Na aula de hoje... Comparações (Booleanos) Controlo condicional if...then...else While Ciclo for, e break.

Ludwig Krippahl, Comparações Igual == Maior, menor, ou igual >, =, <= Negação ! Diferente !=

Ludwig Krippahl, Booleanos Booleano (verdadeiro ou falso), exemplos: octave:34> 1==2 ans = 0 octave:35> 1==1 ans = 1 octave:36> [1,2,3]==[3,2,1] ans = 0 1 0(compara cada elemento) octave:37> "paulo"=="paula" ans = (compara cada elemento)

Ludwig Krippahl, Booleanos Booleano (verdadeiro ou falso), 0 é falso. Tudo o resto é verdadeiro Constantes já definidas no Octave: octave:38> true true = 1 octave:39> false false = 0

Ludwig Krippahl, Operadores Booleanos (e, ou) &e |ou Curto-circuito: (só avalia o necessário) &&A && B, se A falso não faz B ||A II B, se A verdadeiro, não faz B

Ludwig Krippahl, Controlo condicional: if Executa o bloco de instruções se a expressão for diferente de 0 (0 é falso) if expressão... else... endif

Ludwig Krippahl, Controlo condicional: if Exemplo: se x<25 soma y if x<25 x=x+y; endif

Ludwig Krippahl, Controlo condicional: if Exemplo: se x e y diferentes de 25, soma y if x!=25 & y!=25 x=x+y; endif

Ludwig Krippahl, Controlo condicional: if Exemplo: se s não é vazia e se o primeiro caracter é A if s!= && s(1)==A... endif Importante não verificar a segunda parte se s for vazia (dá erro...): && em vez de &

Ludwig Krippahl, Ciclo condicional: while Executa o bloco de instruções enquanto a expressão for diferente de 0 while expressão... endwhile

Ludwig Krippahl, Ciclo condicional: while Exemplo: dividir x por dois até ter um número menor que 5 (enquanto >=5) while x>=5 x=x/2; endwhile

Ludwig Krippahl, Ciclo for Executa o bloco de instruções uma vez para cada valor da variável. for variável = vector... endfor

Ludwig Krippahl, Ciclo for Exemplo: somar a x os números 3, 5, e 8. for f = [3, 5, 8] x=x+f endfor

Ludwig Krippahl, Ciclo for Exemplo: fazer algo 10 vezes: for f = 1:10 alguma coisa endfor

Ludwig Krippahl, Ciclo for Exemplo: Substituir todos os caracteres de s por * for f = 1:length(s) s(f) = *; endfor

Ludwig Krippahl, Problema Decompor uma fórmula química (string): e.g. CH3COOH Numa tabela com os seus elementos (matriz): C H O

Ludwig Krippahl, º passo: perceber como fazer Percorrer a fórmula CH3COOH Identificar o que é elemento

Ludwig Krippahl, º passo: perceber como fazer Percorrer a fórmula CH3COOH E o que não é elemento

Ludwig Krippahl, º passo: perceber como fazer Criar a lista C, H, C, O, O, H

Ludwig Krippahl, º passo: perceber como fazer Criar a lista C, H, C, O, O, H Mas pôr só se não estiver já na lista

Ludwig Krippahl, º passo: dividir o problema em problemas mais simples Precisamos de 2 coisas: Tirar o primeiro elemento da fórmula Acrescentar à tabela se não estiver lá.

Ludwig Krippahl, Tirar o primeiro elemento Uma função que: Recebe a fórmula Devolve o primeiro elemento e o resto da fórmula

Ludwig Krippahl, Tirar o primeiro elemento Uma função que: Recebe a fórmula Devolve o primeiro elemento e o resto da fórmula: CH3COOH

Ludwig Krippahl, Tirar o primeiro elemento Uma função que: Recebe a fórmula Devolve o primeiro elemento e o resto da fórmula Podemos usar várias vezes H3COOH

Ludwig Krippahl, Tirar o primeiro elemento Uma função que: Recebe a fórmula Devolve o primeiro elemento e o resto da fórmula Podemos usar várias vezes 3COOH COOH

Ludwig Krippahl, Tirar o primeiro elemento Uma função que: Recebe a fórmula Devolve o primeiro elemento e o resto da fórmula Podemos usar várias vezes OOH

Ludwig Krippahl, Função [el, resto]=umelem(s) Aqui também várias coisas: Tirar os números no inicio, se necessário: 3COOH Guardar em el o primeiro caracter, se houver. Guardar em resto os outros, se houver.

Ludwig Krippahl, Função [el, resto]=umelem(s) 1: Tirar os números no inicio, se necessário: Enquanto s não for vazio e s(1) for um dígito: s = s(2:length(s)). Não vazio: s != é digit: função isdigit

Ludwig Krippahl, Função [el, resto]=umelem(s) 1: Tirar os números no inicio, se necessário: Enquanto s não for vazio e s(1) for um dígito: s = s(2:length(s)). Enquanto: while condição.... endwhile

Ludwig Krippahl, Função [el, resto]=umelem(s) 2: Guardar em el o primeiro caracter, se houver Só serve para elementos com 1 caracter. Comentar isso no código (%). Se, então, caso contrário: if condição.... else.... endif

Ludwig Krippahl, Função [el, resto]=umelem(s) 3: Guardar o resto se houver mais caracteres em s ou seja, se length(s) > 1 Se, então, caso contrário: if condição.... else.... endif

Ludwig Krippahl, Função [el, resto]=umelem(s) Testar: octave:22> [e,r]=umelem("CH3COOH") e = C r = H3COOH octave:23> [e1,r]=umelem(r) e1 = H r = 3COOH octave:24> [e1,r]=umelem(r) e1 = C r = OOH octave:25>

Ludwig Krippahl, Função [el, resto]=umelem(s) Entra aqui [e, resto] = umelem(resto)

Ludwig Krippahl, Função [el, resto]=umelem(s) Entra aqui [e, resto] = umelem(resto) Sai aqui o novo fragmento

Ludwig Krippahl, º passo: partir em mais simples Precisamos de 2 coisas: Tirar o primeiro elemento da fórmula Acrescentar à tabela se não estiver lá.

Ludwig Krippahl, Acrescentar à lista Uma função que: Recebe o elemento e a tabela Acrescenta se não estiver Podemos usar várias vezes C, C

Ludwig Krippahl, Acrescentar à lista Uma função que: Recebe o elemento e a tabela Acrescenta se não estiver Podemos usar várias vezes H, C C H

Ludwig Krippahl, Acrescentar à lista Uma função que: Recebe o elemento e a tabela Acrescenta se não estiver Podemos usar várias vezes C, [C;H] Já está, não faz nada C H

Ludwig Krippahl, Função tabela=addelem(el,tabela) Também várias coisas: Se tabela vazia, fica logo el Caso contrário, ver se há el na tabela. Se não há, acrescenta no fim

Ludwig Krippahl, Função tabela=addelem(el,tabela) Se tabela vazia, fica logo el if tabela==... else endif

Ludwig Krippahl, Função tabela=addelem(el,tabela) Caso contrário, ver se há na tabela Assumir que não há (usar variável = false) Percorrer todas as linhas Se encontra, afinal há, pára de procurar. for f=1:rows(tabela)... If... breakInterrompe um ciclo (for ou while) endfor

Ludwig Krippahl, Função tabela=separaelems(s) Já temos as peças, agora é juntar Inicializar a tabela a vazio. Enquanto s não for vazio Tirar o primeiro elemento com umelem Guardar na tabela com addelem (se houver) while s!=... endwhile

Ludwig Krippahl, Nesta aula Os detalhes (if, for, etc..) são para ir praticando. O importante desta aula é o método: Perceber o problema e conceber o algoritmo Se é complicado, dividir em partes mais simples Fazer o mesmo com as partes mais simples até ter partes triviais.

Ludwig Krippahl, Dividir para conquistar separaelem umelem tirar os dígitos guardar o el, se algum guardar o resto, se existe addelem se tabela vazia, basta pôr caso contrário, procura, e põe se não está lá

Ludwig Krippahl, Dúvidas