Вы находитесь на странице: 1из 7

27/4/2014 Metropole Digital

http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 1/7
Programao Estruturada
Professores autores
Anne Carolyne Cunha Martins
Eduardo Aranha
Julliane Cavalcanti
Keivilany Janielle de Lima Coelho
Aula 1 Introduo linguagem C e Programao Estruturada

Apresentao
Caro aluno, neste momento, voc inicia seus estudos da disciplina Programao Estruturada. Este mdulo pode ser visto como uma
continuao da disciplina de Lgica de Programao, no qual voc estudou conceitos bsicos de algoritmo. Atravs desta disciplina, voc
aprender novos conceitos e uma nova linguagem de programao que lhe permitir resolver problemas mais complexos, desenvolver jogos
e at sistemas comerciais mais simples.
Ao longo das aulas, voc vai ver que a programao estruturada segue o paradigma (estilo) de programao imperativo, j trabalhado no
mdulo de Lgica de Programao, sendo baseado na entrada, armazenamento, processamento e sada de dados. Por ter uma estrutura
similar arquitetura de Von Neumann, o paradigma imperativo bastante eficiente em termos de tempo computacional para resoluo de
problemas. Existem diversas linguagens que seguem o paradigma imperativo.
Nesta disciplina, voc aprender a utilizar a linguagem C, uma conhecida linguagem de programao que segue o paradigma imperativo.
Voc aprender a sintaxe de C, bem como os comandos e funes disponibilizadas pela linguagem. Por ser um contedo que requer muita
prtica de sua parte, as aulas deste mdulo possuem diversos exerccios, incluindo o desenvolvimento de um jogo ao final do mdulo. Bons
estudos!
Nesta primeira aula, voc ir aprender sobre os conceitos bsicos da programao estruturada e da linguagem de programao C. Em
primeiro lugar, voc ir entender a origem e a importncia do estudo dessa forma de programao modular e da linguagem de programao
C, que caracterizada como uma linguagem forte, por sua grande adoo e variedade de recursos disponveis. Nas aulas posteriores, voc
ir aprender conceitos, comandos e tcnicas de programao em C. O conhecimento adquirido nestas aulas ser utilizando para o
desenvolvimento de um jogo nas ltimas duas aulas deste mdulo. Temos certeza que ser bastante proveitoso!

Objetivos

Depois de estudar e praticar o contedo desta aula, voc ser capaz de:
identificar as vantagens de se utilizar a linguagem de programao estruturada como C;
compreender as caractersticas da linguagem C;
conhecer sobre ambientes de programao em C, possibilitando-o a utilizar tais ferramentas para desenvolver
programas em C.

Programao Estruturada em C
Bem, nesta primeira aula, ser feita uma apresentao do que a programao e quais as principais linguagens de programao do
mercado, dando nfase linguagem C. Esta aula importante porque conheceremos um pouco da histria da linguagem de programao
que iremos aprender nesta disciplina. Similar a uma apresentao pessoal, com informaes bsicas para que voc possa conhecer o
mximo dessa linguagem to poderosa. Tambm sero introduzidos conceitos utilizados na rea de programao, visando a nossa
preparao para nos lanarmos nesse mundo intrigante da criao de programas computacionais. Ento, a partir de agora nos lanaremos
em um maravilhoso e curioso mundo de desafios e descobertas sobre a programao.

Introduo linguagem C
A linguagem C alia caractersticas de baixo nvel (linguagem prxima a de mquina) com caractersticas de alto nvel (linguagem prxima a do
ser humano), conforme mostra a Figura 1. Algumas dessas caractersticas e tpicos fundamentais tambm sero apresentados para que
voc possa absorver de forma introdutria um conhecimento bsico para o entendimento completo da linguagem de programao C.
Figura 1 Caractersticas e baixo e alto nvel da linguagem C
27/4/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 2/7

