Você está na página 1de 42

EAD

Caderno de
Referncia de
Contedo

CRC

1. INTRODUO
Seja bem-vindo!
Voc est iniciando o estudo da disciplina Computao, na qual ter a possibilidade de
aprender como desenvolver programas de computador utilizando a linguagem de programao
C. Para facilitar a sua compreenso, o contedo foi dividido em seis unidades. Juntamente com
este Caderno de Referncia de Contedo (CRC), voc encontrar o Caderno de Atividades e Interatividades (CAI), com os exerccios e as atividades prticas que complementaro seu estudo.
Durante o estudo desta disciplina, voc conhecer desde os conceitos fundamentais para
construo de programas, como estruturas sequenciais, estruturas de controle e estruturas de
dados, at aspectos avanados, como programao modular e alocao dinmica de memria.
Um dos aspectos fundamentais para o desenvolvimento de programas o armazenamento de informaes. Para isso, estudaremos como manipular arquivos por meio da linguagem de
programao C. Com o contedo estudado nesta disciplina, alm de criar arquivos no sistema
operacional, saberemos como gravar e recuperar informaes.
Tambm fundamental que voc, como desenvolvedor, acompanhe a evoluo das tecnologias utilizadas no desenvolvimento de aplicaes. Para isso, no utilize apenas este material
como fonte de informao. essencial que complemente sua formao consultando outras fontes, como livros, revistas e internet. Alm disso, no se esquea de compartilhar suas experincias por meio dos Fruns e da Lista na Sala de Aula Virtual, pois assim, alm de contribuir para o
aprendizado de outras pessoas, voc consolidar seu conhecimento.

14

Computao

Aps essa introduo aos conceitos principais da disciplina, apresentamos a seguir, no


tpico Orientaes para o Estudo da Disciplina, algumas orientaes de carter motivacional,
dicas e estratgias de aprendizagem que podero facilitar o seu estudo.
Que voc tenha um bom e proveitoso estudo!

2. ORIENTAES PARA O ESTUDO DA DISCIPLINA


Abordagem Geral da Disciplina
Neste tpico, apresenta-se uma viso geral do que ser estudado nesta disciplina. Aqui,
voc entrar em contato com os assuntos principais deste contedo de forma breve e geral e
ter a oportunidade de aprofundar essas questes no estudo de cada unidade. No entanto, essa
Abordagem Geral visa fornecer-lhe o conhecimento bsico necessrio a partir do qual voc possa construir um referencial terico com base slida cientfica e cultural para que, no futuro
exerccio de sua profisso, voc a exera com competncia cognitiva, tica e responsabilidade
social. Vamos comear nossa aventura pela apresentao das ideias e dos princpios bsicos que
fundamentam esta disciplina.
A disciplina Computao faz parte dos cursos de Graduao e tem como objetivo principal
a iniciao do aluno no desenvolvimento de programas de computador. Nesta disciplina, voc
conhecer a linguagem de programao C e as principais estruturas utilizadas na elaborao de
programas.
Antes de iniciar o estudo especfico sobre a programao, importante que alguns aspectos a respeito da organizao dos computadores sejam apresentados. As mquinas de computar,
popularmente conhecidas como computadores, tm como principal objetivo o processamento
de informaes. Para isso, um fluxo linear de transformao realizado em dados, os quais so
inseridos por meio de um dispositivo de entrada. Os dados so processados, e, por fim, apresentados em perifricos conhecidos como dispositivos de sada.
O processamento das informaes efetuado por um componente especfico do computador, conhecido como processador. Essa parte integrante fundamental para o funcionamento
do sistema e geralmente conhecida como o crebro do computador. Para que as informaes sejam processadas, o processador possui um conjunto finito de instrues, as quais realizam tarefas especficas.
Por exemplo: o processador possui uma instruo destinada realizao de contas de somar, conhecida como sum. Todas as informaes processadas no processador so armazenadas
em um componente denominado memria principal. A memria principal mantm os dados
enquanto o programa de computador est sendo executado, por isso esse tipo de memria
conhecida como voltil. Alm disso, o computador pode utilizar informaes armazenadas de
maneira persistente. Ele utiliza um tipo especfico de memria conhecida como memria secundria. Os principais exemplos de memria secundria so os discos rgidos, o CD-ROM (Compact
Disc Read Only Memory Disco Compacto Memria Somente de Leitura), o DVD-ROM (Digital
Versatile Disk Read Only Memory Disco Verstil Digital Somente de Leitura), o BD-ROM (Bluray
Disc Real Only Memory), entre outros.
Para que o computador seja capaz de processar as informaes, necessrio que os dados
sejam alimentados por meio dos dispositivos de entrada. Esses dispositivos tm como objetivo
carregar os dados no computador. Os principais exemplos de dispositivo de entrada so o mouse
Claretiano -

REDE DE EDUCAO

Caderno de Referncia de Contedo

15

e os digitalizadores. Por outro lado, a funcionalidade de apresentao de dados por meio do


computador executada por meio dos dispositivos de sada. Nesses dispositivos, os dados podem ser apresentados no formato digital e apenas para visualizao, como, por exemplo, nos
monitores, bem como apresentados no formato impresso, utilizando para isso os diversos tipos
de impressora, como matricial, a jato de tinta e a laser.
Conforme foi comentado, o principal objetivo de um computador o processamento de
informaes, ou simplesmente a transformao de dados. Para que esse processamento seja
realizado, o computador utiliza um conjunto de instrues que so interpretadas pelo processador. Essas instrues permitem disparar todas as funcionalidades que o computador pode
executar e para isso precisam ser escritas, ou codificadas, em uma linguagem que o computador
entenda perfeitamente. As linguagens entendidas pelo computador so conhecidas como linguagens de programao.
De modo geral, uma linguagem de computador possibilita que um programador desenvolva programas de computador, de maneira que o computador seja capaz de executar um conjunto determinado de aes, as quais realizam os mais variados tipos de tarefas. Podemos construir
programas de computador, por exemplo, para calcular a mdia final de uma disciplina, ou ainda
para organizar as informaes financeiras de uma empresa. A complexidade do programa est
intimamente relacionada com o nmero de instrues, ou linhas de cdigos, necessrias no
programa.
Devemos tambm atentar para o nmero de linguagens de programao existentes atualmente. Uma simples pesquisa em um site de busca pelo termo linguagens de programao
retornar alguns milhares de resultados. Alm disso, essa diversidade pode tornar a produo
de computadores uma tarefa altamente complexa, uma vez que os computadores teriam de
entender os mais variados tipos de linguagem.
Para simplificar esse problema, os computadores so capazes de entender uma nica linguagem de programao, conhecida como linguagem de mquina. Por outro lado, a linguagem
de mquina, tambm referenciada como cdigo de mquina, possui uma estrutura pouco organizada e pouco intuitiva para seres humanos. Dessa maneira, o desenvolvimento de programas de computador utilizando os cdigos de mquina pode ser considerado uma tarefa praticamente impossvel nos dias atuais.
Em sistemas operacionais Microsoft, tais como o Microsoft Windows 7, Microsoft Windows
XP, entre outros, possvel visualizar os cdigos de mquina utilizados para construo dos programas utilizando o comando debug por exemplo, debug programa.exe.
Para simplificar a construo de aplicaes, o programador pode utilizar um conjunto de
instrues que se referem s operaes bsicas que o computador pode executar. Essas instrues so de mais simples compreenso e so conhecidas como mnemnicos. Em termos
prticos, os mnemnicos representam uma abreviao de um conjunto de instrues numricas
(hexadecimais) utilizadas nos cdigos de mquina. As linguagens de programao que utilizam a
simbologia de mnemnicos no desenvolvimento de programas so conhecidas como linguagens
de montagem. Porm, importante notar que mesmo construindo programas com linguagens
de montagem, os mnemnicos no so entendveis pelo computador. Assim, aps construir o
programa, necessrio realizar um processo de traduo da linguagem de montagem para a
linguagem de mquina. Esse procedimento realizado por programas especficos, conhecidos
como montadores ou assemblers.

16

Computao

