Skip to content

Commit 8dec9f1

Browse files
Migrando para IDEA
1 parent adf68b8 commit 8dec9f1

File tree

198 files changed

+4203
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+4203
-0
lines changed

.idea/misc.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

+70
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Java_Estruturas_Dados.iml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>

out/production/Java_Estruturas_Dados/classes_tipos_primitivos/classes_tipos_primitivos.md

Whitespace-only changes.
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
# Condicionais na Lógica
2+
3+
No mundo da programação, existem estruturas que modificam a forma como o programa é executado baseando-se em condições especificadas. O objetivo disso é justamente prever entradas do usuário e modificar o comportamento do programa.
4+
5+
Normalmente, todo programa é lido e executado da esquerda para a direita, de cima para baixo, isto é chamado de estrutura sequencial. Porém com as chamadas estruturas de controle é possível alterar o fluxo de execução, bifurcando, dividindo os caminhos que o seu algoritmo pode tomar. Neste caso será estudada as condicionais.
6+
7+
As condicionais são estruturas de controle que, tomando como partida uma condição verdadeira (estas condições são baseadas nos operadores lógicos e relacionais já explicados), executa uma série de instruções.
8+
Nesse sentido. um exemplo simples e cotidiano são as condições de voto no Brasil. Se o eleitor for maior ou possuir 18 anos, vota obrigatoriamente; nesse contexto, se for analfabeto, o seu voto é facultativo; se o eleitor estiver com idade entre 16 e 18 ou acima de 70 anos, também é facultativo; se não for verdadeiro nada disso, significa que é menor do que 16 anos, criança, com voto proibido. Um exemplo de fluxograma simples abaixo.
9+
10+
![FluxogramaDeImagem](Exemplo_condicional.png)
11+
Exemplo de condicional no fluxograma, sendo que o losango representa a condicional
12+
13+
Outro exemplo é um jogo. Imagine um jogo RPG onde você pode tomar escolhas e baseadas nessas escolhas, passar ou não de fase. Suponha-se que a condição de vitória seja o jogador atingir 100 pontos e ele passar por alguns nessa fase, por exemplo, lidar com um vendedor, lutar com um bandido e falar com o rei da cidade. Para cada um dos casos ele vai ter uma escolha para fazer e baseada nessas escolhas ele pode ganhar pontos ou perdê-los. Se não conseguir a quantidade de pontos necessária, o jogo vai exibir que ele deve tentar novamente.
14+
15+
Percebe-se que, de acordo com as escolhas do usuário, o programa pode ter diferentes saídas. Para isso, existe essas estruturas de decisão, cujos tipos são If, If-else, If-else + Else If e Switch Case
16+
17+
## Tipos de condicionais em Java
18+
19+
Esses são os principais tipos de condicionais no Java: If, If-else, If-else + Else If, Condicionais Encadeadas e Switch Case.
20+
21+
### If
22+
23+
A condição if pura é a mais simples, caso a condição seja verdadeira, executa um bloco de código, se não, segue o fluxo normalmente.
24+
25+
#### Estrutura:
26+
27+
##### Fluxograma:
28+
29+
![Fluxograma Do If](if_fluxograma.png)
30+
Fonte Livro Lógica de Programação autora Sandra
31+
##### Código
32+
```java
33+
if(condicao){
34+
<instruções>
35+
}
36+
37+
```
38+
39+
Exemplo:
40+
41+
```java
42+
...
43+
final double valorProduto = 200;
44+
double desconto = 0;
45+
String formaPgmto = "cartao";
46+
if (formaPgmto.equals("pix")){
47+
desconto = 1/100;
48+
}
49+
//Segue o fluxo
50+
double valorFinal = valorDoProduto - (valorDoProduto*desconto)
51+
```
52+
No exemplo acima, tem-se um programa em que se é calculado um desconto de 1% sobre o valor de um produto se o pagamento for em pix. Caso não seja, continua o mesmo valor. Não é necessário explicitar o senão (else) aqui, pois o valor final será calculado independente da condição ser verdadeira.
53+
54+
### If Else
55+
56+
Já uma estrutura if else existem dois caminhos a serem tomados. Caso a condição seja verdadeira, vai realizar instruções especificadas, se não, vai realizar outras instruções.
57+
58+
####Estrutura:
59+
60+
##### Fluxograma
61+
62+
![Fluxograma do If Else](if_else_fluxograma.png)
63+
##### Código
64+
```java
65+
//Se for verdade
66+
if(condicao){
67+
<conjDeInstruções>
68+
}
69+
//Se não for:
70+
else{
71+
<conjDeInstruções>
72+
}
73+
```
74+
75+
Exemplo:
76+
77+
```java
78+
79+
String nome = "Zulmira";
80+
int idade = 8;
81+
//Se for verdadeiro
82+
if(idade>18){
83+
...println("Maior de idade");
84+
}
85+
//Se não for verdade
86+
else{
87+
...println("Menor de idade");
88+
}
89+
90+
```
91+
No exemplo acima, verifica se a idade da pessoa é maior do que 18. Se sim, vai exibir que ela é maior de idade; se não, exibirá que ela é de menor.
92+
93+
### If Else + Else if
94+
95+
Esse tipo de condicional faz parte das condicionais de múltipla escolha, em que se pode atribuir mais de uma condição para atingir diferentes saídas no seu programa. Para se ler uma instrução desse tipo, ocorre assim: "Se for verdade, faça isso; se não, se outra condição for verdade, faça algo a mais; se não, faça outra coisa." Na realidade, esse tipo de condicional é um else que possui um if dentro (ao fazer isso, obtém se o mesmo resultado do que com else if), porém se criou o "else if" para que não haja tanta identação no código. Voltando ao problema da votação no Brasil, podemos utilizar essa condicional para solucionar o problema. Antes, será mostrado sua estrutura como nos tópicos anteriores.
96+
97+
#### Estrutura:
98+
99+
##### Fluxograma
100+
101+
##### Código
102+
```java
103+
if(condicao01){
104+
faça
105+
}
106+
else if(condicao02){
107+
faça outra coisa
108+
}
109+
else{
110+
faça alguma outra coisa
111+
}
112+
113+
```
114+
115+
Exemplo:
116+
117+
```java
118+
int idade = 19;
119+
if(idade<16){
120+
...println("Voto Proibido");
121+
}
122+
else if (idade >= 16 && idade < 18){
123+
...println("Voto facultativo");
124+
}
125+
else if (idade>70){
126+
...println("Voto facultativo");
127+
}
128+
else{
129+
...println("Voto obrigatório");
130+
}
131+
132+
```
133+
134+
Vale ressaltar que os "else if" podem ser utilizados quantas vezes quiser para estender as condicionais, como utilizado no exemplo acima. Nesse caso não seria necessário eu colocar mais um "else if" onde se tem relacionado a voto facultativo, pois é possível enquadrar ambos casos com os operadores lógicos, porém eu fiz isso para que eu pudesse demonstrar que se pode colocar mais de uma dessas condicionais.
135+
136+
### Condicionais Encadeadas
137+
138+
Esse tipo de condicional é aquele em que, verificando se uma condição como verdadeira, realiza outros testes condicionais dentro da estrutura de decisão. Um exemplo é em um jogo de escolha: imagine que você tem inicialmente duas escolhas no jogo, você pode ir para a praia ou para o clube de piscina. Se você escolher ir para a praia, se escolher trazer o guarda-sol, não se machucará com o Sol, porém, se não escolher, acabará se machucando. Veja o exemplo a seguir.
139+
140+
#### Estrutura:
141+
142+
##### Fluxograma
143+
144+
![Condicional Encadeada](if_encadeado.png)
145+
146+
##### Código
147+
148+
```
149+
if(condicao){
150+
<instruções>(opcional)
151+
if(condicao02){
152+
<instruções>
153+
}
154+
else{
155+
<instruções>
156+
}
157+
}
158+
else{
159+
160+
}
161+
```
162+
163+
Exemplo:
164+
165+
```
166+
...println("Escolha praia ou sol")
167+
String opcaoLocal = input.nextLine();
168+
boolean opPraia = opcaoLocal.equalsIgnoreCase("praia")
169+
if(opPraia){
170+
...println("Val levar guarda-Sol?")
171+
String levarGuardaSol = input.nextLine();
172+
boolean levouGuardaSol = levarGuardaSol.equalsIgnoreCase("sim");
173+
if(levouGuardaSol) {
174+
...println("Parábens, você ficou na praia, se divertiu e não se machucou com o Sol");
175+
}
176+
else{
177+
...println("Que pena, por você não ter levado guarda-Sol, dado a temperatura do Dia você acabou se machucando com os raios solares na praia. Agora está tudo ardendo, mas valeu a pena.")
178+
}
179+
}
180+
else{
181+
...println("Você foi ao clube da piscina e se divertiu bastante.")
182+
}
183+
```
184+
185+
### Switch Case
186+
187+
Mais uma condicional de múltipla escolha, é a mais aconselhável para criar condições de seleção. Muito útil quando é preciso selecionar alguma opção para executar alguma função no programa. Ou exibir algum dado baseado em algum catálogo, exemplo = 01: metais, 02: inflamáveis, 03: fios e eletricidade, etc.
188+
189+
####Estrutura:
190+
191+
##### Fluxograma
192+
193+
![Fluxograma das Condicionais de Escolha](multipla_escolha.png)
194+
195+
##### Código
196+
```java
197+
switch(variavel){
198+
case '01':
199+
faça algo 01;
200+
break;
201+
case '02':
202+
faça algo 02;
203+
break;
204+
case '03':
205+
faça algo 03;
206+
break;
207+
default:
208+
faça algo 04;
209+
break
210+
}
211+
```
212+
213+
Exemplo:
214+
215+
```java
216+
int indice = input.nextInt();
217+
switch (indice){
218+
case 0:
219+
...println("Metais");
220+
break;
221+
case 1:
222+
...println("Inflamáveis");
223+
break;
224+
case 2:
225+
...println("Fios e eletricidade");
226+
break;
227+
default:
228+
...println("Diversos");
229+
}
230+
231+
```
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Exercício do Abono Salarial da Empresa XSoftware
2+
3+
A empresa XSoftwares Ltda. concedeu um bônus de 20 por cento do valor do salário a todos os funcionários com tempo de trabalho na empresa igual ou superior a cinco anos e de 10 por cento aos demais. Calcular e exibir o valor do bônus.
4+
5+
## O que fazer?
6+
7+
Será dado um bônus de 20% para o salário do funcionário que ficou na empresa com tempo igual ou superior a 5 anos. Isto pode ser feito dando entrada no salário e nos anos trabalhados pelo funcionário por meio do teclado. Os que não trabalharam acima de 5 anos, receberão bônus de 10%.
8+
9+
Ou seja, se anosTrabalhados >= 5 anos, recebe bônus de 20%, senão, recebe bônus de 10%. Portanto, será necessário calcular o percentual do bônus sobre o salário.
10+
Um exemplo: se o funcionário recebe 5000 e está há mais de 10 anos na empresa, o resultado do seu abono tem que ser:
11+
12+
5000 \* 20/100
13+
14+
Já se ele recebe 5000 porém há menos de 10 anos, então seu abono será:
15+
16+
5000 \* 10/100
17+
18+
Exibe ao final o bônus sobre o salário, não o salário com bônus.
19+
20+
## Como fazer?
21+
22+
* Dê entrada no salário do funcionário e em seus anos trabalhados
23+
* Criar condição sobre se é maior do que 5 anos o tempo de trabalho.
24+
* Se for verdadeira, vai exibir na tela "Você recebeu um abono de 20% por ser veterano" e vai calcular o bônus do salário
25+
* Senão, vai exibir na tela "Você recebeu um abono de 10%" e vai calcular o bônus
26+
27+
```java
28+
salario = 5000
29+
if(maiorQue5AnosTrabalho){
30+
percentualAbono = 20./100.
31+
}
32+
else{
33+
percentualAbono = 10./100.
34+
}
35+
abono = salario * percentualAbono
36+
exibe abono
37+
```
38+
39+
* Vale a pena fazer o cálculo dentro do se ou fora do se?
40+
* Vale fazer fora do se como uma fórmula geral.
41+
42+
### O que aprendi?
43+
44+
Esse exercício foi importante para exercitar a programação em um contexto empresarial, percebendo-se a importância para lidar com grande quantidade de dados. Caso um ser humano fosse realizar a tarefa de calcular o abono sobre os salários de cada funcionário, seria uma tarefa muito demorada e repetitiva, porém com os programas isso se torna muito mais rápido. Essa prática pode ser melhorada utilizando-se estruturas de repetição e vetores no futuro.

0 commit comments

Comments
 (0)