SlideShare uma empresa Scribd logo
Capítulo 2

LÓGICA DE PROGRAMAÇÃO

      A lógica de programação é necessária para pessoas que desejam trabalhar com
desenvolvimento de sistemas e programas, ela permite definir a seqüência lógica para o
desenvolvimento.
        Então o que é lógica? Lógica de programação é a técnica de encadear pensamentos para
atingir determinado objetivo.


Seqüência Lógica
       Estes pensamentos podem ser descritos como uma seqüência de instruções, que devem
ser seguidas para se cumprir uma determinada tarefa.
      Seqüência Lógica são passos executados até atingir um objetivo ou solução de um
problema.


Instruções
       Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas
definidas para a realização ou emprego de algo”. Em informática, porém, instrução é a
informação que indica a um computador uma ação elementar a executar.
        Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para
isso é necessário um conjunto de instruções colocadas em ordem seqüencial lógica. Por exemplo,
se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma série de
instruções: descascar as batatas, bater os ovos, fritar as batatas, etc...
       É evidente que essas instruções tem que ser executadas em uma ordem adequada – não se
pode descascar as batatas depois de fritá-las. Dessa maneira, uma instrução tomada em separado
não tem muito sentido; para obtermos o resultado, precisamos colocar em prática o conjunto de
todas as instruções, na ordem correta.
       Instruções são um conjunto de regras ou normas definidas para a realização ou emprego
de algo. Em informática, é o que indica a um computador uma ação elementar a executar.


1. CONCEITOS BÁSICOS DE PROGRAMAÇÃO
        Para armazenar um algoritmo na memória de um computador e para que ele possa, em
seguida, comandar as operações a serem executadas, é necessário que ele seja programado, isto
é, que seja transcrito para uma linguagem que o computador possa entender, direta ou
indiretamente.


1.1. LINGUAGENS DE PROGRAMAÇÃO
        Linguagem é uma maneira de comunicação que segue uma forma e uma estrutura com
significado interpretável.
Portanto, linguagem de programação é um conjunto finito de palavras, comandos e
instruções, escritos com o objetivo de orientar a realização de uma tarefa pelo computador.
        Logicamente, a linguagem que nós utilizamos em nosso cotidiano é diferente da linguagem
utilizada pela máquina. A máquina trabalha somente com códigos numéricos (linguagem de
máquina), baseados nos números 0 e 1 (sistema binário), que representam impulsos elétricos,
ausente e presente.
        Assim, qualquer linguagem de programação deve estar situada entre dois extremos: o da
linguagem natural do homem (muito clara, porém lenta) e o da linguagem de máquina (muito
rápida, porém complexa).
     Este é o conceito de nível de linguagem: alto nível para as mais próximas da linguagem
humana; baixo nível para as mais semelhantes à linguagem de máquina.


1.2. TRADUTORES
        Para que um computador possa "entender" um programa escrito em uma linguagem de
alto nível, torna-se necessário um meio de tradução entre a linguagem utilizada no programa e a
linguagem de máquina. Este meio pode ser de dois tipos: compilador e interpretador.


Compilador: traduz o programa escrito em linguagem de alto nível (programa-fonte) para um
programa equivalente escrito em linguagem de máquina (programa-objeto).




Interpretador: traduz e envia para execução, instrução por instrução e o programa permanece na
forma fonte.




1.3. TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
       Existem diversas linguagens de programação, cada uma com suas características
específicas e com níveis de complexidade e objetivos diferentes:
           Linguagem de Máquina
                 Única compreendida pelo computador.
                 Específica de cada computador.
           Linguagens de Baixo Nível
                 Utilizam mnemônicos para representar instruções elementares
 Ex.: Assembly
           Linguagens de Alto Nível
                 Utiliza instruções próximas da linguagem humana de forma a facilitar o
                   raciocínio.
                 Exemplos: Uso científico : Fortran
                               Propósito geral : Pascal, C, Basic
                               Uso comercial : Cobol, Clipper
                               Uso específico : Lisp, Prolog
                               Visuais : Delphi, Visual Basic, Java


