Computação Científica 1

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

Download "Computação Científica 1"

Transcrição

1 Capítulo Definição A é uma área de estudo que, utilizando computadores, se interessa pela construção de modelos matemáticos e pelas técnicas para determinar soluções numéricas, na análise e resolução de problemas reais (científicos e da engenharia). A consiste, em termos práticos, na aplicação da simulação computacional e de outras formas de computação, na análise e resolução de problemas reais em várias áreas científicas e tecnológicas. Muitos cientistas e engenheiros desenvolvem aplicações computacionais para modelar sistemas reais, as quais ao serem executadas requerem grandes quantidades de dados iniciais e de parâmetros de entrada. Normalmente, tais modelos requerem uma grande quantidade de cálculos, o que faz com que a relação com a Computação Numérica seja muito forte. Por sua vez, a Computação Numérica define-se como a utilização de computadores na manipulação de números. Em algumas áreas do conhecimento, a experimentação em laboratório é extremamente cara ou até mesmo impossível, fazendo com que a tenha um papel de grande importância, pois configura uma terceira vertente da ciência, complementando a experimentação (observação) e a teoria. Considere-se o seguinte exemplo: tendo em conta a grande aproximação da antena do telemóvel com a cabeça humana, essencialmente na realização de chamadas, os utilizadores são expostos a campos eletromagnéticos de níveis consideráveis em períodos de tempo cada vez maiores. Devido à impossibilidade técnica e ética de efetuar medições dos níveis destes campos em seres humanos ou animais, as simulações numéricas são de crucial importância nestes estudos. Com a Computação Científica é possível identificar as áreas e os tecidos mais afetados, que normalmente são aqueles mais próximos da antena, e os pontos de concentração de ondas eletromagnéticas. A construção de Modelos Matemáticos é possivelmente a vertente da na qual os investigadores têm ocupado mais tempo no seu estudo, tendo-se notado um aumento da quantidade de modelos matemáticos para resolver problemas reais, os quais são cada vez mais de maior complexidade, assim como no desenvolvimento de modelos já existentes. 1

2 Modelo genérico 2. Modelo genérico De uma maneira geral, um modelo é uma estrutura (abstrata ou física) construída para exibir funções e características (consideradas) fundamentais de um dado sistema real. Segundo diferentes perspetivas, a mesma realidade dá origem a diferentes modelos. É importante que o comportamento do modelo seja fiel à realidade (ou, melhor, à simplificação da realidade que se idealizou). Mas também é importante que seja de fácil manipulação! Os modelos permitem a experimentação sem interferência com a realidade, assim como podem explicitar relações que não eram claras até ao momento da sua construção e análise. O termo "modelo" é habitualmente usado por uma estrutura, que tenha sido construída propositadamente, para expor aspetos e características de alguns objetos entre si. Geralmente apenas alguns destes aspetos e características serão mantidos no modelo, dependendo da utilização para o qual o modelo é construído. É suposto que um modelo seja uma representação suficientemente precisa das características essenciais da situação a analisar (da realidade), de modo que as conclusões (soluções) obtidas a partir dele sejam também válidas para o problema real. O modelo é um esquema simplificado para a interpretação da realidade. Em consequência da complexidade do mundo real, é necessário formular modelos simplificadores que levem à compreensão de certo fenómeno. A mera acumulação de observações não pode fornecer explicação satisfatória do fenómeno e, portanto, o investigador tem necessidade de sistematizar e racionalizar os factos conhecidos, selecionando os aspetos mais importantes e desprezando os que considera irrelevantes. De uma maneira geral, pode-se considerar que existem três tipos de modelos: icónicos, analógicos e simbólicos. Os modelos icónicos são representações reduzidas de estados, objetos ou acontecimentos; representam o fenómeno real apenas com uma transformação de escala; por exemplo, os mapas. Os modelos analógicos, são aqueles em que se emprega uma propriedade para representar outra; por exemplo, utilizar gráficos a cores e com legendas. Nos modelos simbólicos as propriedades do fenómeno real são expressas simbolicamente; por exemplo, os modelos matemáticos, em que as propriedades do fenómeno são expressas por expressões matemáticas. 3. Modelo matemático Já é antiga a constatação de que a Matemática é um instrumento poderoso de interpretação e intervenção no mundo real. De acordo com esta consciência, analisar situações da vida real e identificar modelos matemáticos que permitam a sua interpretação, é uma das tarefas mais importantes dos Matemáticos. 2

3 Modelo matemático Existem, na literatura, muitas definições de modelo matemático. Para Edwards e Hamsom ("Guide to mathematical modelling". CRC Press. 1990) "um modelo matemático é o produto da transferência de um conjunto de elementos matemáticos (como sejam, funções ou equações), com vista à obtenção de uma representação matemática de uma parcela do mundo real". Já para Swetz e Hartzler ("Mathematical modeling in the secondary school curriculum". The National Council of Teachers of Mathematics: Reston, Virginia. 1991), "modelo matemático de um objeto ou de um fenómeno real é um conjunto de regras ou leis, de natureza matemática, que representam adequadamente o objeto ou o fenómeno na mente de um observador". Os modelos matemáticos são também representações idealizadas, mas expressas em termos de símbolos e expressões matemáticas, e que consistem num sistema de equações e de expressões matemáticas relacionadas, que descrevem os aspetos essenciais do problema. Os modelos matemáticos podem ter diversas formas como uma única equação, um sistema de equações, um sistema de inequações ou, para casos mais complexos, um conjunto de equações diferenciais. O modo como a teoria e as aplicações da Matemática se relacionam é então designado por matematização ou modelação matemática. Isto significa, como afirma Ian Stwart (matemático inglês), que "Qualquer descrição matemática do mundo real é um modelo. Manipulando o modelo esperamos compreender algo da realidade. E já não perguntamos se o modelo é verdadeiro, perguntamos unicamente se as suas implicações podem ser verificadas experimentalmente". 4. Tipos de modelos matemáticos Os modelos matemáticos podem ser, pela sua natureza, de dois tipos: - modelos prescritivos, - modelos descritivos. Os modelos matemáticos prescritivos têm como característica principal, o facto de o resultado de uma operação ser prescrita para solucionar um problema do sistema real. Os modelos prescritivos baseiam-se na representação dos objetivos e das restrições de um processo para o qual se deseja descobrir soluções ótimas; ou seja, o modelo é elaborado segundo uma técnica que permite encontrar a melhor solução, ou política de ação, para os condicionamentos representados. São os modelos de otimização, os quais podem ser resolvidos usando dois tipos diferentes de métodos: exatos e aproximados. Nos métodos exatos, a solução obtida é a melhor solução, dentre todas as possíveis, dados os condicionamentos do modelo apresentado. A solução otimiza (maximiza ou minimiza) uma função de mérito (por exemplo, o custo total de produção) e em simultâneo respeita (não viola) todas as restrições do problema (por exemplo, satisfazer a procura). Mas, dependendo do tipo de problema a ser resolvido, pode ser extremamente caro, em termos computacionais, tentar resolvê-lo usando métodos exatos. 3

