introdução a conceitos e a prática de programação

25
Introdução a conceitos e a prática de programação Autores: Marcelo Akira e Anderson Soares Fevereiro de 2011 Alguns direitos autorais reservados - licença cc-by-sa Instituto de Informática - UFG Disciplina: Introdução à Computação

Upload: sine

Post on 11-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Instituto de Informática - UFG Disciplina: Introdução à Computação. Introdução a conceitos e a prática de programação. Autores: Marcelo Akira e Anderson Soares Fevereiro de 2011 Alguns direitos autorais reservados - licença cc-by-sa. Visão geral do computador. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introdução a conceitos e a prática de programação

Introdução a conceitos e a prática de programação

Autores: Marcelo Akira e Anderson SoaresFevereiro de 2011

Alguns direitos autorais reservados - licença cc-by-sa

Instituto de Informática - UFG

Disciplina: Introdução à Computação

Page 2: Introdução a conceitos e a prática de programação

Visão geral do computador

Computador = Parte física (hardware) + Parte lógica (software)

• Exemplos:o Hardware: Teclado, mouse, monitoro Software: Processador de texto, Sistema Opercional,

MSN, Skype • PARA NUNCA MAIS ESQUEÇER:

o Hardware é o que você "chuta"o Software é o que você "chinga"

Page 3: Introdução a conceitos e a prática de programação

• O hardware de um sistema computacional pode ser agrupado nas seguintes categorias básicas:o Dispositivo de entrada de dadoso Dispositivo de saídao Unidade Central de Processamento – UCPo Memória Principalo Memória Auxiliar

Dispositivode Entrada

Dispositivode SaídaUCP

Memória Principalou

Memória Auxiliar

Hardware e Software

Page 4: Introdução a conceitos e a prática de programação

• O software de um sistema computacional pode ser dividido em dois grupos básicos:

o Software Básico São programas essenciais ao funcionamento do hardware e ao

apoio a outros softwares. EX: sistemas operacionais e tradutores de linguagens de

programação.

o Softwares Aplicativos São programas destinados a resolver problemas do usuário. EX: folhas de pagamento, imposto de renda e planilhas eletrônicas.

Hardware e Software

Page 5: Introdução a conceitos e a prática de programação

• Entrada de dados:o Computador "conversa" em binário

Entrada e Saída

• Unidade: Bito Simplificação para dígito binário, “BInary digiT” em inglês;o É a menor unidade de informação que pode ser armazenada ou

transmitida;o Pode assumir somente 2 valores, por exemplo: 0 ou 1,

verdadeiro ou falso;o Base da matemática binária, descrita inicialmente por George

Boole.

Page 6: Introdução a conceitos e a prática de programação

• 1 Byte (B) = 8 bits• 1 Quilobyte (KB) = 1024 B• 1 Megabyte (MB) = 1024 KB• 1 Gigabyte (GB) = 1024 MB• 1 Terabyte (TB) = 1024 GB• 1 Petabyte (PB) = 1024 TB• 1 Exabyte (EB) = 1024 PB

Entrada e Saída

Page 7: Introdução a conceitos e a prática de programação

• Como converter nossas "idéias" para o sistema binario? 

Entrada e Saída

LógicaLinguagem de programação

Programa executável

Page 8: Introdução a conceitos e a prática de programação

• O que é Lógica?o "Arte do bem pensar" o Organizar idéias

• O objetivo principal do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos.

• Um algoritmo pode ser definido como uma seqüência de passos que visam atingir um objetivo bem

definido.

Lógica de programação

Page 9: Introdução a conceitos e a prática de programação

• Algoritmos Numéricos– sintaxe especial (regras)

• Algoritmos Não numéricos – português coloquial frases representando ações ou perguntas terminando por ponto-e-vírgula (;).

Exemplo de um algoritmo não numérico: Troca de lâmpada.

Lógica de programação

Page 10: Introdução a conceitos e a prática de programação

Algoritmos - tipos

• Numéricos – sintaxe especial (regras)• Não numéricos – português coloquial