Com a evoluo dos computadores, tanto em relao aos componentes fsicos (hardware),
quanto aos componentes lgicos (software), a complexidade do desenvolvimento dos programas
foi aumentando. Para simplificar a escrita e principalmente para agilizar o processo de elaborao dos programas de computadores, foram criadas linguagens de programao mais prximas
ao cotidiano dos programadores. Essas linguagens so conhecidas como linguagens de programao de alto nvel. Por meio delas, as instrues de programao foram agrupadas em um nico comando. Por exemplo, se com uma linguagem de mquina era necessrio escrever algumas
dezenas de linhas para exibir o nome de uma pessoa na tela ou o resultado do clculo de uma
equao, com as linguagens de mquina essas linhas foram reduzidas para uma nica instruo.
Na linguagem de programao Pascal, o comando que exibe uma informao na tela denominado writeln, enquanto na linguagem de programao C, que ser abordada neste material, o
comando chamado printf. Com a evoluo das linguagens de programao, o desenvolvimento de programas de computador se tornou algo fascinante.
Quando voc utiliza uma linguagem de programao para escrever programas, as instrues usadas no desenvolvimento so conhecidas como cdigo-fonte do programa, ou simplesmente cdigo-fonte. A principal vantagem em utilizar linguagens de alto nvel para elaborao
de cdigos-fontes est na relao entre a linguagem de programao e o algoritmo. O primeiro
passo para a elaborao de um programa de computador com qualidade a codificao do algoritmo. Um algoritmo representa a sequncia organizada de instrues que devero ser realizadas para a execuo de uma determinada tarefa. Os algoritmos so especificados por meio de
uma linguagem comum aos seres humanos, a qual podem ser definida, por exemplo, utilizando
portugus estruturado. Neste caso, voc pode utilizar instrues do tipo escreva, leia, dentre
outras. Com a elaborao do algoritmo, torna-se mais simples o desenvolvimento do programa
com a linguagem de alto nvel, pois necessria apenas a traduo do algoritmo para a linguagem de programao escolhida.
O processo de desenvolvimento de um programa utilizando uma linguagem de programao envolve uma etapa fundamental, que a verificao do cdigo-fonte. Essa verificao tem
como objetivo avaliar se o cdigo foi escrito de maneira correta, a partir das instrues disponveis na linguagem de programao escolhida. Todo esse processo gerenciado e realizado por
um programa especfico, conhecido como compilador. De forma prtica, o compilador verifica
o cdigo-fonte do programa, e caso as instrues tenham sido codificadas de maneira correta
transforma o cdigo-fonte em cdigo-objeto. O cdigo-objeto representa o cdigo compilado
do programa; porm, no permite sua execuo.
Para transformar um cdigo-objeto em um programa executvel, necessrio outro programa especfico, denominado linker. Na linguagem de programa C, por exemplo, o processo
completo de compilao de um programa realizado em trs fases: programa.c programa.
obj programa.exe.
Os programas de computador so criados em programas especficos conhecidos como
ambientes de desenvolvimento, do ingls Integrated Development Environment, ou simplesmente IDE. Esses ambientes oferecem aos desenvolvedores de programas um conjunto imenso
de recursos capazes de facilitar e simplificar a elaborao do programa. Alm disso, permitem
que os programas sejam exaustivamente testados para que nenhum erro seja detectado aps o
lanamento ou disponibilizao da verso final do programa.
Para esta disciplina, voc aprender como elaborar programas utilizando a linguagem de
programao de alto nvel C. Assim, para a codificao, sero necessrias a instalao e a configurao de um ambiente de desenvolvimento integrado. Para usurios de sistemas operacionais
Claretiano -

REDE DE EDUCAO

Caderno de Referncia de Contedo

17

Microsoft, ou sistemas operacionais baseados em Linux, ser possvel utilizar um ambiente totalmente gratuito chamado Code::Blocks. Outros ambientes de desenvolvimento tambm podem ser utilizados ao longo da disciplina, tais como Microsoft Visual C++, ou ainda o NetBeans.
Fundamentos da linguagem de programao C
A linguagem de programao C uma linguagem estruturada muito utilizada para o desenvolvimento de aplicaes comerciais e cientficas. Foi criada em 1970 pelo pesquisador Dennis
Ritchie. No incio da dcada de 1970, a linguagem C era empregada na construo de programas
para o sistema operacional Unix e a estrutura sinttica da linguagem foi elaborada com base em
uma antiga linguagem de programao conhecida como BCPL.
Os programas construdos utilizando a linguagem de programao C podem ser usados em
qualquer sistema operacional, como nas diversas edies do Microsoft Windows, nas verses
do sistema operacional Linux e Unix, e tambm nos sistemas da Apple, como o MacOS. Um fato
importante a respeito da portabilidade da linguagem de programao C a necessidade de
compilao do programa no sistema operacional em que ele ser executado. Assim, para que
um programa escrito em linguagem C possa ser executado no ambiente Microsoft Windows,
necessrio que ele seja compilado por um compilador especfico para Windows. Da mesma
maneira, para que o programa funcione nos sistemas operacionais abertos, como o Linux, por
exemplo, preciso compilar o programa com o compilador destes ambientes. Outro fato fundamental e que no pode ser interpretado de maneira equivocada que a linguagem de programao C portvel, porm no multiplataforma.
A estrutura mnima de um programa na linguagem de programao C precisa inicialmente
da incluso de cabealhos por meio da diretiva include. Os cabealhos podem ser considerados
bibliotecas de programao, nos quais as diversas funes previamente definidas podem ser
utilizadas pelos programadores. No mnimo, um programa de computador codificado utilizando
a linguagem C precisa da incluso da biblioteca stdio.h. Essa biblioteca responsvel pelos comandos de entrada e sada denominados scanf e printf.
O comando conhecido como printf necessrio para exibir informaes na tela. Com ele,
o programador pode exibir diversas informaes processadas ao longo das linhas do programa.
Esse comando tambm pode ser adequado para exibir na tela valores referentes aos contedos
de variveis. O outro comando, denominado scanf, empregado na leitura de informaes fornecidas pelo usurio. Essas informaes so entradas por meio de um teclado, em que o usurio
poder digitar qualquer tipo de informao. Porm, importante salientar que o tipo de informao recebida pelo comando scanf deve estar de acordo com o tipo de varivel utilizada para
receber esse valor, caso contrrio o programa poder apresentar um erro em sua execuo. Esse
tipo de erro muito comum nos programas da linguagem de programao C, principalmente
devido aos diferentes tipos de dados.
O trecho de cdigo a seguir demonstra um simples programa utilizando a linguagem de
programao C. Neste exemplo, possvel notar a presena dos comandos de entrada e sada
(printf e scanf).
Alm disso, no programa foi utilizado um dos conceitos mais fundamentais da programao de computadores, que denominado varivel. Uma varivel um espao de endereamento de memria reservado para armazenar informaes utilizadas pelo programa. Essas
informaes podem ser resultantes de um clculo matemtico, ou, em alguns casos, podem ser
o resultado da entrada do usurio fornecida por meio de um teclado.

18

Computao

Para cada varivel utilizada no programa de computador, um tipo est associado. A associao de um tipo a uma varivel conhecida como tipo de dados. Uma varivel pode armazenar apenas informaes do tipo a que est vinculada, e com isso poder executar um conjunto
de operaes. Por exemplo: um tipo de dados para armazenamento de informaes numricas
na linguagem de programao C denominado int. Esse tipo adequado para manipulao
de valores numricos inteiros, ou seja, que no possuam a parte fracionria. Um tipo inteiro
permite o armazenamento de valores como -5, -32, -85, 0, 12, 48, 43452. Alm disso, esse tipo
permite a realizao das seguintes operaes: soma, subtrao, multiplicao, diviso e resto da
diviso.
#include <stdio.h>

//biblioteca do programa

//programa principal
void main()
{
//declarao das variveis
int a;
int b;
int c;
//entrada de dados da varivel a
printf(Informe o primeiro valor: );
scanf(%i,&a);
//entrada de dados da varivel b
printf(Informe o primeiro valor: );
scanf(%i,&b);
//clculo matemtico que resulta na soma de a e b
c = (a+b);
//sada na tela
printf(O resultado da soma %i \n, c);
}

A linguagem de programao C possui um recurso interessante, denominado cdigos de