Devemos compreender o alto nvel como sendo a capacidade da linguagem em compreender instrues escritas em dialetos prximos do
ingls. Ou seja, uma linguagem de alto nvel contm termos prximos da nossa linguagem cotidiana, sendo assim mais simples de ser
compreendida. Para tanto, linguagens de autonvel necessitam de compiladores e/ou interpretadores para gerar instrues compreensveis
pelo computador. Interpretadores fazem a anlise de cada instruo do programa fonte, uma por uma, executando-as uma aps a outra. J
os compiladores fazem a traduo de todas as instrues do programa fonte para uma outra linguagem. Por exemplo, da linguagem C para
cdigo de mquina, gerando um programa executvel. A linguagem C e pascal so exemplos de linguagens compiladas. Mais adiante, ser
mostrado o processo de compilao de um programa em C.
As linguagens de baixo nvel so aquelas que se aproximam do assembly, que a linguagem prpria da mquina, compostas por instrues
binrias e outras instrues quase incompreensveis para o ser humano. Infelizmente, quanto mais clara uma linguagem for para o humano,
mais elaborado dever ser o processo de traduo para linguagem de mquina, oferecendo possivelmente uma menor velocidade de
processamento. Apesar dessa demora significar muitas vezes somente alguns milissegundos a mais, isso pode fazer diferena para alguns
sistemas crticos, fazendo com que a linguagem C seja uma boa alternativa.
Podemos dizer que um cdigo escrito em C portvel estruturadamente, o que significa que possvel adapt-lo para os mais diferentes
tipos de computadores e sistemas operacionais (Windows, Linux etc.) de forma otimizada.
C uma linguagem que possui uma sintaxe enxuta e que permite, em geral, um rpido entendimento pelo programador iniciante, desde que
sejam destinados a ela alguns momentos de prtica dos exerccios.

Tambm importante ressaltar um ponto muito importante sobre a linguagem C: o C sensvel a caixa alta ou baixa (case sensitive), ou
seja, faz diferena entre o maisculo e o minsculo.
Por exemplo, no podemos referenciar uma varivel declarada com o nome num, mudando algumas de suas letras para maisculo, como
Num, NuM ou NUM. Da mesma forma, os comandos do C que sero aprendidos mais na frente s sero interpretados como um comando do
C pelo compilador se forem escritos com letras minsculas. Ou seja, uma instruo como a for, se for declarado como FOR, ser interpretado
como varivel e no como a instruo for da linguagem.

C tem se tornado uma linguagem popular tanto no meio acadmico quanto no meio organizacional. Parte desse sucesso deve-se s
caractersticas citadas anteriormente e tambm por ser uma linguagem de propsito geral, tendo como principio a programao estruturada.
O termo programao estruturada, utilizado neste contexto, refere-se capacidade de modularizao do cdigo e dos dados que possui a
linguagem C. Tal fato possvel porque o conceito de variveis locais utilizado, ou seja, a partir delas possvel escrever sub-rotinas que
empregam essas variveis. A estruturao acontece pelo fato dessas variveis no causarem nenhum efeito em outras partes do programa,
mas apenas no mdulo ou sub-rotina em que foi declarada. Essa caracterstica permite que os programas feitos em C compartilhem
facilmente sees de cdigo, dessa forma os desenvolvedores s necessitam saber o que cada sub-rotina faz e os parmetros que ela
utiliza para realizar suas operaes, ficando implcita a forma como elas realizam as funes.

Uma linguagem considerada estruturada quando permite que o programador pegue
trechos de maior uso do seu programa e transforme-os em pequenos mdulos
(procedimentos e funes) que sero reutilizados sempre que necessrio.
Mostraremos alguns pontos positivos que consolidaram a linguagem de programao C, tornando-a popular e de grande interesse para os
mais diversos segmentos da computao.

1. Linguagem portvel.
2. Utiliza o conceito de bibliotecas padronizadas.
3. Grande quantidade de operadores.
4. Sintaxe relativamente simples e elegante.
5. Maior facilidade de acesso aos equipamentos de hardware.
6. Facilidade com que o cdigo das aplicaes podem ser otimizadas.
7. Programas em C so compilados, gerando programas executveis computacionalmente eficientes.
8. O compilador C gera cdigos mais enxutos e velozes do que muitas outras linguagens.

Atividade 1

1. Qual a diferena entre linguagens de baixo nvel e de alto nvel? Como a linguagem C se encontra com relao a esse
aspecto?
2. A que se refere o termo programao estruturada?
3. Cite caractersticas da linguagem de programao C.



Tambm de grande importncia esclarecer como so gerados os programas em C e a definio de alguns conceitos utilizados nesse
processo. Nessa seo, iremos descrever de forma breve o processo de gerao do cdigo-fonte e do cdigo-objeto dessa linguagem.

Um programa de computador um conjunto de instrues que representa um algoritmo
para a resoluo de algum problema. Essas instrues so escritas atravs de um
conjunto de cdigos (smbolos e palavras). Esse conjunto de cdigos possui regras de
estruturao lgica e sinttica prprias. Dizemos que esse conjunto de smbolos e regras
forma uma linguagem de programao.
27/4/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 3/7