1.4. CRITÉRIOS DE QUALIDADE DE UM PROGRAMA
 Integridade: Refere-se à precisão das informações manipuladas pelo programa, ou seja, os
  resultados gerados pelo processamento do programa devem estar corretos, caso contrário o
  programa simplesmente não tem sentido.

 Clareza: Refere-se à facilidade de leitura do programa. Se um programa for escrito com clareza,
  deverá ser possível a outro programador seguir a lógica do programa sem muito esforço, assim
  como o próprio autor do programa entendê-lo após ter estado um longo período afastado dele.
  O Pascal favorece a escrita de programas com clareza e legibilidade.

 Simplicidade: A clareza e precisão de um programa são normalmente melhoradas tornando as
  coisas o mais simples possível, consistentes com os objetivos do programa. Muitas vezes torna-
  se necessário sacrificar alguma eficiência de processamento, de forma a manter a estrutura do
  programa mais simples.

 Eficiência: Refere-se à velocidade de processamento e a correta utilização da memória. Um
  programa deve ter performance SUFICIENTE para atender às necessidades do problema e do
  usuário, bem como deve utilizar os recursos de memória de forma moderada, dentro das
  limitações do problema.

 Modularidade: Consiste no particionamento do programa em módulos menores bem
  identificáveis e com funções específicas, de forma que o conjunto desses módulos e a interação
  entre eles permitem a resolução do problema de forma mais simples e clara.

 Generalidade: É interessante que um programa seja tão genérico quanto possível de forma a
  permitir a reutilização de seus componentes em outros projetos.




2. PARADIGMAS DE PROGRAMAÇÃO
        Um paradigma se define na forma como o programador lida com um determinado
problema. Muitos pensam que as linguagens de programação surgiram em uma escala linear, ou
seja, que na primeira geração delas o homem se adaptava às máquinas e, depois de várias outras
gerações, as linguagens evoluíram umas das outras e capacitaram as máquinas a fazer as
necessidades humanas. Na verdade, as linguagens surgiram em diferentes trajetórias, cada uma
seguindo um determinado paradigma. Além disso, não é verdadeira a proposição que diz que uma
linguagem qualquer é, sem exceção, a evolução da linguagem anterior (historicamente).
As linguagens existentes hoje foram se adaptando a uma única forma de programação e às
linguagens inseridas no mesmo paradigma. Dentre esses paradigmas, vamos conceituar quatro,
que são considerados os principais: paradigma imperativo, lógico, funcional e orientado a
objetos.


2.1. PARADIGMA IMPERATIVO
       “Primeiro faça isso e depois faça aquilo.”
       A frase acima resume o paradigma imperativo, também conhecido como paradigma
procedural. O problema é analisado até que se encontre uma solução. Basicamente, é uma
sequência de comandos que o computador executará, passo-a-passo, modificando dados e
variáveis a fim de chegar ao resultado esperado. Algol, Basic, C e Pascal são algumas das
linguagens de programação que seguem esse paradigma.


2.2. PARADIGMA FUNCIONAL
       “Subdividir o problema em outras funções e resolver cada uma separadamente, pois os
resultados encontrados serão utilizados posteriormente.”
        Sobre o paradigma funcional, é fácil ilustrar através de um fluxograma. Cada bloco recebe
no topo uma entrada de dados e retorna, na base, os dados de saída. A solução geral é dividida em
várias funções (daí o nome funcional) que, no final, se associam para mostrar o resultado na tela.
        No (clássico) fluxograma ao lado, o problema –
fazer a média das notas de N alunos -, é dividido em
duas etapas: a soma das N notas e a atribuição da
quantidade N de alunos à variável contador. Ambos os
resultados, soma das notas e contagem dos alunos,
são utilizados na operação final, que é dividir a soma
das notas pelo número de alunos. É um exemplo muito
simples, mas que, penso eu, foi útil para exemplificar o
conceito.


2.3. PARADIGMA LÓGICO
       “Qual é o problema?”
       O paradigma lógico ou declarativo caracteriza-se pelo método preciso de descrever um
problema, sem se preocupar com qual algoritmo será utilizado para resolvê-lo. A idéia é criar um
algoritmo “universal”, capaz de solucionar qualquer problema. O problema se adapta a esse
algoritmo, e não o contrário. É baseado em axiomas (verdades universais) e regras de inferência.
Prolog é uma linguagem lógica que ilustra essa definição.


2.4. PARADIGMA ORIENTADO A OBJETOS
     “Um conjunto de classes faz a interação entre objetos (instâncias) e, com a troca de
mensagens entre eles, forma-se o software como um todo.”
       Praticamente tudo é objeto, cada qual com estrutura e comportamento próprios. Esses
