25
Aula 001 Programação PRONATEC Programa Nacional de Acesso ao Ensino Técnico e Emprego

Programação aula001

Embed Size (px)

Citation preview

Page 1: Programação aula001

Aula 001

Programação

PRONATECPrograma Nacional de Acesso ao

Ensino Técnico e Emprego

Page 2: Programação aula001

PRONATECPrograma Nacional de Acesso ao

Ensino Técnico e Emprego

Page 3: Programação aula001

1. PROGRAMAÇÃO• PROGRAMAR: É criar processos usando uma

linguagem de programação específica a fim de fazer o processador realizar tarefas com o hardware em que esteja conectado comandando-o para objetivos específicos. Ex: aplicativo para controle de caixa, controle de alunos, controle escolar, controle de estoque

• A linguagem de programação que nós vamos aprender é: Delphi na sua versão 5

• O Delphi usa a linguagem Pascal no seu IDE

Page 4: Programação aula001

2. DELPHI E PASCAL• PASCAL: linguagem de programação de fácil

aprendizado, muito parecida com o Inglês técnico e muito usada no meio acadêmico

• DELPHI: é um ambiente integrado de desenvolvimento gráfico (Graph IDE) que une a linguagem Pascal com recursos de programação gráfico com objetos herdados do próprio Windows

• O Delphi usa a linguagem Pascal para sua programação mas as janelas, botões, listas, grades, são objetos herdados da camada de biblioteca da API do próprio Windows (API – Aplication Program Interface = Interface de Programação de Aplicativos)

Page 5: Programação aula001

3. DELPHI• Neste curso seguiremos aprendendo o Delphi

na sua versão 5, lançada em 2000 mas que até hoje é a base principal de todas as versões 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 Gráfico – o Windows

Page 6: Programação aula001

4. PASCAL• Algoritmo: é a descrição, de forma lógica, 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 Inglês, a ressalva é que o Pascal é um pouco mais rigoroso no observar as regras do compilador. Por exemplo, não podemos atribuir um texto a uma variável numérica

• O Pascal, e qualquer outra linguagem de programação, consiste de símbolos + regras de sintaxe. Os símbolos são textos especiais: comandos, operadores e constantes. As regras são o rege a forma de usar os símbolos.

• O Pascal é uma linguagem de álto nível, ou seja é mais próxima do entendimento humano do que da máquina

Page 7: Programação aula001

5. DELPHI COM PASCAL• Todo processo deve estar em linguagem de

máquina para que possa ser executado pelo processador, logo o programa em Pascal deve ser transformado em linguagem de máquina.

• O “Borland Delphi” é o compilador que irá transformar nossos programas em Pascal para a linguagem de máquina do processador.

• O Delphi faz também a ligação (linkedição) dos vários módulos (subprogramas) fundindo-os e transformando num único processo que resulta no aplicativo final criado.

Page 8: Programação aula001

6. CARACTERÍSTICAS 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 comentários• SIMPLICIDADE: devemos evitar dar voltas para chegar a um

objetivo, devemos ser objetivos.• EFICIÊNCIA: o programa deve usar bem os recursos de

hardware disponíveis e ser rápido• 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

Page 9: Programação aula001

7. ESTRUTURA DO PROGRAMA• program Project1; // Nome do Aplicativo Final• Uses // Unidades da Biblioteca que serão usadas• Forms, // Biblioteca de formulários• {$R *.RES} // Parâmetro de compilação• Var x:integer; // Variável inteira X declarada• Begin // Início do Programa• Application.Initialize; // Comando 1• Application.CreateForm(TForm1, Form1); //C.2• Application.Run; // Comando 3• end. // Término do programa

Page 10: Programação aula001

7. A LINGUAGEM PASCAL• Origem: criada por Nicklaus Wirth, suiço, em 1970 e doou o

primeiro compilador• Objetivo: foi criada para ensinar estrutura de dados e

programação estruturada para alunos• Avanço: em 1983 a Borland criou o Pascal orientado a objetos

com Turbo Pascal• Delphi: no final da década de 80 a Borland Lança o Delphi 1.0

que a seguir evoluiu até chegar na versão 5 em 2000• O Delphi evoluiu e hoje temos versão 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 programação usando a linguagem Pascal, isso foi seguido por todas as grandes empresas de software como Microsoft (Visual Basic) e outras.

Page 11: Programação aula001

8. CONCEITOS DO DELPHI• O Delphi usa o Pascal Orientado a Objetos o que significa que os recursos do

computador e do sistema operacional são tratados como “objetos” e podem ser criados, destruídos, acessados, controlados, etc.

• Classe: em Delphi uma classe é uma família de objetos que possuem as mesmas características. Uma classe existe para sempre. Exemplo: TForm