4 Tipos de modelos matemáticos Por exemplo, um problema de programação linear contínuo (isto é, que não contenha variáveis inteiras/discretas na sua formulação) pode ser resolvido de forma exata e eficiente mesmo que contenha milhares (ou até milhões) de variáveis e restrições, pois há métodos polinomiais eficientes para isso. Um exemplo são os modelos de programação matemática para os quais existem métodos exatos para os resolver. No entanto, se o problema for de programação linear mista (contendo variáveis contínuas e inteiras), então deve-se analisar caso a caso e decidir-se se pode resolver-se de forma exata ou aproximada (heuristicamente). Neste caso, mesmo que Resolver o problema usando um método aproximado (heurístico) significa que este não pode garantir que se obtenha a solução ótima em todos cenários analisados por ele. O que pode garantir é uma solução de boa qualidade com baixo custo computacional. Uma abordagem heurística tenta utilizar um método racional para encontrar uma boa (próxima do ótimo) solução. Geralmente a heurística apresenta uma maneira mais rápida e fácil de resolver um problema, em relação ao modelo matemático prescritivo puro. Exemplos de métodos heurísticos são os Algoritmos Evolutivos (Algoritmos Genéticos, Pesquisa Tabu,...), Redes Neuronais e Busca Local. Mas isto não significa que se deve resolver todos os problemas de grande dimensão e caros, em termos computacionais, usando métodos aproximados. Por exemplo, suponha-se que existam 3 trabalhos para serem realizados e 3 máquinas disponíveis para os realizar. O custo de cada máquina para cada trabalho está na seguinte tabela: Máquina 1 Máquina 2 Máquina 3 Trabalho Trabalho Trabalho Heurística 1: Alocação do menor custo dos trabalhos. Qual o custo total? Heurística 2: Alocação do menor custo das máquinas. Qual o custo total? Usando a Heurística 1 e afetando por ordem os Trabalhos, o custo total é 40 ( ), correspondente aos seguintes pares de afetação: (Trabalho 1, Máquina 1), (Trabalho 2, Máquina 2) e (Trabalho 3, Máquina 3). Os Trabalhos 1 e 2 correspondem a custos mínimos e o Trabalho 3 não (os custos mais baixos para este estão associados a Máquinas já afetadas). Usando a Heurística 2 e afetando por ordem as Máquinas, o custo total é 24 ( ), correspondente aos seguintes pares de afetação: (Máquina 1, Trabalho 3), (Máquina 2, Trabalho 2) e (Máquina 3, Trabalho 1). As Máquinas 1 e 2 correspondem a custos mínimos e a Máquina 3 não (os custos mais baixos para esta está associada ao Trabalho 2 já afetado). Note-se que a melhor solução, com custo total de 22 ( ) e que corresponde aos pares de afetação (Trabalho 1, Máquina 1), (Trabalho 2, Máquina 3) e (Trabalho 3, Máquina 2), é um pouco melhor do que a solução obtida pela heurística 2. 4

5 Tipos de modelos matemáticos Os modelos matemáticos descritivos são utilizados para acompanhar o comportamento de um sistema. As suas conclusões são obtidas através da perceção do modelador. Os modelos deste tipo mais usuais são os modelos de simulação. Os modelos descritivos são utilizados na representação de sistemas reais (ou propostos) e na experimentação de diferentes cenários e políticas de ação nos mesmos. As grandes motivações para o uso destas técnicas são a flexibilidade na representação de modelos complexos e a facilidade de aplicação, o que possibilita prever o comportamento do sistema modelado no horizonte de planeamento escolhido. Os resultados dos testes apresentam uma visão futura do sistema, auxiliando no processo de tomada de decisões no momento. Ao contrário dos modelos prescritivos, os modelos descritivos são utilizados para comparar políticas de ação já escolhidas pelo decisor, não esperando que o modelo indique a melhor solução possível. Por exemplo, suponha-se que se pretende testar duas políticas de filas de espera para atendimento numa Agência Bancária: 1ª) cada caixa tem a sua própria fila; 2ª) uma fila única para todas as caixas. Neste caso, pode-se supor que o tempo de atendimento é baseado numa distribuição de Poisson e que os tempos de chegada dos clientes à Agência são baseados numa distribuição Exponencial Negativa. Depois, simulam-se as duas políticas, levando em linha de conta as distribuições envolvidas para verificar qual delas é a melhor (segundo um dado objetivo). 5. Modelação matemática Para a resolução de problemas que surgem nas diversas áreas do conhecimento (nas Ciências, nas Engenharias e outras), torna-se necessário a construção de modelos matemáticos que descrevam o melhor possível o comportamento dos sistemas reais. O processo de resolução de um problema pode ser visto como uma sequência de etapas que devem ser realizadas e melhoradas, até que o modelo matemático construído (ou escolhido) para a representação do problema forneça resultados satisfatórios. A construção de um bom modelo matemático exige alto nível de abstração e de conhecimentos académicos (teoria) e/ou empíricos (prática) sobre o problema em análise. Embora não seja possível o controlo sobre a maioria dos sistemas reais, atendendo ao nível de complexidade de cada um deles, é possível controlar a complexidade dos modelos matemáticos que se constroem para descrever o comportamento daqueles sistemas reais. Os sistemas reais complexos podem ser aproximados por modelos matemáticos simples, os quais usam equações matemáticas que podem ser resolvidas usando métodos exatos. No entanto, estes modelos simples oferecem, provavelmente, uma descrição muito distante do comportamento dos sistemas reais. Uma descrição mais precisa do sistema real pode ser conseguida com a introdução de mais características do sistema no modelo matemático, o que implica a utilização de equações matemáticas mais complexas e mais difíceis de resolver. Para estes casos, podem não existir 5

6 Modelação matemática soluções exatas para o modelo, havendo necessidade de se recorrer à determinação de soluções aproximadas, obtidas através de métodos numéricos ou de métodos heurísticos. Existem, na literatura, vários e diferentes diagramas para descrever o processo de resolução de um problema (modelação matemática). Assim, pode-se considerar que este processo é composto por cinco etapas principais (ver diagrama em baixo): 1ª) Definição (Formulação) do Problema, 2ª) Construção do Modelo Matemático, 3ª) Determinação da Solução (do Modelo), 4ª) Validação do Modelo e Análise da Solução, 5ª) Implementação da Solução. A sequência de etapas apresentada não é rígida, sendo que cada uma delas depois de iniciadas, sobrepõem-se no tempo. Há uma interação contínua entre as várias etapas, fazendo com que elas se tornem mutuamente dependentes. Muitas podem ser simultâneas e, em vários estudos, por exemplo, a etapa que consiste em formular o problema só fica completa quando o processo está virtualmente terminado. Por outro lado, não é raro acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resolução do problema tenham sido realizadas corretamente, havendo necessidade de regressar à 1ª etapa para redefinição do problema. Ou seja, pode-se considerar que o processo é cíclico, o denominado Ciclo de Modelação. Por exemplo, se ao testar-se o modelo se conclui que ele é deficiente, a formulação do problema e a construção do 6