barra invertida. Esses cdigos, que na verdade so caracteres, fornecem um suporte interessante para o controle das informaes que so exibidas na tela. Por exemplo, o cdigo de barra
invertida denominado \n (leia-se barra n), utilizado para mudana de linha. Em outras palavras, ele empregado na quebra de linhas. Outro cdigo bastante utilizado na construo dos
programas o \t, cujo objetivo realizar uma tabulao horizontal das informaes que esto
sendo exibidas na tela. No exemplo apresentado, foi possvel visualizar a utilizao do cdigo de
barra invertida \n.
Como na maioria das linguagens de programao, a linguagem C possui um conjunto de
operaes para realizao de clculos matemticos. Esses operadores so conhecidos como
operadores aritmticos e possuem um conjunto de smbolos que podem ser utilizados para
formular as expresses. Na linguagem de programao C, a operao matemtica de adio
representada pelo smbolo +, enquanto a operao de subtrao especificada pelo smbolo
-. Alm disso, existem tambm o operador matemtico para multiplicao, representado pelo
smbolo *, o operador matemtico da diviso, cujo smbolo /, e o operador que determina o
resto da diviso em divises inteiras, simbolizado por %.
Outros operadores importantes na linguagem de programao C so:
operadores de igualdade, os quais so utilizados para estabelecer relaes de equivalncia entre informaes manipuladas pelos programas. Com esses operadores,
possvel determinar a igualdade ou a diferena entre valores;
Claretiano -

REDE DE EDUCAO

Caderno de Referncia de Contedo

19

operadores relacionais, por meio dos quais possvel estabelecer comparaes entre
as informaes manipuladas pelos programas, tais como maior que, menor que,
maior ou igual a, menor ou igual a;
operadores lgicos, adequados para situaes em que necessrio agrupar diversas
expresses lgicas. A utilizao desses operadores muito semelhante aos operadores
empregados na lgica matemtica e o resultado de sua avaliao associado s tabelas verdade. Para cada operador lgico da linguagem de programao C anexado um
smbolo. Por exemplo: para o operador lgico que representa a operao de conjuno
(e) so utilizados os smbolos &&, e a operao de disjuno (ou) simbolizada pelos
caracteres ||.
Estruturas de Controle
A linguagem de programao C possui um conjunto de estruturas de controle que possibilita ao programador controlar o fluxo de execuo dos programas. Essas estruturas so essenciais para a construo de qualquer tipo de programa de computador e so utilizadas tambm
em aplicaes comerciais e cientficas. Na linguagem de programao C, as estruturas de controle so divididas em dois grupos, que so denominados estruturas condicionais e estruturas
de repetio.
As estruturas condicionais so utilizadas para determinar a direo do fluxo de execuo
no interior dos programas. Por meio da avaliao de uma expresso condicional, o programa
poder executar uma ou outra tarefa. Nesse contexto, a linguagem de programao C possui
trs estruturas capazes de especificar condies:
1) estrutura condicional simples: a execuo de um determinado trecho de cdigo depende da avaliao de uma condio, e o trecho ser executado apenas e somente
quando o resultado da avaliao for verdadeiro. Na programao, essa estrutura condicional conhecida como if;
2) estrutura condicional composta: semelhante estrutura condicional simples. A principal diferena em relao anterior o mapeamento do que ser executado quando
o resultado da avaliao condicional for falso. Assim, a estrutura condicional composta determina o que ser executado pelo programa tanto para o resultado for verdadeiro quanto para o resultado falso. Na programao, essa estrutura representada
pela instruo if...else;
3) estrutura de seleo mltipla: nesse tipo de estrutura, um determinado trecho de cdigo ser executado a partir da avaliao mutuamente exclusiva de uma condicional.
Dessa forma, considerando um conjunto de possibilidades de execuo, o programa
executar apenas um determinado trecho de cdigo. Na linguagem de programao
C, esse tipo de estrutura pode ser codificado por meio das instrues if...else if...else,
ou tambm pela utilizao de uma estrutura condicional denominada switch.
As estruturas de repetio tambm fazem parte da estrutura de controle da linguagem de
programao C. Uma estrutura de repetio permite a especificao de um lao de repetio no
interior dos programas. Esses laos podero ser executados uma nica vez, mas tambm podero ser executados vrias vezes. Existe tambm a possibilidade de um lao de repetio no ser
executado, a partir da avaliao da condicional associada ao critrio de parada do lao.
Na linguagem de programao C, as estruturas de repetio podem ser codificadas por
meio de dois comandos:
1) for, o qual permite ao programador definir quantas vezes um trecho de cdigo do
programa ser executado. Nesse tipo de estrutura, necessrio que uma varivel de

20

Computao

controle seja associada para contar o nmero de vezes que o trecho do cdigo j foi
repetido;
2) while, possibilita ao programador construir uma estrutura de repetio que ser executada sempre que o resultado de uma expresso condicional for verdadeira. O funcionamento da estrutura de repetio while muito semelhante ao for. Porm, com
essa estrutura, possvel solucionar problemas em que no previamente definido o
nmero de vezes que um bloco de comandos deve ser repetido.
Estrutura de Dados e Ponteiros
A manipulao de grandes quantidades de informaes na linguagem de programao C
realizada por meio de estruturas de dados homogneas e heterogneas. Alm disso, existe a
possibilidade de utilizao da alocao dinmica de memria, por meio de um recurso computacional conhecido como ponteiros.
Um vetor uma estrutura de dados homognea, na qual cada posio armazena uma informao do mesmo tipo. Por exemplo, uma estrutura do tipo vetor, tambm conhecida como
arranjo, pode ser utilizada para armazenar as alturas de um conjunto de mil crianas em idade
escolar. Nesse caso, possvel criar um vetor do tipo de dados float ou double. Alm disso, tambm permitida a criao de vetores de outros tipos, tais como int e char.
Uma matriz tambm representa uma estrutura de dados homognea, em que os dados
so representados por meio de tabelas. Dessa forma, as informaes so dispostas em linhas e
colunas, e por meio da interseo de linha e coluna possvel atribuir ou recuperar uma informao armazenada na matriz.
Os registros representam um recurso computacional em que possvel agregar informaes de tipos de dados diferentes. Por isso, esse tipo de estrutura de dados conhecido como
heterognea. Assim, em uma mesma estrutura de dados possvel associar dados inteiros, ponto flutuante, caracteres, entre outros elementos. Na linguagem C, a definio de uma estrutura
do tipo registro especificada pela instruo struct.
A alocao dinmica de memria representa um recurso muito importante disponvel na
linguagem de programao C. Esse tipo de recurso adequado para a soluo de problemas em
que no possvel determinar previamente a quantidade de informaes que ser manipulada.
Para utilizao de ponteiros na construo dos programas necessrio apenas incluir um smbolo de asterisco antes da especificao do nome da varivel. Por exemplo, um ponteiro para uma
varivel do tipo int declarado da seguinte forma: int *pInteiro.
Programao modular
A reutilizao de cdigo-fonte na programao de computadores um recurso fundamental para elaborao de sistemas com qualidade. A programao modular representa uma tcnica
eficiente para o reaproveitamento de cdigo, e utiliza como estratgia a diviso do cdigo em
pequenas partes denominadas funes.
Arquivos
A manipulao de informaes de maneira persistente uma tcnica que pode ser empregada por meio da utilizao dos arquivos. Um arquivo permite que os dados manipulados
pelos programas sejam armazenados em um dispositivo de memria secundria, tal como um
disco rgido.

Claretiano -

REDE DE EDUCAO

Caderno de Referncia de Contedo

21

