Buscar

Computação introdução

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

EA
D
CRC
Caderno de 
Referência de 
Conteúdo
1. INTRODUÇÃO 
Seja bem-vindo! 
Você está iniciando o estudo da disciplina Computação, na qual terá a possibilidade de 
aprender como desenvolver programas de computador utilizando a linguagem de programação 
C. Para facilitar a sua compreensão, o conteúdo foi dividido em seis unidades. Juntamente com 
este Caderno de Referência de Conteúdo (CRC), você encontrará o Caderno de Atividades e In-
teratividades (CAI), com os exercícios e as atividades práticas que complementarão seu estudo.
Durante o estudo desta disciplina, você conhecerá desde os conceitos fundamentais para 
construção de programas, como estruturas sequenciais, estruturas de controle e estruturas de 
dados, até aspectos avançados, como programação modular e alocação dinâmica de memória.
Um dos aspectos fundamentais para o desenvolvimento de programas é o armazenamen-
to de informações. Para isso, estudaremos como manipular arquivos por meio da linguagem de 
programação C. Com o conteúdo estudado nesta disciplina, além de criar arquivos no sistema 
operacional, saberemos como gravar e recuperar informações.
Também é fundamental que você, como desenvolvedor, acompanhe a evolução das tec-
nologias utilizadas no desenvolvimento de aplicações. Para isso, não utilize apenas este material 
como fonte de informação. É essencial que complemente sua formação consultando outras fon-
tes, como livros, revistas e internet. Além disso, não se esqueça de compartilhar suas experiên-
cias por meio dos Fóruns e da Lista na Sala de Aula Virtual, pois assim, além de contribuir para o 
aprendizado de outras pessoas, você consolidará seu conhecimento.
© Computação
 Claretiano - REDE DE EDUCAÇÃO
14
Após essa introdução aos conceitos principais da disciplina, apresentamos a seguir, no 
tópico Orientações para o Estudo da Disciplina, algumas orientações de caráter motivacional, 
dicas e estratégias de aprendizagem que poderão facilitar o seu estudo.
Que você tenha um bom e proveitoso estudo!
2. ORIENTAÇÕES PARA O ESTUDO DA DISCIPLINA
Abordagem Geral da Disciplina
Neste tópico, apresenta-se uma visão geral do que será estudado nesta disciplina. Aqui, 
você entrará em contato com os assuntos principais deste conteúdo de forma breve e geral e 
terá a oportunidade de aprofundar essas questões no estudo de cada unidade. No entanto, essa 
Abordagem Geral visa fornecer-lhe o conhecimento básico necessário a partir do qual você pos-
sa construir um referencial teórico com base sólida – científica e cultural – para que, no futuro 
exercício de sua profissão, você a exerça com competência cognitiva, ética e responsabilidade 
social. Vamos começar nossa aventura pela apresentação das ideias e dos princípios básicos que 
fundamentam esta disciplina. 
A disciplina Computação faz parte dos cursos de Graduação e tem como objetivo principal 
a iniciação do aluno no desenvolvimento de programas de computador. Nesta disciplina, você 
conhecerá a linguagem de programação C e as principais estruturas utilizadas na elaboração de 
programas.
Antes de iniciar o estudo específico sobre a programação, é importante que alguns aspec-
tos a respeito da organização dos computadores sejam apresentados. As máquinas de computar, 
popularmente conhecidas como computadores, têm como principal objetivo o processamento 
de informações. Para isso, um fluxo linear de transformação é realizado em dados, os quais são 
inseridos por meio de um dispositivo de entrada. Os dados são processados, e, por fim, apresen-
tados em periféricos conhecidos como dispositivos de saída.
O processamento das informações é efetuado por um componente específico do compu-
tador, conhecido como processador. Essa parte integrante é fundamental para o funcionamento 
do sistema e geralmente é conhecida como o “cérebro do computador”. Para que as informa-
ções sejam processadas, o processador possui um conjunto finito de instruções, as quais reali-
zam tarefas específicas. 
Por exemplo: o processador possui uma instrução destinada à realização de contas de so-
mar, conhecida como sum. Todas as informações processadas no processador são armazenadas 
em um componente denominado memória principal. A memória principal mantém os dados 
enquanto o programa de computador está sendo executado, por isso esse tipo de memória é 
conhecida como volátil. Além disso, o computador pode utilizar informações armazenadas de 
maneira persistente. Ele utiliza um tipo específico de memória conhecida como memória secun-
dária. Os principais exemplos de memória secundária são os discos rígidos, o CD-ROM (Compact 
Disc Read Only Memory – Disco Compacto Memória Somente de Leitura), o DVD-ROM (Digital 
Versatile Disk Read Only Memory – Disco Versátil Digital Somente de Leitura), o BD-ROM (Bluray 
Disc Real Only Memory), entre outros.
Para que o computador seja capaz de processar as informações, é necessário que os dados 
sejam alimentados por meio dos dispositivos de entrada. Esses dispositivos têm como objetivo 
carregar os dados no computador. Os principais exemplos de dispositivo de entrada são o mouse 
15© Caderno de Referência de Conteúdo
e os digitalizadores. Por outro lado, a funcionalidade de apresentação de dados por meio do 
computador é executada por meio dos dispositivos de saída. Nesses dispositivos, os dados po-
dem ser apresentados no formato digital e apenas para visualização, 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 
informações, ou simplesmente a transformação de dados. Para que esse processamento seja 
realizado, o computador utiliza um conjunto de instruções que são interpretadas pelo proces-
sador. Essas instruções 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 são conhecidas como lin-
guagens de programação.
De modo geral, uma linguagem de computador possibilita que um programador desenvol-
va programas de computador, de maneira que o computador seja capaz de executar um conjun-
to determinado de ações, as quais realizam os mais variados tipos de tarefas. Podemos construir 
programas de computador, por exemplo, para calcular a média final de uma disciplina, ou ainda 
para organizar as informações financeiras de uma empresa. A complexidade do programa está 
intimamente relacionada com o número de instruções, ou linhas de códigos, necessárias no 
programa.
Devemos também atentar para o número de linguagens de programação existentes atu-
almente. Uma simples pesquisa em um site de busca pelo termo linguagens de programação 
retornará alguns milhares de resultados. Além disso, essa diversidade pode tornar a produção 
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 são capazes de entender uma única lin-
guagem de programação, conhecida como linguagem de máquina. Por outro lado, a linguagem 
de máquina, também referenciada como código de máquina, possui uma estrutura pouco orga-
nizada e é pouco intuitiva para seres humanos. Dessa maneira, o desenvolvimento de progra-
mas de computador utilizando os códigos de máquina pode ser considerado uma tarefa pratica-
mente impossível nos dias atuais.
Em sistemas operacionais Microsoft, tais como o Microsoft Windows 7, Microsoft Windows 
XP, entre outros, é possível visualizar os códigos de máquina utilizados para construção dos pro-
gramas utilizando o comando debug – por exemplo, debug programa.exe.
Para simplificar a construção de aplicações, o programadorpode utilizar um conjunto de 
instruções que se referem às operações básicas que o computador pode executar. Essas ins-
truções são de mais simples compreensão e são conhecidas como mnemônicos. Em termos 
práticos, os mnemônicos representam uma abreviação de um conjunto de instruções numéricas 
(hexadecimais) utilizadas nos códigos de máquina. As linguagens de programação que utilizam a 
simbologia de mnemônicos no desenvolvimento de programas são conhecidas como linguagens 
de montagem. Porém, é importante notar que mesmo construindo programas com linguagens 
de montagem, os mnemônicos não são entendíveis pelo computador. Assim, após construir o 
programa, é necessário realizar um processo de tradução da linguagem de montagem para a 
linguagem de máquina. Esse procedimento é realizado por programas específicos, conhecidos 
como montadores ou assemblers.
© Computação
 Claretiano - REDE DE EDUCAÇÃO