7 Modelação matemática modelo podem ser revistas e modificadas. Ou seja, as diferentes fases influenciam-se mutuamente durante todo o processo de resolução do problema real. Todo este processo inicia-se com a definição da situação real que se pretende estudar. Primeiro, o analista deve adquirir um conhecimento profundo do problema real (Perceção do Problema etapa secundária). A partir daqui, o analista deve conseguir identificar com precisão em que consiste o problema (Definição do Problema). Uma vez ultrapassada esta etapa, e tendo em conta a definição do problema feita antes, devese proceder à recolha de dados necessários à construção do modelo (Recolha de Dados etapa secundária). Segue-se, então, a escolha da estrutura matemática utilizada para representar o problema (Construção do Modelo matemático): são escolhidas as variáveis que se relacionam, de algum modo, entre si; selecionam-se as hipóteses (considera-se o atrito ou despreza-se?, considerase a espessura de um material ou despreza-se?, etc). A validade das conclusões apenas pode ser considerada tendo como referência as hipóteses selecionadas. Só depois se pode enunciar o problema matemático propriamente dito: que equações ou inequações há que resolver, quais são as variáveis, o que é constante, etc.. Definido o modelo matemático associado ao problema, este terá que ser implementado, testado e analisado de modo a retirar conclusões/soluções (Determinação da Solução do modelo). Esta etapa inicia-se com a escolha do método mais adequado à resolução do modelo construído ( Seleção do Método etapa secundária). As soluções obtidas, por sua vez, terão que ser interpretadas à luz da situação inicial de forma a fazer-se a avaliação do modelo, verificando-se se o modelo construído pode ser uma representação do problema real (Validação do modelo e Análise da Solução). Há que se analisar qual o significado da solução no contexto do problema: 3 quê? -16 quê? metros? dias? graus? (se obtiver-se -5 metros como comprimento de uma vedação, confrontando com a realidade sabemos que tal não é possível; então, ou errámos os cálculos ou as nossas hipóteses não são aceitáveis). Posteriormente, consoante os resultados, decide-se da necessidade de redefinir o modelo, de considerar novas variáveis ou de alterar a via de resolução. Pode então ser necessário escolher novas hipóteses e repetir todo o processo até chegarmos a uma solução que, confrontada outra vez com a realidade, seja admissível. Por fim há que elaborar um relatório em que a solução do problema é usada para explicar o fenómeno, ou para prever a evolução futura ou para servir de suporte à tomada de decisão. Do ponto de vista científico este passo é muito importante, pois obriga o cientista, ou equipa de cientistas, a documentar o que fez, surgindo por vezes ideias unificadoras ou generalizadoras que não ocorreram no decurso do processo. A comunicação sob a forma matemática é uma ferramenta importante nos dias de hoje para todos os cientistas e investigadores. 7

8 Modelação matemática 5.1. Definição (formulação) do Problema Nesta etapa elabora-se a definição (formulação) matemática do problema real a ser resolvido. Normalmente, começa-se com um diagnóstico da situação e termina-se com uma descrição formal do problema. Uma definição cuidadosa do problema é crucial, sendo que sem um cuidado e gasto de tempo significativos pode-se estar, mais tarde, a resolver o problema errado. Ou seja, deve-se evitar extrair a resposta certa do problema errado! Nesta etapa, deve-se identificar as entidades associadas ao problema que são as seguintes: os dados (o que é conhecido), o objetivo (que é desconhecido e pretende-se determinar) e as restrições (as condições do problema apresentadas). Nesta etapa deve-se realizar - a observação e análise do sistema real; - a descrição exata do objetivo de estudo; - a identificação das alternativas de decisão do sistema: - o reconhecimento das limitações e dos requisitos do sistema; assim como identificar - o agente de decisão (quem exerce o controlo sobre o sistema); - quais os seus objetivos (por exemplo, minimizar custos); - quais as suas decisões alternativas com que são confrontadas com o objetivo (isto é, as variáveis controláveis ou de decisão); - quais os parâmetros (ou variáveis não controláveis pelo agente de decisão) que influenciam o resultado das suas decisões. Deve também discutir - o tempo disponível para o estudo; - o envolvimento do agente de decisão (e organização) no estudo; assim como estabelecer o diagnóstico inicial, - observando e analisando a forma como o sistema real opera; - recolhendo informações; - concebendo um sistema idealizado. As condições mínimas para a existência de um problema de decisão, são as seguintes: - existe pelo menos um agente de decisão, num determinado contexto; - o agente de decisão tem pelo menos um objetivo a atingir; - existem pelo menos duas alternativas de decisão; as alternativas de decisão não correspondem ao mesmo grau de satisfação do objetivo. 8

9 Modelação matemática 5.2. Construção do Modelo Matemático A Construção do Modelo Matemático consiste na transformação do problema real num problema matemático através de uma formulação matemática, a qual deve ser tratável em termos computacionais. Esta etapa deve começar por tentar selecionar um modelo, entre os vários já conhecidos e que possam ser aplicados ao problema em estudo (é frequente ser possível aplicar diferentes modelos ao mesmo problema real), introduzindo as variáveis e os parâmetros do modelo, obtendo e apresentando os resultados. Deve existir, nesta etapa, uma grande flexibilidade, de forma a permitir diversas abordagens e alguma criatividade individual. De referir que geralmente o modelo matemático possui mais soluções que o problema real. Também deve haver uma grande comunicação com a fase da Recolha de Dados, pois o modelo pode necessitar de algo mais do que foi feito na etapa anterior (na fase da Recolha de Dados ), quer em termos dos dados recolhidos quer na forma como são apresentados. Nesta etapa deve-se reproduzir as relações entre os componentes do problema (objetivos, variáveis de decisão, parâmetros, restrições,...). Os passos essenciais a ter em consideração são os seguintes: - identificar a estrutura de relações causa-efeito; - quantificar essas relações de forma determinística ou probabilística. Na identificação das relações causa-efeito, deve-se proceder à - identificação de todas as relações entre as variáveis de decisão, os parâmetros do modelo e a medida (ou medidas) de utilidade; - identificação de variáveis auxiliares que agregam informação de diversas variáveis; - formulação das primeiras hipóteses no sentido da simplificação do problema através da inclusão de apenas as relações relevantes. A qualificação das relações causa-efeito pode ser feita segundo três abordagens distintas: - método dedutivo, no qual é possível explicitar as relações entre os componentes do modelo através de expressões matemática (seja de forma determinística ou probabilística); - método de simulação, quando aquelas relações são de tal forma complexas não é possível ou aconselhável usar o método dedutivo, sendo que o melhor que o analista consegue fazer é imitar o comportamento do sistema idealizado; método de inferência estatística, quando pelo facto das relações serem inúmeras e complexas não é possível ou aconselhável usar o método dedutivo, mas é possível, pela análise estatística de dados, inferir aquelas que melhor reproduzem o comportamento do sistema sem demasiada complexidade. 9