Enfim, chegamos ao final de nossa abordagem, e esperamos que voc tenha aproveitado
ao mximo os tpicos apresentados. muito importante destacar que apenas o estudo terico
da linguagem de programao C no ser suficiente para seu aprendizado: fundamental que
voc pratique! Para isso, instale o ambiente de desenvolvimento de sua preferncia e comece
desde j a programar!
Glossrio de Conceitos
O Glossrio de Conceitos permite a voc uma consulta rpida e precisa das definies conceituais, possibilitando-lhe um bom domnio dos termos tcnico-cientficos utilizados na rea
de conhecimento dos temas tratados na disciplina Computao. Veja, a seguir, a definio dos
principais conceitos desta disciplina:
1) Algoritmo: o algoritmo a descrio de uma sequncia de passos que deve ser seguida para a realizao de uma tarefa (Ascencio, 1999).
2) Arquivos: so utilizados para o armazenamento persistente de informaes. Esse tipo
de estrutura capaz de guardar dados na memria secundria de maneira permanente.
3) Comandos de atribuio: para inserirmos os valores ou operaes em uma varivel,
utilizamos os comandos de atribuio. Por meio deles, conseguimos adicionar um determinado valor na posio de memria reservada pela varivel.
4) Comentrio: um recurso imprescindvel para uma boa prtica de programao. Por
meio dos comentrios, o programador pode documentar o algoritmo e, com isso, aumentar a clareza do cdigo. Um aspecto importante a ser destacado a respeito dos
comentrios que eles so desconsiderados durante a execuo do algoritmo ou do
programa. Isso significa que eles no interferem no contedo do algoritmo; por isso,
podemos escrever qualquer tipo de informao para facilitar seu entendimento.
5) Constante: um dado definido no algoritmo que no pode ter seu valor modificado.
O conceito de constante que uma determinada informao no poder ser alterada
ao longo da execuo.
6) Estrutura condicional: quando voc utiliza uma estrutura condicional na elaborao
de um algoritmo, possvel selecionar, com base em uma ou mais condies, qual
parte do algoritmo dever ser executada.
7) Estruturas de dados: estabelecem mecanismos para a organizao dos dados, de forma que podemos trabalhar com as informaes de maneira prtica e eficiente. Alm
disso, elas so capazes de manipular grandes quantidades de informaes. As estruturas de dados tambm so conhecidas como variveis compostas. So divididas em
dois grupos: estruturas de dados homogneas e estruturas de dados heterogneas.
8) Estrutura de repetio: so recursos utilizados na construo de algoritmos e programas que permitem ao programador definir quais blocos de instrues sero repetidos
at que ocorra certa condio.
9) Identificador: o nome de uma varivel. O identificador possui regras muito bem
definidas para a especificao de nomes. Alm dos nomes das variveis, os nomes dos
algoritmos, das constantes e das sub-rotinas tambm so considerados identificadores.
10) Programa: conjunto de instrues que realizam um determinado nmero de tarefas
por meio do computador.
11) Programao modular: tem como objetivo a construo de algoritmo em pequenas
partes, ou mdulos, que so chamadas de sub-rotinas.
12) Variveis: dados que podem ter seu valor alterado durante a execuo do algoritmo.
Quando voc declara uma varivel em um programa, significa que voc est reservando um espao da memria principal (RAM) para o armazenamento de uma de-

22

Computao

terminada informao. O tamanho do espao reservado depende do tipo de dados


utilizado na varivel.
Esquema dos Conceitos-chave
Para que voc tenha uma viso geral dos conceitos mais importantes deste estudo, apresentamos, a seguir (Figura 1), um Esquema dos Conceitos-chave da disciplina. O mais aconselhvel que voc mesmo faa o seu esquema de conceitos-chave ou at mesmo o seu mapa
mental. Esse exerccio uma forma de voc construir o seu conhecimento, ressignificando as
informaes a partir de suas prprias percepes.
importante ressaltar que o propsito desse Esquema dos Conceitos-chave representar,
de maneira grfica, as relaes entre os conceitos por meio de palavras-chave, partindo dos
mais complexos para os mais simples. Esse recurso pode auxiliar voc na ordenao e na sequenciao hierarquizada dos contedos de ensino.
Com base na teoria de aprendizagem significativa, entende-se que, por meio da organizao das ideias e dos princpios em esquemas e mapas mentais, o indivduo pode construir o seu
conhecimento de maneira mais produtiva e obter, assim, ganhos pedaggicos significativos no
seu processo de ensino e aprendizagem.
Aplicado a diversas reas do ensino e da aprendizagem escolar (tais como planejamentos
de currculo, sistemas e pesquisas em Educao), o Esquema dos Conceitos-chave baseia-se,
ainda, na ideia fundamental da Psicologia Cognitiva de Ausubel, que estabelece que a aprendizagem ocorre pela assimilao de novos conceitos e de proposies na estrutura cognitiva
do aluno. Assim, novas ideias e informaes so aprendidas, uma vez que existem pontos de
ancoragem.
Tem-se de destacar que aprendizagem no significa, apenas, realizar acrscimos na estrutura cognitiva do aluno; preciso, sobretudo, estabelecer modificaes para que ela se configure como uma aprendizagem significativa. Para isso, importante considerar as entradas de
conhecimento e organizar bem os materiais de aprendizagem. Alm disso, as novas ideias e os
novos conceitos devem ser potencialmente significativos para o aluno, uma vez que, ao fixar
esses conceitos nas suas j existentes estruturas cognitivas, outros sero tambm relembrados.
Nessa perspectiva, partindo-se do pressuposto de que voc o principal agente da construo do prprio conhecimento, por meio de sua predisposio afetiva e de suas motivaes
internas e externas, o Esquema dos Conceitos-chave tem por objetivo tornar significativa a sua
aprendizagem, transformando o seu conhecimento sistematizado em contedo curricular, ou
seja, estabelecendo uma relao entre aquilo que voc acabou de conhecer com o que j fazia
parte do seu conhecimento de mundo (adaptado do site disponvel em: <http://penta2.ufrgs.
br/edutools/mapasconceituais/utilizamapasconceituais.html>. Acesso em: 11 mar. 2010).

Claretiano -

REDE DE EDUCAO

Caderno de Referncia de Contedo

23

Organizao de
Computadores
Compiladores e
Interpretadores

Comandos de
Entrada e Sada
Processador e
Memria

Programao de
Computadores

Tipos de Dados
int, char, float,
etc.

Estrutura
Sequencial

Estrutura de
Controle

Constantes e
Variveis

printf e scanf

if e switch

for, while e
do..while

Estrutura de
Dados

Expresses
Matemticas e Lgicas
vetores e
matrizes

registros
(struct)

ponteiros

Arquivos
Modularizao
Figura 1 Esquema dos Conceitos-chave da disciplina Computao.

Como pode observar, esse Esquema oferece a voc, como dissemos anteriormente, uma
viso geral dos conceitos mais importantes deste estudo. Ao segui-lo, ser possvel transitar entre os principais conceitos desta disciplina e descobrir o caminho para construir o seu processo
de ensino-aprendizagem, como, por exemplo, o conceito de estrutura de controle, o qual implica
o conhecimento das estruturas condicionais if e switch, alm das estruturas de repetio for,
while e do..while.

24

Computao

O Esquema dos Conceitos-chave mais um dos recursos de aprendizagem que vem se


somar queles disponveis no ambiente virtual, por meio de suas ferramentas interativas, bem
como queles relacionados s atividades didtico-pedaggicas realizadas presencialmente no
polo. Lembre-se de que voc, aluno EaD, deve valer-se da sua autonomia na construo de seu
prprio conhecimento.
Questes Autoavaliativas
No final de cada unidade, voc encontrar algumas questes autoavaliativas sobre os contedos ali tratados, as quais podem ser de mltipla escolha ou abertas com respostas objetivas
ou dissertativas.
Responder, discutir e comentar essas questes, bem como relacion-las com a prtica do
ensino de algoritmos e programao pode ser uma forma de voc avaliar o seu conhecimento.
Assim, mediante a resoluo de questes pertinentes ao assunto tratado, voc estar se preparando para a avaliao final, que ser dissertativa. Alm disso, essa uma maneira privilegiada
de voc testar seus conhecimentos e adquirir uma formao slida para a sua prtica profissional.
Bibliografia Bsica
fundamental que voc use a Bibliografia Bsica em seus estudos, mas no se prenda s a
ela. Consulte, tambm, as bibliografias apresentadas no Plano de Ensino e no item Orientaes
para o estudo da unidade.
Figuras (ilustraes, quadros...)
Neste material instrucional, as ilustraes fazem parte integrante dos contedos, ou seja,
elas no so meramente ilustrativas, pois esquematizam e resumem contedos explicitados no
texto. No deixe de observar a relao dessas figuras com os contedos da disciplina, pois relacionar aquilo que est no campo visual com o conceitual faz parte de uma boa formao intelectual.
Dicas (motivacionais)
O estudo desta disciplina convida voc a olhar, de forma mais apurada, a Educao como
processo de emancipao do ser humano. importante que voc se atente s explicaes tericas, prticas e cientficas que esto presentes nos meios de comunicao, bem como partilhe
suas descobertas com seus colegas, pois, ao compartilhar com outras pessoas aquilo que voc
observa, permite-se descobrir algo que ainda no se conhece, aprendendo a ver e a notar o
que no havia sido percebido antes. Observar , portanto, uma capacidade que nos impele
maturidade.
Voc, como aluno dos cursos de Graduao na modalidade EaD, necessita de uma formao conceitual slida e consistente. Para isso, voc contar com a ajuda do tutor a distncia, do
tutor presencial e, sobretudo, da interao com seus colegas. Sugerimos, pois, que organize bem
o seu tempo e realize as atividades nas datas estipuladas.
importante, ainda, que voc anote as suas reflexes em seu caderno ou no Bloco de
Anotaes, pois, no futuro, elas podero ser utilizadas na elaborao de sua monografia ou de
produes cientficas.