objetos são classificados em classes e comunicam entre si. Cada uma dessas representa um
determinado fenômeno e seus objetos são organizados hierarquicamente. O conjunto de classes
faz a interação entre objetos e a troca de mensagens entre eles forma o software como um todo.
      Esse paradigma vem ganhando cada vez mais popularidade. Isso se dá devido ao grande
número de vantagens em trabalhar com orientação a objeto, como a flexibilidade do código
quando se trabalha em sistemas de grande porte e com uma maior equipe de programadores.




EXERCÍCIOS PROPOSTOS


Questão 01:
Defina, com suas palavras, os seguintes termos:
a) programa
b) linguagem de programação
c) tradutor


Questão 02:
Qual a diferença entre linguagem de baixo nível e linguagem de alto nível?


Questão 03:
Explique a diferença entre compilador e interpretador.


Questão 04:
Cite e explique com suas palavras os quatro paradigmas tradicionais de programação.

Mais conteúdo relacionado

PDF
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
PDF
Linguagens de programação
PPTX
Aula 01 algoritmo
PPTX
Linguagens de Programação
PDF
Programação 1
PPTX
Linguágens de programação
PDF
1.1.paradigmas
PPTX
Introdução a Linguagem de Programação
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Linguagens de programação
Aula 01 algoritmo
Linguagens de Programação
Programação 1
Linguágens de programação
1.1.paradigmas
Introdução a Linguagem de Programação

Mais procurados (18)

PDF
Linguagens de programação 03-12-09
PPT
Linguagem de programação
PPT
Paradigmas De Linguagem De Programação.
PPTX
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
PDF
Paradigmas de programação
PPTX
02 historia da programação
PPTX
Linguagens de programação
PDF
Introdução ao paradigma imperativo
PPTX
Linguagens de Programação
PPT
Paradigmas de Linguagens de Programacao - Aula #1
PDF
Linguagens de programação
PDF
Paradigmas de Linguagens de Programação
PDF
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
PDF
Paradigmas de Linguagens de Programação - Classificações
PDF
01 aula1 habib
PDF
Conceitos Iniciais de Linguagens de Programação
PPTX
Linguagem da programação
PDF
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Linguagens de programação 03-12-09
Linguagem de programação
Paradigmas De Linguagem De Programação.
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
Paradigmas de programação
02 historia da programação
Linguagens de programação
Introdução ao paradigma imperativo
Linguagens de Programação
Paradigmas de Linguagens de Programacao - Aula #1
Linguagens de programação
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Classificações
01 aula1 habib
Conceitos Iniciais de Linguagens de Programação
Linguagem da programação
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Anúncio

Semelhante a Cap02 (20)

PDF
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
PPTX
Linguagem da programação
PPT
Int. sistemas de informação iii
PDF
Lista exercicios algoritmos
PDF
Paradigmas da programacao apostila
PDF
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
PPTX
Algoritmos - Paradigmas de Programação
PDF
Apostila pascal
PDF
Linguagem de programação estruturada, orientação a objetos
PPT
Técnicas_Implementação
ODP
Aula01 - Analise e Programação
PPT
Logica Programação. ...
PDF
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
PDF
aaa Algoritmo e Logica de Programação.pdf
PPTX
Lógica de programação
DOCX
Algoritmia para o site do 10gi marcelo e ricardo
PDF
Apostila programação "pascalzim"
POTX
LP003 - AULA 2.potx
POTX
LP002 - AULA 1.potx
PDF
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
Linguagem da programação
Int. sistemas de informação iii
Lista exercicios algoritmos
Paradigmas da programacao apostila
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
Algoritmos - Paradigmas de Programação
Apostila pascal
Linguagem de programação estruturada, orientação a objetos
Técnicas_Implementação
Aula01 - Analise e Programação
Logica Programação. ...
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
aaa Algoritmo e Logica de Programação.pdf
Lógica de programação
Algoritmia para o site do 10gi marcelo e ricardo
Apostila programação "pascalzim"
LP003 - AULA 2.potx
LP002 - AULA 1.potx
Anúncio

Mais de mvbahamut (20)

PDF
Cap04
PDF
Cap03
PDF
Cap01
PDF
Cap09
PDF
Cap05
PDF
Cap09
PDF
Cap08
PDF
Cap07
PDF
Cap05
PDF
Cap04
PDF
Cap03
PDF
Cap02
PDF
Cap01
PDF
Cap06
PDF
Cap07
PDF
Cap06
PDF
Cap05
PDF
Cap04
PDF
Cap03
PDF
Cap02
Cap04
Cap03
Cap01
Cap09
Cap05
Cap09
Cap08
Cap07
Cap05
Cap04
Cap03
Cap02
Cap01
Cap06
Cap07
Cap06
Cap05
Cap04
Cap03
Cap02

