Laboratório de Programação
de Computadores I
1º Semestre/2009
Prof. Mauro César Lopes.
[email protected]
1
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
2
Linguagens de Programação

C, C++, C#, Pascal, Java, VisualBasic,
Fortran, Cobol, Perl, Python, Ruby, TCL,
Lisp, Prolog, ADA, SmallTalk, Erlang,
PHP
3
Ambientes de
desenvolvimento e compilação



Compilação via linha de comando
IDE (Integrated Development
Environment)
Desenvolvimento RAD (Rapid
Application Development)
4
Ambientes Windows



Visual Studio Express Edition
Eclipse
NetBeans
5
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
6
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
7
Processo de Compilação
Código fonte
Helllo.c
Compilação
Compilação
ligação
ligação
executável
Hello.exe
Hello.c  Hello.obj  Hello.c
8
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
9
Exemplos de linguagens
tipicamente compiladas





C
C++
COBOL
Fortran
Pascal
10
Exemplos de linguagens
tipicamente interpretadas








ActionScript
ASP
BASIC
JavaScript (ECMAScript)
Perl
PHP
Ruby
Tcl
11
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.
12
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.
13
Programação em linguagem C
14
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.
15
Tipos de variáveis

Inteira


Ponto flutuante


Float, double
Caracter


int, short, long
char
Booleana

1 = sim, verdadeiro; 0=não, falso
16
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
17
Exemplos




int a, idade;
char ch, caracter;
float f, valor;
double d;
18
Atribuição de valores a
variáveis
Podemos atribuir o valor a uma variável
usando o símbolo ‘=‘
 Exemplos
int a = 1;
float f = -8.76;
char c=‘a’;

19
Operadores



Numéricos
Lógicos
Binários
20
Operadores Numéricos
++, --
Incremento, decremento
+, -, *, /,
%
adição, subtração, multiplicação, divisão, módulo (resto)
21
Operadores Lógicos
==, !=
Igual, diferente
>, >=, <, <=
Maior, maior ou igual, menor, menor ou igual
&&
“E” lógico
||
“OU” lógico
!
“NÃO” lógico
22
Operadores Binários
&
“E” binário
^
“XOR” ou-exclusivo
|
“OU” binário
~
“NÃO” binário
23
Sequência de comandos





Um programa é uma sequencia de
comandos
<comando 1>;
<comando 2>;
...
<comando N>;
24
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).
25
Comando if
int a = 5;
if(a<0) {
print (“a é negativo\n”);
}
else {
print (“a é positivo\n”);
}
26
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)
27
Comando while
int i=0;
while(i<5) {
printf(“%d\n”,i);
i = i + 1;
}
28
Comando do/while
int i=0;
do {
printf(“%d\n”,i);
i = i + 1;
} while (i<5);
29
Comando for
int i = 0;
for(i=0;i<5;i++) {
printf(“%d\n”,i);
}
30
Comando break
int 0=0;
while (i<10) {
printf(“%d\n”,i);
i++;
if(i==5) {
break;
}
}
31
Comando continue
int 0=0;
while (i<10) {
if(i%2!=0) {
continue;
}
i++;
}
32
Funções




Header file
Cabeçalho da função
Argumentos
Tipo de retorno
33
Funções
Tipo de retorno
Nome da função
parâmetros
int soma(int x, int y) {
return x+y;
}
34
Matrizes
35
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.
36
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().
37
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).
38
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).
39
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.
40
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
41
Estratégias básicas de
desenvolvimento de programas
42
Download

aula1