joane

225 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
225
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

joane

  1. 1. 1-O que é linguagem de programação Podemos imaginar o computador como uma super calculadora, capaz de fazer cálculos muito mais rápido que nós, mas para isso devemos dizer para o computador o que deve ser calculado e como deve ser calculado. A função das linguagens de programação é exatamente essa, ou seja, servir de um meio de comunicação entre computadores e humanos. Existem dois tipos de linguagens de programação: as de baixo nível e as de alto nível. Os computadores interpretam tudo como números em base binária, ou seja, só entendem zero e um. As linguagens de baixo nível são interpretadas diretamente pelo computador, tendo um resultado rápido, porém é muito difícil e incômodo se trabalhar com elas. Existem algumas linguagens de programação que não necessitam de compiladores, como o PHP, uma linguagem dedicada à produção de websites dinâmicos, como o InfoEscola. As instruções em PHP são compiladas e executadas ao mesmo tempo. Exemplo de código PHP (alto nível) print ("Bem vindos visitantes do InfoEscola!"); print (" Vamos contar até 50:"); for($x=1;$x<=50;$x++) { print $x; print " "; } if(4 == 2) { print ("Fim do mundo! 4 é igual a 2!"); } else { print ("Ufa! 4 é diferente de 2"); } ?> Cada linguagem de programação é diferente da outra, contendo palavras-chave próprias. Exemplos de linguagens de alto nível são C++, Java, C#, Delphi (Pascal), PHP, Visual Basic, etc.
  2. 2. 2- O que é linguagem de Alto Nível e exemplos Antes de entrar nesse tema, é necessário entender o que é uma linguagem de programação. A gente ouve por aí: Java, SQL, C, C++, Assembly, Basic e muitas outras palavras relacionadas às linguagens de programação. Podemos dizer que a linguagem de programação é uma forma de determinarmos como um dispositivo deve trabalhar. É como se déssemos ordens para esses dispositivos que podem ser simples, como por exemplo, um carregador de pilhas ou mais complexos como um computador. Cada linguagem de programação foi criada com algum objetivo, como por exemplo, facilidade de escrita, facilidade de manutenção, melhora da performance do dispositivo, etc. Quando falamos em níveis, podemos dizer que uma linguagem de alto nível está muito mais próxima do programador do que do dispositivo, ou seja, é uma linguagem muito mais intuitiva. Existem linguagens onde é feito um diagrama e esse diagrama que nada mais é do que um desenho é convertido para uma linguagem de programação pré-selecionada. Essa é uma linguagem bem mais amigável ao programador devido à sua facilidade de entendimento. Um exemplo de linguagem de alto nível é a linguagem SDL (Specification Design Language). 3- Programações Estruturadas A programação estruturada estabelece uma disciplina de desenvolvimento de algoritmos que facilita a compreensão de programas através do número restrito de mecanismos de controle da execução de programas. Qualquer algoritmo, independentemente da área de aplicação, de sua complexidade e da linguagem de programação na qual será codificado, pode ser descrito através destes mecanismos básicos. O princípio básico de programação estruturada é que um programa é composto por blocos elementares de código que se interligam através de três mecanismos básicos, que são seqüência, seleção e iteração. Cada uma destas construções tem um ponto de início (o topo do bloco) e um ponto de término (o fim do bloco) de execução.
  3. 3. Seqüência implementa os passos de processamento necessários para descrever qualquer programa. Por exemplo, um segmento de programa da forma ``faça primeiro a Tarefa a e depois a Tarefa b'' seria representado por uma seqüência de dois retângulos. A mesma contrução em pseudo-linguagem seria denotada pela expressão das duas tarefas, uma após a outra. [fluxograma] [pseudo-linguagem] Figura: Construção estruturada: seqüência. Seleção especifica a possibilidade de selecionar o fluxo de execução do processamento baseado em ocorrências lógicas. Há duas formas básicas de condição. A primeira forma é a construção IF, que permite representar fluxos da forma ``se a condição lógica x for verdadeira, faça a Tarefa a; senão (isto é, se a condição x for falsa), faça a Tarefa b.'' Na representação em fluxograma, as duas setas que saem do losango de condição recebem rótulos T e F para indicar o fluxo de execução quando a condição especificada é verdadeira ou falsa, respectivamente. O retângulo sob a seta rotulada T normalmente é denominado o bloco then da construção, enquanto que o outro retângulo é denominado bloco else. [fluxograma] [pseudo-linguagem] Figura: Construção estruturada: seleção IF.
  4. 4. A outra forma de seleção estende o número de condições que podem ser avaliadas para definir o fluxo de execução. Esta construção, SWITCH permite representar fluxos da forma ``se a variável y tem o valor 1, faça a Tarefa a; se y tem o valor 2, faça a Tarefa b; se tem o valor 0, faça a Tarefa c; para qualquer outro valor, faça Tarefa d.'' Observe que a construção SWITCH não é essencial, uma vez que ela pode ser representada em termos da seleção com IF, como em Entretanto, a utilização de estruturas SWITCH simplifica a expressão de situações que ocorrem frequentemente em programas -- por exemplo, selecionar ações dependendo de uma opção escolhida em um menu -- sem ter que recorrer ao aninhamento excessivo de condições da forma IF. No entanto, essa condição está restrita a condições lógicas envolvendo exclusivamente testes de igualdade. [fluxograma] [pseudo-linguagem]
  5. 5. Figura: Construção estruturada: seleção SWITCH. Iteração permite a execução repetitiva de segmentos do programa. Na forma básica de repetição, WHILE uma condição lógica é verificada. Caso seja verdadeira, o bloco de tarefas associado ao comando é executado. A condição é então reavaliada; enquanto for verdadeira, a tarefa é repetidamente executada. [fluxograma] [pseudo-linguagem] Figura: Construção estruturada: repetição WHILE. Uma variante dessa construção é apresentada na, onde inicialmente a tarefa é executada e apenas então a condição de repetição é avaliada; quando a condição torna-se verdadeira, a iteração é encerrada. [fluxograma] [pseudo-linguagem]
  6. 6. Figura: Construção estruturada: repetição REPEAT UNTIL. Tipicamente, a estratégia de desenvolvimento top-down é utilizada na descrição algorítmica de procedimentos. Neste caso, um retângulo ou uma linha de pseudo-código pode descrever uma tarefa tão complexa quanto necessário, sendo que esta tarefa pode ser posteriormente descrita em termos de outro(s) fluxograma(s) ou pseudo-código(s). Em geral, são aplicados tantos refinamentos quantos forem necessários até atingir um ponto em que uma tarefa possa ser facilmente descrita em termos das construções suportadas pela linguagem de codificação. 4- Programações Lineares A programação linear, no campo da programação matemática, é uma área da pesquisa operacional com vasta aplicação em apoio à decisão. O termo “programação”, tanto linear quanto matemática, não tem a ver diretamente com programação de computadores, ou linguagem de programação. Este termo tem origem em suas aplicações, originalmente desenvolvido para resolver problemas industriais. Assim, o termo “programação” da programação linear está relacionado ao planejamento de recursos escassos visando atender as condições operacionais. Estas, por sua vez, são representadas por equações e funções lineares. A aplicação da programação linear em apoio à decisão ocorre na condição que se decide para atingir um objetivo. Este, por sua vez, é resultante da alocação ótima dos recursos. Por isso caracterizamos a programação linear como uma técnica de otimização. No problema de otimização em siderurgia, por exemplo, buscamos determinar a alocação ótima dos recursos de produção de forma a atender as limitações de capacidades de cada usina e maximizar o lucro resultante. Tanto a função de maximizar o lucro quanto as restrições de capacidade de cada planta são representados por funções lineares. Neste exemplo, o tomador de decisão pode escolher diversas combinações de alocação de seus produtos, no entanto apenas uma combinação é a mais lucrativa. Esta e a combinação ótima que maximiza o lucro, uma função linear, do problema de programação linear.
  7. 7. Programação linear: equações e funções são lineares Embora originalmente o tempo “programação” de programação linear não tem a ver diretamente com programação de computadores, os problemas reais não podem ser resolvidos manualmente, dada a dimensão de problemas reais. Com a evolução da tecnologia de hardware e software, os algoritmos de programação linear são implementados em uma linguagem computacional para viabilizar a resolução de problemas reais em menor tempo. A programação linear, dessa forma, teve seu desenvolvimento junto com o desenvolvimento dos computadores, a partir da década de quarenta. A programação linear é uma das técnicas mais usadas dentre outras grandes áreas da pesquisa operacional, como simulação, teoria de filas, programação dinâmica, teoria dos jogos. O problema de programação linear foi inventado pelo matemático Russo L. Kantorovich em 1939. L. Kantorovich e T. Koopmans ganharam o prêmio Nobel por suas contribuições à teoria de alocação ótima de recursos. No entanto, o algoritmo mais utilizado para resolver problemas de programação linear é o simplex e suas variações (primal simplex, dual simplex, simplex revisado) formalizado por George Dantzig em 1947 enquanto trabalhava no projeto de computação científica de otimização SCOOP (Scientific Computation of Optimal Programs) na RAND (Research and Development) Corporation para a Força Aérea Americana. Diversas áreas utilizam a programação linear para apoio a decisão. Dentre as áreas de aplicação estão: (i) planejamento logístico de frotas e rotas, (ii) planejamento da produção de longo, médio e curto prazo, (iii) decisão em escolha de mix de produtos em manufatura, (iv) estratégias operacionais em
  8. 8. mineração, siderurgia, petroquímicas, agricultura, (v) decisão de localização de facilidade ou instalação de fábricas ou centros de distribuição, (vi) decisão em finanças na escolha da melhor carteira deINVESTIMENTOS , entre outros. T. Koopmans, G.Dantzig e L. Kantorovich 5- Programações Orientadas a Objetos Orientação a objetos em uma definição formal, é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. Ou seja, é um modelo utilizado no desenvolvimento de software onde trabalhamos com unidades chamadas objetos (que serão explicados mais adiante). Este modelo visa, principalmente, organização, desempenho, sustentabilidade e reutilização do software. Como veremos, a orientação a objetos visa um pensamento o mais próximo possível da vida real. Ao programar orientado a objetos não teremos apenas funções que são chamadas uma seguida da outra, mas sim objetos que possuem estado e comportamento. Tudo isso será melhor detalhado no decorrer dos capítulos do livro. A Programação Orientada a Objetos (POO), foi criada para tentar aproximar o mundo real e o mundo virtual: a ideia fundamental é tentar simular o mundo real dentro do computador. Para isso, nada mais natural do que utilizar objetos, afinal, nosso mundo é composto de objetos, certo? Na Programação Orientada a Objetos, o programador (você) é responsável por moldar o mundo dos objetos, e definir como os objetos devem interagir entre si. Os objetos "conversam" uns com os outros através do envio de mensagens, e o papel principal do programador é definir quais serão as mensagens que cada objeto pode receber, e também qual a ação que o objeto deve realizar ao receber cada mensagem.
  9. 9. Isso possibilita a criação de códigos com baixo acoplamento (explicado mais adiante) e que podem ser facilmente reutilizados, o que são alguns dos principais motivos para se programar orientado a objetos. O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay, autor da linguagem de programação Smalltalk. Mas mesmo antes da criação do Smalltalk, algumas das idéias da POO já eram aplicadas, sendo que a primeira linguagem a realmente utilizar estas idéias foi a linguagem Simula 67, criada por Ole-Johan Dahl e Kristen Nygaardem 1967. Entretanto só veio a ser aceito realmente nas grandes empresas de desenvolvimento de Software por volta dos anos 90. Alguns exemplos de linguagens orientadas a objetos modernas utilizadas por grandes empresas em todo o mundo são: Java, C#, C++, Object Pascal (Delphi), Ruby, Python, Lisp, etc. A maioria das linguagens que adotaram o paradigma da orientação a objetos adotaram apenas parcialmente, dando espaço para o antigo modelo procedural de programação, como acontece na linguagem C++, por exemplo, onde temos a possibilidade de usar POO, mas a linguagem não força o programador a adotar este paradigma de programação, sendo ainda possível programar da forma procedural tradicional. Este tipo de linguagem segue a idéia de utilizar uma linguagem previamente existente como base e adicionar novas funcionalidades a ela. Outras são mais "puras", sendo construídas do zero focando- se sempre nas idéias por trás da orientação a objetos como é o caso das linguagens Smalltalk, Self e IO, onde tudo é orientado a objetos. 6- Referencias http://www.infoescola.com/informatica/o-que-sao-linguagens-de- programacao/ http://www.infoescola.com/engenharia-de-software/linguagem-de- programacao-de-alto-nivel/ http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node7.html http://www.marcogandra.com.br/2012/08/o-que-e-programacao-linear.html http://pt.wikibooks.org/wiki/Programa%C3%A7%C3%A3o_Orientada_a_ Objetos/Introdu%C3%A7%C3%A3o

×