16
Com a evolução dos computadores, tanto em relação aos componentes físicos (hardware), 
quanto aos componentes lógicos (software), a complexidade do desenvolvimento dos programas 
foi aumentando. Para simplificar a escrita e principalmente para agilizar o processo de elabora-
ção dos programas de computadores, foram criadas linguagens de programação mais próximas 
ao cotidiano dos programadores. Essas linguagens são conhecidas como linguagens de progra-
mação de alto nível. Por meio delas, as instruções de programação foram agrupadas em um úni-
co comando. Por exemplo, se com uma linguagem de máquina era necessário escrever algumas 
dezenas de linhas para exibir o nome de uma pessoa na tela ou o resultado do cálculo de uma 
equação, com as linguagens de máquina essas linhas foram reduzidas para uma única instrução. 
Na linguagem de programação Pascal, o comando que exibe uma informação na tela é denomi-
nado writeln, enquanto na linguagem de programação C, que será abordada neste material, o 
comando é chamado printf. Com a evolução das linguagens de programação, o desenvolvimen-
to de programas de computador se tornou algo fascinante.
Quando você utiliza uma linguagem de programação para escrever programas, as instru-
ções usadas no desenvolvimento são conhecidas como código-fonte do programa, ou simples-
mente código-fonte. A principal vantagem em utilizar linguagens de alto nível para elaboração 
de códigos-fontes está na relação entre a linguagem de programação e o algoritmo. O primeiro 
passo para a elaboração de um programa de computador com qualidade é a codificação do al-
goritmo. Um algoritmo representa a sequência organizada de instruções que deverão ser reali-
zadas para a execução de uma determinada tarefa. Os algoritmos são especificados por meio de 
uma linguagem comum aos seres humanos, a qual podem ser definida, por exemplo, utilizando 
português estruturado. Neste caso, você pode utilizar instruções do tipo escreva, leia, dentre 
outras. Com a elaboração do algoritmo, torna-se mais simples o desenvolvimento do programa 
com a linguagem de alto nível, pois é necessária apenas a tradução do algoritmo para a lingua-
gem de programação escolhida.
O processo de desenvolvimento de um programa utilizando uma linguagem de programa-
ção envolve uma etapa fundamental, que é a verificação do código-fonte. Essa verificação tem 
como objetivo avaliar se o código foi escrito de maneira correta, a partir das instruções disponí-
veis na linguagem de programação escolhida. Todo esse processo é gerenciado e realizado por 
um programa específico, conhecido como compilador. De forma prática, o compilador verifica 
o código-fonte do programa, e caso as instruções tenham sido codificadas de maneira correta 
transforma o código-fonte em código-objeto. O código-objeto representa o código compilado 
do programa; porém, não permite sua execução.
Para transformar um código-objeto em um programa executável, é necessário outro pro-
grama específico, denominado linker. Na linguagem de programa C, por exemplo, o processo 
completo de compilação de um programa é realizado em três fases: programa.c à programa.
obj à programa.exe.
Os programas de computador são criados em programas específicos conhecidos como 
ambientes de desenvolvimento, do inglês Integrated Development Environment, ou simples-
mente IDE. Esses ambientes oferecem aos desenvolvedores de programas um conjunto imenso 
de recursos capazes de facilitar e simplificar a elaboração do programa. Além disso, permitem 
que os programas sejam exaustivamente testados para que nenhum erro seja detectado após o 
lançamento – ou disponibilização – da versão final do programa.
Para esta disciplina, você aprenderá como elaborar programas utilizando a linguagem de 
programação de alto nível C. Assim, para a codificação, serão necessárias a instalação e a confi-
guração de um ambiente de desenvolvimento integrado. Para usuários de sistemas operacionais 
17© Caderno de Referência de Conteúdo
Microsoft, ou sistemas operacionais baseados em Linux, será possível utilizar um ambiente to-
talmente gratuito chamado Code::Blocks. Outros ambientes de desenvolvimento também po-
dem ser utilizados ao longo da disciplina, tais como Microsoft Visual C++, ou ainda o NetBeans. 
Fundamentos da linguagem de programação C
A linguagem de programação C é uma linguagem estruturada muito utilizada para o desen-
volvimento de aplicações comerciais e científicas. Foi criada em 1970 pelo pesquisador Dennis 
Ritchie. No início da década de 1970, a linguagem C era empregada na construção de programas 
para o sistema operacional Unix e a estrutura sintática da linguagem foi elaborada com base em 
uma antiga linguagem de programação conhecida como BCPL. 
Os programas construídos utilizando a linguagem de programação C podem ser usados em 
qualquer sistema operacional, como nas diversas edições do Microsoft Windows, nas versões 
do sistema operacional Linux e Unix, e também nos sistemas da Apple, como o MacOS. Um fato 
importante a respeito da portabilidade da linguagem de programação C é a necessidade de 
compilação 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, 
é necessário que ele seja compilado por um compilador específico 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 funda-
mental e que não pode ser interpretado de maneira equivocada é que a linguagem de progra-
mação C é portável, porém não é multiplataforma.
A estrutura mínima de um programa na linguagem de programação C precisa inicialmente 
da inclusão de cabeçalhos por meio da diretiva include. Os cabeçalhos podem ser considerados 
bibliotecas de programação, nos quais as diversas funções previamente definidas podem ser 
utilizadas pelos programadores. No mínimo, um programa de computador codificado utilizando 
a linguagem C precisa da inclusão da biblioteca stdio.h. Essa biblioteca é responsável pelos co-
mandos de entrada e saída denominados scanf e printf. 
O comando conhecido como printf é necessário para exibir informações na tela. Com ele, 
o programador pode exibir diversas informações processadas ao longo das linhas do programa. 
Esse comando também pode ser adequado para exibir na tela valores referentes aos conteúdos 
de variáveis. O outro comando, denominado scanf, é empregado na leitura de informações for-
necidas pelo usuário. Essas informações são entradas por meio de um teclado, em que o usuário 
poderá digitar qualquer tipo de informação. Porém, é importante salientar que o tipo de infor-
mação recebida pelo comando scanf deve estar de acordo com o tipo de variável utilizada para 
receber esse valor, caso contrário o programa poderá apresentar um erro em sua execução. Esse 
tipo de erro é muito comum nos programas da linguagemde programação C, principalmente 
devido aos diferentes tipos de dados.
O trecho de código a seguir demonstra um simples programa utilizando a linguagem de 
programação C. Neste exemplo, é possível notar a presença dos comandos de entrada e saída 
(printf e scanf). 
Além disso, no programa foi utilizado um dos conceitos mais fundamentais da progra-
mação de computadores, que é denominado variável. Uma variável é um espaço de endere-
çamento de memória reservado para armazenar informações utilizadas pelo programa. Essas 
informações podem ser resultantes de um cálculo matemático, ou, em alguns casos, podem ser 
o resultado da entrada do usuário fornecida por meio de um teclado. 
© Computação
 Claretiano - REDE DE EDUCAÇÃO
