2
Conceitos básicos Programação de computadores é definido como
o processo de criação de um software de computador usando uma linguagem de programação
Linguagem de programação: é uma linguagem usada para dar instruções a um computador
Um programa é um conjunto de instruções para um computador
Uma linguagem de programação contém uma coleção de palavras que são organizadas em sentenças que transportam a informação ao computador
3
Linguagens de Programação
C, C++, C#, Pascal, Java, VisualBasic, Fortran, Cobol, Perl, Python, Ruby, TCL, Lisp, Prolog, ADA, SmallTalk, Erlang, PHP
4
Ambientes de desenvolvimento e compilação
Compilação via linha de comando IDE (Integrated Development
Environment) Desenvolvimento RAD (Rapid
Application Development)
5
Ambientes Windows
Visual Studio Express Edition Eclipse NetBeans
6
IDE (Ambiente de Desenvolvimento Integrado)
Permitem o desenvolvimento integrado de aplicações, envolvendo a edição, compilação, execução e debug da aplicação
7
Compiladores e Linkers
Compiladores: é responsável pela tradução do código fonte em linguagem de máquina (código objeto)
Linkers: é responsável pela ligação do código objeto com outras bibliotecas (se necessário) a fim de gerar o código executável
8
Processo de Compilação
Código fonte Compilação ligação executável
Helllo.c Compilação ligação Hello.exe
Hello.c Hello.obj Hello.c
9
Compilação x Interpretação
Um programa compilado gera um executável dependente de plataforma
Um programa interpretado é executado passo a passo por um interpretador
10
Exemplos de linguagens tipicamente compiladas
C C++ COBOL Fortran Pascal
11
Exemplos de linguagens tipicamente interpretadas ActionScript ASP BASIC JavaScript (ECMAScript) Perl PHP Ruby Tcl
12
Programação Estruturada Programação estruturada é uma forma
de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração.
Tendo, na prática, sido transformada na Programação modular, a Programação estruturada orienta os programadores para a criação de estruturas simples em seus programas, usando as subrotinas e as funções.
13
Programação Orientada a Objetos
Programação Orientada a Objetos (POO) ou Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
14
Programação em linguagem C
15
Variáveis Uma variável é definida como um lugar
onde podemos armazenar dados temporariamente e usá-los posteriormente
Normalmente um variável possui um nome que é usado para acessar seu conteúdo
Uma variável poderá armazenar um número inteiro, de ponto flutuante, um caracter, uma cadeia de caracteres (String) , um valor booleano, etc.
16
Tipos de variáveis Inteira
int, short, long Ponto flutuante
Float, double Caracter
char Booleana
1 = sim, verdadeiro; 0=não, falso
17
Variáveis
Uma variável poderá ser signed ou unsigned, isto é, com sinal ou sem sinal.
Uma variável unsigned possui apenas valores positivos
Uma variável signed possui valores positivos e negativos
18
Exemplos
int a, idade; char ch, caracter; float f, valor; double d;
19
Atribuição de valores a variáveis
Podemos atribuir o valor a uma variável usando o símbolo ‘=‘
Exemplosint a = 1;float f = -8.76;char c=‘a’;
20
Operadores
Numéricos Lógicos Binários
21
Operadores Numéricos++, -- Incremento, decremento
+, -, *, /, %
adição, subtração, multiplicação, divisão, módulo (resto)
22
Operadores Lógicos==, != Igual, diferente
>, >=, <, <= Maior, maior ou igual, menor, menor ou igual
&& “E” lógico
|| “OU” lógico
! “NÃO” lógico
23
Operadores Binários
& “E” binário
^ “XOR” ou-exclusivo
| “OU” binário
~ “NÃO” binário
24
Sequência de comandos
Um programa é uma sequencia de comandos
<comando 1>; <comando 2>; ... <comando N>;
25
Comandos condicionais
Permitem uma expressão seja avaliada e que uma ação seja executada no caso da expressão ser avaliada verdadeira (1) ou falsa (0).
26
Comando if
int a = 5;if(a<0) { print (“a é negativo\n”);}else { print (“a é positivo\n”);}
27
Controle de Fluxo
Loops com teste no início (while) Loops com testes no final (do/while) Loops de tamanho definido (for) Saindo de loops antes do término
(break) Retestando a condição (ex:
continue)
28
Comando while
int i=0;while(i<5) { printf(“%d\n”,i); i = i + 1;}
29
Comando do/while
int i=0;do { printf(“%d\n”,i); i = i + 1;} while (i<5);
30
Comando for
int i = 0;for(i=0;i<5;i++) { printf(“%d\n”,i);}
31
Comando break
int 0=0;while (i<10) { printf(“%d\n”,i); i++; if(i==5) { break; }}
32
Comando continue
int 0=0;while (i<10) { if(i%2!=0) { continue; } i++;}
33
Funções
Header file Cabeçalho da função Argumentos Tipo de retorno
34
Funções
int soma(int x, int y) { return x+y;}
Tipo de retorno
Nome da função parâmetros
35
Matrizes
36
Conceitos Básicos de Orientação a Objetos Classe É uma fábrica de objetos. Representa um conjunto de
objetos com características afins. Uma classe define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos.
Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria.
Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionário: nome, endereço,telefone, CPF, ....; Carro: nome, marca, ano, cor, ...; Livro: autor, editora, ano.
Estado São os valores que cada atributo recebe. Exemplo: o estado do atributo cor é azul.
37
Conceitos Básicos de Orientação a Objetos Métodos definem as habilidades dos objetos.
Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular; Todos os cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente, uma classe possui diversos métodos, que no caso da classe Cachorro poderiam ser sente(), coma() e morda().
38
Conceitos Básicos de Orientação a Objetos
Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático).
Sobrecarga é a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura. Exemplo: Um método Carro que recebe como parâmetro dois atributos (cor, placa), e outro método Carro que recebe como parâmetro (cor, placa, modelo).
39
Conceitos Básicos de Orientação a Objetos Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-
classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.
Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma associação simples "usa um" ou de um acoplamento "parte de". Por exemplo: Um humano usa um telefone. A tecla "1" é parte de um telefone.
Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os sinais de tom).
40
Conceitos Básicos de Orientação a Objetos Abstração é a habilidade de concentrar nos aspectos
essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos.
41
Conceitos Básicos de Orientação a Objetos Interface é um contrato entre a classe e o mundo externo.
Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface [1].
Pacotes são referências para organização lógica de classes e interfaces
42
Estratégias básicas de desenvolvimento de programas