10 Modelação matemática Na Construção de um Modelo existem algumas regras de devem ser cumpridas, tais como: 1. Não construir um modelo complexo quando um simples basta; 2. Não construir um modelo para servir ao seu método preferido; 3. Conduzir a fase de construção do modelo rigorosamente; 4. Validar o modelo antes de o implementar; 5. Nunca tomar o modelo demasiado a sério; 6. Não pressionar o modelo a fazer algo para que não foi concebido; 7. Não desperdiçar os benefícios da fase da modelação; 8. Não supor que o modelo contém mais informação do que a realidade; 9. Não substituir o agente de decisão pelo modelo. Antes de finalizar esta etapa, deve-se verificar se - o modelo construído é tratável (isto é, consegue-se extrair informação útil a partir dele); - o modelo construído pode ser (mais) simplificado Determinação da Solução (do Modelo) Esta etapa inicia-se com a escolha do método numérico mais apropriado para resolver o modelo matemático obtido na etapa anterior (Seleção o Método etapa secundária). Na escolha do método mais eficiente deve-se ter em conta os seguintes aspetos: - precisão desejada para os resultados; - capacidade do método em conduzir aos resultados desejados (velocidade de convergência); - esforço computacional despendido (tempo de processamento e economia de memória, necessários para a resolução do problema). Depois de feita a escolha do método, este é descrito através de um algoritmo, o qual é posteriormente implementado num computador através de uma linguagem de programação. Construído o programa em computador, a sua execução tem em vista a obtenção dos resultados numéricos (soluções). Esta etapa pode, então, ser subdividida nas três fases seguintes (depois de efetuada a escolha do método): a) elaboração do algoritmo, b) implementação do algoritmo (codificação do programa), c) processamento (execução) do programa. Na fase de elaboração do algoritmo, é feito a descrição do algoritmo através de um conjunto de comandos que, quanto ativados (executados), resultam numa sucessão finita de ações (acontecimentos). No entanto, em vez de se implementar um método diretamente numa linguagem de programação, é preferível descrevê-lo através de uma notação algorítmica. Desta forma, é possível abstrair-se dos detalhes da linguagem de programação do computador e concentrar-se apenas nos aspetos matemáticos do método. 10

11 Modelação matemática Além do mais, a descrição do método numa notação algorítmica facilita a sua implementação em qualquer linguagem de programação. Mais adiante é apresentada a notação algorítmica adotada para descrever os métodos numéricos incluídos neste documento. Na fase de implementação do algoritmo (codificação do programa), o algoritmo é implementado na linguagem de programação escolhida. Uma vez que os aspetos matemáticos do método já foram pensados na fase de elaboração do algoritmo, agora apenas é necessário preocupar-se com os detalhes de implementação na linguagem adotada. Na fase de processamento (execução) do programa, o código obtido da implementação do algoritmo numa linguagem de programação deve ser executado pelo computador. Se for detetado algum erro lógico na fase de processamento, isto é, se a execução do programa produzir resultados inesperados, então deve-se retornar à fase de elaboração do algoritmo para o corrigir. Caso contrário, serão obtidos os resultados do modelo matemático (a solução), que se espera possa ser também a solução do problema real Validação do Modelo e Análise da Solução Nesta etapa, é verificada a consistência da solução obtida para o modelo (validação do modelo) e a sua adequação ao problema real (análise da solução). Se a solução não se mostrar satisfatória (modelo não válido) deve-se construir um novo modelo matemático, através de uma nova formulação matemática, e determinar uma nova solução numérica. Alguns modelos matemáticos podem produzir várias soluções (e não apenas uma) e algumas delas (ou todas) não terem sentido físico ou químico, como, por exemplo, tempo negativo, concentração complexa, etc. Um dos objetivos desta etapa é justamente discernir qual a solução válida para o problema real dentre as várias fornecidas pelo modelo matemático (se existirem algumas). Desta forma, deve-se ter em atenção os seguintes aspetos: - se os resultados obtidos (soluções) são coerentes com o histórico do modelo; - como se comporta o modelo para (pequenas) variações dos parâmetros do modelo (análise de sensibilidade); detetar possíveis deficiências do modelo: - exclusão de variáveis relevantes; - inclusão de variáveis irrelevantes; - avaliação imprecisa de uma ou mais variáveis relevantes; - definição inapropriada da medida do grau de satisfação do objetivo; - relações entre componentes do modelo mal estabelecidas; - Teste: verificar se as soluções obtidas através do modelo são melhores do que as que seriam implementadas se o modelo não tivesse sido desenvolvido. 11