Claretiano -

REDE DE EDUCAO

Caderno de Referncia de Contedo

25

Leia os livros da bibliografia indicada, para que voc amplie seus horizontes tericos. Coteje-os com o material didtico, discuta a unidade com seus colegas e com o tutor e assista s
videoaulas.
No final de cada unidade, voc encontrar algumas questes autoavaliativas, que so importantes para a sua anlise sobre os contedos desenvolvidos e para saber se estes foram
significativos para sua formao. Indague, reflita, conteste e construa resenhas, pois esses procedimentos sero importantes para o seu amadurecimento intelectual.
Lembre-se de que o segredo do sucesso em um curso na modalidade a distncia participar, ou seja, interagir, procurando sempre cooperar e colaborar com seus colegas e tutores.
Caso precise de auxlio sobre algum assunto relacionado a esta disciplina, entre em contato com seu tutor. Ele estar pronto para ajudar voc.

3. REFERNCIA BIBLIOGRFICA
ASCENCIO, A. F. G. Lgica de programao com Pascal. So Paulo: Makron Books, 1999.

Claretiano -

REDE DE EDUCAO

EAD

Introduo Programao
de Computadores

1. OBJETIVOS
Compreender os conceitos de organizao de computadores.
Reconhecer e interpretar as principais linguagens de programao.
Instalar e configurar o ambiente para desenvolvimento.

2. CONTEDOS



Organizao de computadores.
Sistemas operacionais.
Linguagens de programao.
Ambientes de desenvolvimento integrados.

3. ORIENTAES PARA O ESTUDO DA UNIDADE


guir:

Antes de iniciar o estudo desta unidade, importante que voc leia as orientaes a se1) O incio do estudo desta disciplina envolve alguns aspectos tericos que sero fundamentais ao longo de todo o aprendizado. Dessa forma, utilize um bloco de anotaes
para destacar os principais conceitos, tais como: compilador, interpretador, cdigo-fonte etc.
2) Para saber mais sobre algumas linguagens de programao e ambientes para programao, acesse os sites indicados no decorrer desta unidade.

28

Computao

3) Tenha sempre mo o significado dos conceitos explicitados no Glossrio e suas ligaes pelo Esquema de Conceitos-chave para o estudo de todas as unidades deste
Caderno de Referncia de Contedo. Isso poder facilitar sua aprendizagem e seu desempenho.
4) Leia os livros da bibliografia indicada para que voc amplie seus horizontes tericos.
Coteje-os com o material didtico e discuta a unidade com seus colegas e com o tutor.

4. INTRODUO UNIDADE
Nesta primeira unidade, voc ter a oportunidade de estudar como os computadores so
organizados e quais so seus principais componentes fsicos e lgicos. Tais conceitos so essenciais para a construo de programas de computadores.
Alm disso, ao longo desta unidade voc poder aprender quais so os principais elementos que compem a arquitetura de um computador, desde o processador at o sistema operacional.
Voc conhecer, ainda, quais passos so necessrios para construir um programa e os
principais conceitos envolvidos nesse contexto, tais como: compiladores, linguagens de programao e ambientes de desenvolvimento.

5. ORGANIZAO DE COMPUTADORES
O principal objetivo de um computador realizar o processamento de grandes volumes
de dados. Considerando essa capacidade, eles executam milhares de operaes a velocidades
incrveis. Essas operaes so organizadas por meio de um conjunto de instrues que so chamadas de programas de computador.
Segundo Tanenbaum (2003), um programa determina quais aes so necessrias para
um computador realizar o processamento dos dados. Para que isso ocorra, os programas contam com diversos tipos de instrues para manipulao de dados. Essas instrues so executadas por meio de um componente de hardware denominado processador.
O processador, por sua vez, considerado o crebro do computador; ele possui um conjunto especfico de instrues que pode executar, e sua principal funcionalidade a transformao de dados, os quais ficam armazenados em um componente conhecido como memria
principal. A memria principal, ou memria RAM, um local em que o processador busca as
informaes e as instrues que devem ser executadas. Essa memria pode guardar qualquer
tipo de dados. No entanto, esses dados ficam disponveis apenas enquanto o computador estiver ligado. Alternativamente, esses dados podem ser armazenados de maneira permanente por
meio da memria secundria, como, por exemplo, em discos rgidos.
Geralmente, o carregamento dos dados na memria do computador realizado por meio
de elementos conhecidos como dispositivos de entrada. Como exemplos desses dispositivos
de entrada, temos: teclado, mouse, digitalizadores (scanner), dentre outros. Em contrapartida,
a disponibilizao das informaes realizada por meio de componentes conhecidos como dispositivos de sada, tais como: monitores, impressoras etc.
A Figura 1 representa graficamente um computador e seus respectivos componentes.

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

29

memria
secundria

dispositivos
de sada

dispositivos
de entrada

memria
principal
Figura 1 Representao dos principais componentes de um computador.

Sistemas operacionais
Um sistema operacional um programa de computador que possui caractersticas especiais, responsvel por gerenciar os recursos computacionais, alm de fornecer uma interface
entre os programas do usurio e o hardware do computador (Tanenbaum, 2003).
Todo usurio de computador utiliza algum tipo de sistema operacional, mesmo sem saber,
pois ele o primeiro programa executado quando o computador ligado. Os primeiros sistemas operacionais eram complexos e poucos usurios eram capazes de manipul-los. Entretanto,
hoje em dia, eles se tornaram mais simples e intuitivos, de forma que qualquer tipo de usurio,
desde uma criana at um adulto, pode oper-lo facilmente.
Existem diversos tipos de sistemas operacionais, cujas principais diferenas esto relacionadas aos recursos que cada um disponibiliza aos usurios. Em geral, esses sistemas podem ser
divididos em dois grupos:
sistemas operacionais para uso domstico;
sistemas operacionais para uso comercial (servidores).
Veremos, a seguir, quais so os sistemas operacionais para uso domstico e para uso comercial.
Os sistemas operacionais para uso domstico tm como principal caracterstica a facilidade de uso. Eles so adequados para usurios que no possuem grandes habilidades com computadores. Nessa famlia de sistemas operacionais, podemos destacar:
Microsoft Windows (Figura 2).
Linux (Figura 3).
Mac OS (Figura 4).
Nas Figuras 2, 3 e 4, voc pode observar as imagens que representam cada um desses
sistemas operacionais.

30

Computao

Microsoft Windows

Figura 2 Sistema Operacional Microsoft Windows Vista.

A famlia de sistemas operacionais Microsoft Windows possui uma gama de programas


para auxiliar os usurios menos experimentes a utilizar o computador. Os principais sistemas
dessa famlia so: Windows 98, Windows XP e Windows Vista.
Linux

Figura 3 Sistema Operacional Linux, distribuio Suse.


Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

31

Ultimamente, os sistemas operacionais Linux vm ganhando mercado, especialmente


pelo fato de serem gratuitos. H centenas de distribuies desse sistema operacional. Dentre as
principais, podemos citar: Suse, Red Hat, Ubuntu e Debian.
Mac OS

Figura 4 Sistema Operacional Mac OS.

O sistema operacional Mac OS distribudo pela Apple e muito utilizado por usurios
que precisam trabalhar com recursos grficos, como, por exemplo, processamento de imagens
e editorao de vdeo. A verso mais recente desse sistema operacional a Mac OS X.
O Quadro 1 apresenta os principais sistemas operacionais disponveis no mercado e seus
respectivos endereos na internet. Esses endereos so ricas fontes de informaes a respeito
de cada sistema operacional e foram acessados em 12 de mar. 2012.
Quadro 1 Principais sistemas operacionais para uso domstico.
SISTEMAS OPERACIONAIS PARA USO DOMSTICO
SISTEMA OPERACIONAL

ENDEREO

Microsoft Windows (todos)

<http://www.microsoft.com/brasil/windows/>

Microsoft Windows Vista

<http://www.microsoft.com/brasil/windows/windows-vista/>

Linux Suse