• Objeto: é um item pertencente a uma classe. Ele pode ser criado, existir por um tempo, depois ser destruído. Exemplo: Janela da classe Tform

• Um objeto tem três características: propriedade, eventos e métodos• Propriedade: são características passivas, recebem valores e podem ser

consultados. Exemplo: Janela.color• Evetos: são subprogramas que são executados quando determinado

“evento” ocorre com o objeto. Exemplo: Janela.onclick• Métodos: são subprogramas que são chamados pelo programador para

realizar determinadas funções com o objeto. Ex: Janela.close()• Programar em Delphi é criar objetos e controlar as ações sobre eles por

parte do usuário ou do próprio programa sendo criado.

Page 12: Programação aula001

9. Classes do Delphi• TApplication: a principal classe, ela contem um único objeto

que se refere ao próprio programa sendo criado.• TForm: classe que representa os objetos “janelas” do Sistema

Operacional Windows • TButton: classe dos botões de ação• TCheckBox: classe dos botões de opção• TRadioBox: classe dos botões de opção exclusivos• TListBox: classe das listas de opções• TPanel: classe de painel gráfico• 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

Page 13: Programação aula001

10. Hierarquia de Classes Delphi• A principal vantagem do uso de Classes reside no fato de objetos “filho”

herdarem propriedades e métodos dos seus “pais” na hierarquia de classes

• No Delphi temos a seguinte hierarquia de classes:

Page 14: Programação aula001

11. Variáveis no Delphi• Todo programa precisa de usar a memória RAM e nela vão ficar os

dados para trabalho: números, textos (strings), caracter, booleanos. • Esses “itens” usados na RAM são chamados de “Variáveis”,

semelhantes às da álgebra matemática elas servem para conter dados: numéricos, textuais, lógicos ou objetos, como já os vimos.

• No Delphi, o comando para declarar uma variável é o “var” e tem a seguinte sintaxe:

• var Nome_Da_Variável : Tipo ;• Por exemplo: var i:integer; • Declara uma variável de nome “i” e que guarda valores numéricos do

tipo inteiro “integer”• Uma variável de um determinado tipo só guarda elementos desse

mesmo tipo, senão ocorrerá um erro em tempo de execução do programa. Mas existe a possibilidade de fazer conversões através de funções destinadas a isso.

Page 15: Programação aula001

12. Tipos no Delphi• Os tipos básicos do Delphi para variáveis são:• Integer: inteiros de -2.000.000 a +2.000.000• Real: qualquer valor real• Byte: um número de 0 a 255 (Hexa: $00 a $FF)• Char: um caracter com código 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 variável “Vetor” que é um arranjo de 100 elementos sendo todos do tipo inteiro. Para acessar um elemento usamos o nome da variável seguido de colchetes com o índice de 1 a 100 indicando qual elemento queremos do conjunto. Ex: Vetor[10] é o número inteiro na posição 10 da variável Vetor.

• String: é um array de 255 char, ou seja:• string = array[1..255] of char; No máximo 255 caracteres• Booelan: valor booleano somente True ou False

Page 16: Programação aula001

13. Constantes no Delphi• Alguns valores em matemática são 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 definição das variáveis (var)

Page 17: Programação aula001

14. Classes no Delphi• Podemos definir novas classes no Delphi usando a

definição composta de tipos com opção de herança 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 métodos da sua classe pai, além das novas propriedades, eventos e métodos que você pode incrementar nela.

Page 18: Programação aula001

15. Exemplo de uma Unit Delphiunit Unit1; // Nome da Unidade: Unit1

Interface // Seção de interface e definições

Uses // Bibliotecas a serem incluídas Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type TMinhaJanela = class(TForm) // Nova classe descende de TForm private { Private declarations } // Variáveis e métodos privados public { Public declarations } // Variáveis e métodos públicos end;

var MinhaJanela: TMinhaJanela; // Variável (objeto)Global: MinhaJanela da classe TMinhaJanela

Implementation // Início dos Procedures e Functions

{$R *.DFM} // Diretiva de compilação

end. // Fim da Unidade: Unit1

Page 19: Programação aula001

16. Arquivos do Delphi• Os arquivos criados pelo Delphi para o seu programa são:• Os “.pas”: arquivos que contem o programa propriamente dito

com comandos em Pascal• Os “.dfm”: são 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”: são arquivos resultantes da compilação dos arquivos “.pas” que vão ser ligados para formar o projeto do aplicativo final.

• Os “.dpr”: são arquivos de projeto, contem o módulo principal do aplicativo, inclusive o seu nome é o que será dado ao aplicativo criado.

• Os “.res”: são arquivos de recursos a serem usados pelo projeto final, tipo: ícones, sons, vídeos, etc.

Page 20: Programação aula001

