Você está na página 1de 12

PROGRAMAO EM LINGUAGEM C

2.1. INTRODUO A PROGRAMAO EM LINGUAGEM C

2.1.1. Declarao de Variveis

As diferenas entre os tipos de variveis do portugol para o C so:

inteiro = int real = float, double caracter = char lgico = bool

Para alterar a preciso dos valores podem ser utilizados modificadores:

C ANSI char int float double

Modificadores signed unsigned long short

Exemplos: int x ; (x um inteiro com sinal - signed) unsigned int y; (x um inteiro sem sinal - unsigned) long z; (z um inteiro com o dobro do tamanho de um int) short int v; (v tem o mesmo tamanho de um int)

Exemplos:

a) signed int (ou simplesmente int): o tipo de varivel que se refere a um nmero inteiro com sinal. Ou seja, se uma varivel int ocupa dois bytes na memria, ento, o maior valor decimal que pode ser armazenado neste tipo de varivel deve estar entre 32.767 a 32.767. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 bit de sinal

15 bits de informao

O primeiro bit (mais significativo) representa o sinal (0 positivo e 1 negativo). Ento o maior valor decimal que pode ser armazenado em 15 bits 32.767.

PROGRAMAO EM LINGUAGEM C

b) unsigned int;

o tipo de varivel que se refere a um nmero inteiro sem sinal. Ou seja, se uma varivel int ocupa dois bytes na memria, ento, o maior valor decimal que pode ser armazenado neste tipo de varivel deve estar entre 0 a 65.535. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

16 bits de informao O primeiro bit (mais significativo) no representa mais o sinal. Ento o maior valor decimal que pode ser armazenado em 16 bits 65.535.

O tamanho em bytes de cada tipo de varivel no C, apresentado na tabela abaixo.

Tipo char unsigned char signed char int unsigned int signed int short int unsigned short int signed short int long int signed long int unsigned long int float double long double 8 8 8 16 16 16 16 16 16 32 32 32 32 64 80

Tamanho em Bits

Faixa de valores -127 a 127 0 a 255 -127 a 127 -32767 a 32767 0 a 65.535 mesmo que int mesmo que int mesmo que unsigned int mesmo que short int
-2.147.483.647 a 2.147.483.647

Mesmo que long int 0 a 4.294.967.295 seis dgitos de preciso dez dgitos de preciso dez dgitos de preciso

Fonte: C Completo e Total; Herbert Schildt.

PROGRAMAO EM LINGUAGEM C

2.1.2. Comando de atribuio:

O comando de atribuio em linguagem dado pelo smbolo = (igual).

Exemplo: float A, B, C; A = 10; B = 20; C = A + B; // real A, B, C; // A <- 10; // B <- 20; // C <- A + B;

2.1.3. Blocos de Comandos:

Os blocos de comando, definidos no portugol pelas palavras incio/fim, na linguagem C sero representados pelas { } (chaves).

Exemplo:

Portugol incio real A, B, C; A <- 10; B <- 20; c <- A + B; fim } {

Linguagem C

float A, B, C; A = 10; B = 20; C = A + B;

Obs: Ao transcrever o algoritmo de portugol para a linguagem C, usar o smbolo = para realizar a atribuio. Se for escrito em C, por exemplo o comando A <- 10 , o C no acusa erro, mas interpretaria o comando como A menor que menos 10, ou seja, interpretaria a instruo de forma errada.

PROGRAMAO EM LINGUAGEM C

2.2. BORLAND C++ BUILDER

2.2.1. O ambiente de desenvolvimento

O C++ Builder tem um ambiente de desenvolvimento integrado, com as ferramentas necessrias para a criao dos mais variados programas. Para o desenvolvimento de aplicaes sero usados basicamente, formulrios, alguns componentes e suas propriedades, "units", e bibliotecas. Project1 Unit1
Project1.bpr Project1.cpp Project1.res

Os aquivos que fazem parte do projeto, de um programa em C++ Builder, so:

Form1
Unit1.cpp Unit1.dfm Unit1.h

Arquivos gerados aps a compilao: - unit1.obj - project1.obj - project1.res - project1.bpr - project1.exe Figura 1. Projeto em C e arquivos.

Um programa escrito em ANSI C representado por um arquivo que contm o cdigo fonte e possui extenso .C (nomearquivo.c). No C++ Builder o cdigo fonte escrito dentro de uma unit e o arquivo gravado possui a extenso .cpp. O projeto tambm tem extenso .cpp, e pode conter uma ou mais units, e um ou mais formulrios (forms). O cdigo fonte depois de compilado gera um arquivo executvel com a extenso .exe. O arquivo com extenso .h, armazena as definies dos recursos usados pela unit, e o arquivo com extenso .dfm, contm os recursos de componentes de formulrio usados pelo programa. Os arquivos .cpp so criados pelo programador, e os demais arquivos so criados automaticamente pelo compilador. Os arquivos destacados com cones na figura 1, fazem parte do programa fonte, e sero necessrios toda a vez que for preciso modificar o programa. Os demais so gerados a cada compilao.

PROGRAMAO EM LINGUAGEM C

2.2.2. A interface de desenvolvimento

Quando se inicia a criao de um programa (opo new aplicattion do menu), so apresentados ao usurio, a janela do formulrio (form), a barra de componentes (component palette) e a barra de propriedades e eventos (object inspector).

2.2.2.1. Barra de Componentes

A barra de componentes apresenta todos os elementos que podem ser adicionados a um formulrio, para a criao de um programa.

2.2.2.2. Formulrio (Form) O formulrio (Form) a janela que ir receber os componentes (botes, caixas de texto, etc) que iro operar sobre o programa.

rtulo

boto caixa de texto

Form

O formulrio a interface entre o programa e o usurio. o meio pelo qual o usurio interage com o programa, seja inserindo dados atravs de uma caixa de texto, seja executando uma funo ao clique de um boto, etc.

PROGRAMAO EM LINGUAGEM C

2.2.2.3. Barra de Propriedades

Esta janela apresenta as propriedades do componente com o "foco". As propriedades, ou eventos podem ser alterados nesta janela, quando da escrita do programa. Por exemplo: a) para alterar o ttulo do formulrio, alterar a propriedade caption; b) para alterar o nome do formulrio alterar a propriedade name; c) para alterar as cores do formulrio alterar a propriedade color.
As propriedades podem ser alteradas tambm durante a execuo do programa, bastando referenciar o componente e a respectiva propriedade atravs do conector "->". Assim, no programa, pode-se escrever:
Form1->Caption = programa1;

. Cada componente possui uma lista de propriedades (no object inspector) que pode ser alterada

de acordo com a necessidade do programador. Da mesma forma os eventos podem ser utilizados para executarem aes durante o uso do programa.

2.2.3. A criao de programas

Enunciado: Dado o algoritmo que calcula a soma de dois nmeros, elabore um programa em C, que realize as operaes representadas no algoritmo.

Para resolver este problema, primeiramente necessrio conhecer as diferenas entre os comandos do portugol e da linguagem C, como apresentado a seguir:

PROGRAMAO EM LINGUAGEM C

Portugol inicio inteiro a,b,c; leia(a); leia(b); c = a + b: escreva(c); fim } { int a,b,c;

Linguagem C

a = atoi(Edit1->Text.c_str()); b = atoi(Edit2->Text.c_str()); c = a + b; Edit3->Text = c;

Algumas diferenas ocorrem na leitura, escrita e atribuio de valores, como tambm em relao aos operadores relacionais, lgicos e aritmticos, como apresentado a seguir:

a) Entrada de Dados

leia(n);

escrito como

n = atoi(Edit1->Text.c_str());

Onde, Edit1 o nome do componente EditBox; Edit1->Text a propriedade texto de Edit1; Edit1->Text.c_str() o formalismo do Builder para leitura de string; atoi() a funo do C para converter caracteres alfanumricos (texto) em valor numrico do tipo inteiro.

Para usar a funo atoi( ) necessrio incluir uma biblioteca do C: #include <stdlib.h>

Obs: Note que Edit1 o nome do componente e Text uma das propriedades; esta especificamente diz respeito ao contedo da caixa de texto. Note tambm que Edit1 o nome do EditBox. Este nome ser usado para todo o programa. Lembre que atravs da propriedade name, o nome pode ser alterado. Por exemplo, Texto1->Text = ...;

PROGRAMAO EM LINGUAGEM C

b) Atribuio

f <- n;

escrito como

f = n;

(com o sinal de igualdade)

c) Sada de Dados

escreva(f); em C, dado atribuindo um valor de resposta ao componente do formulrio usado para apresent-la, como por exemplo, um EditBox. Ou seja,

Edit2->Text = f;

(a propriedade Text do Edit2, ir conter o valor de f).

d) Operadores aritmticos em C

Operao Adio Subtrao Multiplicao Diviso

Smbolo + * /

Operao Raiz quadrada Exponenciao Resto

Smbolo sqrt() pow() %

e) Operadores relacionais Operao Maior que Menor que Maior ou igual Smbolo > < >= Operao Menor ou igual Igualdade Diferena Smbolo <= == !=