<http://www.suse.com/>

Linux Red Hat

<http://www.redhat.com/>

Linux Ubuntu

<http://www.ubuntu-br.org/>

Linux Debian

<http://www.debian.org/>

Apple Mac OS X

<http://www.apple.com/br/macosx/>

Agora, veremos os sistemas operacionais para uso comercial. Esses sistemas possuem as
mesmas caractersticas de um sistema operacional para uso domstico. No entanto, eles esto
preparados para gerenciar recursos computacionais de grande porte. Os sistemas operacionais
para uso comercial so geralmente conhecidos como sistemas operacionais para servidores.

32

Computao

Existem alguns sistemas operacionais que possuem verses para usurios domsticos e
tambm para servidores, como o caso do Windows e do Linux. Entretanto, alguns sistemas
operacionais so exclusivos para servidores, como, por exemplo, o Unix e o Solaris. A Figura 5
apresenta uma tela do sistema operacional Solaris.
O sistema operacional Solaris desenvolvido pela Sun Microsystems e da famlia Unix.
Inicialmente, era um sistema operacional proprietrio, mas atualmente possui uma verso gratuita denominada OpenSolaris.

Figura 5 Sistema operacional Solaris.

O Quadro 2 apresenta os principais sistemas operacionais para servidores e seus respectivos endereos na internet. Os endereos foram acessados em 26 mar. 2012.
Quadro 2 Principais sistemas operacionais para servidores.
SISTEMAS OPERACIONAIS PARA SERVIDORES
SISTEMA OPERACIONAL

ENDEREO

Microsoft Windows Server

<http://www.microsoft.com>

Linux Suse Enterprise

<http://www.suse.com>

Linux Red Hat Enterprise

<http://www.redhat.com/>

Unix

<http://www.unix.org>

Solaris

<http://www.sun.com/software/solaris/>

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

33

6. LINGUAGENS DE PROGRAMAO
Como vimos no incio desta unidade, os computadores so capazes de executar aes
que so especificadas por meio dos programas. Dessa forma, para que um computador realize
tarefas, necessrio que os programas sejam escritos em uma linguagem que ele entenda. Essa
linguagem conhecida como linguagem de programao.
Uma linguagem de programao permite que o computador seja programado para executar um conjunto determinado de aes. Com a linguagem de programao, podemos construir
programas para os mais variados propsitos, tais como: controlar o estoque de uma empresa,
analisar operaes financeiras de um banco, calcular a mdia entre duas notas de alunos, dentre
tantas outras.
Na prtica, o computador entende uma nica linguagem de programao, que conhecida como linguagem de mquina. No entanto, essa linguagem pouco intuitiva para os seres
humanos, tornando quase impossvel o desenvolvimento de programas.
Segundo Deitel (2005), cada computador possui uma linguagem de mquina especfica,
que definida pelo seu projeto de hardware. Dessa forma, a programao de computadores por
meio da linguagem de mquina realizada utilizando instrues numricas, que so representadas por sequncias binrias de zeros (0s) e uns (1s). Alternativamente, essas sequncias podem
ser representadas em sistemas de numerao hexadecimal.
Observe, a seguir, uma instruo tpica em linguagem de mquina:
0100 1111 1010 0110
A instruo anterior poderia representar, por exemplo, a leitura de uma informao do
teclado, ou ainda a soma entre dois nmeros. Esse tipo de programao baseada em linguagem
de mquina complexo e tedioso, alm de ser pouco produtivo.
Alm disso, um programa escrito em linguagem de mquina no pode ser visualizado em
editores de texto comuns, como, por exemplo, o bloco de notas. Para visualizar os cdigos de
mquina de um programa, voc deve utilizar programas especficos, chamados de programas
editores binrios. O utilitrio debug, disponvel nas verses do Windows, um deles.
Por exemplo, para visualizar os cdigos de mquina do programa Paint, clique no menu
Iniciar, em seguida em Executar, digite o comando a seguir e veja a representao na Figura 6.
debug c:\windows\system32\mspaint.exe

Figura 6 Execuo do programa Debug.

34

Computao

Em seguida, digite o comando:


d 0 100

O resultado da execuo do programa Debug o demonstrado na captura de tela a seguir.

cdigos de mquina em hexadecimal.

Em seguida, pressione a tecla q (quit), e depois enter, para sair do programa.


Veja como "simples" escrever um programa em linguagem de mquina!
Para facilitar o desenvolvimento de programas, foi criado um conjunto de instrues, as
quais representam as operaes bsicas que um computador pode realizar. Assim, em vez de
utilizar uma sequncia numrica de difcil compreenso, o programador pode utilizar um conjunto de nomes, conhecidos como mnemnicos. Essa linguagem baseada em abreviaes e
smbolos chamada de linguagem de montagem.
Um programa escrito em linguagem de montagem pode ser traduzido para linguagem de
mquina por meio de programas chamados de montadores ou assembler. Para ilustrar a criao
de programas utilizando a linguagem de montagem, observe o cdigo a seguir, o qual apresenta
a soma de dois nmeros. O programa soma os valores 100 e 200 e armazena-os em resultado
(adaptado de DEITEL, 2005).
1

load 100

add 200

store resultado

Certamente, o cdigo em linguagem montadora muito mais simples do que os cdigos


escritos em linguagem de mquina. No entanto, apesar da evoluo entre as linguagens, um
nmero grande de instrues era necessrio para executar as mais simples tarefas.
Para tornar mais simples a escrita de programas e acelerar o processo de desenvolvimento, foram criadas as linguagens de alto nvel. Com essas linguagens, foi possvel agrupar conjuntos de instrues da linguagem de mquina em uma nica instruo.

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

35

Por exemplo, suponha que voc precise escrever uma determinada mensagem no monitor. Em linguagem de montagem, voc precisaria escrever um conjunto substancial de linhas
para executar essa tarefa. Entretanto, em uma linguagem de alto nvel, como, por exemplo, a
linguagem de programao C, voc tem uma nica instruo que realiza essa tarefa (printf).
Veja o cdigo a seguir, que ilustra como possvel escrever uma mensagem na tela utilizando a
linguagem C.

1

printf(Ol seja bem-vindo!);

Os programas de computador escritos em linguagem de alto-nvel so comumente chamados de cdigo-fonte do programa, ou simplesmente cdigo-fonte. O cdigo-fonte de um
programa semelhante a um algoritmo. No entanto, enquanto o algoritmo escrito em pseudocdigo, o cdigo-fonte escrito utilizando as instrues da linguagem de programao escolhida.
Para que o cdigo-fonte de um programa possa ser executado, preciso que ele seja transformado em linguagem de mquina. Esse processo realizado por um programa especfico chamado de compilador, que transforma o cdigo-fonte em cdigo-objeto. Na maioria das vezes,
esse cdigo compilado um arquivo executvel que pode ser reproduzido pelo sistema operacional.
O cdigo-objeto possui todas as instrues necessrias para o processador executar o
programa. importante observar que o processo de compilao de um cdigo-fonte o torna
executvel apenas no sistema operacional em que ele foi compilado e, tambm, apenas para
uma famlia de processadores especficos. Isso significa que um programa compilado no sistema
operacional Windows XP, por exemplo, funcionar apenas nos sistemas operacionais da famlia
Windows, enquanto um programa compilado no sistema operacional Linux SUSE, funcionar
apenas nos sistemas operacionais baseados em Linux. Veja a Figura 7, que ilustra o processo de
compilao de um cdigo-fonte.

entrada

cdigo
fonte

cdigo
objeto

sada

Figura 7 Processo de compilao de um cdigo-fonte.

Na linguagem de programao C, por exemplo, o cdigo-fonte de um programa possui a


extenso .C (meuprograma.c) e o cdigo-objeto possui a extenso .obj (meuprograma.obj). Um
programa chamado de linkador transforma o arquivo objeto em executvel (meuprograma.
exe). A Figura 8 ilustra o processo de compilao na linguagem de programao C.

36

Computao

Figura 8 Processo de compilao de um cdigo-fonte na linguagem de programao C.

