PROGRAMAÇÃO: INTRODUÇÃO Programação: o que é

Propaganda
INTRODUÇÃO
• ALGORITMO
PROGRAMAÇÃO:
– Visa solucionar um problema
– Receita para um processo computacional
– Comparável à uma “receita de bolo”
COMO FUNCIONA ?
Programação: o que é ?
• ETAPAS:
Resumindo:
• PROGRAMA
– Conhecer precisamente o problema e seus
requisitos
– Criar o algoritmo para solucionásolucioná-lo
– Codificar o algoritmo em uma linguagem de
programação (programação
(programação))
– Verificar se o programa gerado não contém
erros e se resolve efetivamente o problema
(depuração)
depuração)
Depuração ?
• Programas podem apresentar erros
– a maior parte dos erros é causada pelo
programador
– alguns erros ocorrem devido a problemas
externos
– Tradução de um algoritmo para uma linguagem
de programação
• LINGUAGEM
– Maneira através da qual é possível traduzir um
algoritmo para uma forma que o computador
compreenda
– Pascal, C, Basic,
Basic, Java, Prolog, Modula, etc.
Tipos de erros!
• Dois tipos de erros:
– Sintaxe: programa escrito de forma incorreta,
como escrever errado em português: esseção,
esseção,
pissina,
pissina, etc.
– Semântica: programa escrito corretamente, mas
que não resolve efetivamente o problema
– Exceções: geradas por erros de semântica,
como por exemplo, divisão por zero
1
O Mundo Antes de C (1)
• ALGOL 60
LINGUAGEM C
Origens e Histórico
– Definida em 1960 por um comitê internacional
– Linguagem de alto nível: permitia ao
programador trabalhar “longe” da máquina
– Criada para substituir o FORTRAN
• MAS NÃO TEVE SUCESSO PORQUE...
PORQUE...
– Maioria dos sistemas operacionais ainda exigia
do usuário um grande conhecimento do
hardware
O Mundo Antes de C (2)
• CPL (Combined
(Combined Programming Language)
Language)
– 1967 - Univers.
Univers. de Londres e Cambridge
– Objetivo de “trazer ALGOL à Terra”
O Mundo Antes de C (3)
• BCPL (Basic
(Basic CPL)
– Simplificação da CPL, tentando manter apenas
as “boas coisas” da linguagem
• 1970 - Ken Thompson
• MAS NÃO FOI BEM ACEITA PORQUE...
– Projetistas de sistemas operacionais a
consideravam difícil de implementar
O Surgimento de C (1)
• BCPL e B ? Qual foi o problema ?
– Ambas mostraram-se muito limitadas,
prestando-se apenas para alguns problemas
– Havia uma intenção de reescrever o UNIX em
uma linguagem de alto nível, mas ambas eram
consideradas lentas para isso
– Chefe da equipe de projeto do UNIX para o
PDP-11 (Bell Labs)
Labs)
– Inventou uma versão ainda mais reduzida : B
O Surgimento de C (2)
• C (Dennis Ritchie) - 1970
– Sucessora de B
– Objetivo: manter o contato com o computador
real e permitir o desenvolvimento de programas
em diversas áreas
– Característica mais importante:
PORTABILIDADE
2
C Hoje
• 1985
– ANSI (American
(American National Standards Institute)
Institute)
estabelece o padrão oficial de C (ANSI C)
– Diferença: alguns comandos a mais na
linguagem
– Utilizada até hoje
PROGRAMAÇÃO EM C
ETAPAS
• C++
– C orientada a objetos, definido sobre o padrão
ANSI C
Processo de Programação (1)
• Edição de um programa fonte
Processo de Programação (2)
• Este é submetido a um Compilador
– Criado em um editor de texto (sem formatação)
#include <iostream.h>
main()
{
int x,y;
cout << “blablabla…”;
...
– Analisa o código fonte e converte este para um
código objeto (ou programa objeto)
– O código objeto é a versão em linguagem de
máquina do código fonte
#include <iostream.h>
main()
{
int x,y;
cout << “blablabla”;
…
010101010
010111101
010111010
111101011
teste.cpp
teste.cpp
Processo de Programação (3)
• Utilização de uma biblioteca de funções
– são utilizadas para realizar tarefas comuns, para
facilitar a vida do programador. Ex: entrada e
saída, raiz quadrada, etc.
teste.obj
teste.obj
Processo de Programação (4)
• Necessidade de um ligador (linker
(linker))
– Junta o objeto com as bibliotecas e gera um
código executável (ou programa executável)
math.
math.lib
teste.exe
teste.exe
010101010
010111101
010111010
111101011
3
Processo de Programação (5)
• Programa executável é o resultado final
Terminologia
• Código fonte
– criado em editor de texto, contendo comandos
na linguagem de programação utilizada
teste.exe
teste.exe
• Código objeto
– criado pela conversão de código fonte em
linguagem de máquina - gerado pelo
compilador
Terminologia
• Ligador
– junta o código objeto com as bibliotecas
necessárias para gerar o programa executável
• Tempo de Compilação
– durante o processo de conversão entre fonte e
objeto
• Tempo de Execução
– quando o programa é executado (ativado)
4
Download