18
Para cada variável utilizada no programa de computador, um tipo está associado. A asso-
ciação de um tipo a uma variável é conhecida como tipo de dados. Uma variável pode armaze-
nar apenas informações do tipo a que está vinculada, e com isso poderá executar um conjunto 
de operações. Por exemplo: um tipo de dados para armazenamento de informações numéricas 
na linguagem de programação C é denominado int. Esse tipo é adequado para manipulação 
de valores numéricos inteiros, ou seja, que não possuam a parte fracionária. Um tipo inteiro 
permite o armazenamento de valores como -5, -32, -85, 0, 12, 48, 43452. Além disso, esse tipo 
permite a realização das seguintes operações: soma, subtração, multiplicação, divisão e resto da 
divisão.
#include <stdio.h> //biblioteca do programa
//programa principal
void main()
{
 //declaração das variáveis
 int a;
 int b;
 int c;
 //entrada de dados da variável “a”
 printf(“Informe o primeiro valor: “);
 scanf(“%i”,&a);
 //entrada de dados da variável “b”
 printf(“Informe o primeiro valor: “);
 scanf(“%i”,&b);
 //cálculo matemático que resulta na soma de “a” e “b”
 c = (a+b);
 //saída na tela
 printf(“O resultado da soma é %i \n”, c);
}
A linguagem de programação C possui um recurso interessante, denominado códigos de 
barra invertida. Esses códigos, que na verdade são caracteres, fornecem um suporte interes-
sante para o controle das informações que são exibidas na tela. Por exemplo, o código de barra 
invertida denominado “\n” (leia-se barra n), é utilizado para mudança de linha. Em outras pala-
vras, ele é empregado na quebra de linhas. Outro código bastante utilizado na construção dos 
programas é o “\t”, cujo objetivo é realizar uma tabulação horizontal das informações que estão 
sendo exibidas na tela. No exemplo apresentado, foi possível visualizar a utilização do código de 
barra invertida “\n”.
Como na maioria das linguagens de programação, a linguagem C possui um conjunto de 
operações para realização de cálculos matemáticos. Esses operadores são conhecidos como 
operadores aritméticos e possuem um conjunto de símbolos que podem ser utilizados para 
formular as expressões. Na linguagem de programação C, a operação matemática de adição é 
representada pelo símbolo +, enquanto a operação de subtração é especificada pelo símbolo 
-. Além disso, existem também o operador matemático para multiplicação, representado pelo 
símbolo *, o operador matemático da divisão, cujo símbolo é /, e o operador que determina o 
resto da divisão em divisões inteiras, simbolizado por %.
Outros operadores importantes na linguagem de programação C são: 
•	 operadores de igualdade, os quais são utilizados para estabelecer relações de equi-
valência entre informações manipuladas pelos programas. Com esses operadores, é 
possível determinar a igualdade ou a diferença entre valores; 
19© Caderno de Referência de Conteúdo
•	 operadores relacionais, por meio dos quais é possível estabelecer comparações entre 
as informações manipuladas pelos programas, tais como “maior que”, “menor que”, 
“maior ou igual a”, “menor ou igual a”; 
•	 operadores lógicos, adequados para situações em que é necessário agrupar diversas 
expressões lógicas. A utilização desses operadores é muito semelhante aos operadores 
empregados na lógica matemática e o resultado de sua avaliação é associado às tabe-
las verdade. Para cada operador lógico da linguagem de programação C é anexado um 
símbolo. Por exemplo: para o operador lógico que representa a operação de conjunção 
(e) são utilizados os símbolos “&&”, e a operação de disjunção (ou) é simbolizada pelos 
caracteres “||”.
Estruturas de Controle
A linguagem de programação C possui um conjunto de estruturas de controle que possi-
bilita ao programador controlar o fluxo de execução dos programas. Essas estruturas são essen-
ciais para a construção de qualquer tipo de programa de computador e são utilizadas também 
em aplicações comerciais e científicas. Na linguagem de programação C, as estruturas de contro-
le são divididas em dois grupos, que são denominados “estruturas condicionais” e “estruturas 
de repetição”.
As estruturas condicionais são utilizadas para determinar a direção do fluxo de execução 
no interior dos programas. Por meio da avaliação de uma expressão condicional, o programa 
poderá executar uma ou outra tarefa. Nesse contexto, a linguagem de programação C possui 
três estruturas capazes de especificar condições: 
1) estrutura condicional simples: a execução de um determinado trecho de código de-
pende da avaliação de uma condição, e o trecho será executado apenas e somente 
quando o resultado da avaliação for verdadeiro. Na programação, essa estrutura con-
dicional é conhecida como if; 
2) estrutura condicional composta: semelhante à estrutura condicional simples. A prin-
cipal diferença em relação à anterior é o mapeamento do que será executado quando 
o resultado da avaliação condicional for falso. Assim, a estrutura condicional compos-
ta determina o que será executado pelo programa tanto para o resultado for verda-
deiro quanto para o resultado falso. Na programação, essa estrutura é representada 
pela instrução if...else; 
3) estrutura de seleção múltipla: nesse tipo de estrutura, um determinado trecho de có-
digo será executado a partir da avaliação mutuamente exclusiva de uma condicional. 
Dessa forma, considerando um conjunto de possibilidades de execução, o programa 
executará apenas um determinado trecho de código. Na linguagem de programação 
C, esse tipo de estrutura pode ser codificado por meio das instruções if...else if...else, 
ou também pela utilização de uma estrutura condicional denominada switch.
As estruturas de repetição também fazem parte da estrutura de controle da linguagem de 
programação C. Uma estrutura de repetição permite a especificação de um laço de repetição no 
interior dos programas. Esses laços poderão ser executados uma única vez, mas também pode-
rão ser executados várias vezes. Existe também a possibilidade de um laço de repetição não ser 
executado, a partir da avaliação da condicional associada ao critério de parada do laço. 
Na linguagem de programação C, as estruturas de repetição podem ser codificadas por 
meio de dois comandos: 
1) for, o qual permite ao programador definir quantas vezes um trecho de código do 
programa será executado. Nesse tipo de estrutura, é necessário que uma variável de 
© Computação
 Claretiano - REDE DE EDUCAÇÃO
