Buscar

Aula 02 Conceitos Basicos Programacao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Conceitos básicos de 
programação
Victor Hazin da Rocha
professor@hazin.com.br
www.hazin.com.br
O que é um 
Algoritmo?
Algoritmos
• Os algoritmos fazem parte do dia-a-dia das 
pessoas. Exemplos de algoritmos:
• Instruções para o uso de medicamentos;
• Indicações de como montar um aparelho;
• Uma receita de culinária.
• Sequência de ações executáveis para a obtenção 
de uma solução para um determinado tipo de 
problema.
Algoritmos
• Estruturas para construção de software
• Tipos de Dados;
• Variáveis;
• Constantes;
• Operadores aritméticos, relacionais e lógicos;
• Atribuição;
• Comandos de condição ou seleção;
• Comandos de repetição.
Tipos de dados
• Dado pode ser definido como informação em 
estado primitivo cujo processamento pode gerar 
informação útil.
• Devido a natureza do que vai ser armazenado 
em memória, existem tipos de dados diferentes.
• Tipo de dado representa o conjunto de valores 
possíveis para um dado.
Tipos de dados
• Iremos utilizar apenas cinco tipos de dados 
durante a criação de algoritmos:
• Inteiro – Para representar informações que não 
possuem parte fracionária. Ex: 1, 2, 40000, etc.;
• Real – Para representar informações que podem 
possuir parte fracionária. Ex: 3.1415;
• Lógico – Para representar um estado ou situação que 
pode ser apenas verdadeira (true) ou falsa (false);
• Caractere – Utilizado para armazenar um único 
caractere na memória. Ex: ‘A’;
• Cadeia de caracteres – Utilizado para armazenar um 
seqüência de caracteres na memória. Ex: 
“Computador”.
Exercícios
• Identifique o tipo de dado para a representação 
das informações abaixo:
• Quantidade de brinquedos de uma criança;
• Altura de uma pessoa;
• Aviso em uma placa;
• Sexo de uma pessoa;
• Salário de um funcionário;
• CEP de uma carta;
• Estado de um computador quanto ao seu 
funcionamento;
• Número de cheques emitidos por um cliente em um 
mês.
Tipos de dados em Java
• Java possui oito tipos primitivos de dados:
• Lógico: boolean
• Texto (1 caractere): char
• Inteiros: byte, short, int e long
• Reais: double e float
• Todos os tipos numéricos possuem sinal.
• String: representa uma cadeia de caracteres.
Operadores
• Operadores aritméticos
• Utilizados para obtenção de dados numéricos;
• Consistem de:
• Adição (+);
• Subtração (-);
• Multiplicação (*);
• Divisão real entre dois números (/);
• Divisão inteira entre dois números inteiros (div);
• Resto da divisão inteira entre dois números inteiros (mod).
Operadores em Java
• Operadores aritméticos
• Consistem de:
• Adição (+);
• Subtração (-);
• Multiplicação (*);
• Divisão real entre dois números (/);
• Divisão inteira entre dois números inteiros (/);
• Resto da divisão inteira entre dois números inteiros (%).
Operadores aritméticos
• Precedência de operadores aritméticos
• ( ) Parênteses;
• Potenciação, radiciação;
• Multiplicação, divisões e resto da divisão;
• Adição ou subtração.
• Ex:
2 * (2 – 4) + 3* 4 = ?
Montagem de expressões
• Exemplos
• 3 + 4 * 9
• 3 + 36
• 39
• (3 + 4) * 9
• 7 * 9
• 63
• 8 – pot(4*2,2) + 5
• 8 – pot(8,2) +5
• 8 – 64 + 5
• -56 + 5
• -51
Exercício
• ( 30 % 4 * pot(3,3) ) * -1
Operadores
• Operadores relacionais
• Utilizados na comparação de literais ou números;
• Retornam valores lógicos;
• Consistem de:
• Igual a (==);
• Diferente de (!=);
• Maior que (>);
• Menor que (<);
• Maior ou igual a (>=);
• Menor ou igual a (<=).
Operadores
• Operadores lógicos
• Utilizados para combinar resultados de expressões 
lógicas;
• Consistem de:
• E (AND);
• OU (OR);
• NÃO (NOT).
Tabela verdade das 
operações lógicas
• E
• OU
x y x E y
Verdadeiro Falso Falso
Verdadeiro Verdadeiro Verdadeiro
Falso Verdadeiro Falso
Falso Falso Falso
x y x OU y
Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Verdadeiro
Falso Verdadeiro Verdadeiro
Falso Falso Falso
Tabela verdade das operações lógicas
• NÃO x NÃO x
Verdadeiro Falso
Falso Verdadeiro
Operadores lógicos
• Precedência de operadores lógicos
1. Não;
2. E, OU.
Operadores lógicos
• Exemplos:
(3 == 5) E (4 > 2) = 
(2 > 4) OU (2 < 4) = 
15 % 4 < 19 % 6 = 
Falso
Verdadeiro
Falso
F V
F V
F
Operadores Lógicos em Java
• Operadores Booleanos:
! - Não & - E 
| - Ou ^ - Ou Exclusivo
• Operadores Booleanos com Curto-Circuito
|| - Ou && - E
Montagem de expressões
• Para realização de determinados cálculos, pode 
ser necessário fazer combinações de operadores, 
bom como a adição de parênteses.
• Mas que operador será calculado primeiro?
• O que tiver maior prioridade.
Montagem de expressões
• Tabela de prioridades 
de operadores:
1º Parênteses mais internos
2º Funções
3º Operadores aritméticos
1º Multiplicativos (*, /, %);
2º Aditivos (+, -)
4º Operadores relacionais
5º Operadores lógicos
1º NÃO
2º E
3º OU
Exercícios
• pot(3,2)/3 < 2 e 5==5
• NÃO ( 3 + 5 != 5 / 2 - 1 )
• Falso ou 20 / (18/3) != (21/3) / 2
Constantes e Variáveis
• Constante
• Possui valor fixo durante execução do programa;
• Pode ser numérica, lógica ou literal.
• Variável
• Um dos conceitos mais importantes na construção de 
algoritmos.
• Representa um espaço de memória reservado para 
armazenar determinado tipo de dado;
• Deve receber um nome para referenciação e modificação;
• Deve possuir um tipo associado;
• Quando um algoritmo termina sua execução, todas as 
variáveis são apagadas da memória;
• Só podem armazenar um dado por vez.
Constantes e Variáveis
• Nomes de Variáveis
• O nome de uma variável deve ser único dentro de um 
mesmo algoritmo.
• Deve começar por uma letra, podendo-se incluir após 
esta letra outras letras, dígitos ou o sinal de underline 
( _ ). Este tipo de nome é conhecido como 
identificador.
• O identificador não pode possuir acentos, nem ser 
igual ao nome de um comando.
Identificadores em Java
• Devem começar com uma letra, um cifrão ($) 
ou um underscore (_)
Exemplos:
1. Foobar
2. BIGInterface
3. $incomeAfterExpenses
4. 3_node5
5. !theCase
Ok!
Ok!
Ok!
Errado!
Errado!
Constantes e Variáveis
• Ex:
Variável
Constante
media =
P1 + P2 + P3 + P4
4
Constantes e Variáveis
• Declaração de variáveis
• Toda variável utilizada em um algoritmo deve ser 
declarada.
• A sintaxe utilizada em pseudocódigo é:
<tipo>:<variavel1>, <variavel2>, ...;
Sintaxe dos algoritmos
• Os algoritmos em português estruturado devem possuir a 
seguinte estrutura:
Variáveis
// Declaração de variáveis
<tipo1> : <variável1>;
<tipo2> : <variável2>;
<tipo3> : <variável2>;
// Corpo do algoritmo
Início
<comando1>;
<comando2>;
<comando3>;
Fim.
// Módulos
Módulo <nomemódulo>;
[[
...
]]
Declaração de variáveis
Comentário
Módulos dos algoritmos
Parte principal
do algoritmo
Indentação
Separador de comandos
Atribuição
• O que é atribuição?
• “Atribui ou associa um valor a uma variável ou 
constante”
• Ex:
nome = “José”;
media = (nota1 + nota2) / 2;
Funções
• Atuam como um pequeno programa que, tendo 
valores de entrada, geram (retornam) um 
resultado.
<nomefunção> (<parâmetro1>, <parâmetro2>, ...)
Funções Matemáticas 
disponíveis no pacote 
Java.Math
Função Utilidade Tipo do resultado
log(double x) Retorna o valor do logaritmo neperiano de x Real
exp(double x) Retorna o valor de ex Real
pow(double x, 
double y)
Retorna o valor de x elevado a y. Real
round(float x) Arredonda x para o inteiro mais próximo Inteiro
sqrt(double x) Retorna a raiz quadrada de x Real
sin(double x) Retorna o seno de x Real
cos(double x)
Retorna o co-seno de x Real
atan(double x) Retorna o arco, em radianos, cuja tangente é x Real
abs(int x) Retorna o módulo de x (|x|) Inteiro
Comando de entrada de 
dados
• Normalmente precisamos de dados de entrada 
para serem processados pelos algoritmos.
• Desta forma, precisamos de um comando para 
solicitar e obter dados fornecidos pelo usuário.
• Quando um computador encontra um comando 
de entrada de dados, ele suspende a execução 
do programa até que os dados sejam fornecidos.
leia (variável1);
Comando de entrada de 
dados em Java
• Para fazer a leitura de dados do teclado em 
programas Java, utilizaremos o objeto Scanner:
• O objeto Scanner pode ser usado com variáveis 
numéricas, lógicas e do tipo texto.
Scanner s = new Scanner(System.in);
int numero = s.nextInt();
Comando de saída de 
dados
• Da mesma forma que precisamos receber dados 
externos, precisamos fornecer dados e instruções 
para os usuários.
• Desta forma, precisamos de um comando para 
retornar dados e/ou mensagens em um dispositivo 
de saída.
• Ex:
• escreva “O saldo atual é”, saldo;
• escreva soma;
Escreva <var ou expressão ou mensagem>,...;
Comando de saída de 
dados em Java
• Para escrevermos na tela, usaremos a função println, 
disponível no Java.
• Para concatenar uma variável com um texto, usamos 
o sinal +.
• Ex:
• System.out.println(“O saldo atual é” + saldo);
• System.out.println(soma);
System.out.println(var ou expressão ou mensagem +...);
Exemplo de construção de 
algoritmo
• Exemplo 1
• Exibir a soma de dois números inteiros fornecidos pelo 
usuário.
• Solução
• Objetivo é construir um algoritmo que ensine o 
computador a executar uma solução para o problema 
proposto.
• O que o algoritmo deve fazer?
• Calcular a soma de dois números e exibi-la ao usuário.
• O valor da soma deverá ser armazenado em memória 
antes de ser exibido
• É necessário então a criação de uma variável soma
• É necessário que ao término do algoritmo a variável soma seja 
exibida para o usuário
Saída de dados
escreva soma;
Exemplo de construção de 
algoritmo
• Solução (cont.)
• O enunciado afirma que os valores a serem somados devem ser 
informados pelo usuário
• O algoritmo possui dados de entrada, e estes dados de entrada 
deverão ser armazenados em memória. É necessária a criação de duas 
variáveis num1 e num2 para armazenar os dados fornecidos pelo 
usuário.
• É necessário a obtenção destes dados do usuário através do comando 
de entrada de dados.
• O processamento do algoritmo deve possuir apenas a operação 
de soma.
• Utilizaremos o operador de adição (+) para ensinar ao computador 
que operação, e com quais valores, deve ser realizada.
• O resultado da soma deverá ser armazenado em memória pela 
variável soma, logo precisaremos utilizar o comando de atribuição.
leia num1;
leia num2;
soma = num1 + num2;
Exemplo de construção de 
algoritmo
• Exemplo 1
• Exibir a soma de dois números inteiros fornecidos pelo usuário.
• Solução
Variáveis
inteiro: num1, num2, soma;
Início
leia(num1);
leia(num2);
soma = num1 + num2;
escreva(soma);
Fim
Exemplo Java
• Escrever o programa ‘Alô mundo!’ em Java.
Algoritmo ‘Alô mundo!’
• Solução
Variáveis
// Não tem variáveis
Início
escreva(“Alo mundo!”);
Fim
Programa “Alô mundo!” 
em Java
public static void main(String[] args) {
System.out.println("Alô mundo!”);
}
Exemplo
• Implementar em Java um programa que solicite 
duas notas de um aluno e calcule a sua média.
Algoritmo do programa 
média:
Início
// declaração de variáveis
real: nota1, nota2, media;
// entrada de dados 
leia(nota1);
leia(nota2);
// processamento (cálculo da média)
media = (nota1 + nota2) / 2;
// saída de dados
escreva(media);
Fim
Programa média em Java
public static void main(String[] args) {
// Variáveis: nota1, nota2 e média do aluno
double nota1 = 0, nota2 = 0, media = 0;
System.out.println("Entre a primeira e a segunda nota do aluno:");
// entrada de dados
Scanner s = new Scanner (System.in);
nota1 = s.nextDouble();
nota2 = s.nextDouble();
// cálculo da média
media = (nota1 + nota2)/2;
System.out.println("A média é : "+media);
}
Exercício
• Implementar em Java um programa que, a partir do valor 
em Celsius digitado pelo usuário, calcula o valor da 
temperatura em Fahrenheit.
Fórmula conversão F  C:
9/5*)32(  FC
Programa temperatura em 
Java
public static void main(String[] args) {
// Variáveis: temperaturaCelsius e temperaturaFahrenheit
double temperaturaCelsius = 0, temperaturaFahrenheit = 0;
System.out.println("Entre a temperatura em Celsius:");
// entrada de dados
Scanner s = new Scanner (System.in);
temperaturaCelsius = s.nextDouble();
// cálculo da temperatura em Fahrenheit
temperaturaFahrenheit = (9*temperaturaCelsius/5)+32;
System.out.println("A temperatura é : "+ temperaturaFahrenheit);
}
Strings
• Implementam o tipo cadeia de caracteres em Java;
• Em Java, Strings são objetos que disponibilizam um 
conjunto de funções que podem ser usadas pelo usuário.
• Pode-se concatenar uma String com uma outra variável 
ou expressão com o sinal +. 
Strings
• Exemplos:
• String s1 = “Exemplo de uma string”;
• int x = 10;
• String s2 = “Idade de ricardo = ” + x;
• int y = 5;
• String s3 = “Respostas: x = ” + x + “ e y = ” + y;
• System.out.println(s3);
Igualdade de Strings
• Strings não devem ser comparadas com ==, e sim com o 
método equals;
• Comparação diferencia letras maiúsculas e minúsculas;
• Caso a comparação não deva levar em conta maiúsculas 
e minúsculas, deve-se usar o método equalsIgnoreCase;
Igualdade de Strings
• Ex:
• String S1 = “Banana”;
• String S2 = “banana”;
• System.out.println("método equals = " + s1.equals(s2));
• System.out.println("método equalsIgnoreCase = " + 
s1.equalsIgnoreCase(s2));
Manipulação de Strings
• Algumas funções úteis para manipulação de 
Strings:
• int length()  Retorna o comprimento da string;
• int indexOf(String s)  Retorna a posição da primeira 
ocorrência da substring s na String; 
• char charAt(int índice)  Retorna o caractere na 
posição apontada por índice (o primeiro caractere está 
na posição 0).
Manipulação de Strings
• Ex:
• String s1 = “Banana”;
• int indice = s1.indexOf("na");
• System.out.println(" Posicao da substring 'na' em s1 : " + indice);
• char letra = s1.charAt(5);
• System.out.println(" A 6. letra em S1 é : " + letra);
Exercício
• Ler o nome e a qualidade de uma pessoa, e 
exibir a mensagem “<Nome> é uma pessoa que 
tem <qualidade>”.
Exercício
• Solução
• Exemplo simples de composição de frases em 
algoritmos.
• Para as entradas Maria e coragem, a saída seria 
“Maria é uma pessoa de coragem”.
• Este algoritmo não necessita de cálculos, apenas 
leitura dos dados e exibição de composição entre 
variáveis e mensagens.
Solução
• O algoritmo fica assim...
Variáveis
nome, qualidade : cadeia;
Início
ler nome;
ler qualidade;
escrever nome + “ é uma pessoa que tem “ + qualidade;
Fim
Programa mensagem em 
Java
public static void main(String[] args) {
// declaração de variáveis
String nome=null, qualidade=null;
System.out.println("Entre o nome:");
Scanner s = new Scanner (System.in);
nome = s.next(); 
System.out.println("Entre a qualidade:");
qualidade = s.next(); 
System.out.println(nome+ " é uma pessoa que tem "+qualidade);
}
Exercício
• Faça um programa para ler o salário de um funcionário e imprimi-lo com 
um aumento de 15%.
Programa salário em Java
public static void main(String[] args) {
// declaração de variáveis
double salario_antigo=0, salario_novo=0;
System.out.println("Entre o valor do salário do funcionário:");
Scanner s = new Scanner (System.in);
salario_antigo= s.nextDouble(); 
salario_novo = salario_antigo*1.15;
System.out.println("O valor do salário com aumento de 15% é R$ " + 
salario_novo + " reais.”);
}
Funções matemáticas em 
Java
• Disponíveis na classe Math;
• Para chamar uma função matemática, basta inserirmos 
em algum ponto do programa Math + o nome da mesma, 
junto com a lista de parâmetros (se houver) que a mesma 
recebe.
• Math.<nome_função>(parametro1, parametro2);
• Para saber quais funções estão disponíveis, deve-se 
consultar a documentação.
Funções matemáticas com 
Java
public static void main(String[] args) {
double a=0, b=0;
System.out.println("Entre o valor de a:");
Scanner s = new Scanner (System.in);
a= s.nextDouble(); 
System.out.println("Entre o valor de b:");
b= s.nextDouble(); 
System.out.println(a+" elevado ao "+b+" é igual a " + Math.pow(a,b));
System.out.println("a raiz quadrada de "+a+" é igual a " + Math.sqrt(a));
System.out.println("o maior entre "+a+" e "+b+" é " + Math.max(a,b));
System.out.println("o menor entre "+a+" e "+b+" é " + Math.min(a,b));
System.out.println("o log de "+a+" é " + Math.log10(a));
System.out.println("o valor de PI é "+Math.PI);
}
Conceitos básicos de 
programação
Victor Hazin da Rocha
professor@hazin.com.br
www.hazin.com.br

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais