Oque é um programa?
Programa é um tipo de algoritmo escrito por um algoritmo numa mais compreensível
pelo computador.
É um conjunto de instruções que forma a representação, inteligível pelo computado,
de um algoritmo.
Conceito de programação
Programação e o processo pelo qual um problema ou uma situação pode ser
automatizada com a ajuda de um controlador ou computador, tornando assim, todo o
processo mais fácil.
Entretanto, para comunicar com um computador é necessário que ele entenda o
utilizador e que o utilizador o entenda também, isto é, um problema de comunicação que se
resolve utilizando uma linguagem (ou linguagens) que ambos sejam capazes de descodificar
com precisão.
Objetivo da programação
1. O objetivo da programação é a codificação de algoritmos, listas de instruções que
especificam uma sequencia de operações que resolvam uma certa questão.
2. Solução de problemas complexos;
3. Desenvolvimento de Software funcional e eficiente;
4. Automação de tarefas repetitivas;
5. Desenvolvimento de aplicativos moveis
Linguagens de programação
É uma notação formal para a discrição de algoritmos que serão executados por um
computador.
É um conjunto de ferramentas, regras de sintaxe e símbolos ou códigos que nos
permitem escrever programas de computador destinados a instruir o computador para a
realização das suas tarefas.
É uma forma de comunicação entre os seres humanos e os computadores. Ela permite
escrever instruções ou algoritmos em uma forma compreensível pelos programadores e,
posteriormente, traduzir essas instruções para uma linguagem que o computador possa
entender e executar.
As Linguagens de programação podem ser classificadas em duas categorias
principais: Linguagens de programação de alto nível e linguagem de programação de baixo
nível.
LPAN: essas linguagens são mais próximas da linguagem humana e possuem
recursos avançados que facilitam a escrita e a leitura do código. Elas são mais abstratas e
permitem que os programadores se concentrem na logica do para problema e, vez de detalhes
de baixo nível.
Ex: Python, Java e Ruby.
LPBN: essas linguagens são mais próximas da linguagem de maquina e oferecem um
maior controle sobre o hardware e o recurso do computador. Elas são geralmente mais
difíceis de aprender e de usar, pois ela exige um entendimento mais profundo de arquitetura
do computador.
Ex: Assembly e C+
Uma linguagem de programação tem dois componentes: sintaxe e semântica.
A sintaxe corresponde num conjunto de regras formais, que especificam a composição
de programas a partir de letras, dígitos e outros símbolos.
Ex: Regras de Sintaxe – que podem especificar que cada parenteses aberto numa
expressão aritmética deve corresponder a um parenteses fechado, e que dois comandos
quaisquer devem ser separados por um ponto e virgula
Linguagem de programação = símbolos + regras de sintaxe
A semântica corresponde ao especificamente do significado de qualquer programa,
sintaticamente valido escrito na linguagem.
E diz respeito ao significado e a interpretação correta do código fonte, tanto em tempo
de compilação quanto ao tempo de execução.
Ex: Tipo de dados a semântica estática garante que os tipos de dados sejam usados
corretamente. Como se você tentar somar uma string com um número inteiro em uma
linguagem que não permite essa operação, um erro semântico será gerado.
Paradigmas de programação
Oque é um paradigma de programação?
É o modelo, padrão ou estilo de programação suportado por linguagem que agrupam
certas características comuns. Por detrás de uma linguagem de programação esta sempre um
paradigma representado. Dentro da nossa abordagem consideraremos os seguintes
paradigmas:
Paradigma Orientado a Objetos: nesse paradigma, o programa é estruturado em
torno de objetos, que são instancias de classes que possuem propriedades (atributos) e
comportamentos (métodos). O foco principal esta na montagem de entidades do mundo real e
nas interações entre elas: Java, Python e C++
Características:
Paradigma Imperativo: é um dos paradigmas de programação mais antigo e
amplamente utilizados. Ele se concentra em descrever passos ou instruções que o computador
deve seguir para executar uma tarefa especifica. Nesse paradigma, o programa é composto
por uma serie de sequencia de comando que modificam o estado do programa e dos dados
armazenados na memoria.
Características: Estruturas de controle: o paradigma imperativo inclui estruturas de
controle como loops (por exemplo, for, while) e condicionais (por exemplo, if, switch). Essas
estruturas permitem controlar o fluxo de execução do programa com base em determinadas
condições.
Ex de linguagens: Pascal, C, Algol Modula, Basic, Fortron.
Paradigma logico: criado nos anos 70 em Marseille por Alex Colmerauer, o
PROLOG implementa a logica de predicados numa linguagem computacional. A logica de
predicados permite a construção de uma representação do conhecimento baseada em regras,
facilitando o desenvolvimento de sistemas de inteligência Artificial, tal como os chamados
sistemas especialistas.
Ex de linguagem: PROLOG, CLP
Processo de programação
O processo de programação compreende os seguintes passos:
1. Definição e analise do problema – um programa deve ser projetado de modo a
permitir resolver os problemas a que se propõe, de um modo simples e eficaz. Por isso
é que nesta fase imperiosa proceder-se a analise das necessidades, em termos de
entrada (input), a introduzir, de saídas(output) de modo ao obter, mapas, relatórios,
para impressora, monitor ou ficheiros.
2. Desenho do algoritmo – definição dos procedimentos necessários a resolução do
problema, desde a validação dos dados (de modo a corrigir possíveis erros de
operação) ate a definição dos procedimentos de leitura e escrita em periféricos.
3. Codificação e teste do programa – apos a definição do problema e da escolha da
linguagem de programação a utilizar, procede-se então a elaboração do respetivo
código, e ao teste e correção de erros.
4. Elaboração da documentação – esta fase encerra a elaboração do programa permitindo
o conhecimento geral do programa, dos meios humanos e físicos (hardware)
necessários, e ainda a descrição dos procedimentos de operação e manutenção do
programa.
Tradutores de linguagem de programação
Para que um computador possa <<entender>> um programa escrito numa linguagem
de alto nível, torna-se necessário um meio de tradução entre a linguagem utilizada no
programa e a linguagem maquina. Este meio pode ser de dois tipos: compilador e
interpretador.
Compilador: são programas de software especiais que traduzem e convertem os
programas escritos em linguagem de alto nível noutro tipo de programas. Como resultado
da tradução, é criado um novo programa correspondente à inicial, mas escrito em
linguagem maquina, portanto executável. Estes programas executáveis (*.exe) podem ser
realizados fora dos ambientes de programação (C e Pascal)
Programa fonte Programa Objeto
→ de
Linguagem → Computador → Linguagem de Execução Resultado
alto Nível baixo nível
Interpretador: os interpretadores são de software especiais que traduzem e
convertem os programas escritos em linguagens de alto nível em código capaz de ser
interpretado e executado pelo processador. OS interpretadores fazem a interpretação de cada
instrução de programa fonte executando-a dentro de um ambiente de programação. No
entanto, a interpretação do código implica a presença do interpretador sempre que o programa
é corrido (interpretado).
Programa Fonte
Linguagem de Interpretador Resultado
→ Execução
Nível
Linguagem Pascal
A linguagem de programação Pascal foi criada no inicio a década de 70 pelo Prof.
Niklaus Wirth da universidade de Zurique, na Suíça. O objetivo era desenvolvimento uma
linguagem de programação disciplinada para ensinar a programação estruturada. Portanto, o
Pascal foi desenvolvido para ser uma ferramenta educacional. Foi batizado pelo seu
idealizador em homenagem ao grande matemático Blaise Pascal, filosofo e matemático
francês que viveu entre 1632 e 1662, e inventor de uma das primeiras maquina logicas
conhecidos.
Apesar do seu propósito inicial, o Pascal começou a ser utlizada por programadores de
outras linguagens, tornando-se para surpresa do propósito Niklaus, um produto comercial.
Contudo somente ao final de 1983 é que a empresa americana Borland Internacional lançou
o Turbo Pascal.
Turbo Pascal
É um Ambiente de integração de desenvolvimento (IDE- integrate Devolopment),
consistindo num conjunto de ferramentas de desenvolvimento integrado. Entre as ferramentas
que compõe o Turbo Pascal temos:
Editor de código – fonte
Compilador
Link-Editor
Depurador
Ajuda On-line da Linguagem e do próprio IDE.
Formato de um programa Pascal
O Pascal é uma linguagem de programação altamente estruturada que possui uma
rigidez definida embora a sua estrutura de programa seja flexível. Cada secção ou parte de
um programa em pascal deve aparecer numa sequencia apropriada e ser sistematicamente
correta, senão ocorrera um erro.
Por outro lado, no Pascal não há regras especificas, para o uso do espaço, linhas
quebradas, requisições e assim os comandos podem ser escritos no formato livre em quase
tofos os estilos que o programa deseja utilizar. Um programa escrito em pascal tem o seguinte
formato:
PROGRAM <identificador>;
<bloco>
O <bloco>, por sua vez, esta dividido em seis áreas, onde somente a ultima é
obrigatória e devem obedecer a sequencia abaixo:
Área de declaração de uso de unidades
Área de declaração de constante
Área de declaração de tipos
Área de declaração de variáveis
Área de declaração de procedimentos e funções
Área de comandos
Declaração de Uso de Unidades
Um programa pascal pode fazer o uso de algumas unidades padrão que estarão
disponíveis no sistema turbo, tais como:
CRT, DOS, PRINTE< GRAPH, etc.
A área de declaração de uso de unidades possui o seguinte formato:
USES <unidades>, …, <unidades>
Exemplo: USES CRT, PRINTER
Declaração de constantes
Serve para associamos nomes as constantes utilizadas no programa. Possui o
seguinte formato:
CONST <identificador> = <valor>; …; <identificador> = valor
CONST
VAZIO = ‘ ‘;
PI = 3,1416
MAX = 10
OK= TRUE
Declaração de Tipos
Serve para definirmos nomes novos tipos e estruturas de dados. A linguagem
Pascal suporta os seguintes tipos de dados:
INTEGER – envolve os números inteiros que por sua vez também podem ser
SHORTINT, WORD e LONGINT
REAL – abrange os números reais, que podem ser SINGLE, DOUBLE,
EXTENDED e COMP
CHAR – representa um único caracter, escrito entre apóstrofos
BEANOOL – representa um valor logico, utlizada apenas duas constantes logicas:
TRUE (verdadeiras) e FALSE (falso)
STRING (dados estruturados) – formado por um conjunto de elementos do tipo
CHAR. Fazem para ainda ARRAY, RECORD, FILE, SET e TEXT.
Declaração de Variáveis
Nos programas destinados a resolver um problema no computador, a variável
corresponde uma posição de memoria, cujo conteúdo pode variar ao longo do tempo durante
a execução de um programa. Embora a variável possa assumir diferentes valores, ela só pode
arrumar um valor a cada instante.
Assim, todas as variáveis que serão utlizados num programa devem ser declaradas
dentro do mesmo. A declaração de uma variável tem como funcionalidade:
Especificar o tipo de dado que poderá ser armazenado na variável
Alocar um Espaço na memoria onde possa ser armazenado o conteúdo da variável
Dar um nome(identificador) a variável
Declaração de procedimentos e funções
Nesta área são definidos os procedimentos e as suas funções utlizadas pelo
programa.
Área de Comandos
É nesta área onde é inserido o algoritmo do programa. Os comandos são separados
entre si pelo delimitador ponto e virgula. A forma geral é:
BEGIN
<comando>
<comando>
END