20
controle seja associada para contar o número de vezes que o trecho do código já foi 
repetido; 
2) while, possibilita ao programador construir uma estrutura de repetição que será exe-
cutada sempre que o resultado de uma expressão condicional for verdadeira. O fun-
cionamento da estrutura de repetição while é muito semelhante ao for. Porém, com 
essa estrutura, é possível solucionar problemas em que não é previamente definido o 
número de vezes que um bloco de comandos deve ser repetido.
Estrutura de Dados e Ponteiros
A manipulação de grandes quantidades de informações na linguagem de programação C 
é realizada por meio de estruturas de dadoshomogêneas e heterogêneas. Além disso, existe a 
possibilidade de utilização da alocação dinâmica de memória, por meio de um recurso compu-
tacional conhecido como ponteiros. 
Um vetor é uma estrutura de dados homogênea, na qual cada posição armazena uma in-
formação do mesmo tipo. Por exemplo, uma estrutura do tipo vetor, também conhecida como 
arranjo, pode ser utilizada para armazenar as alturas de um conjunto de mil crianças em idade 
escolar. Nesse caso, é possível criar um vetor do tipo de dados float ou double. Além disso, tam-
bém é permitida a criação de vetores de outros tipos, tais como int e char.
Uma matriz também representa uma estrutura de dados homogênea, em que os dados 
são representados por meio de tabelas. Dessa forma, as informações são dispostas em linhas e 
colunas, e por meio da interseção de linha e coluna é possível atribuir ou recuperar uma infor-
mação armazenada na matriz.
Os registros representam um recurso computacional em que é possível agregar informa-
ções de tipos de dados diferentes. Por isso, esse tipo de estrutura de dados é conhecido como 
heterogênea. Assim, em uma mesma estrutura de dados é possível associar dados inteiros, pon-
to flutuante, caracteres, entre outros elementos. Na linguagem C, a definição de uma estrutura 
do tipo registro é especificada pela instrução struct.
A alocação dinâmica de memória representa um recurso muito importante disponível na 
linguagem de programação C. Esse tipo de recurso é adequado para a solução de problemas em 
que não é possível determinar previamente a quantidade de informações que será manipulada. 
Para utilização de ponteiros na construção dos programas é necessário apenas incluir um símbo-
lo de asterisco antes da especificação do nome da variável. Por exemplo, um ponteiro para uma 
variável do tipo int é declarado da seguinte forma: int *pInteiro.
Programação modular
A reutilização de código-fonte na programação de computadores é um recurso fundamen-
tal para elaboração de sistemas com qualidade. A programação modular representa uma técnica 
eficiente para o reaproveitamento de código, e utiliza como estratégia a divisão do código em 
pequenas partes denominadas funções.
Arquivos
A manipulação de informações de maneira persistente é uma técnica que pode ser em-
pregada por meio da utilização dos arquivos. Um arquivo permite que os dados manipulados 
pelos programas sejam armazenados em um dispositivo de memória secundária, tal como um 
disco rígido.
21© Caderno de Referência de Conteúdo
Enfim, chegamos ao final de nossa abordagem, e esperamos que você tenha aproveitado 
ao máximo os tópicos apresentados. É muito importante destacar que apenas o estudo teórico 
da linguagem de programação C não será suficiente para seu aprendizado: é fundamental que 
você pratique! Para isso, instale o ambiente de desenvolvimento de sua preferência e comece 
desde já a programar!
Glossário de Conceitos 
O Glossário de Conceitos permite a você uma consulta rápida e precisa das definições con-
ceituais, possibilitando-lhe um bom domínio dos termos técnico-científicos utilizados na área 
de conhecimento dos temas tratados na disciplina Computação. Veja, a seguir, a definição dos 
principais conceitos desta disciplina:
1) Algoritmo: o algoritmo é a descrição de uma sequência de passos que deve ser segui-
da para a realização de uma tarefa (Ascencio, 1999). 
2) Arquivos: são utilizados para o armazenamento persistente de informações. Esse tipo 
de estrutura é capaz de guardar dados na memória secundária de maneira permanen-
te.
3) Comandos de atribuição: para inserirmos os valores ou operações em uma variável, 
utilizamos os comandos de atribuição. Por meio deles, conseguimos adicionar um de-
terminado valor na posição de memória reservada pela variável.
4) Comentário: é um recurso imprescindível para uma boa prática de programação. Por 
meio dos comentários, o programador pode documentar o algoritmo e, com isso, au-
mentar a clareza do código. Um aspecto importante a ser destacado a respeito dos 
comentários é que eles são desconsiderados durante a execução do algoritmo ou do 
programa. Isso significa que eles não interferem no conteúdo do algoritmo; por isso, 
podemos escrever qualquer tipo de informação para facilitar seu entendimento.
5) Constante: é um dado definido no algoritmo que não pode ter seu valor modificado. 
O conceito de constante é que uma determinada informação não poderá ser alterada 
ao longo da execução. 
6) Estrutura condicional: quando você utiliza uma estrutura condicional na elaboração 
de um algoritmo, é possível selecionar, com base em uma ou mais condições, qual 
parte do algoritmo deverá ser executada.
7) Estruturas de dados: estabelecem mecanismos para a organização dos dados, de for-
ma que podemos trabalhar com as informações de maneira prática e eficiente. Além 
disso, elas são capazes de manipular grandes quantidades de informações. As estru-
turas de dados também são conhecidas como variáveis compostas. São divididas em 
dois grupos: estruturas de dados homogêneas e estruturas de dados heterogêneas.
8) Estrutura de repetição: são recursos utilizados na construção de algoritmos e progra-
mas que permitem ao programador definir quais blocos de instruções serão repetidos 
até que ocorra certa condição.
9) Identificador: é o nome de uma variável. O identificador possui regras muito bem 
definidas para a especificação de nomes. Além dos nomes das variáveis, os nomes dos 
algoritmos, das constantes e das sub-rotinas também são considerados identificado-
res.
10) Programa: conjunto de instruções que realizam um determinado número de tarefas 
por meio do computador.
11) Programação modular: tem como objetivo a construção de algoritmo em pequenas 
partes, ou módulos, que são chamadas de sub-rotinas. 
12) Variáveis: dados que podem ter seu valor alterado durante a execução do algoritmo. 
Quando você declara uma variável em um programa, significa que você está reser-
vando um espaço da memória principal (RAM) para o armazenamento de uma de-
© Computação
 Claretiano - REDE DE EDUCAÇÃO
22
terminada informação. O tamanho do espaço reservado depende do tipo de dados 
utilizado na variável.
Esquema dos Conceitos-chave 
Para que você tenha uma visão geral dos conceitos mais importantes deste estudo, apre-
sentamos, a seguir (Figura 1), um Esquema dos Conceitos-chave da disciplina. O mais aconse-
lhável é que você mesmo faça o seu esquema de conceitos-chave ou até mesmo o seu mapa 
mental. Esse exercício é uma forma de você construir o seu conhecimento, ressignificando as 
informações a partir de suas próprias percepções. 
É importante ressaltar que o propósito desse Esquema dos Conceitos-chave é representar, 
de maneira gráfica, as relações entre os conceitos por meio de palavras-chave, partindo dos 
mais complexos para os mais simples. Esse recurso pode auxiliar você na ordenação e na se-
quenciação hierarquizada dos conteúdos de ensino. 
Com base na teoria de aprendizagem significativa, entende-se que, por meio da organiza-
ção das ideias e dos princípios em esquemas e mapas mentais, o indivíduo pode construir o seu 
conhecimento de maneira mais produtiva e obter, assim, ganhos pedagógicos significativos no 
seu processo de ensino e aprendizagem. 
Aplicado a diversas áreas do ensino e da aprendizagem escolar (tais como planejamentos 
de currículo, sistemas e pesquisas em Educação), o Esquema dos Conceitos-chave baseia-se, 
ainda, na ideia fundamental da Psicologia Cognitiva de Ausubel, que estabelece que a apren-
dizagem ocorre pela assimilação de novos conceitos e de proposições na estrutura cognitiva 
do aluno. Assim, novas ideias e informações são aprendidas, uma vez que existem pontos de 
ancoragem. 
Tem-se de destacar que “aprendizagem” não significa, apenas, realizar acréscimos na es-
trutura cognitiva do aluno; é preciso, sobretudo,estabelecer modificações para que ela se con-
figure como uma aprendizagem significativa. Para isso, é importante considerar as entradas de 
conhecimento e organizar bem os materiais de aprendizagem. Além 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 serão também relembrados. 
Nessa perspectiva, partindo-se do pressuposto de que é você o principal agente da cons-
trução do próprio conhecimento, por meio de sua predisposição afetiva e de suas motivações 
internas e externas, o Esquema dos Conceitos-chave tem por objetivo tornar significativa a sua 
aprendizagem, transformando o seu conhecimento sistematizado em conteúdo curricular, ou 
seja, estabelecendo uma relação entre aquilo que você acabou de conhecer com o que já fazia 
parte do seu conhecimento de mundo (adaptado do site disponível em: <http://penta2.ufrgs.
br/edutools/mapasconceituais/utilizamapasconceituais.html>. Acesso em: 11 mar. 2010). 
23© Caderno de Referência de Conteúdo
Organização de 
Computadores
Processador e 
Memória
Comandos de 
Entrada e Saída
Compiladores e 
Interpretadores
Programação de 
Computadores
Estrutura 
Sequencial
Estrutura de 
Controle
Estrutura de 
Dados
Tipos de Dados
int, char, float, 
etc.
Constantes e 
Variáveis
printf e scanf
Expressões
Matemáticas e Lógicas
if e switch
for, while e 
do..while
vetores e 
matrizes
registros
(struct)
Modularização
ponteiros
Arquivos
Figura 1 Esquema dos Conceitos-chave da disciplina Computação. 
Como pode observar, esse Esquema oferece a você, como dissemos anteriormente, uma 
visão geral dos conceitos mais importantes deste estudo. Ao segui-lo, será possível transitar en-
tre 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, além das estruturas de repetição for, 
while e do..while.
© Computação
 Claretiano - REDE DE EDUCAÇÃO