Último (20)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Émile Durkheim slide elaborado muito bom
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Processos na gestão de transportes, TM100 Col18
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Apple Pippin Uma breve introdução. - David Glotz
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Émile Durkheim slide elaborado muito bom
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula sobre desenvolvimento de aplicativos
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20

Cap02

  • 1. Capítulo 2 LÓGICA DE PROGRAMAÇÃO A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqüência lógica para o desenvolvimento. Então o que é lógica? Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. Seqüência Lógica Estes pensamentos podem ser descritos como uma seqüência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema. Instruções Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo”. Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar. Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem seqüencial lógica. Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma série de instruções: descascar as batatas, bater os ovos, fritar as batatas, etc... É evidente que essas instruções tem que ser executadas em uma ordem adequada – não se pode descascar as batatas depois de fritá-las. Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o resultado, precisamos colocar em prática o conjunto de todas as instruções, na ordem correta. Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. 1. CONCEITOS BÁSICOS DE PROGRAMAÇÃO Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas, é necessário que ele seja programado, isto é, que seja transcrito para uma linguagem que o computador possa entender, direta ou indiretamente. 1.1. LINGUAGENS DE PROGRAMAÇÃO Linguagem é uma maneira de comunicação que segue uma forma e uma estrutura com significado interpretável.
  • 2. Portanto, linguagem de programação é um conjunto finito de palavras, comandos e instruções, escritos com o objetivo de orientar a realização de uma tarefa pelo computador. Logicamente, a linguagem que nós utilizamos em nosso cotidiano é diferente da linguagem utilizada pela máquina. A máquina trabalha somente com códigos numéricos (linguagem de máquina), baseados nos números 0 e 1 (sistema binário), que representam impulsos elétricos, ausente e presente. Assim, qualquer linguagem de programação deve estar situada entre dois extremos: o da linguagem natural do homem (muito clara, porém lenta) e o da linguagem de máquina (muito rápida, porém complexa). Este é o conceito de nível de linguagem: alto nível para as mais próximas da linguagem humana; baixo nível para as mais semelhantes à linguagem de máquina. 1.2. TRADUTORES Para que um computador possa "entender" um programa escrito em uma linguagem de alto nível, torna-se necessário um meio de tradução entre a linguagem utilizada no programa e a linguagem de máquina. Este meio pode ser de dois tipos: compilador e interpretador. Compilador: traduz o programa escrito em linguagem de alto nível (programa-fonte) para um programa equivalente escrito em linguagem de máquina (programa-objeto). Interpretador: traduz e envia para execução, instrução por instrução e o programa permanece na forma fonte. 1.3. TIPOS DE LINGUAGENS DE PROGRAMAÇÃO Existem diversas linguagens de programação, cada uma com suas características específicas e com níveis de complexidade e objetivos diferentes:  Linguagem de Máquina  Única compreendida pelo computador.  Específica de cada computador.  Linguagens de Baixo Nível  Utilizam mnemônicos para representar instruções elementares
  • 3.  Ex.: Assembly  Linguagens de Alto Nível  Utiliza instruções próximas da linguagem humana de forma a facilitar o raciocínio.  Exemplos: Uso científico : Fortran Propósito geral : Pascal, C, Basic Uso comercial : Cobol, Clipper Uso específico : Lisp, Prolog Visuais : Delphi, Visual Basic, Java 1.4. CRITÉRIOS DE QUALIDADE DE UM PROGRAMA  Integridade: Refere-se à precisão das informações manipuladas pelo programa, ou seja, os resultados gerados pelo processamento do programa devem estar corretos, caso contrário o programa simplesmente não tem sentido.  Clareza: Refere-se à facilidade de leitura do programa. Se um programa for escrito com clareza, deverá ser possível a outro programador seguir a lógica do programa sem muito esforço, assim como o próprio autor do programa entendê-lo após ter estado um longo período afastado dele. O Pascal favorece a escrita de programas com clareza e legibilidade.  Simplicidade: A clareza e precisão de um programa são normalmente melhoradas tornando as coisas o mais simples possível, consistentes com os objetivos do programa. Muitas vezes torna- se necessário sacrificar alguma eficiência de processamento, de forma a manter a estrutura do programa mais simples.  Eficiência: Refere-se à velocidade de processamento e a correta utilização da memória. Um programa deve ter performance SUFICIENTE para atender às necessidades do problema e do usuário, bem como deve utilizar os recursos de memória de forma moderada, dentro das limitações do problema.  Modularidade: Consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas, de forma que o conjunto desses módulos e a interação entre eles permitem a resolução do problema de forma mais simples e clara.  Generalidade: É interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos. 2. PARADIGMAS DE PROGRAMAÇÃO Um paradigma se define na forma como o programador lida com um determinado problema. Muitos pensam que as linguagens de programação surgiram em uma escala linear, ou seja, que na primeira geração delas o homem se adaptava às máquinas e, depois de várias outras gerações, as linguagens evoluíram umas das outras e capacitaram as máquinas a fazer as necessidades humanas. Na verdade, as linguagens surgiram em diferentes trajetórias, cada uma seguindo um determinado paradigma. Além disso, não é verdadeira a proposição que diz que uma linguagem qualquer é, sem exceção, a evolução da linguagem anterior (historicamente).
  • 4. As linguagens existentes hoje foram se adaptando a uma única forma de programação e às linguagens inseridas no mesmo paradigma. Dentre esses paradigmas, vamos conceituar quatro, que são considerados os principais: paradigma imperativo, lógico, funcional e orientado a objetos. 2.1. PARADIGMA IMPERATIVO “Primeiro faça isso e depois faça aquilo.” A frase acima resume o paradigma imperativo, também conhecido como paradigma procedural. O problema é analisado até que se encontre uma solução. Basicamente, é uma sequência de comandos que o computador executará, passo-a-passo, modificando dados e variáveis a fim de chegar ao resultado esperado. Algol, Basic, C e Pascal são algumas das linguagens de programação que seguem esse paradigma. 2.2. PARADIGMA FUNCIONAL “Subdividir o problema em outras funções e resolver cada uma separadamente, pois os resultados encontrados serão utilizados posteriormente.” Sobre o paradigma funcional, é fácil ilustrar através de um fluxograma. Cada bloco recebe no topo uma entrada de dados e retorna, na base, os dados de saída. A solução geral é dividida em várias funções (daí o nome funcional) que, no final, se associam para mostrar o resultado na tela. No (clássico) fluxograma ao lado, o problema – fazer a média das notas de N alunos -, é dividido em duas etapas: a soma das N notas e a atribuição da quantidade N de alunos à variável contador. Ambos os resultados, soma das notas e contagem dos alunos, são utilizados na operação final, que é dividir a soma das notas pelo número de alunos. É um exemplo muito simples, mas que, penso eu, foi útil para exemplificar o conceito. 2.3. PARADIGMA LÓGICO “Qual é o problema?” O paradigma lógico ou declarativo caracteriza-se pelo método preciso de descrever um problema, sem se preocupar com qual algoritmo será utilizado para resolvê-lo. A idéia é criar um algoritmo “universal”, capaz de solucionar qualquer problema. O problema se adapta a esse algoritmo, e não o contrário. É baseado em axiomas (verdades universais) e regras de inferência. Prolog é uma linguagem lógica que ilustra essa definição. 2.4. PARADIGMA ORIENTADO A OBJETOS “Um conjunto de classes faz a interação entre objetos (instâncias) e, com a troca de mensagens entre eles, forma-se o software como um todo.” Praticamente tudo é objeto, cada qual com estrutura e comportamento próprios. Esses objetos são classificados em classes e comunicam entre si. Cada uma dessas representa um
  • 5. determinado fenômeno e seus objetos são organizados hierarquicamente. O conjunto de classes faz a interação entre objetos e a troca de mensagens entre eles forma o software como um todo. Esse paradigma vem ganhando cada vez mais popularidade. Isso se dá devido ao grande número de vantagens em trabalhar com orientação a objeto, como a flexibilidade do código quando se trabalha em sistemas de grande porte e com uma maior equipe de programadores. EXERCÍCIOS PROPOSTOS Questão 01: Defina, com suas palavras, os seguintes termos: a) programa b) linguagem de programação c) tradutor Questão 02: Qual a diferença entre linguagem de baixo nível e linguagem de alto nível? Questão 03: Explique a diferença entre compilador e interpretador. Questão 04: Cite e explique com suas palavras os quatro paradigmas tradicionais de programação.