A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos - II Material III-Bimestre Manipulação.

Apresentações semelhantes


Apresentação em tema: "Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos - II Material III-Bimestre Manipulação."— Transcrição da apresentação:

1 Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos - II Material III-Bimestre Manipulação de Arrays, Funções e Procedimentos Ponteiros, Barra de Progressão, Barra de rastro, Timer, Gráficos e Imagens site : Prof. Responsáveis Wagner Santos C. de Jesus

2 Array(Vetores) Array vem a ser a forma de criar uma variável que pode representar uma coleção de elementos. Onde cada item de dado especifica um elemento que deve ser associado a um índice.

3 Exemplo : [ ][...][...]... = ; Onde o índice representa o número de elementos que o vetor irá possuir, Um vetor poderá possuir mais de um índice. Onde o índice representa o número de elementos que o vetor irá possuir, Um vetor poderá possuir mais de um índice.

4 Exemplo da utilização de um Array com os elementos fixos. int k[] = { 50, 22, 38 };

5 Um Array poderá ser criado da seguintes Maneiras. int k[3]; k[0] = 50; k[1] = 22; k[2] = 38; Exemplo :

6 int m[3][4]; // Este exemplo cria um Array de três linhas e quatro colunas.

7 Exemplo : Programa que preenche o vetor m com elementos. int v1[3][4]; int k = 30; for(int i=0;i<=2;i++){ for(int j=0;j<=3;j++){ v1[i][j] = k; k+=5; }

8 O programa irá preencher na memória o vetor v1 da seguinte forma. Obs : Todo o vetor em C++ será iniciado na posição (0). Portanto um vetor de três elementos irá ter o índices de zero à dois.

9 Funções e Procedimentos Uma função vem a ser uma rotina externa ao programa principal que está sendo executado, normalmente uma função retorna um valor já um procedimento possui o mesmo comportamento da função mas não sendo possível retorna valor.

10 Declarando procedimentos e funções em C++. Para se declarar um procedimento deve-se usar a palavra void em antes do nome do mesmo. Sintaxe : void ([ ]) { : }

11 Exemplo declaração Procedimento Exemplo void teste(char letras[]) { ShowMessage(letras); } : teste("Teletubbies dizem Oi...");

12 Criando uma Função Para declarar uma função usa-se a seguinte notação. O tipo de dados que esta função irá retornar seguindo do nome da função e logo após os parâmetros que serão passados. Sintaxe : ([ ]) { : return } Importante : Toda função deverá possuir a instrução return após Ter sido encerrado seu processamento.

13 Exemplo : int soma(int a, int b){ int v = a + b; return v; } : int c = 45; int d = 2; int s = soma(c, d); ShowMessage(s);

14 Atenção : O local onde devem ser declaradas as funções e procedimentos é análogo ao das variáveis globais ou seja uma função ou procedimento será sempre global ao formulário que estará sendo executado.

15 #pragma hdrstop #include "Unit1.h" // #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; void teste( char letras[] ) { ShowMessage(letras); } int soma( int a, int b ){ int v = a + b; return v; }

16 Unidade para funções Para que uma função possa ser chamada em qualquer formulário de um projeto devemos criar uma unidade (Unit) de funções e procedimentos.

17 Criando uma unidade (unit) Basta selecionar File, New e Unit.

18 Será mostrada a seguinte estrutura // #pragma hdrstop #include "Unit2.h" // #pragma package(smart_init) int soma(int a, int b){ int v = a + b; return v; }

19 Para vincular a unidade nova ao formulário. Selecione a opção File, Include Unit ou pressione a tecla Alt+F11. Em seguida a função deve ser declarada no formulário a ser usado.

20 Exemplo da inclusão e definição de uma função no formulário corrente. // #include #pragma hdrstop #include "Unit1.h" #include "Unit2.h" // #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int soma(int n,int y); // __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { }

21 Ponteiros Um ponteiro é uma variável que representa a localização de um item de dados na memória ou seja ele aponta para um endereço de memória na qual existe um dado para ser processado. Os ponteiros são usados para otimizar e aumentar performance de memória em uma aplicação.

22 A memória de um computador é dividida em células adjacentes que são numeradas consecutivamente, do inicio para o fim a área de memória associada com seu número e sua respectiva célula denominamos endereço. Que em sua grande maioria os computadores usam o sistema de numeração hexadecimal.

23 Abaixo encontramos a ilustração de endereço.

24 Armazenamento da informação na memória RAM RAM 0012F588 num = 80 x = F580 Variável inteira (int) Variável dupla precisão (double) Ponteiro *p *j

25 Ponteiro vem a ser a variável que aponta para um desses endereços. Usando um ponteiro. Para declarar um ponteiro devemos usar o símbolo de asterisco na frente da variável. Exemplo: int *j; Obs: Neste caso a variável j será um ponteiro de inteiro.

26 Para que j aponte para um endereço devemos indicar para que endereço de memória desejamos que j aponte. Para fazer isso usamos o símbolo de (e comercial) &. Exemplo : int *j; int k = 3; j = &k;

27 Veja a ilustração do que irá ocorrer na memória.

28 Se o valor do ponteiro j for alterado logo será alterada o valor de k. Ou seja : int *j; int k = 3; j = &k; *j = 6; Obs : Logo o novo valor da variável k será 6 pelo simples motivo de j estar apontando para o endereço da variável k.

29 Visualizando o endereço de memória onde o ponteiro esta. #include // Deverá ser colocada void __fastcall TForm1::Button1Click(TObject *Sender) { int *p; char buffer[8]; int num = 123; p = # sprintf(buffer,"%p",p); ShowMessage(buffer); // O resultado Será buffer=0063F2B8 }

30 Aplicações como ponteiros. Um exemplo da aplicação com ponteiros é o caso do evento OnKeyPress que pega o valor da tecla pressionada. void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { char *j = &Key; ShowMessage(*j); }

31 Este exemplo captura o valor ASCII da tecla pressionada. void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { char *j = &Key; int k = *j; ShowMessage(k); }

32 Exemplo usando ponteiro para usar a caixa de texto aceitando somente números. void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { char *j = &Key; if(*j '9') { ShowMessage("Digito Não Permitido..."); Edit1->SetFocus(); Edit1->Clear(); }

33 Exemplo de Ponteiro na manipulação de caracteres. void __fastcall TForm1::Button1Click(TObject *Sender) { char *a = "As Poderosa dizem oi para Teletubbies"; int x = strlen(a); int i = 1; while(i <= x ) { char y = *a++; if(y=='o') ShowMessage(y); i++; }

34 Operadores de deslocamento de bits Para realizarmos o deslocamento em uma variável que contém 1 byte podemos realizar operações matemática binária ou utilizar recursos da linguagem para efetuar as operações de maneira mais rápida e com segurança.

35 Esses operadores sãos denominados shift. E são representados da seguinte forma >> << Onde : >> - deslocamento para direita. << - deslocamento para esquerda. Sintaxe : Variável >> num-bits; // para direita Variável << num-bits; // para esquerda

36 Observação Os operadores de deslocamento de bits devem ser usados para tipos de dados char, int(correspondente) e byte; que é o mais recomendado. São muito eficientes para decodificar input de dispositivos internos, como conversor A/D.

37 Exemplo de operação byte nbit = 128; nbit = nbit >> 1; // Desloca um bit para direita nbit = nbit >> 2; // Desloca dois bit para direita nbit = nbit >> 1; // Desloca dois bit para direita

38 Exemplo de deslocamento de bits à esquerda bit a bit

39 Programa Exemplo byte a = 1; int x = 1; while( x <= 8){ ShowMessage(a); a = a << 1 ; x++; }

40 Passando Parâmetros por Valor e por Referencia. Para passarmos parâmetros para uma função podemos usar duas formas muito comuns uma é a passagem de parâmetros por valor que já foi vista no inicio da abordagem de funções e procedimentos, a outra é a passagem por intermédio de referencia no que é passado endereço e não o valor de conteúdo da variável.

41 Exemplo de passagem por valor. int soma( int a, int b ){ int v = a + b; return v; } : int c = 45; int d = 2; int s = soma(c, d); ShowMessage(s);

42 Exemplo de passagem por referencia. void soma(int &a, int &b){ int *pont = &b; b = a + b; } : int h = 3; int y = 2; soma(h,y); ShowMessage(y); Obs : Ao final da execução desse programa o valor da variável y será igual a cinco que corresponde a soma de h e y.b

43 Objetos Especiais. Em Builder C++ temos a palheta win32 na qual podemos observar alguns componentes para fazermos representações estatísticas de dados.

44 Propriedade importantes : Position - que captura o ascendente onde a barra de rolagem esta posicionada. Max - permite atribuir o valor máximo onde a barra deverá alcançar Min - permite atribuir o valor mínimo onde será iniciada a contagem. ProgressBar : Permite criar uma barra de progressão onde o usuário da aplicação pode verificar a porcentagem da operação que estará sendo realizada. Palheta win32.

45 Exemplo : for(int i=0;i<=100;i++){ for(int j=0;j<= ;j++); ProgressBar1->Position++; } O exemplo acima preenche a barra de rolagem em 100% contando para cada valor Position aproximadamente 20 segundo. Onde Max = 100 e Min = 0.

46 Propriedade importantes : Position - que captura o ascendente onde a barra de rolagem esta posicionada. Max - permite atribuir o valor máximo onde a barra deverá alcançar Min - permite atribuir o valor mínimo onde será iniciada a contagem. TrackBar - Permite criar uma barra de rastro Barra de Rastro possibilitando o usuário da aplicação escolher a escala em que deseja trabalhar. Palheta win32.

47 Exemplo : void __fastcall TForm1::TrackBar1Change(TObject *Sender) { Label1->Font->Size = TrackBar1->Position; }

48 Propriedade importantes : Enabled - Habilita ou desabilita o timer o padrão é true habilitado. Interval - Determina o intervalo de espera para execução do evento. Timer - Permite executar uma operação recursivamente em um determinado intervalo de tempo de 1000 milisegundo que equivale a um segundo. Palheta system.

49 Exemplo : void __fastcall TForm1::Timer1Timer(TObject *Sender) { AnsiString linha[] = {"Abacaxi","Laranja","Banana"}; Label1->Caption = linha[i]; i++; if(i= =3) i = 0; }

50 Propriedade importantes : NumPoints - O número de elementos que serão apresentados no gráfico. GraphType - Tipo de gráfico que será exibido. ( 1 - Torta, 2 - Torta 3D 3 - Barras, 4 - Barras 3D, 6 - linha). GraphTitle - Título do Gráfico. GraphData - Conjunto de dados que desenham o gráfico. LabelText - Texto para o eixo x do gráfico DrawMode - Permite plotar o gráfico na tela. Graph - Permite criar gráficos estatísticos para que usuário da aplicação possa visualizar melhor os dados usados na mesma. Palheta ActiveX.

51 Exemplo : Graph1->NumPoints = 2; Graph1->GraphType = 3; Graph1->GraphTitle = "Filmes Assistidos nas Férias"; Graph1->GraphData = 20; Graph1->GraphData = 30; Graph1->LabelText = "Teletubbies - 40%"; Graph1->LabelText = "Pokemons - 60%"; Graph1->DrawMode = 2;

52 Propriedade importantes : Enabled : Habilita o desabilita a figura. Picture : Permite trocar uma imagem no objeto. Stretch : Ajusta a imagem dentro do objeto. Image - Permite carregar uma figura em um formulário. Palheta Additional

53 Exemplo : Para carregar uma figura na tela. void __fastcall TForm1::Button6Click(TObject *Sender) { Image1->Picture->LoadFromFile("c:/windows/lixo.bmp"); }

54 VtChart - O objeto VtChart permite a criação de gráficos para realização de estatística de valores e visualização de dados, esse objeto se encontra na palheta ActiveX. Sintaxe : VtChart1. =valor | [ ];

55 Propriedade Principais para a configuração de visualização do gráfico.

56 ChartType : determina qual o tipo de gráfico será desenhado. VtChart1->ChartType = ;

57 O valor deverá ser instânciado de acordo com a tabela abaixo:

58 ShowLegend : Permite mostrar ou não a legenda de um gráfico. Booleano (true/false) Exemplo : VtChart1->ShowLegend = true;

59 TitleText : Exibe um título para o gráfico. Exemplo : VtChart1->TitleText = "Rendimeto Bimestral 2 Anos de Informática";

60 TitleText

61 ColumnCount : Determina o número de colunas ou setores que o gráfico terá. Exemplo: VtChart1->ColumnCount = 2;

62 ColumnCount

63 RowCount : Determina o número de linhas de dados que o gráfico irá ter.(Número de divisões do eixo x). Exemplo : VtChart1->RowCount = 3;

64 RowCount

65 Column : Seta em que coluna do gráfico será alterado por uma informação ou dado. VtChart1->Column = 1;

66 Column =1 Column =2

67 ColumnLabel : Determina um título para a coluna setada por Column(Título da Legenda). Exemplo : VtChart1->ColumnLabel = "1-Trim-2004";

68 Column =1 Column =2 ColumnLabel

69 FootnoteText : Coloca uma mensagem no rodapé do gráfico. VtChart1->FootnoteText = "Acompanhamento Trimestral de vedas";

70 FootnoteText

71 Row : Determina o número da linha que receberá os dados. VtChart1->Row = 1;

72 Row =1Row =2Row =3

73 RowLabel : Determina o título para o eixo x. Exemplo : VtChart1->RowLabel = "JAN";

74 RowLabel = 2J2D – 4.5/5.0

75 Data : Propriedade mais importante do objeto gráfico, permite atribuição do valor que irá desenhar o gráfico. Atenção : Mesmo sendo um valor numérico para o desenho do gráfico essa informação deverá ser sempre uma string, como o exemplo abaixo. Exemplo : VtChart1->Data = "5.5";

76 Data = 5.5

77 DrawMode : Desenha o gráfico na tela por intermédio dos valores (0 ou 1). 0 - Desenha o gráfico com a cor de fundo padrão. 1 - Desenha o gráfico com cor de fundo branca.

78 DrawMode : Desenha o gráfico na tela por intermédio dos valores (0 ou 1). 0 - Desenha o gráfico com a cor de fundo padrão. 1 - Desenha o gráfico com cor de fundo branca. Exemplo : VtChart1->DrawMode = 0;


Carregar ppt "Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos - II Material III-Bimestre Manipulação."

Apresentações semelhantes


Anúncios Google