24
O Esquema dos Conceitos-chave é mais um dos recursos de aprendizagem que vem se 
somar àqueles disponíveis no ambiente virtual, por meio de suas ferramentas interativas, bem 
como àqueles relacionados às atividades didático-pedagógicas realizadas presencialmente no 
polo. Lembre-se de que você, aluno EaD, deve valer-se da sua autonomia na construção de seu 
próprio conhecimento. 
Questões Autoavaliativas
No final de cada unidade, você encontrará algumas questões autoavaliativas sobre os con-
teúdos ali tratados, as quais podem ser de múltipla escolha ou abertas com respostas objetivas 
ou dissertativas. 
Responder, discutir e comentar essas questões, bem como relacioná-las com a prática do 
ensino de algoritmos e programação pode ser uma forma de você avaliar o seu conhecimento. 
Assim, mediante a resolução de questões pertinentes ao assunto tratado, você estará se prepa-
rando para a avaliação final, que será dissertativa. Além disso, essa é uma maneira privilegiada 
de você testar seus conhecimentos e adquirir uma formação sólida para a sua prática profissio-
nal. 
Bibliografia Básica
É fundamental que você use a Bibliografia Básica em seus estudos, mas não se prenda só a 
ela. Consulte, também, as bibliografias apresentadas no Plano de Ensino e no item Orientações 
para o estudo da unidade.
Figuras (ilustrações, quadros...)
Neste material instrucional, as ilustrações fazem parte integrante dos conteúdos, ou seja, 
elas não são meramente ilustrativas, pois esquematizam e resumem conteúdos explicitados no 
texto. Não deixe de observar a relação dessas figuras com os conteúdos da disciplina, pois rela-
cionar aquilo que está no campo visual com o conceitual faz parte de uma boa formação inte-
lectual. 
Dicas (motivacionais)
O estudo desta disciplina convida você a olhar, de forma mais apurada, a Educação como 
processo de emancipação do ser humano. É importante que você se atente às explicações teó-
ricas, práticas e científicas que estão presentes nos meios de comunicação, bem como partilhe 
suas descobertas com seus colegas, pois, ao compartilhar com outras pessoas aquilo que você 
observa, permite-se descobrir algo que ainda não se conhece, aprendendo a ver e a notar o 
que não havia sido percebido antes. Observar é, portanto, uma capacidade que nos impele à 
maturidade.
Você, como aluno dos cursos de Graduação na modalidade EaD, necessita de uma forma-
ção conceitual sólida e consistente. Para isso, você contará com a ajuda do tutor a distância, do 
tutor presencial e, sobretudo, da interação 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 reflexões em seu caderno ou no Bloco de 
Anotações, pois, no futuro, elas poderão ser utilizadas na elaboração de sua monografia ou de 
produções científicas.
25© Caderno de Referência de Conteúdo
Leia os livros da bibliografia indicada, para que você amplie seus horizontes teóricos. Co-
teje-os com o material didático, discuta a unidade com seus colegas e com o tutor e assista às 
videoaulas. 
No final de cada unidade, você encontrará algumas questões autoavaliativas, que são im-
portantes para a sua análise sobre os conteúdos desenvolvidos e para saber se estes foram 
significativos para sua formação. Indague, reflita, conteste e construa resenhas, pois esses pro-
cedimentos serão importantes para o seu amadurecimento intelectual.
Lembre-se de que o segredo do sucesso em um curso na modalidade a distância é parti-
cipar, ou seja, interagir, procurando sempre cooperar e colaborar com seus colegas e tutores.
Caso precise de auxílio sobre algum assunto relacionado a esta disciplina, entre em conta-
to com seu tutor. Ele estará pronto para ajudar você. 
3. REFERÊNCIA BIBLIOGRÁFICA 
ASCENCIO, A. F. G. Lógica de programação com Pascal. São Paulo: Makron Books, 1999.
 Claretiano - REDE DE EDUCAÇÃO
1
EA
D
Introdução à Programação 
de Computadores
1. OBJETIVOS
•	 Compreender os conceitos de organização de computadores.
•	 Reconhecer e interpretar as principais linguagens de programação.
•	 Instalar e configurar o ambiente para desenvolvimento. 
2. CONTEÚDOS
•	 Organização de computadores.
•	 Sistemas operacionais.
•	 Linguagens de programação.
•	 Ambientes de desenvolvimento integrados.
3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE
Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) O início do estudo desta disciplina envolve alguns aspectos teóricos que serão funda-
mentais ao longo de todo o aprendizado. Dessa forma, utilize um bloco de anotações 
para destacar os principais conceitos, tais como: compilador, interpretador, código-
-fonte etc.
2) Para saber mais sobre algumas linguagens de programação e ambientes para progra-
mação, acesse os sites indicados no decorrer desta unidade.
 Claretiano - REDE DE EDUCAÇÃO
© Computação28
3) Tenha sempre à mão o significado dos conceitos explicitados no Glossário e suas li-
gações pelo Esquema de Conceitos-chave para o estudo de todas as unidades deste 
Caderno de Referência de Conteúdo. Isso poderá facilitar sua aprendizagem e seu de-
sempenho.
4) Leia os livros da bibliografia indicada para que você amplie seus horizontes teóricos. 
Coteje-os com o material didático e discuta a unidade com seus colegas e com o tutor. 
4. INTRODUÇÃO À UNIDADE
Nesta primeira unidade, você terá a oportunidade de estudar como os computadores são 
organizados e quais são seus principais componentes físicos e lógicos. Tais conceitos são essen-
ciais para a construção de programas de computadores.
Além disso, ao longo destaunidade você poderá aprender quais são os principais elemen-
tos que compõem a arquitetura de um computador, desde o processador até o sistema opera-
cional.
Você conhecerá, ainda, quais passos são necessários para construir um programa e os 
principais conceitos envolvidos nesse contexto, tais como: compiladores, linguagens de progra-
mação e ambientes de desenvolvimento.
5. ORGANIZAÇÃO DE COMPUTADORES
O principal objetivo de um computador é realizar o processamento de grandes volumes 
de dados. Considerando essa capacidade, eles executam milhares de operações a velocidades 
incríveis. Essas operações são organizadas por meio de um conjunto de instruções que são cha-
madas de programas de computador.
Segundo Tanenbaum (2003), um programa determina quais ações são necessárias para 
um computador realizar o processamento dos dados. Para que isso ocorra, os programas con-
tam com diversos tipos de instruções para manipulação de dados. Essas instruções são executa-
das por meio de um componente de hardware denominado processador.
O processador, por sua vez, é considerado o cérebro do computador; ele possui um con-
junto específico de instruções que pode executar, e sua principal funcionalidade é a transfor-
mação de dados, os quais ficam armazenados em um componente conhecido como memória 
principal. A memória principal, ou memória RAM, é um local em que o processador busca as 
informações e as instruções que devem ser executadas. Essa memória pode guardar qualquer 
tipo de dados. No entanto, esses dados ficam disponíveis apenas enquanto o computador esti-
ver ligado. Alternativamente, esses dados podem ser armazenados de maneira permanente por 
meio da memória secundária, como, por exemplo, em discos rígidos.
Geralmente, o carregamento dos dados na memória 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 disponibilização das informações é realizada por meio de componentes conhecidos como dis-
positivos de saída, tais como: monitores, impressoras etc.
A Figura 1 representa graficamente um computador e seus respectivos componentes.
29© Introdução à Programação de Computadores
 
dispositivos
de saída
dispositivos
de entrada
memória
secundária
memória
principal
Figura 1 Representação dos principais componentes de um computador.
Sistemas operacionais
Um sistema operacional é um programa de computador que possui características espe-
ciais, responsável por gerenciar os recursos computacionais, além de fornecer uma interface 
entre os programas do usuário e o hardware do computador (Tanenbaum, 2003).
Todo usuário de computador utiliza algum tipo de sistema operacional, mesmo sem saber, 
pois ele é o primeiro programa executado quando o computador é ligado. Os primeiros siste-
mas operacionais eram complexos e poucos usuários eram capazes de manipulá-los. Entretanto, 
hoje em dia, eles se tornaram mais simples e intuitivos, de forma que qualquer tipo de usuário, 
desde uma criança até um adulto, pode operá-lo facilmente.
Existem diversos tipos de sistemas operacionais, cujas principais diferenças estão relacio-
nadas aos recursos que cada um disponibiliza aos usuários. Em geral, esses sistemas podem ser 
divididos em dois grupos:
•	 sistemas operacionais para uso doméstico;
•	 sistemas operacionais para uso comercial (servidores).
Veremos, a seguir, quais são os sistemas operacionais para uso doméstico e para uso co-
mercial.
Os sistemas operacionais para uso doméstico têm como principal característica a facilida-
de de uso. Eles são adequados para usuários que não possuem grandes habilidades com com-
putadores. Nessa família 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.
 Claretiano - REDE DE EDUCAÇÃO
