Buscar

Algoritmos Computacionais-ConceitosBasicosProgramacao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Conceitos básicos de 
programação 
 
Programação em Java 
 
Prof. Maurício Braga 
 
 
2/60 
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. 
3/60 
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. 
4/60 
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”. 
5/60 
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. 
6/60 
7/60 
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). 
8/60 
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 (%). 
9/60 
Operadores aritméticos 
 Precedência de operadores aritméticos 
1. ( ) Parênteses; 
2. Potenciação, radiciação; 
3. Multiplicação, divisões e resto da divisão; 
4. Adição ou subtração. 
 Ex: 
2 * (2 – 4) + 3* 4 = ? 
10/60 
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 
11/60 
Exercício 
 ( 30 % 4 * pot(3,3) ) * -1 
 
 
 
12/60 
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 (<=). 
 
13/60 
Operadores 
 Operadores lógicos 
 Utilizados para combinar resultados de expressões lógicas; 
 Consistem de: 
 E (AND); 
 OU (OR); 
 NÃO (NOT). 
 
14/60 
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 
15/60 
Tabela verdade das operações lógicas 
 NÃO 
 
 
 
 
 
 
 
 
 
x NÃO x 
Verdadeiro Falso 
Falso Verdadeiro 
 
16/60 
Operadores lógicos 
 Precedência de operadores lógicos 
1. Não; 
2. E, OU. 
17/60 
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 
18/60 
19/60 
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. 
20/60 
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 
21/60 
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 
 
 
22/60 
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. 
23/60 
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. 
24/60 
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! 
25/60 
Constantes e Variáveis 
 Ex: 
Variável 
Constante 
media = 
P1 + P2 + P3 + P4 
4 
26/60 
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>, ...; 
27/60 
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 
28/60 
Atribuição 
 O que é atribuição? 
 “Atribui ou associa um valor a uma variável ou constante” 
 Ex: 
nome = “José”; 
media = (nota1 + nota2) / 2; 
29/60 
Funções 
 Atuamcomo um pequeno programa que, tendo valores 
de entrada, geram (retornam) um resultado. 
<nomefunção> (<parâmetro1>, <parâmetro2>, ...) 
30/60 
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 
31/60 
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); 
32/60 
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(); 
33/60 
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>,...; 
34/60 
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 +...); 
35/60 
Exemplo Java 
 Escrever o programa ‘Alô mundo!’ em Java. 
36/60 
Algoritmo ‘Alô mundo!’ 
 Solução 
 Variáveis 
 // Não tem variáveis 
Início 
 escreva(“Alo mundo!”); 
Fim 
37/60 
Programa “Alô mundo!” em Java 
public static void main(String[] args) { 
 
 System.out.println("Alô mundo!”); 
} 
38/60 
Exemplo 
 Implementar em Java um programa que solicite 
duas notas de um aluno e calcule a sua média. 
39/60 
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 
40/60 
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("Digite 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); 
} 
41/60 
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
42/60 
Programa temperatura em Java 
public static void main(String[] args) { 
 
 // Variáveis: temperaturaCelsius e temperaturaFahrenheit 
 double temperaturaCelsius = 0, temperaturaFahrenheit = 0; 
 
 System.out.println(“Digite 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); 
} 
43/60 
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 +. 
44/60 
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); 
45/60 
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; 
46/60 
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)); 
 
47/60 
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). 
48/60 
Manipulação de Strings 
 Ex: 
 
 String s1 = "Testando o uso de funções na String"; 
 int indice = s1.indexOf("uso"); 
 System.out.println(" Posicao da substring 'uso' em s1 : " + 
indice); 
 char letra = s1.charAt(5); 
 System.out.println(" A 6. letra em S1 é : " + letra); 
 
49/60 
Exercício 
 Ler o nome e a qualidade de uma pessoa, e 
exibir a mensagem “<Nome> é uma pessoa 
que tem <qualidade>”. 
 
 
50/60 
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. 
51/60 
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 
52/60 
Programa mensagem em Java 
public static void main(String[] args) { 
 // declaração de variáveis 
 String nome= " " , qualidade= " ", resposta = " "; 
 
 System.out.println(“Digite o nome:"); 
 Scanner s = new Scanner (System.in); 
 nome = s.next(); 
 System.out.println(“Digite a qualidade:"); 
 qualidade = s.next(); 
 resposta = nome+ " é uma pessoa que tem "+qualidade; 
 System.out.println( resposta ); 
} 
53/60 
Exercício 
 Faça um programa para ler o salário de um funcionário e imprimi-lo com um 
aumento de 15%. 
54/60 
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(“Digite 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.”); 
 
} 
55/60 
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. 
56/60 
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 
 
Programação em Java 
 
Prof. Maurício Braga

Outros materiais