1 Programação em C
Trabalho acadêmico: 1 Programação em C. Pesquise 861.000+ trabalhos acadêmicosPor: gabriel12361 • 29/10/2014 • Trabalho acadêmico • 12.049 Palavras (49 Páginas) • 1.289 Visualizações
APOSTILA
LINGUAGEM DE PROGRAMAÇÃO EM C
Professor: Rogério Gião
2º Semestre de 2014
1 Programação em C
Atualmente, empregam-se cada vez mais sistemas computacionais na automatização
de processos industriais. Os sistemas computacionais empregados variam desde um simples
circuito lógico digital, passando por uma circuito composto por um microprocessador ou
um CLP, até sistemas complexos envolvendo um ou mais microcomputadores ou até
estações de trabalho. Um engenheiro que atua nesta área deve conhecer os sistemas
computacionais disponíveis e ser capaz de selecionar o melhor equipamento para uma dada
aplicação. Além disto, este profissional deve conseguir instalar este sistema, configurá-lo e
acima de tudo programá-lo para que este execute a tarefa de automatização atendendo os
requisitos industrias do sistema, como imunidade a falhas ou comportamento determinístico
com restrições temporais (sistemas tempo-real). Neste contexto, a programação destes
sistemas se faz de suma importância. Basicamente, a inteligência dos sistemas
automatizados é implementada através de programas computacionais, comandando os
componentes de hardware para executar a tarefa com o comportamento desejado.
Nas últimas décadas, o desenvolvimento em hardware permitiu que cada vez mais
os processos industrias sejam automatizados e interligados através de sistemas
computacionais.
Entretanto, a evolução em software não se deu em tamanha velocidade como a de
hardware. Desta forma, um dos grandes paradigmas tecnológicos hoje é o desenvolvimento
de programas para a realização de tarefas complexas e que exigem um alto grau de
inteligência.
A maneira de se comunicar com um computador chama-se programa e a única
linguagem que o computador entende chama-se linguagem de máquina. Portanto todos os
programas que se comunicam com a máquina devem estar em linguagem de máquina.
Para permitir uma maior flexibilidade e portabilidade no desenvolvimento de
software, foram implementados nos anos 50 os primeiros programas para a tradução de
linguagens semelhantes à humana (linguagens de "alto nível") em linguagem de máquina. A
forma como os programas são traduzidos para a linguagem de máquina classifica-se em
duas categorias:
• Interpretadores: Um interpretador lê a primeira instrução do programa, faz uma
consistência de sua sintaxe e, se não houver erro converte-a para a linguagem de máquina
para finalmente executá-la. Segue, então, para a próxima instrução, repetindo o processo até
que a última instrução seja executada ou a consistência aponte algum erro. São muito bons
para a função de depuração ("debugging") de programas, mas são mais lentos. Ex.: BASIC
Interpretado, Java.
• Compiladores: Traduzem o programa inteiro em linguagem de máquina antes de serem
executados. Se não houver erros, o compilador gera um programa em disco com o sufixo
.OBJ com as instruções já traduzidas. Este programa não pode ser executado até que sejam
agregadas a ele rotinas em linguagem de máquina que lhe permitirão a sua execução. Este
trabalho é feito por um programa chamado “linkeditor” que, além de juntar as rotinas
necessárias ao programa .OBJ, cria um produto final em disco com sufixo .EXE que pode
ser executado diretamente do sistema operacional.
Compiladores bem otimizados produzem código de máquina quase tão eficiente
quanto aquele gerado por um programador que trabalhe direto em Assembly. Oferecem em
geral menos facilidades de depuração que interpretadores, mas os programas são mais
rápidos (na ordem de 100 vezes ou mais). Ex.: BASIC Compilado, FORTRAN, PASCAL,
MÓDULA - 2, C, C++. Além da velocidade, outras vantagens podem ser mencionadas:
• é desnecessária a presença do interpretador ou do compilador para executar o programa já
compilado e linkeditado;
• programas .EXE não podem ser alterados, o que protege o código-fonte.
Desta forma, os compiladores requerem o uso adicional de um editor de ligações
("Linker"), que combina módulos-objetos ("Traduzidos") separados entre si e converte os
módulos assim "linkados" no formato carregável pelo sistema operacional (programa
.EXE).
2 Conceitos Básicos da Programação C
2.1 Histórico de C
O compilador "C" vem se tornando o mais difundido em ambiente industrial. A
linguagem
...