© Computação30
Microsoft Windows
Figura 2 Sistema Operacional Microsoft Windows Vista.
A família de sistemas operacionais Microsoft Windows possui uma gama de programas 
para auxiliar os usuários menos experimentes a utilizar o computador. Os principais sistemas 
dessa família são: Windows 98, Windows XP e Windows Vista.
Linux
Figura 3 Sistema Operacional Linux, distribuição Suse.
31© Introdução à Programação de Computadores
Ultimamente, os sistemas operacionais Linux vêm ganhando mercado, especialmente 
pelo fato de serem gratuitos. Há centenas de distribuições 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 é distribuído pela Apple e é muito utilizado por usuários 
que precisam trabalhar com recursos gráficos, como, por exemplo, processamento de imagens 
e editoração de vídeo. A versão mais recente desse sistema operacional é a Mac OS X.
O Quadro 1 apresenta os principais sistemas operacionais disponíveis no mercado e seus 
respectivos endereços na internet. Esses endereços são ricas fontes de informações a respeito 
de cada sistema operacional e foram acessados em 12 de mar. 2012. 
Quadro 1 Principais sistemas operacionais para uso doméstico. 
SISTEMAS OPERACIONAIS PARA USO DOMÉSTICO
SISTEMA OPERACIONAL ENDEREÇO
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 características de um sistema operacional para uso doméstico. No entanto, eles estão 
preparados para gerenciar recursos computacionais de grande porte. Os sistemas operacionais 
para uso comercial são geralmente conhecidos como sistemas operacionais para servidores.
 Claretiano - REDE DE EDUCAÇÃO
© Computação32
Existem alguns sistemas operacionais que possuem versões para usuários domésticos e 
também para servidores, como é o caso do Windows e do Linux. Entretanto, alguns sistemas 
operacionais são 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 família Unix. 
Inicialmente, era um sistema operacional proprietário, mas atualmente possui uma versão gra-
tuita denominada OpenSolaris.
Figura 5 Sistema operacional Solaris.
O Quadro 2 apresenta os principais sistemas operacionais para servidores e seus respecti-
vos endereços na internet. Os endereços foram acessados em 26 mar. 2012.
Quadro 2 Principais sistemas operacionais para servidores.
SISTEMAS OPERACIONAIS PARA SERVIDORES 
SISTEMA OPERACIONAL ENDEREÇO
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/>
33© Introdução à Programação de Computadores
6. LINGUAGENS DE PROGRAMAÇÃO
Como vimos no início desta unidade, os computadores são capazes de executar ações 
que são especificadas por meio dos programas. Dessa forma, para que um computador realize 
tarefas, é necessário que os programas sejam escritos em uma linguagem que ele entenda. Essa 
linguagem é conhecida como linguagem de programação.
Uma linguagem de programação permite que o computador seja programado para execu-
tar um conjunto determinado de ações. Com a linguagem de programação,podemos construir 
programas para os mais variados propósitos, tais como: controlar o estoque de uma empresa, 
analisar operações financeiras de um banco, calcular a média entre duas notas de alunos, dentre 
tantas outras.
Na prática, o computador entende uma única linguagem de programação, que é conhe-
cida como linguagem de máquina. No entanto, essa linguagem é pouco intuitiva para os seres 
humanos, tornando quase impossível o desenvolvimento de programas.
Segundo Deitel (2005), cada computador possui uma linguagem de máquina específica, 
que é definida pelo seu projeto de hardware. Dessa forma, a programação de computadores por 
meio da linguagem de máquina é realizada utilizando instruções numéricas, que são representa-
das por sequências binárias de zeros (0s) e uns (1s). Alternativamente, essas sequências podem 
ser representadas em sistemas de numeração hexadecimal.
Observe, a seguir, uma instrução típica em linguagem de máquina:
0100 1111 1010 0110
A instrução anterior poderia representar, por exemplo, a leitura de uma informação do 
teclado, ou ainda a soma entre dois números. Esse tipo de programação baseada em linguagem 
de máquina é complexo e tedioso, além de ser pouco produtivo.
Além disso, um programa escrito em linguagem de máquina não pode ser visualizado em 
editores de texto comuns, como, por exemplo, o bloco de notas. Para visualizar os códigos de 
máquina de um programa, você deve utilizar programas específicos, chamados de programas 
editores binários. O utilitário debug, disponível nas versões do Windows, é um deles. 
Por exemplo, para visualizar os códigos de máquina do programa Paint, clique no menu 
Iniciar, em seguida em Executar, digite o comando a seguir e veja a representação na Figura 6. 
debug c:\windows\system32\mspaint.exe
Figura 6 Execução do programa Debug.
 Claretiano - REDE DE EDUCAÇÃO
© Computação34
Em seguida, digite o comando: 
d 0 100
O resultado da execução do programa Debug é o demonstrado na captura de tela a seguir.
 
 códigos de máquina 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 máquina!
Para facilitar o desenvolvimento de programas, foi criado um conjunto de instruções, as 
quais representam as operações básicas que um computador pode realizar. Assim, em vez de 
utilizar uma sequência numérica de difícil compreensão, o programador pode utilizar um con-
junto de nomes, conhecidos como mnemônicos. Essa linguagem baseada em abreviações e 
símbolos é chamada de linguagem de montagem.
Um programa escrito em linguagem de montagem pode ser traduzido para linguagem de 
máquina por meio de programas chamados de montadores ou assembler. Para ilustrar a criação 
de programas utilizando a linguagem de montagem, observe o código a seguir, o qual apresenta 
a soma de dois números. O programa soma os valores 100 e 200 e armazena-os em resultado 
(adaptado de DEITEL, 2005). 
1 load 100
2 add 200
3 store resultado
Certamente, o código em linguagem montadora é muito mais simples do que os códigos 
escritos em linguagem de máquina. No entanto, apesar da evolução entre as linguagens, um 
número grande de instruções era necessário para executar as mais simples tarefas.
Para tornar mais simples a escrita de programas e acelerar o processo de desenvolvimen-
to, foram criadas as linguagens de alto nível. Com essas linguagens, foi possível agrupar conjun-
tos de instruções da linguagem de máquina em uma única instrução. 
35© Introdução à Programação de Computadores
Por exemplo, suponha que você precise escrever uma determinada mensagem no mo-
nitor. Em linguagem de montagem, você precisaria escrever um conjunto substancial de linhas 
para executar essa tarefa. Entretanto, em uma linguagem de alto nível, como, por exemplo, a 
linguagem de programação C, você tem uma única instrução que realiza essa tarefa (printf). 
Veja o código a seguir, que ilustra como é possível escrever uma mensagem na tela utilizando a 
linguagem C.
 