12 Modelação matemática 5.5. Implementação da Solução Nesta etapa deve-se ter em atenção os seguintes aspetos: - garantir que do papel para o sistema real não se desvirtua a solução; - ter abertura para readaptações (modelo e/ou solução) causadas por dificuldades de implementação; - verificar a existência de problemas: - técnicos; - associados ao comportamento individual dos elementos da organização; - relacionados com o ambiente organizacional; - dar importância aos aspetos comportamentais; - verificar se a realidade ainda é a mesma do início do estudo Exemplo Definição do Problema Um fabricante de plásticos produz 2 tipos de plástico: o especial e o normal. Cada tonelada de plástico especial exige 2 horas na máquina A e 5 horas na máquina B; cada tonelada de plástico normal exige 2 horas na máquina A e 3 horas na máquina B. Como a máquina A está disponível 8 horas por dia e a máquina B está disponível 15 horas por dia, quantas toneladas de cada tipo de plástico devem ser produzidas diariamente de maneira que as duas máquinas se mantenham totalmente ocupadas? Construção do Modelo Matemático plástico especial = variável X plástico normal = variável Y } { Determinação da Solução do Modelo 2X +2Y =8 5X +3Y =15 O processo consiste na resolução de um sistema de duas equações com duas incógnitas, usando o método de substituição de variáveis. { 2X +2Y =8 5X +3Y =15 { X =4 Y 20 5Y +3Y =15 Análise dos Resultados (Solução) Devem ser produzidas: { X =4 Y Y =5/2 1,5 toneladas de plástico especial (variável X) e 2,5 toneladas de plástico normal (variável Y). X =3/2 =1.5 { Y =5/2 =2.5 12

13 Elaboração de algoritmos 6. Elaboração de algoritmos Uma das etapas mais importantes na resolução de um problema é a da determinação da solução do modelo, pois envolve uma das fases mais importantes neste processo, que é a elaboração de um algoritmo que traduza o método associado ao modelo matemático construído. Este algoritmo deverá ser posteriormente implementado numa linguagem de programação para se obter os resultados numéricos (solução do problema) usando um computador. Depois de selecionado o método associado ao modelo matemático construído, o qual é definido através de expressões aritméticas e lógicas, o passo seguinte é a realização de uma descrição daquele método através de um algoritmo. A descrição do algoritmo, através de uma notação algorítmica, melhora o seu entendimento, pois apenas os aspetos do raciocínio matemático são realçados, sem ser necessário levar em consideração os detalhes de implementação de uma linguagem de programação Estrutura do algoritmo Um algoritmo deve iniciar-se com Algoritmo <nome-do-algoritmo> e terminar com fim_algoritmo Também { Objetivo: <objetivo-do-algoritmo> } deve ser utilizado para descrever a finalidade do algoritmo. Os dados necessários para a execução de um algoritmo são requisitados por meio do comando parâmetros de entrada: <lista-de-variáveis> onde <lista-de-variáveis> são os nomes das variáveis, separadas por vírgulas, contendo os valores fornecidos. Não é necessário descrever exatamente como os valores dessas variáveis serão fornecidas ao algoritmo. Compete ao programador decidir durante a codificação do programa se os dados serão fornecidos pelo teclado, lidos de um ficheiro, passados como argumentos de um subprograma ou, até mesmo, definidos como constantes dentro do próprio programa. Da mesma forma, os valores de interesse calculados pelo algoritmo são disponibilizados pelo comando parâmetros de saída: <lista-de-variáveis> podendo a <lista-de-variáveis> ser ampliada ou reduzida pelo programador Variáveis e comentários Uma variável corresponde a uma posição de memória do computador onde está, ou poderá estar, armazenado um determinado valor. As variáveis são representadas por identificadores que são 13

14 Elaboração de algoritmos cadeias de carateres alfanuméricos, podendo os elementos de vetores e matrizes serem referenciados por subscritos ou índices (por exemplo, v i ou v(i) e m ij ou m(i,j)). Um comentário é um texto inserido em qualquer parte o algoritmo para aumentar a sua clareza. Este texto deve ser delimitado por chavetas ( { <texto> } ), como por exemplo, { cálculo da raiz } Expressões e comando de atribuição Existem três tipos de expressões, dependendo dos tipos dos operadores e das variáveis envolvidas, que são: aritméticas, lógicas e literais Expressões aritméticas Uma expressão aritmética é aquela cujos operadores são aritméticas e cujos operandos são constantes e/ou variáveis numéricas. A notação é semelhante àquela utilizada para representar uma fórmula como, por exemplo, (b 2-4ac), cos(2 + x) ou massa x velocidade. O símbolo é usado para atribuir o resultado de uma expressão a uma variável, ou seja, <variável> <expressão> Por exemplo, velocidade deslocamento/tempo. A seguir apresentam-se algumas funções matemáticas que podem ser usadas na elaboração dos algoritmos, pois consideram-se predefinidas: Funções trigonométricas: sen (seno), cos (coseno), tan (tangente) e sec (secante) Funções exponenciais: exp (exponencial), log 10 (logaritmo decimal), log e (logaritmo natural) e raiz 2 (raiz quadrada). Funções numéricas: abs (valor absoluto), arredonda (arredonda para o inteiro mais próximo), max (maior valor), min (menor valor), quociente (divisão inteira), sinal (sinal(x) = 1, se x > 0; 0, se x = 0; -1, se x < 0), resto (resto de divisão inteira) e trunca (arredonda para baixo) Expressões lógicas Uma expressão lógica é aquela cujos operadores são valores lógicos e cujos operandos são relações e/ou variáveis do tipo lógico. Uma relação é uma comparação realizada entre valores do mesmo tipo. A natureza da comparação é indicada por um operador relacional definido conforme a tabela que se segue, sendo que o resultado de uma relação ou de uma expressão lógica é verdadeiro (V) ou falso (F). Os operadores relacionais são os seguintes: > (maior que), (maior ou igual a), < (menor que), (menor ou igual a), = (igual a) e (diferente de). 14

15 Elaboração de algoritmos Expressões literais Uma expressão literal é formada por operadores literais e operandos, os quais são constantes e/ou variáveis do tipo literal. O caso mais simples de uma expressão literal é uma constante literal, que é constituída por uma cadeia de carateres delimitada por aspas. Por exemplo, mensagem matriz singular em que mensagem é uma variável literal e "matriz singular" uma constante literal Comandos de entrada e saída O comando leia: <lista-de-variáveis> é usado para indicar que a <lista-de-variáveis> está disponível para leitura nalgum dispositivo externo. Por sua vez, o comando escreva: <lista-de-variáveis> deve ser utilizado para indicar onde certos valores de interesse estão disponíveis no programa e devem ser escritos nalgum dispositivo externo. Compete ao programador decidir pela ampliação da <lista-de-variáveis> ou mesmo a omissão do comando escreva Estruturas condicionais O uso de uma estrutura condicional torna possível a escolha dos comandos a serem executados quando certa condição for satisfeita ou não, possibilitando, desta forma, alterar o fluxo natural de comandos. Esta condição é representada por uma expressão lógica, sendo que as estruturas condicionais podem ser simples ou compostas Estrutura condicional simples Esta estrutura apresenta a seguinte forma: se <condição> então <comandos> fim_se Neste caso, a sequência de <comandos> será executada se e só se a expressão lógica <condição> tiver como resultado o valor verdadeiro Estrutura condicional composta Quando houver duas alternativas possíveis, deve ser usada uma estrutura da seguinte forma: se <condição> então <comandos_1> senão <comandos_2> fim_se 15

16 Elaboração de algoritmos Se a expressão lógica <condição> tiver como resultado o valor verdadeiro, então será executada apenas a sequência <comandos_1> (a sequência <comandos_2> não será executada). Por outro lado, se o resultado de <condição> for falso, então a sequência <comandos_1> será a única a ser executada Estruturas de repetição Uma estrutura de repetição faz com que uma sequência de comandos seja executada repetidamente até que uma dada condição de interrupção seja satisfeita. Existem, basicamente, dois tipos de estruturas de repetição, atendendo a se o número de repetições é indefinido ou definido Número indefinido de repetições Este tipo de estrutura de repetição apresenta a seguinte forma: repita <comandos_1> se <condição> então interrompa fim_se <comandos_2> fim_repita <comandos_3> O comando interrompa faz com que o fluxo de execução seja transferido para o comando imediatamente a seguir a fim_repita (a sequência <comandos_3>). Assim, as sequências <comandos_1> e <comandos_2> serão repetidas até que a expressão lógica <condição> resulte no valor verdadeiro. Quando isso ocorrer, a repetição será interrompida (<comandos_2> não será realizada) e a sequência <comandos_3> será executada. A forma "repita... fim_repita" é o caso geral de uma estrutura de repetição "repita... até". Se a sequência <comandos_1> não existir, ter-se-á uma estrutura de repetição com interrupção no início (estrutura "enquanto... faz"). Da mesma forma, se não houver a sequência <comandos_2>, então será uma estrutura com interrupção no final (estrutura "repita... até") Número definido de repetições Quando se conhece com antecedência quantas vezes a sequência de comandos deve ser repetida, pode ser usado o seguinte tipo de estrutura de repetição: para <controle> <valor-inicial> até <valor-final> passo <delta> faça <comandos> fim_para 16

17 Elaboração de algoritmos Nesta estrutura, é atribuído inicialmente à variável <controle> o valor de <valor-inicial> e verificado se ele é maior do que o <valor-final>: se for maior, então a sequência <comandos> não será executada; se for menor ou igual, então a sequência <comandos> será executada e a variável <controle> será incrementada com o valor de <delta>. Novamente, é verificado se a variável <controle> é maior do que o <valor-final>: se não for maior, então a sequência <comandos> será executado; e assim sucessivamente. As repetições processam-se até que a variável <controle> seja maior do que o <valor-final>. Se o incremento <delta> tem o valor 1, o passo <delta> pode ser omitido desta estrutura de repetição Falha no algoritmo O comando abandone é usado para indicar que haverá uma falha evidente na execução do algoritmo; por exemplo, uma divisão por zero, ou o uso inapropriado de parâmetros. Neste caso, a execução será cancelada através do comando abandone Exemplos de algoritmos Problema 1: Dado um vetor x com n componentes (elementos), elaborar um algoritmo para determinar a média aritmética x e o desvio padrão s dos seus elementos, sabendo que n x = 1 n i=1 x i, e s = 1 n 1( n 2 1 x i i=1 n( i=1 n x i)2). Algoritmo Média_desvio { Objetivos: Calcular média aritmética e desvio padrão } parâmetros de entrada: n, x { tamanho e elementos do vetor } parâmetros de saída: Média, DesvioPadrão Soma 0 Soma2 0 para i 1 até n faça Soma Soma + x(i) Soma2 Soma2 + x(i) 2 fim_para Média Soma / n DesvioPadrão raiz 2 ((Soma2 (Soma 2 / n)) / (n-1)) escreva: Média, DesvioPadrão fim_algoritmo 17

18 Elaboração de algoritmos Problema 2: Implementar um algoritmo para calcular a norma-2 (norma Euclidiana) de um vetor x de tamanho n, definida pela seguinte expressão: x 2 = i=1 n x i 2. Algoritmo Norma2 { Objetivos: Calcular a norma-2 (Euclidiana) de um vetor } parâmetros de entrada: n, x { tamanho e elementos do vetor } parâmetros de saída: N2 { norma-2 do vetor } Soma 0 para i 1 até n faça Soma Soma + (abs(x(i))) 2 fim_para N2 raiz2(soma) escreva: N2 fim_algoritmo Problema 3: Implementar um algoritmo para calcular a norma- (norma de máxima magnitude) de um vetor x de tamanho n, definida pela seguinte expressão: x = max 1 i n x i. Algoritmo NormaInf { Objetivos: Calcular a norma- de um vetor } parâmetros de entrada: n, x { tamanho e elementos do vetor } parâmetros de saída: Ninf { norma- do vetor } Ninf abs(x(1)) para i 2 até n faça se abs(x(i)) > Ninf então Ninf abs(x(i)) fim_se fim_para escreva: Ninf fim_algoritmo 18

19 Elaboração de algoritmos 6.9. Complexidade computacional É usual definir-se uma função de complexidade para medir o custo de execução de um algoritmo. Esta função tanto pode ser uma medida do tempo necessário para executar o algoritmo que resolve um problema de tamanho n, como o espaço de memória requerido para esta execução. Como os algoritmos aqui estudados são polinomiais e as operações aritméticas têm diferentes tempos de execução pelo computador, a função de complexidade será definida, separadamente, para a adição/subtração, multiplicação e divisão. A complexidade computacional de um algoritmo refere-se à estimativa do esforço computacional despendido para resolver o problema, sendo medido pelo número de operações aritméticas e lógicas efetuadas para resolver um sistema linear de ordem n. Os problemas possuem complexidade computacional, podendo ser enquadrados em dois grupos: grupo composto pelos algoritmos polinomiais, sendo a função de complexidade da forma: O(c n p n + c n-1 p n c 1 p 1 + c 0 ). grupo formado pelos algoritmos exponenciais, sendo a função de complexidade da forma: O(c n ), c > 1. Como exemplo, considere-se o polinómio de Lagrange de grau n definido da seguinte forma: n L n (x) = i=0 n y i j=0 j i x x j x i x j. Expandindo, resulta a Expressão 1 seguinte: L n (x) = y 0 x x 1 x 0 x 1 x x 2 x 0 x 2... x x n x 0 x n cujo algoritmo é o seguinte: + y n x x 0 x n x 0 x x 1 x n x 1... x x n 1 x n x n 1 Algoritmo Lagrange_Expressão_1 { Objetivos: Interpolar usando polinómio de Lagrange } parâmetros de entrada: m, x, y, z { nº de pontos, abcissas, ordenadas e valor a interpolar } parâmetros de saída: r { valor interpolado } r 0 para i 1 até m faça p y(i) para j 1 até m faça se i j então 19

20 Elaboração de algoritmos p p * ( (z x(j)) / (x(i) x(j)) ) fim_se fim_para r r + p fim_para escreva: r fim_algoritmo Considerando que o número de pontos m usados na interpolação é igual a n+1, onde n é o grau do polinómio, então a complexidade computacional do algoritmo é: m Adições: 2(m 1) +1 = 2(m 2 2m +m) = 2(n +1) 2 (n +1) = 2n 2 +3n +1 ; i=1 m Multiplicações: (m 1) = m 2 m = (n +1) 2 (n +1) = n 2 +n ; m i=1 Divisões: (m 1) = (m 2 m) = (n +1) 2 (n +1) = n 2 +n i=1 O polinómio de Lagrange também pode ser expandido de modo a resultar a Expressão 2 seguinte: L n (x) = y 0 (x x 1 ) (x x 2 )... (x x n ) (x 0 x 1 ) (x 0 x 2 )... (x 0 x n ) + + y 1 (x x 0 ) (x x 2 )... (x x n ) (x 1 x 0 ) (x 1 x 2 )... (x 1 x n ) y n (x x 0 ) (x x 1 )... (x x n 1 ) (x n x 0 ) (x n x 1 )... (x n x n 1 ) Ao analisar-se a complexidade computacional do algoritmo desta expressão, verifica-se que o número de adições é o mesmo e o de multiplicações é da mesma ordem (n 2 ). No entanto, o número de divisões utilizadas na Expressão 2 é de uma ordem grandeza a menos (n). O polinómio de Lagrange serve para exemplificar que uma mesma notação matemática pode resultar em algoritmos de diferentes complexidades. Isto deve estar presente ao elaborar-se um algoritmo. 20

- A Computação Científica é uma área de estudo que, utilizando computadores, se interessa

- A Computação Científica é uma área de estudo que, utilizando computadores, se interessa Definição Definição - A é uma área de estudo que, utilizando computadores, se interessa - pela construção de modelos matemáticos e - pelas técnicas para determinar soluções numéricas na análise e resolução

Leia mais

1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante.

1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. 1. Computação numérica 1.1 Etapas na solução de um problema. 1.2 Notação algorítmica. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. Algoritmos Numéricos Cap.1: Computaç~ao numérica Ed1.0 c 2001

Leia mais

Algoritmos Numéricos 2 a edição

Algoritmos Numéricos 2 a edição Algoritmos Numéricos 2 a edição Capítulo 1: Computaç~ao numérica c 2009 FFCf 2 Capítulo 1: Computação numérica 1.1 Etapas na solução de um problema 1.2 Notação algorítmica 1.3 Notação matemática 1.4 Complexidade

Leia mais

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,

Leia mais

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage. Introdução à Programação

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage. Introdução à Programação Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage Introdução à Programação Construção de Algoritmos Algoritmo é uma seqüência finita de ações que descrevem como um problema

Leia mais

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35 BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma

Leia mais

CONCEITOS DE ALGORITMOS

CONCEITOS DE ALGORITMOS CONCEITOS DE ALGORITMOS Fundamentos da Programação de Computadores - 3ª Ed. 2012 Editora Prentice Hall ISBN 9788564574168 Ana Fernanda Gomes Ascênsio Edilene Aparecida Veneruchi de Campos Algoritmos são

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

6.Elaboração de algoritmos...13

6.Elaboração de algoritmos...13 Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de

Leia mais

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado.. Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Introdução aos Algoritmos A única diferença entre o difícil e o impossível é que o último demora um pouco mais de

Leia mais

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel Algoritmos - 1 Alexandre Diehl Departamento de Física - UFPel Conceitos básicos Computador: conceito clássico (até quando????) HARDWARE (partes físicas) SOFTWARE (programas) SCEF 2 Conceitos básicos Computador:

Leia mais

Curso Profissional de Nível Secundário

Curso Profissional de Nível Secundário Curso Profissional de Nível Secundário Técnico Auxiliar de Saúde 2 TAS Ano Letivo: 2014/2015 Matemática (200 horas) 11º Ano PLANIFICAÇÃO A LONGO PRAZO A7 Probabilidades Fenómenos aleatórios. 2 aulas Argumento

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Introdução a Lógica de Programação

Introdução a Lógica de Programação Introdução a Lógica de Programação O processo de programação é uma conversa controlada entre um ser humano (tecnicamente preparado) e um computador Linguagem Linguagem de baixo nível Grande dificuldade,

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

Noções de algoritmos - Aula 1

Noções de algoritmos - Aula 1 Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir

Leia mais

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Créditos Introdução à Ciência da Computação Tópicos Preliminares em Programação Exceto por adaptações e complementos menores, o material a seguir é composto de slides gentilmente cedidos por: Prof. Rudinei

Leia mais

Portugol. Tiago Alves de Oliveira

Portugol. Tiago Alves de Oliveira Portugol Tiago Alves de Oliveira Revisando Algoritmo: Sequência finita de passos que levam à execução de uma tarefa Claro e preciso. Ex. somar dois números Algoritmo precisa seguir uma sequência lógica

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

TIPOS DE DADOS E VARIÁVEIS

TIPOS DE DADOS E VARIÁVEIS AULA 3 TIPOS DE DADOS E VARIÁVEIS 3.1 Tipos de dados Os dados manipulados por um algoritmo podem possuir natureza distinta, isto é, podem ser números, letras, frases, etc. Dependendo da natureza de um

Leia mais

ESTRUTURA CONDICIONAL E SELEÇÃO

ESTRUTURA CONDICIONAL E SELEÇÃO Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 04/2014 Zeros reais de funções Parte 1 Objetivo Determinar valores aproximados para as soluções (raízes) de equações da

Leia mais

ESCOLA SECUNDÁRIA DE LOUSADA

ESCOLA SECUNDÁRIA DE LOUSADA ESCOLA SECUNDÁRIA DE LOUSADA 2012 2013 PLANIFICAÇÃO DA DISCIPLINA DE MATEMÁTICA Curso Profissional de Técnico de Multimédia ELENCO MODULAR A7 Probabilidades 28 A6 Taxa de variação 36 A9 Funções de crescimento

Leia mais

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Introdução ao SciLab. SciLab O que é? Onde obter o programa: Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010

Leia mais

TE231 Capitulo 2 Zeros de Funções; Prof. Mateus Duarte Teixeira

TE231 Capitulo 2 Zeros de Funções; Prof. Mateus Duarte Teixeira TE231 Capitulo 2 Zeros de Funções; Prof. Mateus Duarte Teixeira Sumário 1. Como obter raízes reais de uma equação qualquer 2. Métodos iterativos para obtenção de raízes 1. Isolamento das raízes 2. Refinamento

Leia mais

VETORES Motivação AULA 19

VETORES Motivação AULA 19 AULA 19 VETORES 19.1 Motivação Considere o problema de calcular a média aritmética das notas de 5 alunos de uma disciplina e determinar e escrever o número de alunos que obtiveram nota superior à média

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente

Leia mais

Cálculo Numérico BCC760

Cálculo Numérico BCC760 Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita

Leia mais

Capítulo 1 Conceitos Básicos

Capítulo 1 Conceitos Básicos Capítulo 1 Conceitos Básicos Licenciatura em Computação Fundamentos de Lógica para Programação Prof. Nícolas Trigo nicolas.trigo@ifsertao-pe.edu.br http://professor.ifsertao-pe.edu.br/nicolas.trigo Introdução

Leia mais

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

- Aula 01, 02, 03 e 04 Apresentação da disciplina. 1 - Aula 01, 02, 03 e 04 Apresentação da disciplina. Disciplina: Algoritmos (Disciplina é pré-requisito para outras disciplinas). Plano de Ensino: Estrutura Sequencial, Estrutura de Decisão (Desvio Condicional

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

INF1005: Programação I. Capítulo 2. Ivan Mathias Filho Algoritmo

INF1005: Programação I. Capítulo 2. Ivan Mathias Filho Algoritmo INF1005: Programação I Capítulo 2 Ivan Mathias Filho ivan@inf.puc-rio.br 1 Algoritmo Devido às características da CPU, a solução de um problema tem a forma de uma seqüência finita de instruções elementares;

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída

Leia mais

Algoritmo e Programação Matemática

Algoritmo e Programação Matemática Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Expressando a lógica em programação Ferramentas gráficas: diagramas e fluxogramas; Ferramentas textuais: pseudocódigos ou metalinguagens (Português

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 04/2014 Zeros reais de funções Parte 1 Objetivo Determinar valores aproximados para as soluções (raízes) de equações da

Leia mais

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima: Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.

Leia mais

Metodologia da Investigação Operacional

Metodologia da Investigação Operacional Metodologia da Investigação Operacional Filipe Pereira e Alvelos falvelos@dps.uminho.pt www.dps.uminho.pt/pessoais/falvelos Universidade do Minho Escola de Ciências / Escola de Engenharia Licenciatura

Leia mais

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução. Capítulo 7 Controle de Fluxo de Execução Até o momento os algoritmos estudados utilizam apenas instruções primitivas de atribuição, e de entrada e saída de dados. Qualquer conjunto de dados fornecido a

Leia mais

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões Processamento de Dados aplicado à Geociências 1 AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Fluxograma e pseudocódigo Elementos de um fluxograma Pseudocódigo

Leia mais

SEBENTA INTRODUÇÃO Á ALGORITMIA

SEBENTA INTRODUÇÃO Á ALGORITMIA SEBENTA INTRODUÇÃO Á ALGORITMIA O desenvolvimento de programas para computador está sempre baseado na tarefa de programar um computador para seja resolvido um problema ou executada uma função e assim dar

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 2ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 2ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 2ª Parte Prof. Sandra Pais Soares Introdução à Lógica de Programação A elaboração de um

Leia mais

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006 Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma

Leia mais

EXPRESSÕES ARITMÉTICAS PARTE 1

EXPRESSÕES ARITMÉTICAS PARTE 1 AULA 5 EXPRESSÕES ARITMÉTICAS PARTE 1 5.1 Operadores aritméticos Os operadores aritméticos definem as operações aritméticas que podem ser realizadas sobre os números inteiros e reais. Para os inteiros,

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Etapas para o desenvolvimento de um programa Analise: estudo do problema para determinação dos dados de entrada, do processamento

Leia mais

Introdução a programação Visão geral

Introdução a programação Visão geral Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Visão geral Professor: Saulo Henrique Cabral Silva Conceitos lógica/algoritmo A lógica é usada no dia a dia das pessoas para

Leia mais

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior LÓGICA DE PROGRAMAÇÃO Algoritmos Computacionais Sérgio Carlos Portari Júnior portari.uemgfrutal@gmail.com Tópicos abordados Algoritmos Computacionais Estrutura de Dados Tipos Primitivos Constantes Variáveis

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

LINGUAGEM ALGORÍTMICA

LINGUAGEM ALGORÍTMICA LINGUAGEM ALGORÍTMICA Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto Linguagem Computacional Introdução! Para uma melhor padronização de nosso estudos, vamos agora definir uma linguagem

Leia mais

ALGORITMOS AULA 2. Profª Amanda Gondim

ALGORITMOS AULA 2. Profª Amanda Gondim ALGORITMOS AULA 2 Profª Amanda Gondim LINEARIZAÇÃO DE EXPRESSÕES Para a construção de algoritmos que realizam cálculo matemáticos, todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas

Leia mais

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para

Leia mais

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel Algoritmos - 2 Alexandre Diehl Departamento de Física - UFPel Pseudocódigo Também chamada de de linguagem estruturada, reune um conjunto de de ações (ou comandos), usando uma linguagem simples e genérica,

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

2. Complexidade de Algoritmos

2. Complexidade de Algoritmos Introdução à Computação II 5952011 2. Complexidade de Algoritmos Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2.1. Introdução 2.1.1. Revisão de Pseudo-Código 2.1.2.

Leia mais

MATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26

MATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26 AULA 26 MATRIZES - PARTE 2 26. Mais exemplos Nesta aula, veremos mais dois algoritmos envolvendo matrizes. O primeiro deles calcula a matriz resultante da multiplicação de duas matrizes e utiliza três

Leia mais

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Este guia irá lhe ajudar a entender o laço de repetição

Leia mais

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima: Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.

Leia mais

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo

Leia mais

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas 4.1 Objetivo: O objetivo desta aula é exercitar a lógica de programação através do desenvolvimento e simulação

Leia mais

Teoria da computabilidade Indecidíveis Decidíveis

Teoria da computabilidade Indecidíveis Decidíveis Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21 AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Conceitos Básicos Profa. Márcia Cristina Moraes Profa.Milene Selbach Silveira Material para estudo: Forbellone, A. e Eberspächer, H. (2005) capítulos 1 e 2 (até atribuição)

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares Algoritmo e Programação Capítulo 2 Tópicos Preliminares Tópicos Preliminares Neste capítulo Tipos Primitivos Variáveis Expressões Aritméticas, Lógicas e Relacionais Comandos de Entrada e Saída Blocos Tópicos

Leia mais

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação: estruturas de repetição 1 Imagine um algoritmo para calcular a média de uma quantidade desconhecida de números Para

Leia mais

Cálculo Numérico Noções básicas sobre erros

Cálculo Numérico Noções básicas sobre erros Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo

Leia mais

Engenharia de resolução de problemas

Engenharia de resolução de problemas Engenharia de resolução de problemas O processo de resolução de um problema pode ser visto como uma seqüência de passos que devem ser definidos e aprimorados, até que o modelo escolhido para sua representação

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho hbarbalho@ic.uff.br Material produzido pelo professor: Leandro Augusto Frata Fernandes (laffernandes@ic.uff.br)

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

Estruturas de Repetição. João Medeiros FATERN

Estruturas de Repetição. João Medeiros FATERN Estruturas de Repetição João Medeiros FATERN 2010.2 Quais seriam os passos do algoritmo? 1. colocar café solúvel na xícara 2. colocar água quente 3. Colocar açucar na xícara 4. mexer 5. mexer 6. mexer

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: aninhada, seleção de casos e outras. Aula 06 Prof. Piva Exercício... Faça um algoritmo que leia dois números inteiros e

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Exercício - Seleção Escreva um algoritmo que leia o ano, mês e dia que uma pessoa nasceu

Leia mais

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

INFORMÁTICA APLICADA AULA 03 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 03 ALGORITMOS Profª ª Danielle Casillo LINEARIZAÇÃO DE EXPRESSÕES Para a construção de algoritmos

Leia mais

MATEMÁTICA - 8.º Ano. Ana Soares ) Catarina Coimbra

MATEMÁTICA - 8.º Ano. Ana Soares ) Catarina Coimbra Salesianos de Mogofores - 2016/2017 MATEMÁTICA - 8.º Ano Ana Soares (ana.soares@mogofores.salesianos.pt ) Catarina Coimbra (catarina.coimbra@mogofores.salesianos.pt ) Rota de aprendizage m por Projetos

Leia mais

Técnicas de Programação

Técnicas de Programação Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações

Leia mais

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação Linguagens de Programação I Introdução a Algoritmos e Lógica de Programação 1 INTRODUÇÃO Que é um programa de computador? Um programa de computador é o produto resultante da atividade intelectual de um

Leia mais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

Estruturas de Dados Algoritmos

Estruturas de Dados Algoritmos Estruturas de Dados Algoritmos Prof. Eduardo Alchieri Algoritmos (definição) Sequência finita de instruções para executar uma tarefa Bem definidas e não ambíguas Executáveis com uma quantidade de esforço

Leia mais

Apêndice A. Pseudo-Linguagem

Apêndice A. Pseudo-Linguagem Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,

Leia mais

Aula 10: Introdução a Vetores e Matrizes

Aula 10: Introdução a Vetores e Matrizes Aula 10: Introdução a Vetores e Matrizes Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Vetores e Matrizes Programação de Computadores IV 1 / 50 Agenda

Leia mais

Programação Estruturada Aula VisualG

Programação Estruturada Aula VisualG Programação Estruturada Aula VisualG Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 CRIANDO ALGORITMO CRIANDO ALGORITMO Passos para construir Algoritmos Ler enunciado do problema, compreendendo-o

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Introdução ao FORTRAN Cinco aspectos

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Lógica de Programação Conceitos Algoritmos Conjunto predeterminado e bem definido de regras e processos destinados a solução de um problema, com um número finito de etapas. 2 1

Leia mais

É neste ponto que entra o conceito de lógica de programação.

É neste ponto que entra o conceito de lógica de programação. AULA 01 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo, em afirmar que ela seja a ciência da verdade.

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação Universidade Federal de Uberlândia Faculdade de Computação Conceitos básicos de algoritmos Prof. Renato Pimentel 1 Computação Dados Informações vindas de usuários ou de outras máquinas; Processamento transformação

Leia mais

Algoritmos 3/17/ Algoritmos como área de estudo e investigação

Algoritmos 3/17/ Algoritmos como área de estudo e investigação Algoritmos e Complexidade Ana Teresa Freitas INESC-ID/IST ID/IST 3/17/2005 1 O que é um algoritmo? Algoritmos: Sequência de instruções necessárias para a resolução de um problema bem formulado [passíveis

Leia mais

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1 Prof. Tiago Alves de Oliveira tiagofga@gmail.com 1 Operadores Aritméticos; Operadores Relacionais; Operadores Lógicos; Operador MOD Calcula o resto da divisão Estrutura X MOD 2 = 0 verifica se o resto

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais