forked from COLTEC-DAW/E05-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathE09-DAW.js
More file actions
334 lines (287 loc) · 8.07 KB
/
Copy pathE09-DAW.js
File metadata and controls
334 lines (287 loc) · 8.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
function DesenhaTriangulo(){
var altura = prompt("Digite a altura do Triangulo:");
for (var i = 0; i<= altura; i++){
for(var j = 0; j <= i; j++){
console.log("#");
}
console.log("\n");
}
}
DesenhaTriangulo();
function Tabuleiro(){
var linhas = prompt("Digite a quantidade de linhas do tabuleiro:");
for(var i=0; i< linhas; i++){
console.log("# # # #");
console.log("\n");
}
}
Tabuleiro();
function EhPalindromo(){
var word = prompt("Digite uma palavra ou uma frase para verificar se eh um palindromo");
word = word.toUpperCase();
word = word.split('').join('');
var InvertidaWord = word.split('').reverse().join('');
if (word == InvertidaWord){
console.log("Eh um palindrmo");
}
else{
console.log("Nao eh um palindromo");
}
}
EhPalindromo();
function max(a,b){
if(a > b){
return a;
}else if(a < b){
return b;
}else if (a == b){
return 0;
}
}
// maior e menor elemento
function min(a,b){
if(a < b){
return a;
}else if(b < a){
return b;
}else if (a == b){
return 0;
}
}
var x = prompt("Digite o valor de A");
var y = prompt("Digite o valor de B");
var maiorElemento = max(x,y);
var menorElemento = min(x,y);
if (menorElemento != 0){
console.log(`O menor é: ${menorElemento}`);
console.log(`O menor é: ${maiorElemento}`);
}
//Recursividade
function mod2(number){
if (num % 2 == 0){
return true;
}
return false;
}
function mod(num, mod){
if(num % mod == 0){
return true;
}
return false;
}
var numberA = prompt("Digite um numero para saber se ele eh divisivel por 2");
var numberB = prompt("Digite um numero para ser o dividendo");
var numberC = prompt("Digite um numero para ser o divisor");
var ehDivisivelpor2 = mod2(numberA);
console.log(ehDivisivelpor2);
var DivisaoExata = mod(numberB,numberC);
console.log(DivisaoExata);
if(DivisaoExata){
console.log(`${numberB} eh divisivel por ${numberC}`);
}else{
console.log(`${numberB} nao eh divisivel por ${numberC}`);
}
//Contagem de Caracteres
function countChars(frase, c){
frase = frase.split('').join('');
frase = frase.split('');
var cont = 0;
var tam = frase.length;
for(var i = 0; i <tam; i++){
if(frase[i]== c){
cont += 1;
}
}
console.log(`Apareceu` + cont + `o caractere`+ c + `na frase`);
}
var fraseUser = prompt("Insira uma frase 1ue deseja ver a quantidade de determinado caracter existente nela");
var caracter = prompt("Insira o caractere")
countChars(fraseUser,caracter);
//trabalhando com intervalos
function range(min,max,i){
var vetor = [0];
for(var x = min + 1; x < max; x += i){
vetor[x-min-1]=x;
}
return vetor;
}
var minA = prompt("Digite o menor valor");
var maxA = prompt("Digite o maior valor");
var l = prompt("Digite o valor do vetor");
var Solucao = range(minA,maxA,l);
for (var x = 0; x < Solucao.length; x += l){
console.log(`${Solucao[x]}`);
}
//revertendo um array
function reverseArray(array){
return array.reverse();
}
var filmes = ['Bastardos Inglórios', 'The Wolf of Wall Street', 'Django Unchained', 'Marriage Story', 'Pieces of a Woman'];
var array = reverseArray(filmes);
console.log(`${array}`);
//trabalhando com listas
function toList(array){
for (var j = 0; j < array.length; j++){
var list = {
value: array[i],
rest: list,
}
}
return list;
}
//DeepEquals
function deepEquals(obj1, obj2){
if(JSON.stringify(obj1)==JSON.stringify(obj2)){
return true;
}else{
return false;
}
}
//Ordenação
function ordenacao(array, funcao){
for (var i = 0; i < array.length; i++){
for(var j = 0; j <(array.length-1);j++){
var w = j + 1;
if(funcao(array[j],array[w]) == true){
var aux = array[j];
array[j] = array[w];
array[w] = aux;
}
}
}
return array;
}
var vetor = [10,5,80,95,17];
console.log(vetor);
//Decrescente
console.log(ordenacao(vetor,function(x,y){return x<y}))
//Crescente
console.log(ordenacao(vetor, function(x,y){return x>y}));
console.log(ordenacao(vetor,function(x,y){
if((x % 2 == 0) && (y % 2 == 0)){
return x < y;
}
else if((x % 2 !=0) && (y % 2 !=0)){
return x > y;
}
else if(x % 2 == 0){
return true;
}
else if(x % 2 != 0){
return false;
}
}));
//criptografia
function criptografia(frase,condicao){
var array = frase.split('');
var key = Math.floor(Math.random() * 27);
for (var i = 0; i < array.length; i++){
array[i] = condicao(array[i],key);
}
return(array.join(''));
}
function CrifDeCesar(caractere, key){
if(caractere.charCodeAt(0) != 32){
if(caractere.toUpperCase().charCodeAt(0)+key<=90){
return String.fromCharCode(caractere.charCodeAt(0)+key);
}
return String.fromCharCode(caractere.charCodeAt(0)+key-26);
}
return caractere;
}
fraseA = `Joga de Ladinho`;
console.log(`texto cripitografado: ${criptografia(fraseA,CrifDeCesar)}`);
//Verificando um número
function checar(numero,condicao){
return condicao(numero);
}
function ehImpar(numero){
return(numero % 2 !=0);
}
function ehPar(numero){
return(numero % 2 == 0);
}
function ehPrimo(numero){
var contador;
for(var j = 2; j < numero; j++){
if(numero % i == 0){
//se o contador for diferente de zero o numero nao eh primo
contador++;
break;
}
}
return(contador == 0)
}
console.log(checar(17,ehPrimo) ? "O numero eh primo" : "O numero nao eh impar");
console.log(checar(12,ehPar) ? "O numero eh par" : "O numero nao eh par");
console.log(checar(5,ehImpar) ? "O numero eh impar" : "O numero nao eh impar");
//Transfromando Strings
function TransfromandoStrings(fraseA,condicao){
var array = fraseA.split('');
for(var i = 0; i < array.length; i++){
array[i] = condicao(array[i])
}
return array.join('');
}
const Vogais = ['A','E','I','O','U','A','E','I','O','U'];
function ConsoanteMaiuscula(Letra){
if(Vogais.includes(Letra) != true){
return Letra.toUpperCase();
}
return Letra;
}
function VogalMaiuscula(Letra){
if(Vogais.includes(Letra) == true){
return Letra.toUpperCase();
}
return Letra;
}
function ConsoanteMinuscula(Letra){
if(Vogais.includes(Letra) != true){
return Letra.toLowerCase();
}
return Letra;
}
function VogalMinuscula(Letra){
if(Vogais.includes(Letra) == true){
return Letra.toLowerCase();
}
return Letra;
}
var fraseA = (`Joga de Ladinho`);
console.log(`A frase original eh: ${fraseA}\n`);
var fraseB = TransfromandoStrings(fraseA, VogalMaiuscula);
var fraseC = TransfromandoStrings(fraseA, ConsoanteMaiuscula);
var fraseD = TransfromandoStrings(fraseA, VogalMinuscula);
var fraseE = TransfromandoStrings(fraseA, ConsoanteMinuscula);
console.log(`Vogais Maiusculas: ${fraseB}`);
console.log(`Consoantes Maiusculas: ${fraseC}`);
console.log(`Vogais minusculas ${fraseD}`);
console.log(`Consoantes minusculas: ${fraseE}`);
//Funções Matriciais
function newMatriz(colunas, FuncaoMatricial){
var matriz = [];
for (var i = 0; i < colunas; i++){
var linha = [];
for (var j = 0; j < colunas; j++){
linhas.push(FuncaoMatricial(i,j));
}
matriz.push(linha);
}
return matriz;
}
console.log(newMatriz(2,function(i,j){
return i + j;
}));
console.log(newMatriz(3,function(i,j){
return i * j;
}));
console.log(newMatriz(4,function(i,j){
return i == j ? 1 : 0;
}));
console.log(newMatriz(5,function(i,j){
return i^2/(j+1);
}));
console.log(newMatriz(6,function(i,j){
return i > j ? 1 : (i<j ? 5 : 0);
}));