A seguir, apresentamos uma listagem com algumas linguagens de programao que realizam a compilao do cdigo-fonte:
1) C;
2) C++;
3) Cobol;
4) Delphi (Object-Pascal);
5) Fortran;
6) Pascal;
7) Visual Basic.
Algumas linguagens de programao no executam o processo de compilao em seus cdigos-fontes. Essas linguagens realizam um procedimento conhecido como interpretao. Para
isso, elas utilizam um programa chamado interpretador. Durante a interpretao, o cdigo-fonte analisado (ou traduzido) linha por linha e diretamente executado. Assim, a cada execuo
do programa, o cdigo-fonte precisa ser novamente interpretado, para que o resultado seja
reproduzido corretamente. A Figura 9 ilustra o processo de interpretao de um cdigo-fonte.

Figura 9 Processo de interpretao de um cdigo-fonte.

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

37

Veja, agora, algumas linguagens de programao que so interpretadas:


1) Basic;
1) Perl;
2) PHP;
3) Python;
4) Lisp.
importante salientar que algumas linguagens de programao executam os dois processos, o de compilao e o de interpretao, para execuo dos programas. Em um primeiro
momento, o cdigo-fonte compilado e, em seguida, interpretado. Essa uma caracterstica
importante, pois torna os programas multiplataforma, ou seja, os programas podem ser executados em vrios sistemas operacionais sem a necessidade de recompilao. Para a execuo
dos programas, essas linguagens utilizam um recurso conhecido como mquina virtual. Um
exemplo de linguagem compilada e interpretada a linguagem Java, que pode ser encontrada
no site <http://java.sun.com>.

7. AMBIENTES DE DESENVOLVIMENTO
Os ambientes de desenvolvimento integrados, do ingls Integrated Development Environment
(IDE), fornecem aos programadores todos os recursos necessrios para escrever e testar os programas de computador.
Nesta disciplina, aprenderemos a construir programas na linguagem de programao C.
Precisaremos, ento, utilizar um ambiente de desenvolvimento integrado que suporte essa linguagem.
H dezenas de ambientes para programao para a linguagem C. Os principais so:
Netbeans (disponvel em: <http://www.netbeans.org/>. Acesso em: 12 mar. 2012).
O NetBeans um ambiente de desenvolvimento que suporta diversas linguagens;
muito utilizado para programao na linguagem Java, mas tambm oferece recursos
para desenvolvimento de programas na linguagem C. um ambiente de desenvolvimento gratuito e de cdigo-fonte aberto, distribudo pela empresa Sun Microsystems
(disponvel em: <http://www.sun.com/>. Acesso em: 12 mar. 2012). Alm disso, um
ambiente multiplataforma, o que significa que funciona em qualquer sistema operacional, como, por exemplo, Windows e Linux.
Code::Blocks (disponvel em: <http://www.codeblocks.org/>. Acesso em: 12 mar. 2012).
O Code::Blocks, ou simplesmente C::B, um ambiente de desenvolvimento integrado
para as linguagens C e C++. um ambiente multiplataforma, gratuito e de cdigo-fonte aberto, possuindo verses para Windows e Linux.
Microsoft Visual C++ Express Edition (disponvel em: <http://www.microsoft.com/
Express/vc/>. Acesso em: 12 mar. 2012).
O Visual C++ Express Edition o ambiente para desenvolvimento da Microsoft para
construes de programas na linguagem C e C++. A expresso "Express Edition refere-se a um conjunto de ambientes para desenvolvimento que a Microsoft disponibiliza
de forma gratuita.
Outros ambientes de desenvolvimento, no menos importantes, so:

38

Computao

Dev-C++ (disponvel em: <http://www.bloodshed.net/devcpp.html>. Acesso em: 12


mar. 2012).
Eclipse for C/C++ Developers (disponvel em: <http://www.eclipse.org/>. Acesso em:
12 mar. 2012).
Borland C++ (disponvel em: <http://www.codegear.com/downloads/free/cppbuilder>.
Acesso em: 12 mar. 2012).
Nesta disciplina, voc poder utilizar o ambiente de desenvolvimento de sua preferncia.
Para facilitar a instalao e configurao do ambiente, so apresentados os procedimentos para
dois ambientes: NetBeans e Code::Blocks.
O ambiente NetBeans oferece suporte completo ao desenvolvimento de aplicaes em
diversas linguagens. Sua instalao um pouco complexa, mas funciona perfeitamente em diversos sistemas operacionais. J o ambiente Code::Blocks possui um processo de instalao
simplificado, sendo indicado para o desenvolvimento dos exemplos e exerccios ao longo desta
disciplina.
Instalao e configurao do ambiente Netbeans
Agora, voc ter a oportunidade de aprender a instalar e a configurar o ambiente Netbeans. Para isso, fique atento s explicaes e siga os passos corretamente.
Inicialmente, voc dever fazer alguns downloads. Veja, a seguir, os endereos em que
esto disponveis. Todos os sites foram acessados em 12 de maro de 2012.
Java SE Development Kit
<http://java.sun.com/javase/downloads/>
NetBeans
<http://www.netbeans.org/downloads/index.html>
Compilador da linguagem C
MinGW: <http://prdownloads.sourceforge.net/mingw/MinGW-3.1.0-1.exe?download>
MSYS: <http://downloads.sourceforge.net/mingw/ MSYS-1.0.10.exe>
Em seguida, vamos iniciar a instalao do Java SE Development Kit. Para tanto, siga os
passos a seguir.
1) Acesse o endereo <http://java.sun.com/javase/downloads/> e selecione Java SE
Development Kit (Figura 10).

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

39

Figura 10 Site para download do Java SDK.

2) Selecione o sistema operacional, Windows ou Linux, e, em seguida, clique no item I


agree to the...; finalmente, clique no boto Continue (Figura 11).

Figura 11 Seo da Plataforma do Java SDK.

40

Computao

3) Clique no link para download do programa. Quando a janela de download aparecer,


selecione a opo para salvar o arquivo no disco (Figura 12).

Figura 12 Download do Java SDK.

4) Depois de terminado o download, clique duas vezes em cima do arquivo de instalao.


Voc no precisa alterar nenhum tipo de configurao na instalao do JDK; assim,
voc pode clicar seguidas vezes no boto Prximo (next), at a instalao comear. Ao
final, voc visualizar a tela exibida na Figura 13.

Figura 13 Instalao do Java SDK.

Instalao do NetBeans
1) Acesse o endereo <http://www.netbeans.org/downloads/index.html> e selecione a
opo de download do NetBeans para C/C++ (Figura 14).
Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

41

Figura 14 Download do ambiente NetBeans.

2) Depois de terminado o download, clique duas vezes no arquivo de instalao. A instalao bastante simples e no necessita de configuraes adicionais. Dessa forma,
clique para aceitar os termos de licena e, em seguida, clique no boto Prximo at
visualizar a tela de instalao da Figura 15.

Figura 15 Instalao do programa NetBeans.

3) O ambiente de desenvolvimento NetBeans foi perfeitamente instalado.

42

Computao

Instalao do compilador para linguagem C


1) Faa o download dos programas necessrios e salve os arquivos em uma pasta.
MinGW (disponvel em: <http://prdownloads.sourceforge.net/mingw/MinGW-3.1.0-1.exe?download>. Acesso em: 13 mar. 2012). Faa o download do arquivo.
MSYS (disponvel em: <http://downloads.sourceforge.net/mingw/MSYS-1.0.10.
exe>. Acesso em: 13 mar. 2012).
2) Depois de terminado o download, clique duas vezes no arquivo MinGW-3.1.0-1.exe.
A instalao do programa muito simples: basta aceitar os termos e clicar no boto
Next para instalar. Ao final, voc visualizar a tela apresentada na Figura 16.

Figura 16 Tela de instalao do programa MinGW.

3) O prximo passo a instalao do programa MSYS-1.0.10.exe. A instalao tambm


bastante simples. Em determinando momento, ser necessrio preencher algumas
informaes. Na primeira pergunta, digite y, conforme ilustrado na Figura 17.

Figura 17 Instalao do programa MSYS.


Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

43

4) Digite novamente y para a prxima pergunta, conforme apresentado na Figura 18.

Figura 18 Instalao do programa MSYS.

5) Finalmente, devemos especificar o diretrio de instalao do MinGW. Para isso, digite


o diretrio da seguinte forma: c:/MinGW (conforme ilustrado na Figura 19).

Figura 19 Instalao do programa MSYS.

6) Com isso, o compilador est devidamente instalado.


Configurao do Compilador C no NetBeans
1) No NetBeans, clique no menu Ferramentas, Opes. Em seguida, no menu, selecione
C/C++, e, finalmente, clique no boto Adicionar. Na janela aberta (Figura 20), selecione o local de instalao dos arquivos binrios do MinGW, que so instalados por padro em c:\MinGW\bin. Clique, ento, no boto OK. O resultado pode ser visualizado
na Figura 21a.