frases representando ações ou perguntas terminando por ponto-e-vírgula (;).

Exemplo de um algoritmo não numérico: Troca de lâmpada.

Page 11: Introdução a conceitos e a prática de programação

Algoritmo 1 - Troca de Lâmpada

• Pegar uma escada;• Posicionar a escada embaixo da lâmpada;• Buscar uma lâmpada nova;• Subir na escada;• Retirar a lâmpada velha;• Colocar a lâmpada nova.

Page 12: Introdução a conceitos e a prática de programação

Algoritmo 2 - Fazer um sanduiche

• Pegar o pão;• Pegar o presunto e maionese;• Pegar uma faca;• Cortar o pão;• Passar a maionese;• Colocar o presunto;• Fechar o lanche

Page 13: Introdução a conceitos e a prática de programação

Baixo Nível Alto Nível

(1) (2) (3)

• Linguagem de Programaçãoo Conjunto de palavras e regras que permitem comunicar

ao computador o que desejamos executar

Page 14: Introdução a conceitos e a prática de programação

Ambientes de programação

• São softwares utilizados para editar e compilar programas;• Programas são escritos (editados) em texto puro (sem

formatação), construindo um código-fonte;• Softwares que criam texto puro: notepad, gedit, vim, etc;• Softwares que criam textos não-puros: MS Word, BrOffice,

etc;• Muitas vezes são chamados como IDE = Integrated

Development Environment, pois fornecem um ambiente para integrado para desenvolver (criar) programas;

Page 15: Introdução a conceitos e a prática de programação

Compilação

• A compilação é o processo de converter o código-fonte para um formato binário utilizável pela máquina;

• O código-fonte compilado em geral produz um programa executável (no Windows, possui extensão .exe, por exemplo) ou uma biblioteca compartilhável (Por exemplo, no Windows, possui extensão .dll e no Linux, a extensão .so).

• Com a linguagem de programação Java, códigos-fonte possuem a extensão .java e a compilação produz código binário com extensão .class, que é executado pela Máquina Virtual Java.

Page 16: Introdução a conceitos e a prática de programação

Exemplo de compilação em Java

1) Utilizando um editor de texto-puro, crie o seguinte código-fonte e salve em um arquivo Ola.java:public class Ola {   public static void main(String[] args) {      System.out.println("Ola");   }}Obs.: Java diferencia maiúsculas e minúsculas, por exemplo, use Ola.java e não ola.java.2) Através da linha de comando (cmd, konsole ou gnome-terminal), execute o compilador javac:javac Ola.java3) Note que será produzido um arquivo binário Ola.class, que poderá ser executado assim:java Ola

Page 17: Introdução a conceitos e a prática de programação

Explicando o código-fonte Java1 public class Ola {    // inicio da classe2   public static void main(String[] args) {3     System.out.println("Ola");        // escreve Ola4   }5 }            // fecha a classe- "Ola" é o nome da classe, considere como se fosse um programa e caso seja a classe pública (public class). Ela fornecerá o nome do arquivo, neste caso, Ola.java.- As chaves servem para delimitar blocos de código, ou seja, a chave da linha 1 é fechada na linha 5 e a chave da linha 2 é fechada na linha 5.- Note na linha 2 a função 'main', que é um ponto onde se inicia a execução de uma classe, por enquanto simplesmente 'decore' esta linha, ela será explicada mais detalhadamente quando for o momento certo.- Na linha 3 temos a impressão da palavra "Ola", que deve ser colocada em aspas duplas.- Utilize os caracteres // para criar comentários no seu código-fonte.

Page 18: Introdução a conceitos e a prática de programação

Baixando e executando a IDE drjava1) Acesse o site http://drjava.org 2) Baixe o pacote de classes java, clicando no botão "Download Jar File" (caso preferir, há outros formatos, para Windows, por exemplo); 3) Execute o drjava em uma linha de comando:java -jar drjava*.jar     ou com o nome completo:java -jar drjava-stable-20100913-r5387.jar

