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
Visão geral do computador
Computador = Parte física (hardware) + Parte lógica (software)
• Exemplos:
o Hardware: Teclado, mouse, monitor
o 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"
• O hardware de um sistema computacional pode ser
agrupado nas seguintes categorias básicas:
o Dispositivo de entrada de dados
o Dispositivo de saída
o Unidade Central de Processamento – UCP
o Memória Principal
o Memória Auxiliar
Dispositivo
de Entrada
Dispositivo
de Saída
UCP
Memória Principal
ou
Memória Auxiliar
Hardware e Software
• 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
• Entrada de dados:
o Computador "conversa" em binário
Entrada e Saída
• Unidade: Bit
o 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.
• 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
• Como converter nossas "idéias" para o sistema
binario?
Entrada e Saída
Lógica
Linguagem de
programação
Programa
executável
• 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
• 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
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.
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.
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
Baixo Nível Alto Nível
(1) (2) (3)
• Linguagem de Programação
o Conjunto de palavras e regras que permitem comunicar
ao computador o que desejamos executar
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;
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.
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.java
3) Note que será produzido um arquivo binário Ola.class, que
poderá ser executado assim:
java Ola
Explicando o código-fonte Java
1 public class Ola { // inicio da classe
2 public static void main(String[] args) {
3 System.out.println("Ola"); // escreve Ola
4 }
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.
Baixando e executando a IDE drjava
1) 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
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".
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 Ola
Ola
2) 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("****");
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 inteira
i = 3; // atribuindo o valor 3 para a variável i
i // escrevendo o valor da variável
// mais fácil que digitar System.out..., não?
String s; // declarando uma variável s do tipo String
s = "teste" // atribuindo a String teste na variável s
s // escrevendo o valor s
String t = s + i; // declarando t e atribuindo s concatenado com
i
t // escrevendo o valor de t
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ário
System.out.println("Ola");
A entrada de dados é um pouco mais complexa, como
veremos mais a frente
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ção
Scanner 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 nome
nome // escreve a variável nome
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;
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:
**
* *
* *
**

Introdução a conceitos e a Praticas de Programação

  • 1.
    Introdução a conceitose 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
  • 2.
    Visão geral docomputador Computador = Parte física (hardware) + Parte lógica (software) • Exemplos: o Hardware: Teclado, mouse, monitor o 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"
  • 3.
    • O hardwarede um sistema computacional pode ser agrupado nas seguintes categorias básicas: o Dispositivo de entrada de dados o Dispositivo de saída o Unidade Central de Processamento – UCP o Memória Principal o Memória Auxiliar Dispositivo de Entrada Dispositivo de Saída UCP Memória Principal ou Memória Auxiliar Hardware e Software
  • 4.
    • O softwarede 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
  • 5.
    • Entrada dedados: o Computador "conversa" em binário Entrada e Saída • Unidade: Bit o 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.
  • 6.
    • 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
  • 7.
    • Como converternossas "idéias" para o sistema binario? Entrada e Saída Lógica Linguagem de programação Programa executável
  • 8.
    • 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
  • 9.
    • 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
  • 10.
    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.
  • 11.
    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.
  • 12.
    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
  • 13.
    Baixo Nível AltoNível (1) (2) (3) • Linguagem de Programação o Conjunto de palavras e regras que permitem comunicar ao computador o que desejamos executar
  • 14.
    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;
  • 15.
    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.
  • 16.
    Exemplo de compilaçãoem 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.java 3) Note que será produzido um arquivo binário Ola.class, que poderá ser executado assim: java Ola
  • 17.
    Explicando o código-fonteJava 1 public class Ola { // inicio da classe 2 public static void main(String[] args) { 3 System.out.println("Ola"); // escreve Ola 4 } 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.
  • 18.
    Baixando e executandoa IDE drjava 1) 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
  • 19.
    Editando e compilandovia 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".
  • 20.
    Utilizando a consoleinterativa 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 Ola Ola 2) 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("****");
  • 21.
    Introdução a variáveise 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 inteira i = 3; // atribuindo o valor 3 para a variável i i // escrevendo o valor da variável // mais fácil que digitar System.out..., não? String s; // declarando uma variável s do tipo String s = "teste" // atribuindo a String teste na variável s s // escrevendo o valor s String t = s + i; // declarando t e atribuindo s concatenado com i t // escrevendo o valor de t
  • 22.
    Entrada e saída Emprogramaçã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ário System.out.println("Ola"); A entrada de dados é um pouco mais complexa, como veremos mais a frente
  • 23.
    Entrada de dados Ocomando 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ção Scanner 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 nome nome // escreve a variável nome
  • 24.
    Programando a Entradade 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;
  • 25.
    Exercício 1) Crie eapresente 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: ** * * * * **