44

Computao

Figura 20 Configurao do compilador C no ambiente NetBeans.

Figura 21a Configurao do compilador C no ambiente NetBeans.

2) Caso seja necessrio, voc pode configurar o Comando Make, informando o diretrio
de instalao (Figura 21b).

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

45

Figura 21b Diretrio de instalao do programa Make.

3) Finalmente, o ambiente est devidamente configurado.


Criao e compilao de um programa na linguagem C
1) Com o NetBeans aberto, clique no menu Arquivo, Novo Projeto...; voc visualizar a
tela apresentada na Figura 22.

Figura 22 Criando um novo projeto C.

2) Na janela Novo Projeto, selecione a categoria C/C++, e, em projetos (lado direito) selecione Aplicativo de C/C++. Clique no boto Prximo. Especifique o nome do projeto.
Por exemplo, MeuPrimeiroProjeto, e clique no boto Finalizar.
3) Com o novo projeto criado, clique com o boto direito do mouse em Arquivos de
cdigo-fonte. Selecione a opo Novo, e, em seguida, clique em Arquivo C Principal
(Figura 23).

46

Computao

Figura 23 Criando um Novo Arquivo C Principal.

4) Na janela Novo Arquivo C Principal, defina o Nome do Arquivo. Por exemplo:


MeuPrimeiroPrograma. Clique no boto Finalizar. Seu ambiente de desenvolvimento
ser semelhante ao da Figura 24.

Figura 24 Primeiro programa no ambiente de desenvolvimento NetBeans.

5) No cdigo-fonte do programa MeuPrimeiroPrograma.C, faa as alteraes necessrias


para que o cdigo seja semelhante ao programa a seguir:

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

47

6) Finalmente, vamos executar o programa implementado. Para isso, clique no menu


Executar, Executar Main Project... ou simplesmente pressione a tela F6. O resultado
apresentado na captura de tela a seguir:

7) Com isso, seu ambiente est pronto para escrever novos programas!
Instalao e configurao do ambiente Code::Blocks
Agora, voc poder aprender a instalar e a configurar o ambiente Code::Blocks. Para isso,
importante ficar atento s explicaes e seguir os passos corretamente.
Inicialmente, necessrio fazer o download do Code::Blocks com Compilador MinGW, no
endereo <http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe>.
Acesso em: 13 mar. 2012.
Em seguida, vamos iniciar a instalao do Code::Blocks passo a passo.
1) Acesse o endereo <http://www.codeblocks.org/downloads/5> para fazer o download
do Code::Blocks e selecione a verso desejada. Alternativamente, voc pode acessar
diretamente o link para download <http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe>

48

Computao

2) Depois de terminado o download, clique duas vezes no arquivo de instalao do


Code::Blocks. Assim, a tela inicial de instalao ser apresentada. Em seguida, clique
no boto Next (Figura 25).

Figura 25 Instalao do programa Code::Blocks.

3) Aceite os termos de licena clicando no boto I Agree e, em seguida, clique no boto


Next. Finalmente, aparecer o boto Install. Clique nesse boto para iniciar a instalao do programa (Figura 26).

Figura 26 Instalao do programa Code::Blocks.

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

49

4) Terminada a instalao, voc pode executar o ambiente. Na primeira vez que o ambiente for executado, selecione qual compilador C ser utilizado na gerao dos programas. Selecione o GNU GCC Compiler e, em seguida, clique em OK (Figura 27).

Figura 27 Seleo do compilador para o programa Code::Blocks.

5) A tela inicial do Code::Blocks dever ser semelhante da Figura 28.

Figura 28 Ambiente de desenvolvimento Code::Blocks.

6) Dessa forma, seu ambiente de desenvolvimento est pronto para voc escrever programas na linguagem C.

50

Computao

Criao e compilao de um programa na linguagem C


1) Com o programa Code::Blocks aberto, clique no menu File, New Project...
2) Selecione o projeto Console application e, em seguida, clique no boto Go, conforme
demonstra a Figura 29.

Figura 29 Criando novos projetos Console Application.

3) Na primeira vez que um novo projeto criado, voc visualizar a tela mostrada na
Figura 30. Selecione a opo "Skip this page next time e clique em Next.

Figura 30 Criando novos projetos Console Application.

Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

51

4) Selecione projetos do tipo C e, em seguida, clique em Next (Figura 31).

Figura 31 Criando novos projetos Console Application.

5) Na Figura 32, esto ilustrados a definio, o ttulo do projeto (Project Title) e a pasta
na qual o projeto ser criado (Folder to create project in). Finalmente, clique em Next.

Figura 32 Criando novos projetos Console Application.

6) Verifique se o compilador selecionado o GNU GCC Compiler (Figura 33).

52

Computao

Figura 33 Criando novos projetos Console Application.

7) Pronto! Seu primeiro projeto na linguagem C est criado. O arquivo que contm o
cdigo-fonte do programa pode ser visualizado na guia Projects, do lado esquerdo
(Figura 34).

Figura 34 Estrutura de um projeto Console Application.


Claretiano -

REDE DE EDUCAO

Introduo Programao de Computadores

53

8) Para executar a aplicao, voc pode, alternativamente, utilizar o cone na barra de


menus, conforme demonstra a seta na Figura 35, ou selecionar o menu Build, Build
and Run ou, ainda, pressionar a tecla F9.

Figura 35 Execuo de programas no Code::Blocks.

9) O resultado da aplicao apresentado na captura de tela a seguir.

8. QUESTES AUTOAVALIATIVAS
Sugerimos que voc procure responder, discutir e comentar as questes a seguir que
tratam da temtica desenvolvida nesta unidade.
A autoavaliao pode ser uma ferramenta importante para voc testar o seu desempenho.
Se voc encontrar dificuldades em responder a essas questes, procure revisar os contedos
estudados para sanar as suas dvidas. Esse o momento ideal para que voc faa uma reviso
desta unidade. Lembre-se de que, na Educao a Distncia, a construo do conhecimento
ocorre de forma cooperativa e colaborativa; compartilhe, portanto, as suas descobertas com os
seus colegas.
Confira, a seguir, as questes propostas para verificar o seu desempenho no estudo desta
unidade:
1) O que um programa de computador?
2) Qual a funo do processador e qual sua relao com os programas de computador?

54

Computao

3) Reflita sobre a diferena entre memria principal e memria secundria.


4) Conceitue e apresente exemplos de dispositivos de entrada e dispositivos de sada.
5) O que so sistemas operacionais?
6) Os computadores so capazes de executar aes que so especificadas por meio dos programas. Dentro deste
contexto, o que linguagem de programao?
7) Relacione linguagem de mquina e linguagem de montagem. Pensando nas duas definies, investigue: o que
so montadores ou assemblers?
8) Considerando a elaborao de um programa de computador, explique o que o cdigo-fonte do programa.
9) Qual a utilidade de um compilador?
10) Reflita sobre a diferena entre o cdigo-objeto e o cdigo-fonte.
11) Compare o processo de compilao de um cdigo-fonte e o processo de compilao de um cdigo-fonte na
linguagem de programao C.
12) Apresente pelo menos trs exemplos de linguagens de programao compiladas.
13) O que interpretador? Explique o processo de interpretao de um cdigo-fonte.
14) Apresente pelo menos trs exemplos de linguagens de programao interpretadas.
15) Explique o processo de criao e compilao de um programa na linguagem C utilizando o ambiente Code::Blocks.

9. CONSIDERAES
Terminamos o estudo da primeira unidade! Nela, voc teve a oportunidade de aprender
os principais conceitos sobre organizao de computadores, sistemas operacionais e linguagens
de programao. Alm disso, conheceu os procedimentos para a instalao e configurao do
ambiente de desenvolvimento integrado para programao na linguagem C. Esse ambiente ser
fundamental para o estudo das prximas unidades, nas quais escreveremos diversos programas
na linguagem C.

10. REFERNCIAS BIBLIOGRFICAS


DEITEL, H. M. Java: como programar. 6. ed. So Paulo: Prentice-Hall, 2005.
TANENBAUM, A. S. Sistemas operacionais modernos. 2. ed. So Paulo: Prentice-Hall, 2003.

Claretiano -

REDE DE EDUCAO