POO - Aula 01 - Conceitos básicos de programação

Post on 09-Jul-2016

14 views 1 download

description

Aula introdutória à programação em Java

Transcript of POO - Aula 01 - Conceitos básicos de programação

Programação Orientada a Objetos

Aula 01 – Conceitos básicos de Programação

Fernando Kenji Kamei

fkenjikamei@gmail.com

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Perguntas iniciais...

2 de 29

O que é um computador?

Qual a diferença entre hardware e software?

Como fazer o computador executar um programa?

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos olhar o nosso dia a dia...

3 de 29

Como resolvemos as nossas atividades do dia a dia? Ex.: estacionar um carro, fazer um bolo

Estacionando um carro passo a passo: Verifica se o carro está ligado Verifica a distância entre os objetos ....

Resolvemos através de uma sequência lógica de passos

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Resolvendo um problema com algoritmos

4 de 29

Entender o problema Planejar logicamente os passos Escrever um programa (programar) Traduzir o programa para a linguagem de

máquina (compilação) Testar o programa

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Mas como posso escrever o algoritmo?

5 de 29

Ele entende português ou inglês falado?

O quê o computador consegue compreender? Linguagem de máquina

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

6 de 29

Precisam ser escritos em uma linguagem de programação que possa ser entendida pelo computador que entendemos e que possa ser traduzida para a

linguagem entendida pelo computador

Existem diversas linguagens de programação Com paradigmas diferentes Sintaxes diferentes Objetivos diferentes

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

7 de 29

Sintaxe vs Semântica

Sintaxe são as palavras de uma língua

Semântica é o significado das palavras e suas combinações

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

8 de 29

Sintaxe vs Semântica

SINTAXE: conjunto de regras de uma linguagem que estabelecem como as palavras e símbolos podem ser utilizados de modo a formar instruções válidas a um programa

SEMÂNTICA: define o significado de uma instrução no programa

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

9 de 29

Sintaxe vs Semântica

SINTAXE: +

SEMÂNTICA: operação aritmética de soma

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

10 de 29

Sintaxe vs Semântica

Um programa pode ser sintaticamente correto, mas não necessariamente logicamente

(semanticamente) correto!

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

11 de 29

Estacionando um carro (baliza) Ligue o carro Acenda uma dinamite Espere que ela exploda Olhe pelo retrovisor Verifique a distância entre os objetos Engate a ré Gire o volante Acelere

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Linguagens de Programação

12 de 29

Entendeu o que é sintaxe e semântica?

Vamos estudar as sintaxes básicas de Java

Mas antes precisamos de alguns conceitos....

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Conceitos básicos de programação

13 de 29

Ler do teclado Calcule Imprima na tela Armazenar valor

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Conceitos básicos de programação

14 de 29

Variáveis Entidade que armazena valores (de um

determinado tipo de dado)

Tipo de dado Representa um grupo de valores

Numéricos (-1, 9, 100, 1982, ...) Textuais (“Java”, “programação”, ...) Lógicos (verdadeiro e falso) ...

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Manipulando variáveis

15 de 29

Considere as variáveis x (numérica) y (lógica)

Armazenar valor Utiliza o comando =

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Expressões

16 de 29

Aritméticas + (soma) - (subtração) *

(multiplicação) / (divisão)

Lógicas < (menor que) > (maior que) <= (menor igual) >= (maior igual) == (igualdade) != (diferente)

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Exemplos de expressões

17 de 29

20 + 88 > 10“Java”(a == b && c > d)((10*2)+(1+8))

Numérica Lógica Textual Lógica Numérica

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Declaração de variáveis e atribuição de valores

18 de 29

real saldo = 928.4 texto nome =

“casa” inteiro = 99 inteiro = 10,2 lógico x = 2 > 3 texto cidade =

true

✔✔

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Estruturas de Controle

19 de 29

Sequência Comandos executados um após o outro

Passos simples de uma receita de bolo

Condicional ou Seleção Escolhe (seleciona) entre dois possíveis caminhos

Repetição Executa um conjunto de instruções enquanto uma

condição for verdadeira Acrescentar água enquanto não dissolver a farinha

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Estruturas de Controle

20 de 29

Exemplo de Sequência

inteiro x, yleia xy = x * 2imprima y

O que será impresso se atribuir à x o valor de 4?

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Estruturas de Controle

21 de 29

Exemplo de Condicional

inteiro idadeleia idade

se (idade > 17) então imprima “maior de idade”senão imprima “menor de idade”

condição

O que será impresso se atribuir à idade o valor de 17 ?

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Estruturas de Controle

22 de 29

Exemplo de Repetição

inteiro xleia xenquanto (x>0) então imprima x x = (x – 1)

O que será impresso se atribuir à x o valor de 5?

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos praticar?

23 de 29

Exercício 01:

Escreva um algoritmo que: Leia dois valores inteiros do teclado Calcule a média desses números Imprimir na tela a média

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos praticar?

24 de 29

Exercício 01 (Solução):

inteiro valor1inteiro valor 2real medialeia valor1leia valor2media = (valor1 + valor2) / 2imprima media

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos praticar?

25 de 29

Exercício 02:

Escreva um algoritmo que: Leia dois valores inteiros do teclado Imprimir na tela os valores em ordem

crescente

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos praticar?

26 de 29

Exercício 02 (Solução):

inteiro x, yleia xleia yse (x > y) então imprima y, xsenão imprima x, y

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos praticar?

27 de 29

Exercício 03:

Escreva um algoritmo que: Faça um programa que sempre fique

solicitando um valor inteiro e imprima esse valor, até que o usuário digite um valor negativo.

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Vamos praticar?

28 de 29

Exercício 03 (Solução):

inteiro xx = 0enquanto (x > 0) faça escreva x leia x

Programação Orientada a Objetos | Prof. Fernando Kenji Kamei

Perguntas?

29 de 29

Não esqueçam de ler os slides

da próxima aula