17. Procedures e Functions• Os programas em Delphi são sempre estruturados. Isto

quer dizer que são divididos em “subprogramas” e a soma da realização desses gera o resultado final do programa como um todo.

• Os subprogramas podem ser “procedures” ou podem ser “functions” e podem ou não receber argumentos (variáveis) de entrada.

• Um “procedure” não retorna valores, um “function” sempre retorna

• Para chamar usamos o nome seguido de “(“ com as variáveis de entrada separadas por “,” e finalmente fechamos com “)”

• Exemplo: fatorial(10) somaDebitos(idCliente)

Page 21: Programação aula001

18. Estrutura de Functions e ProceduresFunction 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 variáveis “x” e “y” são passadas por valor, ou seja a função trabalha com cópias das variáveis “x” e “y” originais

• Passagem de argumento por referência: a variável “r” na procedure Soma é passada por referência, ou seja ela é a própria variável original e as mudanças feitas nela serão permanentes

• No Delphi usamos “var” na declaração para indicar passagem por referência e sem indica passagem por valor.

Page 22: Programação aula001

19. Operadores e Precedências• Os operadores do Pascal são:• “:=“ : operador de atribuição, exemplo: x := 0; x recebe o inteiro zero.• “+ - * /” : operador de soma, subtração, multiplicação e divisão• OR AND NOT: operadores lógicos “Ou”, “E” e “Negação”, funcionam com booleanos• Booleanos [boolean] são 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 número real onde a parte inteira é a informação de quantos dias se passaram desde o dia 01/01/01 (nascimento de Jesus). E a parte decimal é uma fração de 24 horas correspondente a um dia inteiro.

• div : esse operador divide dois inteiros retornando somente a parte inteira da divisão• mod: esse operador divide dois inteiros e retorna somente o resto da divisão• () são usados para alterar a precedência matemática comum• A precedência dos operadores em Pascal segue a mesma da matemática:• Primeiro: colchetes e mais internos para os mais externos• Segundo: operações de multiplicação e divisão (div e mod também)• Terceiro: operações de soma e subtração• Nos booleanos: 1º) ( ) 2º) NOT 3º) AND e 4º) OR

Page 23: Programação aula001

20. Funções de Conversão de Tipos• String para Inteiro: StrToInt (s:string) -> inteiro• String para Real: StrToFloat (s:string) -> real• String para Data: StrToTime(s:string) -> data• Inteiro para String: IntToStr(n:integer) -> string• Real para String: FormatFloat (Mask:string; n:real) -> string• Data para String: TimeToStr(d:TDateTime) -> string• Inteiro para Real: é aceito diretamente não precisa conversão• Real para Inteiro: trunc(n:real) -> inteiro sem decimais (não arredonda)• Arredondamento de real: round(n:real; d:integer) -> real arredondado em “d” decimais• Data para Real: já é direto, pois a data é um real, a parte inteira são dias passados desde a

data 01/01/01 até hoje e a parte decimal são a fração correspondente a 24 horas• Booleanos não tem conversão

Page 24: Programação aula001

21. Principais Comandos do Pascal• BEGIN ... END;• IF Condição THEN Faz_Se_Condição_Verdadeira ELSE Faz_Se_Condição_Falsa;• TRY Comandos EXCEPT Faz_Se_Ocorrer_Erro_em_Comandos END;• TRY Comandos FINALLY Faz_Sempre_mesmo_se_não_ocorrer_erros END;• WHILE Condição_Verdadeira DO ... ;• REAPEAT Comandos UNTIL Condição_Verdadeira;• FOR i := Valor_Inicial TO Valor_Final DO ... ;• FOR i := Valor_Final DOWNTO Valor_Inicial DO ... ;• CASE Opção OF op1 : do1 op2 : do2 ... opN : doN ELSE faz_noutro_caso; END;

Page 25: Programação aula001

22. Variáveis e Escopo no Delphi• Escopo de uma variável é a visão que podemos ter desta variável no

programa. Uma variável pode ser: Global, Local ou de uma Classe.• Variável Global: são definidas na cláusula var da Unidade (unit) e são

visíveis por todo o código pascal daquela mesma unidade, podendo inclusive ser consultada ou alterada

• Variável Local: são definidas dentro de functions ou procedures nas suas cláusulas var e são visíveis somente dentro destas estruturas, sendo destruídas depois de sair das suas rotinas

• Variáveis de Classe: são variáveis internas a uma classe e são declaradas nas cláusulas public ou private das mesmas.

• Variável Pública: são definidas dentro de uma classe e são visíveis para qualquer programa que use objetos derivados desta. Podendo ser lidas e alteradas

• Variáveis Privadas: são definidas dentro de uma classe e são visíveis somente para os métodos e eventos da própria classe não sendo acessadas por outros objetos ou programas.