Programação aula001

  • Published on
    27-Jun-2015

  • View
    282

  • Download
    0

Embed Size (px)

Transcript

<ul><li> 1. Aula 001 Programao PRONATEC Programa Nacional de Acesso ao Ensino Tcnico e Emprego </li></ul> <p> 2. PRONATEC Programa Nacional de Acesso ao Ensino Tcnico e Emprego 3. 1. PROGRAMAO PROGRAMAR: criar processos usando uma linguagem de programao especfica a fim de fazer o processador realizar tarefas com o hardware em que esteja conectado comandando-o para objetivos especficos. Ex: aplicativo para controle de caixa, controle de alunos, controle escolar, controle de estoque A linguagem de programao que ns vamos aprender : Delphi na sua verso 5 O Delphi usa a linguagem Pascal no seu IDE 4. 2. DELPHI E PASCAL PASCAL: linguagem de programao de fcil aprendizado, muito parecida com o Ingls tcnico e muito usada no meio acadmico DELPHI: um ambiente integrado de desenvolvimento grfico (Graph IDE) que une a linguagem Pascal com recursos de programao grfico com objetos herdados do prprio Windows O Delphi usa a linguagem Pascal para sua programao mas as janelas, botes, listas, grades, so objetos herdados da camada de biblioteca da API do prprio Windows (API Aplication Program Interface = Interface de Programao de Aplicativos) 5. 3. DELPHI Neste curso seguiremos aprendendo o Delphi na sua verso 5, lanada em 2000 mas que at hoje a base principal de todas as verses mais modernas Aprender Delphi na verdade aprender a programar em Pascal, o Delphi nada mais que um IDE para criar programas Pascal usando recursos do Sistema Operacional Grfico o Windows 6. 4. PASCAL Algoritmo: a descrio, de forma lgica, dos passos a serem executados para o cumprimento de uma tarefa definida. Exemplo: Receita para fazer um caf Programar em Pascal quase como criar algoritmos usando o idioma Ingls, a ressalva que o Pascal um pouco mais rigoroso no observar as regras do compilador. Por exemplo, no podemos atribuir um texto a uma varivel numrica O Pascal, e qualquer outra linguagem de programao, consiste de smbolos + regras de sintaxe. Os smbolos so textos especiais: comandos, operadores e constantes. As regras so o rege a forma de usar os smbolos. O Pascal uma linguagem de lto nvel, ou seja mais prxima do entendimento humano do que da mquina 7. 5. DELPHI COM PASCAL Todo processo deve estar em linguagem de mquina para que possa ser executado pelo processador, logo o programa em Pascal deve ser transformado em linguagem de mquina. O Borland Delphi o compilador que ir transformar nossos programas em Pascal para a linguagem de mquina do processador. O Delphi faz tambm a ligao (linkedio) dos vrios mdulos (subprogramas) fundindo-os e transformando num nico processo que resulta no aplicativo final criado. 8. 6. CARACTERSTICAS DO PROGRAMA INTEGRIDADE: tendo as entradas corretas os resultados apresentados devem ser corretos CLAREZA: o programa deve ser feito de forma que outros programadores o entendam, use muitos comentrios SIMPLICIDADE: devemos evitar dar voltas para chegar a um objetivo, devemos ser objetivos. EFICINCIA: o programa deve usar bem os recursos de hardware disponveis e ser rpido MODULARIDADE: os programas devem ser estruturados de tal forma que possam ser reaproveitados em outros projetos se for o caso GENERALIDADE: capacidade de ser utilizado em outros projetos 9. 7. ESTRUTURA DO PROGRAMA program Project1; // Nome do Aplicativo Final Uses // Unidades da Biblioteca que sero usadas Forms, // Biblioteca de formulrios {$R *.RES} // Parmetro de compilao Var x:integer; // Varivel inteira X declarada Begin // Incio do Programa Application.Initialize; // Comando 1 Application.CreateForm(TForm1, Form1); //C.2 Application.Run; // Comando 3 end. // Trmino do programa 10. 7. A LINGUAGEM PASCAL Origem: criada por Nicklaus Wirth, suio, em 1970 e doou o primeiro compilador Objetivo: foi criada para ensinar estrutura de dados e programao estruturada para alunos Avano: em 1983 a Borland criou o Pascal orientado a objetos com Turbo Pascal Delphi: no final da dcada de 80 a Borland Lana o Delphi 1.0 que a seguir evoluiu at chegar na verso 5 em 2000 O Delphi evoluiu e hoje temos verso 2012 A grande jogada da Borland com o Delphi foi integrar o compilador, o linkeditor e as bibliotecas da API do Windows em um nico ambiente de programao usando a linguagem Pascal, isso foi seguido por todas as grandes empresas de software como Microsoft (Visual Basic) e outras. 11. 8. CONCEITOS DO DELPHI O Delphi usa o Pascal Orientado a Objetos o que significa que os recursos do computador e do sistema operacional so tratados como objetos e podem ser criados, destrudos, acessados, controlados, etc. Classe: em Delphi uma classe uma famlia de objetos que possuem as mesmas caractersticas. Uma classe existe para sempre. Exemplo: TForm Objeto: um item pertencente a uma classe. Ele pode ser criado, existir por um tempo, depois ser destrudo. Exemplo: Janela da classe Tform Um objeto tem trs caractersticas: propriedade, eventos e mtodos Propriedade: so caractersticas passivas, recebem valores e podem ser consultados. Exemplo: Janela.color Evetos: so subprogramas que so executados quando determinado evento ocorre com o objeto. Exemplo: Janela.onclick Mtodos: so subprogramas que so chamados pelo programador para realizar determinadas funes com o objeto. Ex: Janela.close() Programar em Delphi criar objetos e controlar as aes sobre eles por parte do usurio ou do prprio programa sendo criado. 12. 9. Classes do Delphi TApplication: a principal classe, ela contem um nico objeto que se refere ao prprio programa sendo criado. TForm: classe que representa os objetos janelas do Sistema Operacional Windows TButton: classe dos botes de ao TCheckBox: classe dos botes de opo TRadioBox: classe dos botes de opo exclusivos TListBox: classe das listas de opes TPanel: classe de painel grfico TEdit: classe dos objetos entrada de texto TLabel: classe dos objetos textos fixos TComboBox: classe da caixa de texto combinada com a caixa de lista para escolha, ... E outros que veremos mais a frente 13. 10. Hierarquia de Classes Delphi A principal vantagem do uso de Classes reside no fato de objetos filho herdarem propriedades e mtodos dos seus pais na hierarquia de classes No Delphi temos a seguinte hierarquia de classes: 14. 11. Variveis no Delphi Todo programa precisa de usar a memria RAM e nela vo ficar os dados para trabalho: nmeros, textos (strings), caracter, booleanos. Esses itens usados na RAM so chamados de Variveis, semelhantes s da lgebra matemtica elas servem para conter dados: numricos, textuais, lgicos ou objetos, como j os vimos. No Delphi, o comando para declarar uma varivel o var e tem a seguinte sintaxe: var Nome_Da_Varivel : Tipo ; Por exemplo: var i:integer; Declara uma varivel de nome i e que guarda valores numricos do tipo inteiro integer Uma varivel de um determinado tipo s guarda elementos desse mesmo tipo, seno ocorrer um erro em tempo de execuo do programa. Mas existe a possibilidade de fazer converses atravs de funes destinadas a isso. 15. 12. Tipos no Delphi Os tipos bsicos do Delphi para variveis so: Integer: inteiros de -2.000.000 a +2.000.000 Real: qualquer valor real Byte: um nmero de 0 a 255 (Hexa: $00 a $FF) Char: um caracter com cdigo de 0 a 255 Array: um vetor ou grupo de itens de um mesmo tipo, pode ser de inteiro, de real, de char. Exemplo: var Vetor:array[1..100] of integer; - esse comando cria a varivel Vetor que um arranjo de 100 elementos sendo todos do tipo inteiro. Para acessar um elemento usamos o nome da varivel seguido de colchetes com o ndice de 1 a 100 indicando qual elemento queremos do conjunto. Ex: Vetor[10] o nmero inteiro na posio 10 da varivel Vetor. String: um array de 255 char, ou seja: string = array[1..255] of char; No mximo 255 caracteres Booelan: valor booleano somente True ou False 16. 13. Constantes no Delphi Alguns valores em matemtica so constantes absolutas e nesse caso voc pode declara-las no Delphi com o comando CONST CONST NOME : TIPO Exemplo: const Pi : real = 3.1416; As constantes devem ser declaradas antes mesmo da definio das variveis (var) 17. 14. Classes no Delphi Podemos definir novas classes no Delphi usando a definio composta de tipos com opo de herana a partir das classes ancestrais j prontas no ambiente dele. Exemplo: TMinhaJanela = class(TForm)... Define uma nova classe TMinhaJanela como sendo filha da ancestral TForm que portanto herda todas as propriedades, eventos e mtodos da sua classe pai, alm das novas propriedades, eventos e mtodos que voc pode incrementar nela. 18. 15. Exemplo de uma Unit Delphi unit Unit1; // Nome da Unidade: Unit1 Interface // Seo de interface e definies Uses // Bibliotecas a serem includas Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TMinhaJanela = class(TForm) // Nova classe descende de TForm private { Private declarations } // Variveis e mtodos privados public { Public declarations } // Variveis e mtodos pblicos end; var MinhaJanela: TMinhaJanela; // Varivel (objeto)Global: MinhaJanela da classe TMinhaJanela Implementation // Incio dos Procedures e Functions {$R *.DFM} // Diretiva de compilao end. // Fim da Unidade: Unit1 19. 16. Arquivos do Delphi Os arquivos criados pelo Delphi para o seu programa so: Os .pas: arquivos que contem o programa propriamente dito com comandos em Pascal Os .dfm: so arquivos que contem dados sobre os objetos e classes usadas no seu projeto. Dados como: largura, altura, posicionamento na tela, cores, estilos, enfim o formato da interface Os .dcu: so arquivos resultantes da compilao dos arquivos .pas que vo ser ligados para formar o projeto do aplicativo final. Os .dpr: so arquivos de projeto, contem o mdulo principal do aplicativo, inclusive o seu nome o que ser dado ao aplicativo criado. Os .res: so arquivos de recursos a serem usados pelo projeto final, tipo: cones, sons, vdeos, etc. 20. 17. Procedures e Functions Os programas em Delphi so sempre estruturados. Isto quer dizer que so divididos em subprogramas e a soma da realizao desses gera o resultado final do programa como um todo. Os subprogramas podem ser procedures ou podem ser functions e podem ou no receber argumentos (variveis) de entrada. Um procedure no retorna valores, um function sempre retorna Para chamar usamos o nome seguido de ( com as variveis de entrada separadas por , e finalmente fechamos com ) Exemplo: fatorial(10) somaDebitos(idCliente) 21. 18. Estrutura de Functions e Procedures Function Soma (x,y:real):real; Var n:real; Begin try n := x + y; except ShowMessage(Erro nas entradas); end; result := n; End; Procedure Soma (x,y:real; var r:real); Var n:real; Begin try n := x + y; except ShowMessage(Erro nas entradas); end; r := n; End; Passagem de argumento por valor: conforme o exemplo da Function Soma, as variveis x e y so passadas por valor, ou seja a funo trabalha com cpias das variveis x e y originais Passagem de argumento por referncia: a varivel r na procedure Soma passada por referncia, ou seja ela a prpria varivel original e as mudanas feitas nela sero permanentes No Delphi usamos var na declarao para indicar passagem por referncia e sem indica passagem por valor. 22. 19. Operadores e Precedncias Os operadores do Pascal so: := : operador de atribuio, exemplo: x := 0; x recebe o inteiro zero. + - * / : operador de soma, subtrao, multiplicao e diviso OR AND NOT: operadores lgicos Ou, E e Negao, funcionam com booleanos Booleanos [boolean] so somente dois: True (verdadeiro) ou False (falso) Somando inteiro com data como se tivesse somando dias esta data. Somar decimais a uma data acrescentar minutos a ela. Isso porqu em Pascal a data representada como um nmero real onde a parte inteira a informao de quantos dias se passaram desde o dia 01/01/01 (nascimento de Jesus). E a parte decimal uma frao de 24 horas correspondente a um dia inteiro. div : esse operador divide dois inteiros retornando somente a parte inteira da diviso mod: esse operador divide dois inteiros e retorna somente o resto da diviso () so usados para alterar a precedncia matemtica comum A precedncia dos operadores em Pascal segue a mesma da matemtica: Primeiro: colchetes e mais internos para os mais externos Segundo: operaes de multiplicao e diviso (div e mod tambm) Terceiro: operaes de soma e subtrao Nos booleanos: 1) ( ) 2) NOT 3) AND e 4) OR 23. 20. Funes de Converso de Tipos String para Inteiro: StrToInt (s:string) -&gt; inteiro String para Real: StrToFloat (s:string) -&gt; real String para Data: StrToTime(s:string) -&gt; data Inteiro para String: IntToStr(n:integer) -&gt; string Real para String: FormatFloat (Mask:string; n:real) -&gt; string Data para String: TimeToStr(d:TDateTime) -&gt; string Inteiro para Real: aceito diretamente no precisa converso Real para Inteiro: trunc(n:real) -&gt; inteiro sem decimais (no arredonda) Arredondamento de real: round(n:real; d:integer) -&gt; real arredondado em d decimais Data para Real: j direto, pois a data um real, a parte inteira so dias passados desde a data 01/01/01 at hoje e a parte decimal so a frao correspondente a 24 horas Booleanos no tem converso 24. 21. Principais Comandos do Pascal BEGIN ... END; IF Condio THEN Faz_Se_Condio_Verdadeira ELSE Faz_Se_Condio_Falsa; TRY Comandos EXCEPT Faz_Se_Ocorrer_Erro_em_Comandos END; TRY Comandos FINALLY Faz_Sempre_mesmo_se_no_ocorrer_erros END; WHILE Condio_Verdadeira DO ... ; REAPEAT Comandos UNTIL Condio_Verdadeira; FOR i := Valor_Inicial TO Valor_Final DO ... ; FOR i := Valor_Final DOWNTO Valor_Inicial DO ... ; CASE Opo OF op1 : do1 op2 : do2 ... opN : doN ELSE faz_noutro_caso; END; 25. 22. Variveis e Escopo no Delphi Escopo de uma varivel a viso que podemos ter desta varivel no programa. Uma varivel pode ser: Global, Local ou de uma Classe. Varivel Global: so definidas na clusula var da Unidade (unit) e so visveis por todo o cdigo pascal daquela mesma unidade, podendo inclusive ser consultada ou alterada Varivel Local: so definidas dentro de functions ou procedures nas suas clusulas var e so visveis somente dentro destas estruturas, sendo destrudas depois de sair das suas rotinas Variveis de Classe: so variveis internas a uma classe e so declaradas nas clusulas public ou private das mesmas. Varivel Pblica: so definidas dentro de uma classe e so visveis para qualquer programa que use objetos derivados desta. Podendo ser lidas e alteradas Variveis Privadas: so definidas dentro de uma classe e so visveis somente para os mtodos e eventos da prpria classe no sendo acessadas por outros objetos ou programas. </p>