Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos
Tipos de Dados; Variveis; Constantes; Operadores aritmticos, relacionais e lgicos; Atribuio; Comandos de condio ou seleo; Comandos de repetio.
2/71
Tipos de dados
Dado pode ser definido como informao em estado primitivo cujo processamento pode gerar informao til.
Devido a natureza do que vai ser armazenado em memria, existem tipos de dados diferentes. Tipo de dado representa o conjunto de valores possveis para um dado.
3/71
Tipos de dados
Inteiro Para representar informaes que no possuem parte fracionria. Ex: 1, 2, 40000, etc.; Real Para representar informaes que podem possuir parte fracionria. Ex: 3.1415; Lgico Para representar um estado ou situao que pode ser apenas verdadeira (true) ou falsa (false); Caractere Utilizado para armazenar um nico caractere na memria. Ex: A; Cadeia de caracteres Utilizado para armazenar um seqncia de caracteres na memria. Ex: Computador.
4/71
Exerccios
Quantidade de brinquedos de uma criana; Altura de uma pessoa; Aviso em uma placa; Sexo de uma pessoa; Salrio de um funcionrio; CEP de uma carta; Estado de um computador quanto ao seu funcionamento; Nmero de cheques emitidos por um cliente em um ms.
5/71
Lgico: boolean Texto (1 caractere): char Inteiros: byte, short, int e long Reais: double e float
Todos os tipos numricos possuem sinal. String: representa uma cadeia de caracteres.
Operadores
Operadores aritmticos
Utilizados
Adio (+); Subtrao (-); Multiplicao (*); Diviso real entre dois nmeros (/); Diviso inteira entre dois nmeros inteiros (div); Resto da diviso inteira entre dois nmeros inteiros (mod).
7/71
Operadores em Java
Operadores aritmticos
Consistem de: Adio (+); Subtrao (-); Multiplicao (*); Diviso real entre dois nmeros (/); Diviso inteira entre dois nmeros inteiros (/); Resto da diviso inteira entre dois nmeros inteiros (%).
8/71
Operadores aritmticos
4.
Ex:
2 * (2 4) + 3* 4 = ?
9/71
Montagem de expresses
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
10/71
Exerccios
( 30 % 4 * pot(3,3) ) * -1
11/71
Operadores
Operadores relacionais
Igual a (==); Diferente de (!=); Maior que (>); Menor que (<); Maior ou igual a (>=); Menor ou igual a (<=).
12/71
Operadores
Operadores lgicos
13/71
OU
Falso
Falso
Falso
14/71
NO
x Verdadeiro Falso
NO x Falso Verdadeiro
15/71
Operadores lgicos
No; E, OU.
16/71
Operadores lgicos
Exemplos:
F F F V V
17/71
Operadores Booleanos:
! - No | - Ou &-E ^ - Ou Exclusivo
Montagem de expresses
Para realizao de determinados clculos, pode ser necessrio fazer combinaes de operadores, bom como a adio de parnteses. Mas que operador ser calculado primeiro?
19/71
Montagem de expresses
20/71
Exerccios
2 < 5 e 15/3 == 5
pot(3,2)/3 < 2 e 5==5 NO ( 3 + 5 != 5 / 2 - 1 ) Falso ou 20 / (18/3) != (21/3) / 2
21/71
Constantes e Variveis
Constante
Possui valor fixo durante execuo do programa; Pode ser numrica, lgica ou literal.
Varivel
Um dos conceitos mais importantes na construo de algoritmos. Representa um espao de memria reservado para armazenar determinado tipo de dado; Deve receber um nome para referenciao e modificao; Deve possuir um tipo associado; Quando um algoritmo termina sua execuo, todas as variveis so apagadas da memria; S podem armazenar um dado por vez.
22/71
Constantes e Variveis
Nomes de Variveis
O nome de uma varivel deve ser nico dentro de um mesmo algoritmo. Deve comear por uma letra, podendo-se incluir aps esta letra outras letras, dgitos ou o sinal de underline ( _ ). Este tipo de nome conhecido como identificador. O identificador no pode possuir acentos, nem ser igual ao nome de um comando.
23/71
Identificadores em Java
Exemplos:
1. 2. 3. 4. 5.
Ok! Foobar Ok! BIGInterface $incomeAfterExpenses Ok! 3_node5 Errado! !theCase Errado!
24/71
Constantes e Variveis
Ex:
P1 + P2 + P3 + P4 media = 4 Varivel Constante
25/71
Constantes e Variveis
Tipos de variveis
Inteiras: Armazenamento de nmeros inteiros; Reais: Armazenamento de nmeros reais. Ex: a, Jos, Rua 23.
26/71
Constantes e Variveis
Declarao de variveis
Toda varivel utilizada em um algoritmo deve ser declarada. A sintaxe utilizada em pseudocdigo : <tipo>:<variavel1>, <variavel2>, ...;
27/71
Atribuio
O que atribuio?
Ex:
29/71
Funes
Atuam como um pequeno programa que, tendo valores de entrada, geram (retornam) um resultado.
30/71
sin(double x)
cos(double x) atan(double x) abs(int x)
Retorna o seno de x
Retorna o co-seno de x Retorna o arco, em radianos, cuja tangente x Retorna o mdulo de x (|x|)
Real
Real Real Inteiro
31/71
Normalmente precisamos de dados de entrada para serem processados pelos algoritmos. Desta forma, precisamos de um comando para solicitar e obter dados fornecidos pelo usurio.
leia (varivel1);
Quando um computador encontra um comando de entrada de dados, ele suspende a execuo do programa at que os dados sejam fornecidos.
32/71
Para fazer a leitura de dados do teclado em programas Java, utilizaremos o objeto Scanner:
Scanner s = new Scanner(System.in); int numero = s.nextInt();
O objeto Scanner pode ser usado com variveis numricas, lgicas e do tipo texto.
33/71
Da mesma forma que precisamos receber dados externos, precisamos fornecer dados e instrues para os usurios. Desta forma, precisamos de um comando para retornar dados e/ou mensagens em um dispositivo de sada.
Escreva <var ou expresso ou mensagem>,...;
Ex:
Ex:
Exemplo 1
Exibir a soma de dois nmeros inteiros fornecidos pelo usurio. Objetivo construir um algoritmo que ensine o computador a executar uma soluo para o problema proposto. Sada de dados O que o algoritmo deve fazer?
Soluo
necessrio ento a criao de uma varivel soma necessrio que ao trmino do algoritmo a varivel soma seja exibida para o usurio escreva soma;
36/71
Soluo (cont.)
O enunciado afirma que os valores a serem somados devem ser informados pelo usurio
O algoritmo possui dados de entrada, e estes dados de entrada devero ser armazenados em memria. necessria a criao de duas variveis num1 e num2 para armazenar os dados fornecidos leia num1; pelo usurio. leia num2; necessrio a obteno destes dados do usurio atravs do comando de entrada de dados.
O processamento do algoritmo deve possuir apenas a operao soma = num1 + num2; de soma.
Utilizaremos o operador de adio (+) para ensinar ao computador que operao, e com quais valores, deve ser realizada. O resultado da soma dever ser armazenado em memria pela varivel soma, logo precisaremos utilizar o comando de atribuio.
37/71
Exemplo 1
Soluo
leia(num2);
soma = num1 + num2; escreva(soma); Fim
38/71
Exemplo 2
Exibir o quadrado de um nmero inteiro fornecido pelo usurio. Possui apenas uma sada de dados Necessita de apenas uma entrada de dados Podemos utilizar a funo pow(x,2)
Soluo
39/71
Usando a funo
Variveis inteiro: valor, quadrado; Incio leia(valor); quadrado = valor * valor; escreva(quadrado); Fim
Variveis inteiro: valor, quadrado; Incio leia(valor); quadrado = pow( valor,2 ); escreva(quadrado); Fim
40/71
Exerccios
Faa um programa para exibir a multiplicao de dois inteiros informados pelo usurio. Faa um programa para ler 3 nmeros reais e exibir a soma do 1 nmero com o 2, multiplicada pela soma do 2 pelo 3. O que ser impresso pelo algoritmo a seguir?
Variveis inteiro: val1, val2, val3; Incio
val1 = 10; val2 = 20; val3 = val2 val1; val3 = val1 val2; escrever val3;
Fim
41/71
Exemplo Java
42/71
Algoritmo Al mundo!
Soluo
Variveis
// No tem variveis Incio escreva(Alo mundo!); Fim
43/71
44/71
Exemplo
Implementar em Java um programa que solicite duas notas de um aluno e calcule a sua mdia.
45/71
// entrada de dados Scanner s = new Scanner (System.in); nota1 = s.nextDouble(); nota2 = s.nextDouble(); // clculo da mdia media = (nota1 + nota2)/2;
System.out.println("A mdia : "+media); }
47/71
Exerccio
Implementar em Java um programa que, a partir do valor em Celsius digitado pelo usurio, calcula o valor da temperatura em Fahrenheit.
Frmula converso F C:
C ( F 32) * 5 / 9
48/71
Exerccio
Ler o preo a prazo de um produto numa loja bem como o desconto para pagamento a vista e imprimir o valor a vista.
49/71
Exerccio
Variveis
50/71
Strings
52/71
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);
53/71
Igualdade de Strings
Strings no devem ser comparadas com ==, e sim com o mtodo equals;
Comparao diferencia letras maisculas e minsculas; Caso a comparao no deva levar em conta maisculas e minsculas, deve-se usar o mtodo equalsIgnoreCase;
54/71
Igualdade de Strings
Ex:
String S1 = Banana; String S2 = banana; System.out.println("mtodo equals = " + s1.equals(s2)); System.out.println("mtodo equalsIgnoreCase = " + s1.equalsIgnoreCase(s2));
55/71
Manipulao de Strings
56/71
Manipulao 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);
57/71
Exerccio
Ler o nome e a qualidade de uma pessoa, e exibir a mensagem <Nome> uma pessoa que tem <qualidade>.
58/71
Exerccio
Soluo
Exemplo simples de composio de frases em algoritmos. Para as entradas Maria e coragem, a sada seria Maria uma pessoa de coragem. Este algoritmo no necessita de clculos, apenas leitura dos dados e exibio de composio entre variveis e mensagens.
59/71
Soluo
Variveis
nome, qualidade : cadeia; Incio ler nome; ler qualidade; escrever nome + uma pessoa que tem + qualidade;
Fim
60/71
Exerccios
Faa um programa para ler um valor em reais e exibir o equivalente em dlares. Considere que um dlar vale R$2,50. Faa um programa para ler o salrio de um funcionrio e imprimi-lo com um aumento de 15%. Mostre o que ser impresso pelo algoritmo a seguir.
Variveis v, r : real; Incio
62/71
63/71
64/71
Math.<nome_funo>(parametro1, parametro2);
Exerccio
Digite o programa exibido no prximo slide e o execute. Voc capaz de explicar o resultado que aparece?
68/71
70/71