1 printf(“Olá seja bem-vindo!”);
Os programas de computador escritos em linguagem de alto-nível são comumente cha-
mados de código-fonte do programa, ou simplesmente código-fonte. O código-fonte de um 
programa é semelhante a um algoritmo. No entanto, enquanto o algoritmo é escrito em pseu-
docódigo, o código-fonte é escrito utilizando as instruções da linguagem de programação esco-
lhida.
Para que o código-fonte de um programa possa ser executado, é preciso que ele seja trans-
formado em linguagem de máquina. Esse processo é realizado por um programa específico cha-
mado de compilador, que transforma o código-fonte em código-objeto. Na maioria das vezes, 
esse código compilado é um arquivo executável que pode ser reproduzido pelo sistema opera-
cional.
O código-objeto possui todas as instruções necessárias para o processador executar o 
programa. É importante observar que o processo de compilação de um código-fonte o torna 
executável apenas no sistema operacional em que ele foi compilado e, também, apenas para 
uma família de processadores específicos. Isso significa que um programa compilado no sistema 
operacional Windows XP, por exemplo, funcionará apenas nos sistemas operacionais da família 
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 
compilação de um código-fonte.
código
fonte
código
objeto
entrada
saída
Figura 7 Processo de compilação de um código-fonte.
Na linguagem de programação C, por exemplo, o código-fonte de um programa possui a 
extensão .C (meuprograma.c) e o código-objeto possui a extensão .obj (meuprograma.obj). Um 
programa chamado de “linkador” transforma o arquivo objeto em executável (meuprograma.
exe). A Figura 8 ilustra o processo de compilação na linguagem de programação C.
 Claretiano - REDE DE EDUCAÇÃO
© Computação36
Figura 8 Processo de compilação de um código-fonte na linguagem de programação C.
A seguir, apresentamos uma listagem com algumas linguagens de programação que reali-
zam a compilação do código-fonte:
1) C;
2) C++;
3) Cobol;
4) Delphi (Object-Pascal);
5) Fortran;
6) Pascal;
7) Visual Basic.
Algumas linguagens de programação não executam o processo de compilação em seus có-
digos-fontes. Essas linguagens realizam um procedimento conhecido como interpretação. Para 
isso, elas utilizam um programa chamado interpretador. Durante a interpretação, o código-fon-
te é analisado (ou traduzido) linha por linha e é diretamente executado. Assim, a cada execução 
do programa, o código-fonte precisa ser novamente interpretado, para que o resultado seja 
reproduzido corretamente. A Figura 9 ilustra o processo de interpretação de um código-fonte.
Figura 9 Processo de interpretação de um código-fonte.
37© Introdução à Programação de Computadores
Veja, agora, algumas linguagens de programação que são interpretadas:
1) Basic;
1) Perl;
2) PHP;
3) Python;
4) Lisp.
É importante salientar que algumas linguagens de programação executam os dois pro-
cessos, o de compilação e o de interpretação, para execução dos programas. Em um primeiro 
momento, o código-fonte é compilado e, em seguida, é interpretado. Essa é uma característica 
importante, pois torna os programas multiplataforma, ou seja, os programas podem ser exe-
cutados em vários sistemas operacionais sem a necessidade de recompilação. Para a execução 
dos programas, essas linguagens utilizam um recurso conhecido como máquina 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 inglês Integrated Development Environment 
(IDE), fornecem aos programadorestodos os recursos necessários para escrever e testar os pro-
gramas de computador.
Nesta disciplina, aprenderemos a construir programas na linguagem de programação C. 
Precisaremos, então, utilizar um ambiente de desenvolvimento integrado que suporte essa lin-
guagem.
Há dezenas de ambientes para programação para a linguagem C. Os principais são:
•	 Netbeans (disponível em: <http://www.netbeans.org/>. Acesso em: 12 mar. 2012). 
O NetBeans é um ambiente de desenvolvimento que suporta diversas linguagens; é 
muito utilizado para programação na linguagem Java, mas também oferece recursos 
para desenvolvimento de programas na linguagem C. É um ambiente de desenvolvi-
mento gratuito e de código-fonte aberto, distribuído pela empresa Sun Microsystems 
(disponível em: <http://www.sun.com/>. Acesso em: 12 mar. 2012). Além disso, é um 
ambiente multiplataforma, o que significa que funciona em qualquer sistema opera-
cional, como, por exemplo, Windows e Linux.
•	 Code::Blocks (disponível 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 código-
-fonte aberto, possuindo versões para Windows e Linux.
•	 Microsoft Visual C++ Express Edition (disponível em: <http://www.microsoft.com/ 
Express/vc/>. Acesso em: 12 mar. 2012).
O Visual C++ Express Edition é o ambiente para desenvolvimento da Microsoft para 
construções de programas na linguagem C e C++. A expressão "Express Edition” refe-
re-se a um conjunto de ambientes para desenvolvimento que a Microsoft disponibiliza 
de forma gratuita. 
Outros ambientes de desenvolvimento, não menos importantes, são: 
 Claretiano - REDE DE EDUCAÇÃO
© Computação38
•	 Dev-C++ (disponível em: <http://www.bloodshed.net/devcpp.html>. Acesso em: 12 
mar. 2012).
•	 Eclipse for C/C++ Developers (disponível em: <http://www.eclipse.org/>. Acesso em: 
12 mar. 2012).
•	 Borland C++ (disponível em: <http://www.codegear.com/downloads/free/cppbuilder>. 
Acesso em: 12 mar. 2012).
Nesta disciplina, você poderá utilizar o ambiente de desenvolvimento de sua preferência. 
Para facilitar a instalação e configuração do ambiente, são apresentados os procedimentos para 
dois ambientes: NetBeans e Code::Blocks. 
O ambiente NetBeans oferece suporte completo ao desenvolvimento de aplicações em 
diversas linguagens. Sua instalação é um pouco complexa, mas funciona perfeitamente em di-
versos sistemas operacionais. Já o ambiente Code::Blocks possui um processo de instalação 
simplificado, sendo indicado para o desenvolvimento dos exemplos e exercícios ao longo desta 
disciplina.
Instalação e configuração do ambiente Netbeans
Agora, você terá a oportunidade de aprender a instalar e a configurar o ambiente Netbe-
ans. Para isso, fique atento às explicações e siga os passos corretamente.
Inicialmente, você deverá fazer alguns downloads. Veja, a seguir, os endereços em que 
estão disponíveis. Todos os sites foram acessados em 12 de março 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 instalação do Java SE Development Kit. Para tanto, siga os 
passos a seguir.
1) Acesse o endereço <http://java.sun.com/javase/downloads/> e selecione “Java SE 
Development Kit” (Figura 10).
39© Introdução à Programação de Computadores
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 botão Continue (Figura 11).
Figura 11 Seção da Plataforma do Java SDK.
 Claretiano - REDE DE EDUCAÇÃO
© Computação40
3) Clique no link para download do programa. Quando a janela de download aparecer, 
selecione a opção 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 instalação. 
Você não precisa alterar nenhum tipo de configuração na instalação do JDK; assim, 
você pode clicar seguidas vezes no botão Próximo (next), até a instalação começar. Ao 
final, você visualizará a tela exibida na Figura 13.
Figura 13 Instalação do Java SDK.
Instalação do NetBeans
1) Acesse o endereço <http://www.netbeans.org/downloads/index.html> e selecione a 
opção de download do NetBeans para C/C++ (Figura 14).
41© Introdução à Programação de Computadores
Figura 14 Download do ambiente NetBeans.
2) Depois de terminado o download, clique duas vezes no arquivo de instalação. A ins-
talação é bastante simples e não necessita de configurações adicionais. Dessa forma, 
clique para aceitar os termos de licença e, em seguida, clique no botão Próximo até 
visualizar a tela de instalação da Figura 15.
Figura 15 Instalação do programa NetBeans.
3) O ambiente de desenvolvimento NetBeans foi perfeitamente instalado.
 Claretiano - REDE DE EDUCAÇÃO