Inicialmente, iremos descrever os termos utilizados para facilitar o entendimento do processo. Chama-se cdigo-fonte o texto do programa
que os usurios escrevem.
Esse cdigo a entrada para o compilador C.
O cdigo-objeto a traduo do cdigo-fonte do programa em um cdigo de mquina para que o computador possa ler e executar.
O linkeditor um programa que une funes compiladas separadamente em um programa, combinando as funes da biblioteca C com o
programa escrito. A sua entrada o cdigo objeto e a sua sada um programa executvel.
Tempo de compilao so os eventos ocorridos no momento da compilao dos programas, nesse tempo verificado se o cdigo escrito
est compatvel com a sintaxe da linguagem.
Tempo de execuo so os eventos ocorridos enquanto o programa executado.

Figura 2 Do cdigo fonte ao cdigo executvel de um programa
Fonte: Adaptado de <http://paginas.fe.up.pt/~jcard/ensino/LabC/docs/C_tut/Cap_1.htm>. Acesso em: 20 maio 2010.
O processo de compilao consiste em criar o programa, compilar e interlig-lo com as funes necessrias das bibliotecas declaradas no
programa. C permite tambm a compilao separada, ou seja, essa funo s possvel pela sua caracterstica estruturada. Com isso, um
programa pode ser escrito em apenas um arquivo-fonte, mas essa prtica consome um tempo de compilao considervel medida que o
programa cresce. Como alternativa, C permite que um programa esteja contido em vrios arquivos e que cada um seja compilado de forma
separada e logo aps linkeditados para formar um cdigo-fonte completo.
A vantagem desse processo que, se o programa sofrer alguma mudana em qualquer um dos arquivos, no ser necessria a
recompilao do programa como um todo.
Com a linguagem C, podemos construir programas organizados e concisos (caractersticas dos programas das linguagens de alto nvel),
ocupando pouco espao de memria e com alta velocidade de execuo, como o Assembler. Infelizmente, dada toda a flexibilidade da
linguagem, tambm poderemos escrever programas desorganizados e difceis de serem compreendidos. Portanto, cabe ao programador de
C utilizar boas prticas de programao para ter programas legveis e de fcil manuteno.
Agora j conhecemos um pouco sobre os conceitos fundamentais da linguagem C. Na prxima seo, vamos dar um salto para compreender
a estrutura de um programa em C e a partir da comear a desenvolver os nossos programinhas.

Cabe ao programador de C utilizar boas prticas de programao para ter programas
eficientes, legveis e de fcil manuteno.

Estrutura de um programa em C
Na seo anterior, foi discutido o processo de gerao do cdigo fonte, compilao e execuo do programa executvel. No decorrer dessa
seo, ser mostrada a estrutura bsica de um programa em C. Para que esse assunto seja bem absorvido, necessrio que voc tenha
aprendido e trabalhado bem com as atividades prticas dos contedos anteriores. Assim como nas aulas do mdulo de Lgica de
Programao, sero sugeridas atividades prticas durante o desenvolvimento da aula e ao final dela, tudo isso para que voc possa
absorver melhor o assunto.
Com o objetivo de promover um maior entendimento, sem sobrecarregar com informaes avanadas, sero omitidos alguns detalhes. A
estrutura de um programa em C consiste em:

1. diretivas do compilador, onde define-se o valor de constantes simblicas, declarao de variveis e funes, incluso de bibliotecas
e macros, entre outras coisas;
27/4/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 4/7
2. funo principal, declarao da funo main e de outras funes secundrias;
3. comentrios do programa.
Para facilitar o entendimento, iremos explicar a estrutura citada anteriormente, de acordo com o cdigo bsico de um programa que realiza a
soma de dois nmeros inteiros.
Programa que realiza a soma de dois nmeros inteiros
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
int num1, num2, resultado;
printf(Soma);
printf(Digite o primeiro numero: );
scanf(%d,&num1);
printf(Digite o segundo numero: );
scanf(%d,&num2);
resultado = num1 + num2;
getch();
}

