28
Introdução à Introdução à Programação Programação Programação em Java Prof. Maurício Braga

Introdução à Programação Programação em Java Prof. Maurício Braga

Embed Size (px)

Citation preview

Page 1: Introdução à Programação Programação em Java Prof. Maurício Braga

Introdução à ProgramaçãoIntrodução à Programação

Programação em Java

Prof. Maurício Braga

Page 2: Introdução à Programação Programação em Java Prof. Maurício Braga

2/27

Computador

Máquina que tem como função básica o armazenamento e processamento da informação;

Constitui-se de hardware e de software.

Page 3: Introdução à Programação Programação em Java Prof. Maurício Braga

3/27

Hardware e Software

Hardware: Conjunto de circuitos e dispositivos utilizados no processamento de dados;

Software: Programas que são executados pelo hardware.

Page 4: Introdução à Programação Programação em Java Prof. Maurício Braga

4/27

Estrutura básica de um computador

DispositivosEntrada

DispositivosSaída

MemóriaSecundária

CPU

MemóriaRAM

Page 5: Introdução à Programação Programação em Java Prof. Maurício Braga

5/27

Estrutura básica do computador CPU: Unidade central de processamento, circuito capaz de

executar instruções armazenadas na memória e de enviar e receber dados de outros dispositivos;

Dispositivos de entrada: Permitem a entrada de dados no computador;

Dispositivos de saída: fornecem ao usuário acesso aos dados;

Memória secundária: Armazena os dados e programas para uso posterior.

Memória RAM: Memória volátil de leitura e escrita, armazena tanto os dados quanto os softwares em uso.

Page 6: Introdução à Programação Programação em Java Prof. Maurício Braga

6/27

Software

Conjunto de instruções que diz ao computador o que fazer.

As instruções são escritas em uma forma organizada e seqüencialmente lógica.

Page 7: Introdução à Programação Programação em Java Prof. Maurício Braga

7/27

Software

Categorias de software Sistema operacional: controla e coordena o hardware (Ex.

Win95). Tradutores: compiladores, interpretadores e montadores. Aplicativos: personalizados ou pacotes (ex. Word, Excel).

Hardware

SoftwareAplicativo

INTERFACESistema OperacionalTradutores

Page 8: Introdução à Programação Programação em Java Prof. Maurício Braga

8/27

Construindo Software

Linguagem de programação Idioma no qual as instruções são escritas

Estrutura de dados Maneira pelo qual os dados são armazenados e regras de

manipulação destes dados.

PROGRAM Soma;VAR X: integer;

BEGINX := 2+2;WRITE (‘Soma =‘, X)END.

Computador Soma = 4

X SomaVetores, Matriz, Registros, etc.2 4

Page 9: Introdução à Programação Programação em Java Prof. Maurício Braga

9/27

Software em Java

Linguagem de programação multiplataforma Programas rodam em qualquer computador que possua o

ambiente Java instalado.

Preparada para a internet Possui bibliotecas que facilitam a construção de programas

para internet .

Page 10: Introdução à Programação Programação em Java Prof. Maurício Braga

10/27

O que é programação?

Programar é a atividade de comunicaralgoritmos aos computadores

Page 11: Introdução à Programação Programação em Java Prof. Maurício Braga

11/27

Algoritmos

Seqüência ordenada e não ambígua de passos que levam a solução de dado problema

SoluçãoProblema Algoritmo

Page 12: Introdução à Programação Programação em Java Prof. Maurício Braga

12/27

Exemplos de algoritmos

Roteiro de um filme

Manual de instruções deum eletrodoméstico

Receita de bolo

Page 13: Introdução à Programação Programação em Java Prof. Maurício Braga

13/27

Exemplo de Algoritmo

Sacar dinheiro de um caixa eletrônico1. Passar o cartão do banco no leitor;

2. Digitar senha da conta-corrente;

3. No menu que vai aparecer, escolher a opção “Retirada”;

4. Digitar o valor desejada e apertar a tecla “Entra”;

5. Confirmar o saque e apertar a tecla “Entra”;

6. Ficar esperando em frente ao caixa até a saída do dinheiro;

7. Retirar o dinheiro.

Page 14: Introdução à Programação Programação em Java Prof. Maurício Braga

14/27

Algoritmos

Propriedades dos algoritmos Possuir ações simples e bem definidas (não ambíguas); Possuir seqüência ordenada; Possuir seqüência finita de passos; Possuir fim (todas as ações devem ser executadas em um

tempo finito); Pode receber entradas externas; Pode fornecer saídas externas.

Page 15: Introdução à Programação Programação em Java Prof. Maurício Braga

15/27

Algoritmos

Exemplo de um algoritmo Problema: Temos três hastes. Uma das hastes serve de suporte

para três discos de tamanhos diferentes. Os discos menores são sempre colocados sobre os discos maiores. Desejamos mover todos os discos para a outra haste, porém só podemos movimentar um disco de cada vez e um disco maior nunca pode ser colocado sobre um disco menor.

Page 16: Introdução à Programação Programação em Java Prof. Maurício Braga

16/27

Algoritmos