© Computação42
Instalação do compilador para linguagem C
1) Faça o download dos programas necessários e salve os arquivos em uma pasta. 
•	 MinGW (disponível em: <http://prdownloads.sourceforge.net/mingw/Min-
GW-3.1.0-1.exe?download>. Acesso em: 13 mar. 2012). Faça o download do arqui-
vo.
•	 MSYS (disponível 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 instalação do programa é muito simples: basta aceitar os termos e clicar no botão 
Next para instalar. Ao final, você visualizará a tela apresentada na Figura 16.
Figura 16 Tela de instalação do programa MinGW.
3) O próximo passo é a instalação do programa MSYS-1.0.10.exe. A instalação também 
é bastante simples. Em determinando momento, será necessário preencher algumas 
informações. Na primeira pergunta, digite y, conforme ilustrado na Figura 17.
Figura 17 Instalação do programa MSYS.
43© Introdução à Programação de Computadores
4) Digite novamente y para a próxima pergunta, conforme apresentado na Figura 18.
Figura 18 Instalação do programa MSYS.
5) Finalmente, devemos especificar o diretório de instalação do MinGW. Para isso, digite 
o diretório da seguinte forma: c:/MinGW (conforme ilustrado na Figura 19).
Figura 19 Instalação do programa MSYS.
6) Com isso, o compilador está devidamente instalado.
Configuração do Compilador C no NetBeans
1) No NetBeans, clique no menu Ferramentas, Opções. Em seguida, no menu, selecione 
C/C++, e, finalmente, clique no botão Adicionar. Na janela aberta (Figura 20), selecio-
ne o local de instalação dos arquivos binários do MinGW, que são instalados por pa-
drão em c:\MinGW\bin. Clique, então, no botão OK. O resultado pode ser visualizado 
na Figura 21a.
 Claretiano - REDE DE EDUCAÇÃO
© Computação44
Figura 20 Configuração do compilador C no ambiente NetBeans.
Figura 21a Configuração do compilador C no ambiente NetBeans.
2) Caso seja necessário, você pode configurar o Comando Make, informando o diretório 
de instalação (Figura 21b).
45© Introdução à Programação de Computadores
Figura 21b Diretório de instalação do programa Make.
3) Finalmente, o ambiente está devidamente configurado.
Criação e compilação 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) se-
lecione Aplicativo de C/C++. Clique no botão Próximo. Especifique o nome do projeto. 
Por exemplo,MeuPrimeiroProjeto, e clique no botão Finalizar.
3) Com o novo projeto criado, clique com o botão direito do mouse em Arquivos de 
código-fonte. Selecione a opção Novo, e, em seguida, clique em Arquivo C Principal 
(Figura 23).
 Claretiano - REDE DE EDUCAÇÃO
© Computação46
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 botão Finalizar. Seu ambiente de desenvolvimento 
será semelhante ao da Figura 24.
Figura 24 Primeiro programa no ambiente de desenvolvimento NetBeans.
5) No código-fonte do programa MeuPrimeiroPrograma.C, faça as alterações necessárias 
para que o código seja semelhante ao programa a seguir: 
47© Introdução à Programação de Computadores
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!
Instalação e configuração do ambiente Code::Blocks
Agora, você poderá aprender a instalar e a configurar o ambiente Code::Blocks. Para isso, 
é importante ficar atento às explicações e seguir os passos corretamente.
Inicialmente, é necessário fazer o download do Code::Blocks com Compilador MinGW, no 
endereço <http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe>. 
Acesso em: 13 mar. 2012. 
Em seguida, vamos iniciar a instalação do Code::Blocks passo a passo.
1) Acesse o endereço <http://www.codeblocks.org/downloads/5> para fazer o download 
do Code::Blocks e selecione a versão desejada. Alternativamente, você pode acessar 
diretamente o link para download <http://downloads.sourceforge.net/codeblocks/co-
deblocks-8.02mingw-setup.exe>
 Claretiano - REDE DE EDUCAÇÃO
© Computação48
2) Depois de terminado o download, clique duas vezes no arquivo de instalação do 
Code::Blocks. Assim, a tela inicial de instalação será apresentada. Em seguida, clique 
no botão Next (Figura 25).
Figura 25 Instalação do programa Code::Blocks.
3) Aceite os termos de licença clicando no botão I Agree e, em seguida, clique no botão 
Next. Finalmente, aparecerá o botão Install. Clique nesse botão para iniciar a instala-
ção do programa (Figura 26).
Figura 26 Instalação do programa Code::Blocks.
49© Introdução à Programação de Computadores
4) Terminada a instalação, você pode executar o ambiente. Na primeira vez que o am-
biente for executado, selecione qual compilador C será utilizado na geração dos pro-
gramas. Selecione o GNU GCC Compiler e, em seguida, clique em OK (Figura 27).
Figura 27 Seleção 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 pro-
gramas na linguagem C.
 Claretiano - REDE DE EDUCAÇÃO
© Computação50
Criação e compilação 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 botão 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 opção "Skip this page next time” e clique em Next.
Figura 30 Criando novos projetos Console Application.
51© Introdução à Programação de Computadores
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, estão ilustrados a definição, o título 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).
 Claretiano - REDE DE EDUCAÇÃO
© Computação52
Figura 33 Criando novos projetos Console Application.
7) Pronto! Seu primeiro projeto na linguagem C está criado. O arquivo que contém o 
código-fonte do programa pode ser visualizado na guia Projects, do lado esquerdo 
(Figura 34).
Figura 34 Estrutura de um projeto Console Application.
53© Introdução à Programação de Computadores
8) Para executar a aplicação, 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 Execução de programas no Code::Blocks.
9) O resultado da aplicação é apresentado na captura de tela a seguir.
8. QUESTÕES AUTOAVALIATIVAS 
Sugerimos que você procure responder, discutir e comentar as questões a seguir que 
tratam da temática desenvolvida nesta unidade.
A autoavaliação pode ser uma ferramenta importante para você testar o seu desempenho. 
Se você encontrar dificuldades em responder a essas questões, procure revisar os conteúdos 
estudados para sanar as suas dúvidas. Esse é o momento ideal para que você faça uma revisão 
desta unidade. Lembre-se de que, na Educação a Distância, a construção do conhecimento 
ocorre de forma cooperativa e colaborativa; compartilhe, portanto, as suas descobertas com os 
seus colegas.
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta 
unidade:
1) O que é um programa de computador?
2) Qual é a função do processador e qual é sua relação com os programas de computador?
 Claretiano - REDE DE EDUCAÇÃO
© Computação54
3) Reflita sobre a diferença entre memória principal e memória secundária.
4) Conceitue e apresente exemplos de dispositivos de entrada e dispositivos de saída.
5) O que são sistemas operacionais?
6) Os computadores são capazes de executar ações que são especificadas por meio dos programas. Dentro deste 
contexto, o que é linguagem de programação?
7) Relacione linguagem de máquina e linguagem de montagem. Pensando nas duas definições, investigue: o que 
são montadores ou assemblers?
8) Considerando a elaboração de um programa de computador, explique o que é o código-fonte do programa.
9) Qual é a utilidade de um compilador?
10) Reflita sobre a diferença entre o código-objeto e o código-fonte.
11) Compare o processo de compilação de um código-fonte e o processo de compilação de um código-fonte na 
linguagem de programação C.
12) Apresente pelo menos três exemplos de linguagens de programação compiladas.
13) O que é interpretador? Explique o processo de interpretação de um código-fonte.
14) Apresente pelo menos três exemplos de linguagens de programação interpretadas.
15) Explique o processo de criação e compilação de um programa na linguagem C utilizando o ambiente Code::Blocks.
9. CONSIDERAÇÕES
Terminamos o estudo da primeira unidade! Nela, você teve a oportunidade de aprender 
os principais conceitos sobre organização de computadores, sistemas operacionais e linguagens 
de programação. Além disso, conheceu os procedimentos para a instalação e configuração do 
ambiente de desenvolvimento integrado para programação na linguagem C. Esse ambiente será 
fundamental para o estudo das próximas unidades, nas quais escreveremos diversos programas 
na linguagem C.
10. REFERÊNCIAS BIBLIOGRÁFICAS
DEITEL, H. M. Java: como programar. 6. ed. São Paulo: Prentice-Hall, 2005.
TANENBAUM, A. S. Sistemas operacionais modernos. 2. ed. São Paulo: Prentice-Hall, 2003.

Continue navegando