O programa inicia com a incluso de bibliotecas de funes. Uma biblioteca compreendida por um arquivo que contm comandos a serem
utilizados pelo programa. Para referenciar uma biblioteca, necessrio utilizar um comando denominado diretiva de compilao. Tal comando
informa ao compilador as bibliotecas que devem ser anexadas ao programa executvel. Esse comando foi inserido no nosso programa
exemplo, de acordo com a linha 1 da tabela. importante observar que os arquivos da biblioteca tem a terminao .h, esse h vem da
palavra header, que significa cabealho em ingls.
A segunda etapa do nosso programa a declarao da funo principal. Essa funo, declarada na linha 2, obrigatria e nela que sero
inseridas a sequncia de comandos que devem ser executados para a soluo do problema desejado. Os comandos da funo principal so
delimitados pelo uso de chaves, informando onde comea e onde termina o cdigo do programa principal. Logo no incio de programa,
devero ser declaradas as variveis (assunto a ser abordado com mais detalhes na prxima aula). Um exemplo de declarao de variveis
mostrado na linha 4. Aps a declarao das variveis, inserimos a sequncia do programa que ser executado. Na linha 5, apresentamos o
comando printf. Esse comando imprime na tela o contedo texto informado como parmetro. No caso do nosso programa, ser impresso na
tela a palavra Soma e, logo aps, o programa iniciar um dilogo com o usurio, solicitando que ele digite o valor do primeiro nmero a ser
somado. Ao digitar o valor, o comando scanf ir capturar o valor armazenado, armazenando-o na varivel num1. Esse processo similar
para as linhas 8 e 9. A varivel resultado ir armazenar o valor da soma. Para que a varivel seja armazenada, a linguagem utiliza-se de
algumas diretivas, como, por exemplo, o %d, indicando que o valor que ser armazenado na varivel do tipo inteiro. Esse assunto ser
melhor discutido na prxima aula.
Agora que voc j sabe a estrutura geral de um programa bsico em C, vamos comear a aprender a sintaxe dos comandos para darmos
incio ao desenvolvimento dos nossos programas.

Atividade 2

1. Para que serve uma linguagem de programao?
2. Cite as principais caractersticas da Linguagem C.
3. Explique a seguinte frase: A linguagem de programao C considerada uma linguagem de mdio nvel.
4. O que significa dizer que a linguagem C case sensitive?
5. Em C, variveis com nomes abc e Abc representam a mesma varivel? Explique por que.
6. A linguagem C compilada ou interpretada? Explique como se d esse processo.
7. Para pensar: por que os erros de lgica so mais difceis de serem corrigidos?
8. Explique o termo Programao Estruturada.
9. Transcreva o cdigo mostrado anteriormente (programa que realiza a soma de dois nmeros inteiros) e explique linha por
linha, com suas palavras, para que serve cada cdigo.
10. O que faz o seguinte programa?
#include<stdio.h>
main()
{
int num;
scanf("%d",&num);
printf("%d",num);
}
11. Quando que precisamos incluir uma biblioteca em um programa C?


Ambiente de programao em C
Durante esta seo, abordaremos conceitos essenciais para o desenvolvimento do nosso primeiro programa em C. Aqui, sero
apresentados alguns dos ambientes mais conhecidos de programao em C.
Inicialmente, introduziremos um ambiente de fcil utilizao e que apresenta uma interface bastante amigvel, o Dev-Cpp. Por
razes de compatibilidade entre as plataformas Windows e Linux, apresentamos e indicamos o uso da ferramenta Eclipse ou do NetBeans,
27/4/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 5/7
razes de compatibilidade entre as plataformas Windows e Linux, apresentamos e indicamos o uso da ferramenta Eclipse ou do NetBeans,
j que o Dev-Cpp apenas executado sobre a plataforma Windows.

Para saber mais ...
O eclipse poder ser adquirido no seguinte site: <http://www.eclipse.org/callisto/c-dev.php>. J o NetBeans pode ser obtido atravs
do site <http://www.netbeans.org>. No site, voc poder encontrar vrios tutoriais que ensinam como utilizar esse ambiente.

importante comear a utilizar um desses ambientes o quanto antes, para que os exerccios e exemplos possam ser transcritos e para que
voc possa observar melhor o funcionamento dos cdigos. importante lembrar que a arte de programar s se aprende programando,
realizando testes, encontrando erros. A prtica muito importante para que voc possa alcanar um bom desempenho. importante que
tenha pacincia durante esse inicio de aprendizado. Voc precisa acumular bastante conhecimento para construir um programa completo em
C. Aos poucos, voc vai se tornando familiar com a sintaxe da linguagem e, de certa forma, os erros durante a compilao sero mais fceis
de visualizar e interpretar.

Atividade 3

1. Consulte o material disponibilizado sobre ambientes de programao em C.
2. Instale e repita o uso desses ambientes em seu computador.