2.2.4. Passos para Criar uma Aplicao em C

A seguir ser apresentada uma sequncia de passos para a criao de programas em C, no ambiente do Borland C++ Builder.

PROGRAMAO EM LINGUAGEM C

a) Abrindo o C++ Builder

No Windows, a partir do menu iniciar (ou atalho) selecione a opo "C++Builder 5". Ao ser iniciado, o ambiente apresenta os menus, barras de ferramentas, um formulrio denominado Form1 e uma rea de texto, denominada Unit1.cpp. Estes elementos flutuam sobre a tela, e sua exibio pode ser alternada, apenas mudando o "foco".

b) Adicionando Formulrio

Um formulrio em branco (sem componentes) automaticamente apresentado ao se criar uma aplicao. Se necessrio, um formulrio pode ser adicionado aplicao atravs do boto "new form" como apresentado pelo menu abaixo.

c) Inserindo Componentes no Formulrio

O formulrio representa a rea de trabalho, onde ser realizada a interface entre o programa e o usurio. Neste formulrio devem ser inseridos os componentes da linguagem (botes, caixas de texto, caixas de verificao, etc). Para inserir um componente, necessrio escolher o componente desejado na barra de componentes e clicar na regio do formulrio onde quiser adicion-lo.

O formulrio Form1 contm: Edit Box (caixa de texto): Edit1 Edit Box (caixa de texto): Edit2 Edit Box (caixa de texto): Edit3 label (rtulo): Label1 label (rtulo): Label2 label (rtulo): Label3 Button (Boto): Button1

PROGRAMAO EM LINGUAGEM C

Ao serem incorporados ao Formulrio, os componentes assumem nomes padronizados. Os nomes podem ser alterados atravs das propriedades do object inspector. Ento o formulrio pode ficar como:

Para modificar o texto do label ou boto, deve-se alterar o contedo da propriedade Caption. Para Edits, alterar a propriedade Text. Lembre que a propriedade Caption no altera o nome do componente, apenas altera o texto que aparece sobre o componente. Assim, no programa os nomes continuam sendo Edit1, Edit2, ... etc. Para mudar o nome usar a propriedade Name.

d) Codificao do Programa

A janela de edio permite visualizar e alterar o cdigo do programa de cada "Unit" como mostra a figura abaixo. Cada componente pode perceber a ocorrncia de um evento, por exemplo, o clique em um boto. Ento, pode-se associar ao componente Button, as linhas de cdigo que executam as operaes. Ou seja, para calcular a soma entre dois nmeros, devemos fornecer um valor como parmetro atravs de uma EditBox, e o clculo do fatorial s ser executado mediante o clique do boto.

Normalmente associa-se: comandos, aos componentes do tipo Button; entrada e sada de dados na tela, aos componentes EditBox ou Label; parmetros condicionais aos componentes RadioButton e CheckBox.

PROGRAMAO EM LINGUAGEM C

Local para declarao das bibliotecas

Evento clique do boto

Programa em C

e) Compilando um Programa

O C++ Builder deve compilar o programa para verificar a sintaxe, e gerar o cdigo executvel. Para compilar selecione a opo correspondente no menu, ou use as teclas de atalho Ctrl F9 ou F9.

f) Executando um Programa

Para executar o programa, utilize o comando RUN ou a tecla F9.

PROGRAMAO EM LINGUAGEM C

g) Salvando o Programa

Para gravar o programa recomenda-se criar uma pasta, pois vrios arquivos gerados pelo compilador devem ser armazenados. Se este local for conhecido, ento facilitar a localizao e manuteno dos programas. Use o comando "Save All" para que todos os arquivos sejam salvos. Uma janela, como abaixo, apresentada. Fornea um nome para o arquivo Unit1.cpp. Em seguida dever ser fornecido um nome para o arquivo de projeto Project1.cpp .

Obs: Como a unit e o projeto tem a mesma extenso (.cpp), no esquea de dar nomes diferentes para os dois arquivos. Grave sempre no HD, pois o C++ gera vrios arquivos durante a compilao.

2.2.5. Exerccios

1. Escreva um programa em C para somar e subtrair dois nmeros fornecidos por um usurio, e apresentar o resultado usando um Editbox. 2. Modifique o exerccio 3.1, para apresentar o resultado atravs de um Label; 3. Escreva um programa em C que calcule as razes de uma equao de 2. grau. 4. Escreva um algoritmo e um programa em C que conte quantas vezes um boto foi pressionado, e apresente o resultado em um EditBox.

Você também pode gostar