Solução: Nomeamos as hastes como 1, 2 e 3 e os discos como p, m e g.

1. Move p para haste 3;2. Move m para haste 2;3. Move p para haste 2;4. Move g para haste 3;5. Move p para haste 1;6. Move m para haste 3;7. Move p para haste 3.

Page 17: Introdução à Programação Programação em Java Prof. Maurício Braga

17/27

Exercício algoritmo

Problema: Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. Como este homem deve proceder para levar suas cargas de uma margem a outra do rio sem perder nenhuma de suas três cargas?

Page 18: Introdução à Programação Programação em Java Prof. Maurício Braga

18/27

Algoritmos

Solução:

1. Levar o homem e o bode para a margem B;2. Trazer de volta o homem para a margem A;3. Levar o homem e o lobo para a margem B;4. Trazer de volta o homem e o bode para a margem A;5. Levar o homem e a alfafa para a margem B;6. Trazer de volta o homem para a margem A;7. Levar o homem e o bode para a margem B.

Page 19: Introdução à Programação Programação em Java Prof. Maurício Braga

19/27

Redefinindo programação

É a seqüência de planejamento, projeto, escrita e testes de instruções que serão executadas pelo computador.

Complexidade do problema é um desafio: Todas as situações diferentes que um problema pode

apresentar devem ser previstas na sua solução.

Page 20: Introdução à Programação Programação em Java Prof. Maurício Braga

20/27

Programação

Dividindo programação em duas fases

Problema:Automatizar

A Biblioteca

Definição doProblema

Análise doProblema

1. Incluir livro2. Incluir Aluno

Codificação

Programas

Testes e Depuração

Sistema

Problema

Algoritmo

Page 21: Introdução à Programação Programação em Java Prof. Maurício Braga

21/27

Algoritmos

Diretrizes para construção de algoritmos Identificação do problema; Identificação das “entradas de dados”; Identificação das “saídas de dados”; Identificação de regras do problema e limitações do agente; Determinar o que fazer para transformar as “entradas” em

“saídas”; Obedecer regras e limitações; Determinar ações possíveis de serem realizadas.

Construção do algoritmo; Teste de solução.

Page 22: Introdução à Programação Programação em Java Prof. Maurício Braga

22/27

Algoritmos

Vantagens do uso de algoritmos Estruturação dos programas. Permite que erros sejam detectados antes da codificação. Facilita futuras manutenções do código. Permite maior compreensão do problema.

Page 23: Introdução à Programação Programação em Java Prof. Maurício Braga

23/27

Algoritmos

Exemplo:Imagine o seguinte problema: Calcular a média final dos alunos da 6ª Série. Os alunos realizarão duas provas: P1, P2.Para montar o algoritmo proposto, faremos três perguntas:

a) Quais são os dados de entrada?R: Os dados de entrada são P1 e P2.

b) Qual será o processamento a ser utilizado?R: O procedimento será somar todos os dados de entrada e dividi-los por 2

(dois)(P1 + P2)/2

c) Quais serão os dados de saída?R: O dado de saída será a média final

Page 24: Introdução à Programação Programação em Java Prof. Maurício Braga

24/27

Algoritmos

Descrição de algoritmos Narrativa

Descreve o algoritmo em linguagem natural Desvantagens: Linguagem natural é prolixa, imprecisa,

ambígua. Ex: O pregador(?) foi grampeado(?). Ex:

1. Receba a nota da prova1;2. Receba a nota da prova2;3. Some as notas e divida o resultado por 2;6. Mostre o resultado da divisão;

Page 25: Introdução à Programação Programação em Java Prof. Maurício Braga

25/27

Algoritmos

Descrição de algoritmos (cont.) Fluxograma

Apresenta, de forma gráfica, a lógica de um algoritmo

Desvantagens: Obscurecem estruturas dos programas. Vem caindo em desuso com o tempo.

Ex: Início

P1, P2

Média = (P1 + P2) / 2

Média

Fim

Page 26: Introdução à Programação Programação em Java Prof. Maurício Braga

26/27

Fluxograma

O uso de Fluxograma (símbolos) é uma alternativa simples e concisa de representar os dados

Início/ Fim

Seqüencia

Processamento

Decisão

Conector

Entrada/ Saída

Saída Vídeo

Saída Impress

Saída Disco

Saída Vídeo

Entrada Teclado

Início/ Fim

Seqüencia

Processamento

Decisão

Conector

Entrada/ Saída

Saída Vídeo

Saída Impress

Saída Disco

Saída Vídeo

Entrada Teclado

Page 27: Introdução à Programação Programação em Java Prof. Maurício Braga

27/27

Algoritmos

Descrição de algoritmos (cont.) Linguagem algorítmica /

pseudocódigo / Português estruturado

“Linguagem simplificada de programação”

Expressões concisas e pré-definidas

Palavras-chaves, indentação, um passo por linha.

Ex:Inteiro: media;Inicio

leia(P1);leia(P2);media =(P1 + P2) / 2;escreva(media);

Fim

Page 28: Introdução à Programação Programação em Java Prof. Maurício Braga

Introdução à ProgramaçãoIntrodução à Programação

Programação em Java

Prof. Maurício Braga