Palavras reservadas do C
As linguagens de programao necessitam de algumas palavras de uso restrito para que possam ser utilizadas nos seus propsitos
originais. Ou seja, no podem ser declaradas funes ou variveis com esses mesmos nomes. Conforme j estudamos, o C case sensitive
e isso permite que voc utilize, por exemplo, a palavra reservada for para declarar uma varivel da seguinte forma: FoR. Essa prtica no
recomendada para que no haja confuso de nomes no cdigo. Uma palavra reservada , essencialmente, um comando e, na maioria das
vezes, as palavras reservadas de uma linguagem definem o que pode ser feito e como pode ser feito.
Como mostrado no Quadro 1, na linguagem C, existem 32 palavras reservadas e todas elas so escritas em minsculo. A seguir,
mostraremos um quadro com todas as palavras reservadas do C. O quadro mostra as palavras reservadas, conforme definido pelo padro
ANSI American National Standards Institute (Instituto Nacional Americano de Padronizao), uma organizao cujo objetivo facilitar a
padronizao dos trabalhos de seus membros.


Auto default Float unsigned
Break do For return
Case double Goto short
Char else Union signed
Const typedef IF sizeof
Switch while Int static
Volatile enum Long struct
continue extern Register void
Quadro 1 Palavras reservadas do C ANSI

Utilizao de comentrios
Os comentrios so utilizados para documentar o cdigo, de forma a facilitar a compreenso e manuteno do mesmo por outras pessoas,
ou at mesmo pelo prprio desenvolvedor. A sua utilizao considerada uma boa prtica de programao. Os comentrios podem ser
colocados em qualquer parte do cdigo, desde que se orientem pela seguinte regra de sintaxe da linguagem:
// <texto de cometrio>
27/4/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 6/7
// <texto de cometrio>
ou
/* <texto de comentrio
texto do cometrio
....
texto do cometrio> */
Um comentrio escrito com duas barras indica uma linha de comentrio e um comentrio entre barra e asterisco indica um bloco de
comentrio. Quando o compilador encontrar com essas estruturas durante o cdigo, ir desprez-las automaticamente.

Atividade 4

1. O que uma palavra reservada? Cite ao menos 10.
2. Por que consideramos uma boa prtica de programao a utilizao de comentrios?
3. Qual elemento do computador responsvel pela execuo do programa?
4. Faa um programa que escreva o seu nome numa s linha, utilizando apenas um printf.
5. Faa um programa que solicite ao usurio dois nmeros, execute a multiplicao deles e exiba na tela o resultado.


Bem, chegamos ao fim de nossa primeira aula. A partir desta aula, esperamos que voc tenha absorvido o conhecimento necessrio para
iniciar o desenvolvimento de programas bsicos. importante destacar que o processo de aprendizado tambm necessita que voc mostre
curiosidade para buscar complementar os seus estudos atravs de outros materiais recomendados. Sugiro que, sempre que possvel, voc
procure cdigos disponveis na internet, analise-os e execute-os em seu ambiente de programao.

Leituras complementares
Os ambientes de desenvolvimento de programas em C possuem diversos materiais disponveis para leitura, tanto na instalao local como
na Internet. Procure e leia a documentao relativa ferramenta que voc ir utilizar durante seus estudos.

Resumo
Nesta aula, voc estudou uma definio bsica sobre a linguagem C, suas principais caractersticas, a estrutura de um programa bsico em
C, citando ambientes de programao amplamente utilizados, tanto no meio acadmico, quanto no meio organizacional. Voc viu o conceito
de palavras reservadas e utilizao de comentrios. Alm disso, estudou os bastidores do processo de construo e compilao de um
programa em C.

Autoavaliao
1. Faa um resumo das caractersticas da linguagem de programao C.
2. Sumarize as vantagens de se usar a linguagem de programao C.
3. Descreva o funcionamento geral dos ambientes de desenvolvimento de programas em C.
4. Quais as vantagens de se utilizar a linguagem de programao estruturada como C? Justifique sua resposta.
Referncias
ALCNTARA, Roberto. Programando em C: boas prticas. 21 abr. 2009. Disponvel em: <http://www2.eletronica.org/artigos/eletronica-
digital/programando-em-c-boas-praticas>. Acesso em: 28 maio 2010.
COCIAN, L. F. E. Manual da linguagem C. Canoas, RS: Editora Ulbra, 2004.
HERBETH, Schildt. C completo e total. Porto Alegre: Editora McGraw-Hill, 1990.
MESQUITA, R. C. Curso de linguagem C: apostila. Disponvel em: <www.mtm.ufsc.br/~azeredo/cursoC/home.html>. Acesso em: 28 maio
2010.
MIZRAHI, V. V. Treinamento em linguagem C: mdulos 1 e 2. Porto Alegre: Editora McGraw-Hill, 1990.
PROJETO MAC MULTIMDIA. Material didtico para disciplinas de introduo computao. Disponvel em:
<http://www.ime.usp.br/~macmulti/>. Acesso em: 28 maio 2010.

Voltar Imprimir Topo


27/4/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html 7/7

Вам также может понравиться