Você está na página 1de 26

Conceitos Básicos

Programação I

 Conceitos Básicos

francielsamorim@yahoo.com.br

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Sumário

o Algoritmo x Programa
o Linguagens de Programação
o Abstração
o Classes de Linguagens de Programação
o Relação entre Algoritmos e Programação

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Algoritmo

Definições:


“Um conjunto finito de regras que provê uma
sequencia de operações para resolver um tipo
de problema específico” [KNUTH]


“Sequencia ordenada, e não ambígua, de
passos que levam à solução de um dado
problema” [TREMBLAY]

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Algoritmo


Ou seja:


Um algoritmo é como uma “receita de bolo” para
o computador, onde estão definidos todos os
comandos que ele deve executar para alcançar
um objetivo

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Algoritmo


Um algoritmo é uma forma de indicar o caminho
para a solução dos mais variados problemas


Em geral, existem muitos caminhos que levam à
solução de um problema


Portanto, para cada problema existe mais do que
um algoritmo [Orth, 2001]

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Algoritmos: Exemplos

Instruções para se utilizar um aparelho
eletrodoméstico;

Uma receita para preparo de algum prato;

Guia de preenchimento para declaração do imposto de
renda;

A regra para determinação de máximos e mínimos de
funções por derivadas sucessivas;

A maneira como as contas de água, luz e telefone são
calculadas mensalmente; etc.
Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim
Conceitos Básicos
Algoritmos: Importância


O computador, por si só, não tem vontade
própria!


É necessário especificar uma seqüência de passos
lógicos para que o computador possa executar
uma tarefa qualquer.

Com uma ferramenta algorítmica, podemos
conceber uma solução para um dado problema,
independendo de uma linguagem específica e até
mesmo do próprio computador

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Algoritmos: Características

Ser finito;

não dar margem à dupla interpretação;

capacidade de receber dado(s) de entrada do mundo
exterior;

poder gerar informações de saída para o mundo
externo ao do ambiente do algoritmo;

ser efetivo:

Todas as etapas especificadas no algoritmo devem ser
alcançáveis em um tempo finito.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Algoritmos X Programas


Um programa é a formalização de um algoritmo em
uma determinada linguagem de programação, segundo
suas regras de sintaxe e semântica, de forma a permitir
que o computador possa entender a sequencia de
ações.


Programa, é um aplicativo (software) que diz para o
computador o que o hardware deve fazer:

Ler e escrever em arquivos do HD

Exibir informações no monitor

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Linguagem de Programação
 Definição: Um conjunto de termos e de regras que
permitem a formulação de instruções a um computador (C,
C++, Delphi, Pascal,Java, etc).

 Regras Sintáticas:
 conjunto de regras que determinam quais construções
são corretas para formação dos programas(preocupa-se
com a “forma” dos programas).

 Regras Semânticas:
 descrição da maneira que um programa sintaticamente
correto é interpretado ou executado;
 preocupa-se com o “significado” dos programas
Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim
Conceitos Básicos
Classes de Linguagens de Programação

Considerando o nível de abstração, identifica-se três
classes de linguagens de programação:


Linguagem de Máquina: Baseada num código binário

Exemplo: 0010 001 0110 1100 (soma) (reg1) ($108)

Linguagem de Baixo Nível Códigos binários são substituídos
por mnemônicos

Exemplo: LOAD R2, $108 ADD R1, R2

Linguagem de Alto Nível: Mais próxima da linguagem do
homem, não requer conhecimento da arquitetura da máquina.

Exemplo: C, C++, Pascal, Java, LISP, Perl, Python.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Processo de Criação e Execução de um Programa

O PROBLEMA:

Como a linguagem de nível mais alto pode ser
implementada em um computador, cuja linguagem é
bastante diferente e de nível mais baixo ?


SOLUÇÃO:

Através da tradução de programas escritos em
linguagens de alto nível para a linguagem de baixo nível
do computador.

Tipos de programas tradutores : Montadores,
Interpretadores e Compiladores.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Montador

Efetua a tradução de linguagem de montagem
(Assembly ) para a linguagem de máquina, da seguinte
forma:

obtém a próxima instrução do Assembly;

traduz para as instruções correspondentes em linguagem
de máquina;

executa as instruções em linguagem de máquina; e

repete o passo 1 até o fim do programa.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Interpretador

Efetua a tradução de uma linguagem de alto nível para
linguagem de máquina da seguinte forma:


obtém próxima instrução do código-fonte em linguagem de
alto nível;

traduz para as instruções correspondentes em linguagem
de máquina;

executa as instruções em linguagem de máquina; e

repete o passo 1 até o fim do programa

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Compilador

 Efetua a tradução de todo o código-fonte em


linguagem de alto nível para as instruções
correspondentes em linguagem de máquina,
gerando o código-objeto do programa.

 Em seguida é necessário o uso de um outro


programa ( Link-Editor ) que é responsável pela
junção de diversos códigos-objeto em um único
programa executável.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Possibilidades de Erros em Programas


Erros de Compilação :

erros de digitação e de uso da sintaxe da
linguagem.

Erros de Link-Edição :

erro no uso de bibliotecas de sub-programas
necessárias ao programa principal.

Erros de Execução :

erro na lógica do programa (algoritmo).

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Programas: Critérios de Qualidade

Clareza:

refere-se à facilidade de leitura do programa.

Leitura por outro programador, manutenção

Simplicidade:

a clareza e precisão de um programa são normalmente
melhoradas tornando seu entendimento o mais simples
possível, consistente com os objetivos do programa.

Eficiência:

Um programa deve ter desempenho SUFICIENTE para
atender às necessidade do problema e do usuário, bem
como deve utilizar os recursos de memória de forma
moderada, dentro das limitações do problema;

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Programas: Critérios de Qualidade


Integridade:

os resultados gerados pelo processamento do programa
devem estar corretos;

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 permite a resolução do problema de forma mais
simples e clara; e

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.
Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim
Conceitos Básicos
Programação: Etapas

Especificar claramente o problema:

o que deve ser resolvido;


Projetar uma solução (algorítmo) para solucionar o
problema:

transformar o que deve ser resolvido em como resolvê-lo;


Escrever a solução em uma linguagem de
programação (programa):

editar um arquivo em uma linguagem de programação;


Testar a solução (programa).
Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim
Conceitos Básicos
Estrutura de um Programa

Cabeçalho

Esta área é utilizada para se fazer a identificação do programa
com um nome.

Área de Declarações:

Esta área é utilizada para validar o uso de qualquer tipo de
identificador que não seja predefinido.

Ex: declaração das variáveis que serão utilizadas durante a
execução de um programa, bem como, também o seu tipo.
Corpo

Área onde programa propriamente dito está escrito

Tem início e fim definidos através de comandos de delimitação.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Exemplo

 Desenvolver um algoritmo que receba um


determinado valor, calcule o seu dobro e
apresente o resultado obtido.”

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Etapas


Ler o valor a ser multiplicado e guardar na
variável NUM;

Efetuar a multiplicação da variável NUM por
2 e guardar na variável RESULTADO;

Apresentar o valor da variável RESULTADO

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Etapas
Linguagem Algoritmica

Algoritmo CALCULA_DOBRO
Variaveis
NUM,RESULTADO: Inteiro
início
Leia NUM;
DOBRO  2 * NUM;
Escreva RESULTADO;
fim

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Exercícios
1-Elabore os algoritmos para as seguintes situações:
a) Leia um valor e exiba a sua metade;
b) Leia quatro valores e exiba a soma destes;
c) Leia quatro valores e exiba a media;
d) Dada a distância a ser percorrida em Km e o consumo de
um carro (em Km por litro), calcule e exiba quantos litros são
necessários para completar a distância.
e) Calcule o volume de um cubo. Será dado o valor de sua
aresta.
f) Calcular o volume de uma lata de óleo com formato de
cilindro utilizando.

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos

Dúvidas

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim


Conceitos Básicos
Referências

Material baseado nas aulas da Profa. Isabel Harb Manssour


http://www.inf.pucrs.br/~manssour/LaproI, entre outros materiais

Técnico / 2014 - Disciplina : Programação I - Prof: Franciel Amorim