Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
Para termos sucesso em nosso curso será necessário entender alguns termos relacionados à
programação de computadores. O primeiro termo a ser abordado será Processamento de
dados. Você já deve ter uma ideia do que venha a ser processamento de dados.
Processamento, isoladamente, indica transformação, a obtenção de um resultado a partir da
transformação de algo fornecido inicialmente. Pode-se falar em processamento de laranja em
suco, de sucata em placas metálicas, dentre outros. Estamos interessados somente no
processamento de dados, ou seja, na transformação de dados. Para que o processamento de
dados ocorra é necessário haver dados de entrada e a transformação destes em outros dados,
chamados de dados de saída ou resultado. Processar dados é produzir novas informações
através de dados iniciais.
Processamento de Dados
Podemos utilizar o computador para realizar uma tarefa, desde que ele seja instruído de forma
adequada. Agora surge uma nova questão: como instruir o computador a executar uma tarefa
para resolver um determinado problema?
Algoritmo é a descrição de uma sequência de ações para realizar alguma tarefa. São exemplos
de algoritmos: receita de um bolo, manual de montagem de um móvel, instruções de como
chegar a um determinado local, dentre outros. Passaremos boa parte do nosso curso
desenvolvendo algoritmos e em todas as situações devemos nos preocupar com as
características presentes em qualquer algoritmo:
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 2 de 21
1) Todo algoritmo, ao resolver um problema, produz a solução do mesmo. Sempre
produzirá algum resultado, que de agora em diante chamaremos de saída.
2) Deve sempre terminar após um número finito de passos (instruções).
3) Cada passo, de um algoritmo, deve ser precisamente definido. As ações devem ser
definidas rigorosamente e sem ambiguidades.
4) As ações definidas no algoritmo necessitam de dados para que possam produzir as
saídas. Esses dados são as entradas.
Nota: Pode haver mais do que um algoritmo para resolver um problema. Por exemplo, para ir
de casa até o trabalho, posso escolher diversos meios de transportes em função do preço,
conforto, rapidez, etc..
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 3 de 21
Para facilitar o processo de construção de algoritmos, surgiram formas de representá-los.
Algumas mais importantes:
inicio
leia (NOTA1, NOTA2)
MEDIA = (NOTA1+NOTA2)/2
se MEDIA >= 7 então
mostra("Aprovado")
senão
mostra("Reprovado")
fim_se
fim.
Portugol
Fluxograma
Devemos considerar que para elaborarmos algoritmos para serem executados pelo
computador devemos nos preocupar com a linguagem que o computador é capaz de
compreender. Essa linguagem não pode conter instruções desconhecidas ou fazer referência a
símbolos ou expressões que os computadores não conseguem decifrar. Tal linguagem se
baseia em conceitos e em arquiteturas de hardware que determinam o funcionamento básico
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 4 de 21
de um computador. A arquitetura mais utilizada nos computadores atuais é a de Von
Neumann.
O conjunto de instruções possíveis que uma CPU pode executar é chamado de linguagem de
máquina. Programadores são aqueles que podem controlar o comportamento do computador
através de instruções em linguagens de máquina. Na prática, os programas (conjuntos de
instruções em sequência) são codificados em linguagens de programação ditas de alto nível e
convertidos para linguagem de máquina por compiladores.
Uma vez codificado (em C, Java, etc), o programa precisa ser traduzido para a linguagem de
máquina para ser executado. Um dos métodos de tradução de um programa escrito em uma
linguagem de programação para o correspondente em linguagem de máquina chama-se
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 5 de 21
compilação. O arquivo gerado, resultante do processo de compilação, é conhecido como
programa objeto.
É muito comum que um programa faça referência a instruções localizadas em outro programa.
Dizemos que um programa “chama” ou invoca outro programa. Devido a este fato, um
programa objeto não é executável. Precisamos unir todos os programas objetos de todos os
programas fontes em um único programa, este sim é chamado de programa executável e
como o próprio nome indica, pode ser executado pelo computador. Este processo de conexão
de um programa objeto, com outro programa objeto denomina-se ligação. Um
linkeditor/ligador é um programa que reúne módulos compilados e arquivos (de dados ou de
bibliotecas) para criar um programa executável.
escada
parede α
chão
Sabendo que
𝒎𝒆𝒅𝒊𝒅𝒂 𝒑𝒂𝒓𝒆𝒅𝒆
𝒔𝒆𝒏 𝜶 = 𝒎𝒆𝒅𝒊𝒅𝒂 𝒆𝒔𝒄𝒂𝒅𝒂
𝒎𝒆𝒅𝒊𝒅𝒂 𝒑𝒂𝒓𝒆𝒅𝒆
então 𝒎𝒆𝒅𝒊𝒅𝒂 𝒆𝒔𝒄𝒂𝒅𝒂 = 𝒔𝒆𝒏 𝜶
Você percebeu que o nosso problema é calcular a medida da escada, entretanto será
necessário o cálculo do Sen α, que não é o cálculo principal, mas importante para a solução do
problema inicial. Precisamos de uma função, localizada em uma biblioteca, para calcular o
seno do ângulo. A vantagem do uso de bibliotecas é não nos preocuparmos com as
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 6 de 21
funcionalidades que não estão diretamente relacionadas à solução do problema. No caso
acima, o cálculo do seno pode ser realizado por alguma função de uma determinada
biblioteca. A implementação da função que realiza o cálculo do seno fica na biblioteca e não
no nosso programa. Ao realizar a link-edição todos os programas fontes serão ligados às
bibliotecas, gerando finalmente o programa executável.
INÍCIO
Programa fonte
Compilador
Erro sim
?
não
LinkEditor
Erro sim
?
não
Programa Executável
FIM
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 7 de 21
Uma vez que o arquivo executável tenha sido gerado, o programa está pronto para ser
executado. Depois que o programa executável é carregado na memória, a CPU executa o
programa instrução por instrução.
Existe outro método de tradução para linguagem de máquina. Pelo método de interpretação,
cada comando do código fonte é lido pelo interpretador, é convertido em código executável e
imediatamente executado, antes que o comando seguinte seja lido.
Algoritmos
Prof. Hilton Cardoso Marins Junior Página 8 de 21