O documento discute conceitos de lógica, programação de computadores e tipos de linguagens de programação. Ele também aborda técnicas de programação como programação modular, estruturada e orientada a objetos.
1.1 Conceito delógica
◦O dicionário Houaiss descreve a lógica da seguinte
forma:
“1. Estudo filosófico das formas do pensamento
(dedução, indução, hipótese, inferência etc.) e do
raciocínio, considerados como condição para o
conhecimento; 2. Forma de encadeamento e/ou de
raciocínio; 3. Coerência, fundamento”
Introdução à Lógica
01/09/15
3.
1.2 Conceito deprogramação de
computadores
◦A principal característica que diferencia um
computador de qualquer outro equipamento ele-
trônico é sua “programabilidade”, ou seja, a
capacidade de ser programável para executar um
grande número de tarefas diferentes.
01/09/15
No entanto, tudoque os computadores (e outros
dispositivos controlados por microprocessadores ou
microcontroladores) entendem são sinais elétricos,
representados pelos dígitos 0 (ausência de voltagem)
e 1 (presença de voltagem), também conhecidos
como bits. E são esses bits, ou mais precisamente a
combinação deles, que formam todas as instruções
que fazem o computador agir da forma que
desejamos. Sendo assim, eles são completamente
ignorantes no que diz respeito ao reco- nhecimento
de comandos dados em nossa própria língua.
01/09/15
Existem diversos tiposde linguagens de
programação, que trabalham de forma diferente
e possuem estrutura e comandos diferentes.
No início da era da computação, os
programadores se viam obrigados a programar
diretamente em linguagem de máquina,
composta por inúmeras combina- ções de 0s e
1s, o chamado código binário.
2.1 Linguagens de
programação
01/09/15
10.
Como era muitodifícil decorar a função que
cada uma das combinações exercia no
processador, criou-se então uma linguagem
mais próxima do entendi- mento humano que
foi denominada de Assembly.
Em inglês significa montagem
01/09/15
Existem dois termostécnicos muito empregados em
programação que devem ser esclarecidos antes de
prosseguirmos. O primeiro é código-fonte, que designa o texto
escrito numa linguagem de programação e que pode ser lido
por qualquer pessoa, mesmo quem não sabe programar. Esse
texto segue as regras impostas pela linguagem, como sintaxe
dos coman- dos e funções.
O segundo termo é programa executável, que consiste numa
sequência de instruções em linguagem de máquina (códigos
binários) inteligível ao computador e muito difícil (ou quase
impossível) de ser entendido por um ser humano. Esse pro-
grama executável é criado por dois processos distintos,
conhecidos como interpretação e compilação.
Fique de olho!
01/09/15
13.
Na interpretação, umprocesso empregado
principalmente pela linguagem BASIC
(Beginners All Purpose Symbolic Instruction
Code) nos computadores das décadas de 1970
a 1990, o código-fonte do programa é
convertido em linguagem de máquina à medida
que o programa é executado.
01/09/15
14.
Já em programascompilados, o código-fonte
é inteiramente convertido em linguagem de
máquina uma única vez. O software que efetua
essa conversão é chamado de compilador.
01/09/15
15.
Esses arquivos objetossão uma versão
intermediária entre o código-fonte e o código
exe- cutável. Não é possível rodá-los
diretamente, sendo necessário o processo de
linkedição, como é chamada a ligação desses
arquivos com as bibliotecas da linguagem. Na
compilação, cada comando ou função existente
no código-fonte é convertido numa chamada
para o código real que se encontra gravado
nessas bibliotecas.
01/09/15
Um terceiro métodode execução de programas é
denominado pseudocompilação. Nele, o compilador
gera um código intermediário, com instruções em
código de máquina, mas não resolve os endereços de
chamada a rotinas da biblioteca de funções da
linguagem. Durante a execução, um programa
denominado Run-time é carregado na memória junto
com o código compilado. Esse Run-time é
responsável por determinar os endereços de memória
das funções e procedimentos chama- dos pelo
programa durante o tempo de execução.
01/09/15
18.
Existe ainda ométodo empregado pela linguagem
Java, que é bastante semelhante à pseudo-
compilação. O Run-time dessa linguagem consiste
num programa denominado Máquina Virtual Java
(JVM - Java Virtual Machine), que não apenas resolve
as referências de endereço, mas também oferece uma
camada de software que serve de ponte entre o nosso
programa e o sistema operacional.
01/09/15
19.
Todo programa decomputador é o resultado da busca pela
solução de um problema. Considere como exemplo a
necessidade de registrar as vendas de uma empresa. É criado
então um rascunho da ideia principal.
A partir desse rascunho é desenvolvido o algoritmo do
programa, que pode ser representado por um diagrama de
blocos ou por uma descrição narrativa bastante detalhada de
todos os processos.
Com base nesse algoritmo, o programador constrói o programa
utilizando uma linguagem de programação. O programa é
testado para detecção de possíveis problemas e/ou erros e
quando for finalizado, se torna disponível ao usuário.
2.2 Do problema ao programa
01/09/15
3.1 Programação modular
◦Assimcomo ocorre quando precisamos solucionar
um problema de Matemática ou Física, ao nos
depararmos com situações de programação difíceis
de serem resolvidas, a melhor opção é decompor o
problema em porções menores, mais fáceis de
trabalhar. Com isso dividimos a complexidade de
forma a simplificar o problema.
Técnicas de Programação
01/09/15
23.
Cada parte emque o
problema é dividido resulta
num fragmento de código que
denominamos de módulo ou
subprograma. Essa divisão de
um programa maior em
diversos subprogramas é uma
técnica denominada de
programação modular.
01/09/15
24.
A técnica deprogramação estruturada é
fundamentada na construção de sistemas com a
utilização de blocos como estruturas básicas, que
podem ser expandidas até o nível de complexidade
necessário à resolução de um determinado problema.
Um bloco é formado por diversas instruções que são
executadas em conjunto por estarem logicamente
ligadas.
3.2 Programação estruturada
01/09/15
25.
O código finalobtido pela programação
estruturada é muito claro e de fácil
entendimento, mesmo por outras pessoas que
não sejam as que desenvolveram o código.
01/09/15
26.
Entre as principaisvantagens da programação
estruturada temos:
◦possibilidade de padronização devido ao número
reduzido de estruturas;
◦as estruturas podem ser inseridas em módulos
distintos;
◦programas estruturados geralmente já possuem
uma autodocumentação interna;
◦aumento na produtividade dos programadores.
01/09/15
27.
A técnica deprogramação orientada por objeto
surgiu no final dos anos de 1970 e início de
1980, quando os pesquisadores do Centro de
Pesquisas da Xerox, em Palo Alto, Califórnia,
desenvolveram uma linguagem de programação
chamada SmallTalk, que utilizava pela primeira
vez o conceito de classes e objetos.
3.3 Programação orientada por objeto
01/09/15
28.
A ideia básicapor trás dessa técnica é a
capacidade de reutilização de códigos já
prontos, denominados classes, para criarmos as
partes vitais do programa, denominadas de
objetos. Com isso é possível economizar um
bom tempo no processo de desenvolvimento de
um programa.
01/09/15
29.
Uma característica interessanteda
programação orientada por objetos é que
podemos derivar um objeto de outro
previamente criado. Em outras palavras,
significa que podemos criar um objeto que
herda alguns atributos e ações do antecessor.
01/09/15
30.
Entre as principaislinguagens de programação
orientada por objetos temos C++, Object Pascal
e Java. A ferramenta de projeto mais utilizada
no desenvolvimento de aplicações que emprega
essa metodologia é a UML (Unified Modeling
Language - Linguagem de Modelagem
Unificada).
01/09/15