Você está na página 1de 7

alfaconcursos.com.

br

SUMÁRIO
PROGRAMAÇÃO ................................................................................................................................................ 2
O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO .......................................................................................... 2
TIPOS DE LINGUAGEM ................................................................................................................................... 3
ESTRUTURADAS ......................................................................................................................................... 3
ORIENTAÇÃO A OBJETOS (POO) ................................................................................................................ 4
CONCEITOS BASE ....................................................................................................................................... 4
LINGUAGENS ORIENTADAS A OBJETOS ..................................................................................................... 5
PROLOG ..................................................................................................................................................... 5
IDE.................................................................................................................................................................. 6

MUDE SUA VIDA!


1
alfaconcursos.com.br

PROGRAMAÇÃO
Um programa de computador é uma série de ações a serem realizadas em decorrência de
interações ou não com o usuário, por um ou mais algoritmos.
Um algoritmo é um procedimento composto por uma série de instruções para resolver
um problema, como na matemática, que, ao ser concluído, encerra produzindo um resultado
correto, ou na montagem de um aeromodelo.
Criar um algoritmo ou mesmo um programa inicia-se basicamente na estruturação da
resolução do problema em etapas, como se estivesse definindo uma sequência de estados,
análises para tomada de decisão e repetição de tarefas até que seja atingido o estado esperado.

O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO


Uma linguagem de programação é uma linguagem com a qual o programador expressa as
ações que o computador deverá executar, existem várias linguagens de programação e que são
também classificadas por linguagem de alto nível ou baixo nível.
Um programa de computador normalmente é desenvolvido em uma linguagem de alto
nível, ou seja, uma linguagem que possua várias ferramentas, recursos e artifícios prontos para
serem apenas utilizados de maneira mais simples pelo programador, sem que ele necessite
definir toda sequência que o hardware deverá executar detalhadamente, pois a linguagem de
programação se encarrega dessas tarefas, são linguagens de alto nível: Java, Ruby, C, C++,
Pascal, Basic, C#, Lisp, Prolog, JavaScript, PHP, VisualBasic, Phyton, Delphi, Cobol, Fortran, etc.
Já uma linguagem de baixo nível é aquela que é executada diretamente pelo hardware,
considerada pela maioria dos programadores como a mais difícil, talvez mais pela demanda de
maior critério e empenho na programação, pois as linguagens de baixo nível normalmente são
compostas por comandos mais simples e em pequena quantidade, enquanto que as de alto nível
possuem inúmeras bibliotecas de opções e comandos. O principal exemplo de linguagem de
máquina é o Assembler.
Quando um programa é escrito ele precisa ser processado para então virar um programa,
nesse caso o programa passa por um Compilador, ou seja, um tradutor de programas, que tem
por fim básico transcrever a linguagem de alto nível na de baixo nível para ser executada pelo
hardware.
Contudo, também existem os interpretadores, que operam juntamente com as
linguagens interpretadas. Python, R, PHP e JavaScript são exemplos de linguagens que são
apenas interpretadas, ou seja, não passam por um compilador. Essas linguagens são utilizadas
na criação de páginas para a Internet, logo o browser que utilizamos para visualizar as páginas
nada mais é do que um interpretador de código que lê o código do programa e, linha por linha,
vai produzindo o resultado.

• Década de 40, programação física em linguagem de máquina (conhecimento total do


hardare).
• Década de 50, linguagens de 1ª geração, programação lógica (abstração do hardware),
linguagens montadoras como assembler (ainda exigiam conhecimentos do hardware),
ênfase em cálculos matemáticos. Linguagens: Fortran, List e Algol 58.
• Década de 60, linguagens de 2ª geração, ênfase no processamento de dados (sistemas
bancários). Linguagens: Fortran, Algol 60, Lisp, Basic e Cobol.
• Década de 70, linguagens de 3ª geração, ênfase na estruturação do código
(programação estruturada). Linguagens: PL/1, Fortran, Algol 68, Cobol, Linguagem
C, Pascal (ferramenta de aprendizagem de programação) e Simula (primeira linguagem
a suportar o conceito de classes).

MUDE SUA VIDA!


2
alfaconcursos.com.br

TIPOS DE LINGUAGEM
ESTRUTURADAS
Linguagens estruturadas tomam como base um código robusto que siga um fluxo de
execução de modo sequencial com desvios condicionais e laços de repetição, a fim de evitar os
desvios incondicionais (GOTO) que eram desvairadamente usados no início da programação
nas décadas de 40, 50 e 60.
Elas contam com o uso de subprogramas que sejam reutilizadas para a resolução de
problemas menores. Também podemos observar o uso das bibliotecas, que agrupam
subprogramas, usadas por diversos programadores, ou seja, começou-se o reuso de software,
assim diminuindo o retrabalho que os programadores tinham.
Um subprograma pode ser visto como funções e procedimentos ou módulos.

Em resumo as principais características da Programação Estruturada são:

• decomposição gradativa dos programas ao nível fundamental (método dos


refinamentos sucessivos, desenvolvimento top-down).
• programação orientada a procedimentos: subprogramas = blocos estruturados de
códigos (procedimentos, funções ou módulos); a comunicação entre os blocos se faz
utilizando variáveis globais e pela passagem de dados através de parâmetros; os dados
são processados nos blocos e migram de um bloco para outro, como mostra a Figura 1,
através de variáveis globais, parâmetros passados por referência e expressão retornada
pela função (através do comando return na linguagem C); a execução de um programa é
caracterizada pelo acionamento de um bloco de código. Obs.: a utilização de variáveis
globais não constitui uma boa prática de programação (escopo muito grande).
• tipo abstrato de dados = modelo matemático + operações.

Apesar de ter sido sucedida pela Programação Orientada a Objetos (POO), a Programação
Estruturada (PE) ainda é muito influente pois grande parte das pessoas ainda aprende
programação através dela. Para a resolução de problemas simples e diretos, a programação
estruturada é bastante eficiente (talvez mais eficiente que a POO). Além disso, por exigir formas

MUDE SUA VIDA!


3
alfaconcursos.com.br

de pensar relativamente complexas, a POO até hoje ainda não é bem compreendida ou usada
pela maioria.
ORIENTAÇÃO A OBJETOS (POO)
A programação orientada a objetos é ordenada por classes que são as definições de um
objeto, pode-se dizer que um objeto é uma classe instanciada. Para ficar mais claro, imagine que
se trata literalmente de um objeto, como um carro. Esse carro possui características, ou seja,
um objeto as possui. Contudo também percebemos que o carro executa algumas funções de
acordo com suas configurações, como: se estiver com a primeira marcha engatada, não frenado
e soltar a embreagem ele tende a andar, claro se estiver ligado, com combustível e assim por
diante, perceba que são muitas as variáveis de controle para que o objeto produza o resultado
da iteração esperada.
As Linguagens Java, C++ e Python são os principais exemplo de programação Orientada à
Objetos, embora Python também possa ser usada apenas de modo estruturado, isto é, pode ser
chamada de linguagem multiparadigma.
CONCEITOS BASE
➢ Classe representa um conjunto de objetos com características afins. Uma classe
define o comportamento dos objetos através de seus métodos, e quais estados ele é
capaz de manter através de seus atributos. Exemplo de classe: Os seres humanos
• Subclasse é uma nova classe que herda características de sua(s) classe(s)
ancestral(is);
➢ Objeto / instância de uma classe. Um objeto é capaz de armazenar estados através
de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e
enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João,
José, Maria;
➢ Atributo são características de um objeto. Basicamente a estrutura de dados que vai
representar a classe. Exemplos: Funcionário: nome, endereço, telefone, CPF, ...;
Carro: nome, marca, ano, cor, …; Livro: autor, editora, ano. Por sua vez, os atributos
possuem valores. Por exemplo, o atributo cor pode conter o valor azul. O conjunto
de valores dos atributos de um determinado objeto é chamado de estado;
➢ Métodos definem as habilidades dos objetos. Bidu é uma instância da classe
Cachorro, portanto tem habilidade para latir, implementada através do método de
Um Latido. Um método em uma classe é apenas uma definição. A ação só ocorre
quando o método é invocado através do objeto, no caso Bidu. Dentro do programa,
a utilização de um método deve afetar apenas um objeto em particular. Todos os
cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente,
uma classe possui diversos métodos, que no caso da classe Cachorro poderiam ser
sente, coma e morda;
➢ Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando
um comportamento descrito por sua classe. Também pode ser direcionada
diretamente a uma classe (através de uma invocação a um método estático);
➢ Herança (ou generalização) é o mecanismo pelo qual uma classe (subclasse) pode
estender outra classe (superclasse), aproveitando seus comportamentos (métodos)
e variáveis possíveis (atributos). Um exemplo de herança: Mamífero é superclasse
de Humano. Ou seja, um Humano é um mamífero. Há herança múltipla quando
uma subclasse possui mais de uma superclasse. Essa relação é normalmente
chamada de relação "é um";

MUDE SUA VIDA!


4
alfaconcursos.com.br

➢ Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode


tratar-se de uma associação simples "usa um" ou de um acoplamento "parte de". Por
exemplo: um humano usa um telefone. A tecla "1" é parte de um telefone
➢ Encapsulamento consiste na separação de aspectos internos e externos de um
objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao
estado de um objeto (seus atributos), disponibilizando externamente apenas os
métodos que alteram estes estados. Exemplo: você não precisa conhecer os detalhes
dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses
detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os
sinais de tom);
➢ Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto
qualquer, ignorando características menos importantes ou acidentais. Em
modelagem orientada a objetos, uma classe é uma abstração de entidades existentes
no domínio do sistema de software;
➢ Polimorfismo consiste em quatro propriedades que a linguagem pode ter (atente
para o fato de que nem toda linguagem orientada a objeto tem implementado todos
os tipos de polimorfismo):
• Universal:
o Inclusão: um ponteiro para classe mãe pode apontar para uma instância
de uma classe filha (exemplo em Java: "List lista = new LinkedList();" (tipo
de polimorfismo mais básico que existe);
o Paramétrico: se restringe ao uso de templates (C++, por exemplo) e
generics (Java/C♯).
• Ad-Hoc:
o Sobrecarga: duas funções/métodos com o mesmo nome, mas assinaturas
diferentes;
o Coerção: a linguagem que faz as conversões implicitamente (por exemplo
atribuir um int a um float em C++, isto é aceito mesmo sendo tipos
diferentes pois a conversão é feita implicitamente).
➢ Pacotes (ou Namespaces) são referências para organização lógica de classes e
interfaces.
LINGUAGENS ORIENTADAS A OBJETOS
➢ C Sharp
➢ C++
➢ COBOL
➢ Common Lisp Object System
➢ Java
➢ Phyton
➢ Ruby
➢ Smaltalk
➢ Visual Basic
➢ .NET

PROLOG
O Prolog foi criado em 1972, na Universidade de Marseille, França. Desde então tem sido
utilizada para aplicações de computação simbólica, como banco de dados relacionais,
compreensão de linguagens naturais (português, inglês etc.), automação de projetos, análise de
estruturas bioquímicas e sistemas especialistas. Como podemos ver, o Prolog se tornou uma

MUDE SUA VIDA!


5
alfaconcursos.com.br

referência quando se trata de linguagem de programação voltada para inteligência artificial e


linguística computacional.
Prolog é uma linguagem de programação declarativa, que se baseia em relacionamentos,
para estabelecer conclusões. Esses relacionamentos são declarações que podem ser
compreendidas como axiomas. A lógica usada em Prolog é a dedutiva.
Ao invés de o programa estipular a maneira de chegar à solução passo a passo, como
acontece nas linguagens procedimentais ou orientadas a objeto, ele fornece uma descrição do
problema que se pretende computar utilizando uma coleção de fatos e regras (lógica) que
indicam como deve ser resolvido o problema proposto

Read more: http://www.linhadecodigo.com.br/artigo/1697/descobrindo-o-prolog.aspx#ixzz6UFjBRelD

Exemplo:
Primeiramente as regras devem ser definidas
avo(X,Z) :- pai(X,Y), pai(Y,Z).
irmao(P, Q) :- filho(P,R), filho(Q,R).

DECLARAÇÕES
pai (Jose, Ana).
pai (Jose, Maria).

VERIFICAÇÃO
?- irmao (Ana, Maria).

RESPOSTA PELO PROGRAMA


Yes.

Esta linguagem é importante, pois seu uso é intenso pela receita federal do Brasil nas
consultas às declarações de IR.

IDE
IDE, do inglês Integrated Development Environment ou Ambiente de Desenvolvimento
Integrado, é um programa de computador usado para facilitar e agilizar o processo de
desenvolvimento de software.
As características e ferramentas mais comuns encontradas nos IDEs são:
➢ Editor - edita o código-fonte do programa escrito na(s) linguagem(ns) suportada(s)
pela IDE;
➢ Compilador (compiler) - compila o código-fonte do programa, editado em uma
linguagem específica e a transforma em linguagem de máquina;
➢ Linker - liga (linka) os vários "pedaços" de código-fonte, compilados em linguagem
de máquina, em um programa executável que pode ser executado em um
computador ou outro dispositivo computacional;
➢ Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no
código-fonte do programa, na tentativa de aprimorar a qualidade de software;

MUDE SUA VIDA!


6
alfaconcursos.com.br

➢ Modelagem de dados (modeling) - criação do modelo de classes, objetos, interfaces,


associações e interações dos artefatos envolvidos no software com o objetivo de
solucionar as necessidades-alvo do software final;
➢ Geração de código - característica mais explorada em Ferramentas CASE, a geração
de código também é encontrada em IDEs, contudo com um escopo mais direcionado
a templates de código comumente utilizados para solucionar problemas rotineiros.
Todavia, em conjunto com ferramentas de modelagem, a geração pode gerar
praticamente todo o código-fonte do programa com base no modelo proposto,
tornando muito mais rápido o processo de desenvolvimento e distribuição do
software;
➢ Distribuição (deploy) - auxilia no processo de criação do instalador do software,
ou outra forma de distribuição, seja discos ou via internet;
➢ Testes Automatizados (automated tests) - realiza testes no software de forma
automatizada, com base em scripts ou programas de testes previamente
especificados, gerando um relatório, assim auxiliando na análise do impacto das
alterações no código-fonte. Ferramentas deste tipo mais comuns no mercado são
chamadas robôs de testes;
➢ Refatoração (refactoring) - consiste na melhoria constante do código-fonte do
software, seja na construção de código mais otimizado, mais limpo e/ou com melhor
entendimento pelos envolvidos no desenvolvimento do software. A refatoração, em
conjunto com os testes automatizados, é uma poderosa ferramenta no processo de
erradicação de "bugs", tendo em vista que os testes "garantem" o mesmo
comportamento externo do software ou da característica sendo reconstruída.
Exemplos de IDE:
➢ Android Studio
➢ Arduino IDE
➢ Delphi
➢ Eclipse
➢ Netbeans
➢ Sun Studio
➢ Komodo IDE
➢ Visual basic
➢ Visual studio
➢ pycharm

MUDE SUA VIDA!


7

Você também pode gostar