Page 19: Introdução a conceitos e a prática de programação

Editando e compilando via IDE drjava

1) Copie o código-fonte abaixo para a IDE drjava:public class Ola {   public static void main(String[] args) {      System.out.println("Ola");   }}2) Salve o arquivo como Ola.java, clicando File->Save As; 3) Compile o arquivo clicando na opção Compile no menu, verifique o resultado na aba inferior "Compiler Output";

4) Execute a classe clicando na opção Run do menu, verifique o resultado na aba inferior "Interactions".

Page 20: Introdução a conceitos e a prática de programação

Utilizando a console interativa

A console interativa permite executar linhas de código individuais, de forma interativa. É útil para testar trechos de códigos parciais antes de criar um programa completo. Exemplos:1) Executar uma classe:run OlaOla2) Escrever uma String (sequência de caracteres):System.out.println("Ola, tudo beleza?")Obs.: note que é possível navegar pelas linhas já executadas anteriormente, basta utilizar as setas;3) Também é possível digitar vários comandos em somente uma linha, basta separá-los com ponto-e-vírgula:System.out.println("****"); System.out.println("*  *");System.out.println("*  *");System.out.println("****");

Page 21: Introdução a conceitos e a prática de programação

Introdução a variáveis e String

Na programação, os dados são armazenados em variáveis, de forma semelhante na matemática. Por exemplo, execute na console interativa:int i;               // declarando uma variável inteirai = 3;             // atribuindo o valor 3 para a variável ii                    // escrevendo o valor da variável                     // mais fácil que digitar System.out..., não?String s;       // declarando uma variável s do tipo Strings = "teste"    // atribuindo a String teste na variável ss                  // escrevendo o valor sString t = s + i;  // declarando t e atribuindo s concatenado com it                 // escrevendo o valor de t

 

  

Page 22: Introdução a conceitos e a prática de programação

Entrada e saída

Em programação, a entrada se refere ao processo de fornecer dados para o programa e saída ao processo de externar dados do programa para o usuário, ou seja, a referência é o programa.

Já aprendemos um comando de saída: // externaliza a String "Ola" do programa para o usuárioSystem.out.println("Ola");    

A entrada de dados é um pouco mais complexa, como veremos mais a frente

Page 23: Introdução a conceitos e a prática de programação

Entrada de dados

O comando de entrada é um pouco mais complexo, é necessário utilizar a classe Scanner, faça na console interativa: import java.util.Scanner   // libera a classe para utilizaçãoScanner sc = new Scanner(System.in);   // cria uma variável sc do tipo Scanner// que armazena um novo objeto (new) Scanner // que acessa a entrada do sistema (System.in) String nome = sc.nextLine(); // faz a leitura de uma linha e armazena na variável nomenome // escreve a variável nome

Page 24: Introdução a conceitos e a prática de programação

Programando a Entrada de dados

O exemplo anterior foi realizado na console interativa. Para que o mesmo forme um programa java completo é necessário alguns ajustes, veja:

1 import java.util.Scanner;2 public class LeituraDeNome {3   public static void main(String[] args) {4      Scanner sc = new Scanner(System.in);   5      String nome = sc.nextLine(); 6   } 7 } Note:• a necessidade do ponto-e-vírgula em cada sentença;• linha 2: declaração de classe;• linha 3: função main (lembre-se de psvm = public static void main ...)• linhas 6 e 7: fechamento de blocos abertos nas linhas 3 e 2 respectivamente;

 

Page 25: Introdução a conceitos e a prática de programação

Exercício

1) Crie e apresente um programa java completo que lê um nome X e a idade Y de uma pessoa e imprime a seguinte mensagem: "Oi X, você tem Y anos e está muito novo" 2) Crie e apresente um programa java completo que lê um caractere escolhido pelo usuário, por exemplo, um asterisco (*) e depois imprima verticalmente ou horizontalmente o seu primeiro nome por meio de ascii art, por exemplo, abaixo temos a letra O formada por asteriscos: ***  * *  *  **