-
Notifications
You must be signed in to change notification settings - Fork 3
/
script.js
724 lines (712 loc) · 39.4 KB
/
script.js
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
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
// Defina um array com as perguntas, alternativas e respostas corretas
const questions = [
{
question:
"Os métodos HTTP são responsáveis por indicar a ação que será executada, alguns métodos conhecidos são: POST, GET, DELETE, PUT e PATCH. O Método PUT e PATCH, utilizamos para editar, mas, qual a diferença entre usar um e outro?",
options: [
"Não existe diferença",
"PUT é usado para alterar um dado completo e PATCH altera o dado parcialmente.",
"PATCH é usado para alterar um dado completo e PUT altera dado parcialmente.",
"PUT é usado para alterar um dado completo e recebe recurso do servidor.",
],
correctAnswer:
"PUT é usado para alterar um dado completo e PATCH altera o dado parcialmente.",
},
{
question:
"Qual seria o resultado da função? <br> função inteiro soma (inteiro a, inteiro b) {<br> a+b<br> }",
options: ["4", "0", "Erro de compilação", "2"],
correctAnswer: "Erro de compilação",
},
{
question: "O que é um Framework?",
options: [
"Trata-se de uma série de bibliotecas e classes, ou seja, códigos prontos, que oferecem alguma funcionalidade específica. Em outras palavras é um padrão que pode ser incorporado a sistemas para agilizar a codificação de certas partes",
"É uma linguagem formal que funciona por meio de uma série de instruções, símbolos, palavras-chave, regras semânticas e sintáticas.",
"São conjuntos de arquivos relacionados entre si, com registros sobre pessoas, lugares ou informações em geral",
"Trata-se de uma interface de programação que os navegadores utilizam para representar páginas na web",
],
correctAnswer:
"Trata-se de uma série de bibliotecas e classes, ou seja, códigos prontos, que oferecem alguma funcionalidade específica. Em outras palavras é um padrão que pode ser incorporado a sistemas para agilizar a codificação de certas partes",
},
{
question: "Qual a função de uma API?",
options: [
"Definir a estrutura lógica dos documentos em forma de árvore, a qual guia o navegador na representação e manipulação dos componentes da página.",
"Permitir a integração entre dois sistemas, em um deles fornece informações e serviços que podem ser utilizados pelo outro, sem a necessidade de algum dos sistemas conhecer detalhes de implementação de software",
"Traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em código de máquina para um processador",
"Criar aplicações que combina ferramentas comuns de desenvolvimento em uma única interface gráfica do usuário (GUI)",
],
correctAnswer:
"Permitir a integração entre dois sistemas, em um deles fornece informações e serviços que podem ser utilizados pelo outro, sem a necessidade de algum dos sistemas conhecer detalhes de implementação de software",
},
{
question: `Um estudante de programação elaborou a seguinte sequência:
<br>Faça x = 0.
<br>Faça y = 0.
<br>Enquanto x < 3
<br>faça:
<br>{<br>
y = y + x<br>
x = x + 1<br>
}<br>
O valor final de x e y mostrados serão, respectivamente:`,
options: ["4 e 6", "3 e 3", "3 e 4", "4 e 3"],
correctAnswer: "3 e 3",
},
{
question:
"Qual a diferença entre um objeto instanciado de uma classe e a própria classe?",
options: [
"Qualquer atributo de uma classe pode ser utilizado diretamente por ela. O objetivo do Objeto é descrever a estrutura com que a classe será construída.",
"A classe é como uma forma em que os objetos podem ser instanciados, a classe não é utilizada diretamente, mas sim seus objetos instanciados.",
"A classe e os objetos são a mesma coisa. A nomenclatura muda de acordo com a linguagem de programação.",
"Classes são como contratos, isto é, não possui implementações mas depende que um objeto possa implementá-la.",
],
correctAnswer:
"A classe é como uma forma em que os objetos podem ser instanciados, a classe não é utilizada diretamente, mas sim seus objetos instanciados.",
},
{
question: "O que é polimorfismo?",
options: [
"É quando uma classe herda os métodos de outra, a classe filha então utiliza os métodos da classe mãe",
"É um dos princípios da Programação Funcional. Caracteriza-se por possuir funções dentro de outras funções, seu objetivo é manter o código mais organizado possível. Por exemplo: A função acelerar() de um veículo, pode ter várias implementações para cada tipo de veículo, cada um deles será representado por uma função interna de acelerar()",
"É um dos princípios da Programação Orientada à Objetos. Caracteriza-se pela herança de classes em que a classe filha subscreve a implementação de um método da classe mãe. Por exemplo: Todo veículo possui o método acelerar(), porém deverá ser subscrito para cada tipo de veículo.",
"É o conceito bastante utilizado para variáveis globais em programação estrutural. Sua característica é permitir seu acesso em todos os pontos do código.",
],
correctAnswer:
"É um dos princípios da Programação Orientada à Objetos. Caracteriza-se pela herança de classes em que a classe filha subscreve a implementação de um método da classe mãe. Por exemplo: Todo veículo possui o método acelerar(), porém deverá ser subscrito para cada tipo de veículo.",
},
{
question: "O que é o método PATCH?",
options: [
"Um método HTTP, que indica a busca e captura de dados do Backend.",
"É o método de acesso à camada Model do padrão MVC.",
"É o método de requisição HTTP, que indica que os dados enviados farão uma alteração completa do registro.",
"É o método de requisição HTTP, que indica que os dados enviados farão uma alteração parcial registro.",
],
correctAnswer:
"É o método de requisição HTTP, que indica que os dados enviados farão uma alteração parcial registro.",
},
{
question:
"Testes unitários quando executados, testam métodos de um programa. Assinale a alternativa que identifica ou melhor representa um benefício de se programar testes unitários?",
options: [
"Permitem uma maior segurança no programa, e em suas futuras manutenções. Por isso mesmo tendo de programar código a mais, ele favorece um ganho de tempo no futuro.",
"Permitem melhor estética no código. Por ser unitário, testam o sistema inteiro como um bloco único.",
"Seus benefícios de segurança e de estética não compensam o tempo gasto para desenvolvê-los, por isso é uma prática não muito reconhecida.",
"São testes realizados para verificar o funcionamento adequado de métodos de um programa. Para se caracterizar testes unitários, eles devem obrigatóriamente ser escritos antes do desenvolvimento do método testado.",
],
correctAnswer:
"Permitem uma maior segurança no programa, e em suas futuras manutenções. Por isso mesmo tendo de programar código a mais, ele favorece um ganho de tempo no futuro.",
},
{
question:
"Os bancos de dados podem ser classificados em relacionais e não relacionais. Sabendo-se disso, qual dos seguintes bancos de dados é não-relacional?",
options: ["MySQL", "PostgreSQL", "Oracle", "MongoDB"],
correctAnswer: "MongoDB",
},
{
question: "Sobre o HTML é correto afirmar:",
options: [
"Trata-se de uma linguagem apenas de marcação, sem nenhum tipo de influência na performance ou efeito visual de uma página.",
"É uma linguagem poderosa que permite a criação de scripts, efeitos visuais e lógicas complexas, sem a necessidade de outra linguagem de programação.",
"Trata-se de uma linguagem de marcação fundamental na construção de páginas web, que, com o auxílio de uma linguagem de folha de estilos e uma linguagem de programação, permite a criação de páginas inteligentes e estilizadas.",
"Nenhuma das alternativas",
],
correctAnswer:
"Trata-se de uma linguagem de marcação fundamental na construção de páginas web, que, com o auxílio de uma linguagem de folha de estilos e uma linguagem de programação, permite a criação de páginas inteligentes e estilizadas.",
},
{
question: "Em bancos relacionais, o que é uma Primary Key?",
options: [
"É uma coluna de dados que foi criada primeiro.",
"É uma coluna especial cuja função é a de unicamente cada registro em uma tabela.",
"É a linha do banco de dados que foi criada primeiro.",
"Um conjunto de colunas que garantem a integridade referencial.",
],
correctAnswer:
"É uma coluna especial cuja função é a de unicamente cada registro em uma tabela.",
},
{
question:
"Usando SQL, considerando a Tabela Pessoas que contém dentro dela a NomePessoa com os dados: Jorge Santos e Rebeca Silva qual das opções abaixo o delete está sendo usado corretamente para remover o Jorge Santos da tabela?",
options: [
"DELETE Pessoas WHERE NomePessoa = 'Rebeca Silva'",
"DELETE FROM Pessoas WHERE 'Jorge Santos'",
"DELETE FROM Pessoas WHERE NomePessoa='Jorge Santos'",
"DELETE FROM pessoas WHERE nomePessoa LIKE 'Santos';",
],
correctAnswer: "DELETE FROM Pessoas WHERE NomePessoa='Jorge Santos'",
},
{
question:
"Qual das propriedades a seguir não é uma propriedade do Flexbox?",
options: ["order", "flex-flow", "align-itens", "flex-display"],
correctAnswer: "flex-display",
},
{
question:
"Qual das afirmações abaixo representa a alternativa correta sobre var, let e const em JavaScript?",
options: [
"var e let tem escopo global ou de função, enquanto const têm escopo de bloco.",
"var tem escopo global ou de função, enquanto let e const têm escopo de bloco.",
"const e var não podem ser redeclaradas dentro dos seus respectivos escopos.",
"let e const podem ser declaradas novamente mas não podem ser atualizadas.",
],
correctAnswer:
"var tem escopo global ou de função, enquanto let e const têm escopo de bloco.",
},
{
question:
"Qual palavra-chave pode ser utilizada numa consulta ao banco de dados para eliminar repetições e selecionar valores únicos?",
options: ["DISTINCT", "FIND", "UNIQUE", "HAVING"],
correctAnswer: "DISTINCT",
},
{
question:
"Diego quer almoçar fora com sua esposa, mas o mesmo sabe que possui certo valor na sua carteira para pagar o almoço de ambos e uma bebida.<br><br>Inteiro dinheiroNaCarteira = 50<br>Inteiro valorDoAlmoco = 22<br>Inteiro valorDaBebida = 6",
options: [
"SE {valorDoAlmoco * 2 + valorDaBebida == dinheiroNaCarteira} {ESCREVA {*Minha esposa foi almoçar comigo.*}}",
"SE {valorDoAlmoco + valorDaBebida !== dinheiroNaCarteira} {ESCREVA {*Minha esposa foi almoçar comigo.*}}",
"SE {valorDoAlmoco * 2 + valorDaBebida <= dinheiroNaCarteira} {ESCREVA {*Minha esposa foi almoçar comigo.*}}",
"SE {valorDoAlmoco + valorDaBebida * 2 == dinheiroNaCarteira} {ESCREVA {*Minha esposa foi almoçar comigo.*}}",
],
correctAnswer:
"SE {valorDoAlmoco * 2 + valorDaBebida <= dinheiroNaCarteira} {ESCREVA {*Minha esposa foi almoçar comigo.*}}",
},
{
question: "O que são Funções Recursivas?",
options: [
"Funções que envolvem dados de outras funções para serem executadas",
"Funções que refere a si mesma, ou seja, dentro da função tem uma chamada da própria função.",
"Funções que utilizam mais recursos do sistema (como memória).",
"Funções que utilizam recursos de outras funções para serem executadas",
],
correctAnswer:
"Funções que refere a si mesma, ou seja, dentro da função tem uma chamada da própria função.",
},
{
question:
"Com base na seguinte query, o que será retornado do banco de dados? <br>SELECT* FROM frutas WHERE nome_fruta LIKE '_B%'",
options: [
"Irá retornar o nome de todas as frutas que começam com a letra B.",
"Irá retornar o nome de todas as frutas que tenham a letra B como segunda letra.",
"Irá retornar o nome de todas as frutas que começam com_B.",
"Irá retornar o nome de todas as frutas que possuem a letra B em qualquer posição",
],
correctAnswer:
"Irá retornar o nome de todas as frutas que tenham a letra B como segunda letra.",
},
{
question: "Qual é a principal função do protocolo TCP/IP na internet?",
options: [
"Controlar o tráfego de dados entre servidores.",
"Garantir a segurança dos dados transmitidos.",
"Padronizar a estrutura dos cabos de rede.",
"Facilitar a comunicação entre dispositivos em uma rede.",
],
correctAnswer: "Facilitar a comunicação entre dispositivos em uma rede.",
},
{
question: "Qual é a principal característica de um banco de dados NoSQL?",
options: [
"Armazenamento de dados apenas em formato XML.",
"Uso exclusivo de linguagem SQL para consultas.",
"Estrutura flexível para armazenamento de dados não relacionais.",
"Garantia de consistência ACID (Atomicidade, Consistência, Isolamento, Durabilidade).",
],
correctAnswer:
"Estrutura flexível para armazenamento de dados não relacionais.",
},
{
question:
"O que é uma User Story (História do Usuário) em metodologias ágeis?",
options: [
"Um diagrama que representa a interação do usuário com um sistema.",
"Um conjunto de requisitos técnicos para desenvolvimento de software.",
"Uma descrição curta de uma funcionalidade do ponto de vista do usuário.",
"Um método para mapear a jornada do usuário em um produto.",
],
correctAnswer:
"Uma descrição curta de uma funcionalidade do ponto de vista do usuário.",
},
{
question: "O que é um ataque de força bruta?",
options: [
"Um ataque que utiliza métodos de engenharia social para acessar dados confidenciais.",
"Um ataque que compromete sistemas de segurança baseados em autenticação de dois fatores.",
"Um ataque que explora vulnerabilidades de software para ganhar acesso não autorizado.",
"Um ataque que tenta descobrir uma senha através de tentativas repetidas.",
],
correctAnswer:
"Um ataque que tenta descobrir uma senha através de tentativas repetidas.",
},
{
question:
"Qual é o objetivo principal da prática de Continuous Deployment (Implantação Contínua)?",
options: [
"Automatizar a integração de código entre diferentes equipes de desenvolvimento.",
"Garantir a segurança dos servidores de produção.",
"Automatizar o processo de implantação de código em ambientes de produção.",
"Monitorar constantemente o desempenho de uma aplicação em produção.",
],
correctAnswer:
"Automatizar o processo de implantação de código em ambientes de produção.",
},
{
question: "O que é um nó folha em uma árvore binária?",
options: [
"Um nó sem filhos.",
"O nó central de uma árvore.",
"Um nó com apenas um filho.",
"O último nó inserido na árvore.",
],
correctAnswer: "Um nó sem filhos.",
},
{
question: "O que é DOM (Document Object Model)?",
options: [
"Um modelo de interação de usuários com um site.",
"Uma linguagem de programação para desenvolvimento web.",
"Uma representação estruturada dos elementos de uma página web.",
"Uma técnica para criar animações em páginas web.",
],
correctAnswer:
"Uma representação estruturada dos elementos de uma página web.",
},
{
question: "Sobre o HTML, é correto afirmar:",
options: [
"Trata-se de uma linguagem apenas de marcação, sem influência na performance ou efeito visual de uma página.",
"É uma linguagem poderosa que permite a criação de páginas web dinâmicas, utilizando funcionalidades de banco de dados e interações complexas.",
"É uma linguagem de programação que possui loops, condições e estruturas semelhantes a outras linguagens como JavaScript e Python.",
"Trata-se de uma linguagem de marcação fundamental na construção de páginas web que, com o auxilio de uma linguagem de folha de estilos e de uma linguagem de programação, permite a criação de páginas inteligentes e estilizadas.",
],
correctAnswer:
"Trata-se de uma linguagem de marcação fundamental na construção de páginas web que, com o auxilio de uma linguagem de folha de estilos e de uma linguagem de programação, permite a criação de páginas inteligentes e estilizadas.",
},
{
question: "Qual é a finalidade do encapsulamento em Orientação a Objetos?",
options: [
"Garantir que um objeto possa ser acessado apenas por outros objetos da mesma classe.",
"Esconder a implementação interna de um objeto e permitir o acesso controlado aos seus dados.",
"Manter a abstração de um objeto completamente protegida contra alterações.",
"Evitar a criação de métodos em classes que possam ser acessados por outras classes.",
],
correctAnswer:
"Esconder a implementação interna de um objeto e permitir o acesso controlado aos seus dados.",
},
{
question: "Qual a principal diferença entre os métodos GET e POST?",
options: [
"GET é utilizado para enviar dados sensíveis ao servidor, enquanto POST é utilizado para obter informações do servidor.",
"GET envia dados ao servidor enquanto POST solicita informações do servidor.",
"GET é mais seguro que o POST pois usa criptografia nos dados enviados.",
"GET é utilizado para recuperar dados do servidor, enquanto POST é utilizado para enviar dados ao servidor.",
],
correctAnswer:
"GET é utilizado para recuperar dados do servidor, enquanto POST é utilizado para enviar dados ao servidor.",
},
{
question: "O que é escopo em uma função?",
options: [
"É a visibilidade de uma variável dentro de um loop.",
"É o tempo de vida de uma variável dentro de uma função.",
"É a visibilidade de uma variável dentro de uma função, determinando onde a variável pode ser acessada.",
"É a quantidade de memória alocada para uma variável dentro de uma função.",
],
correctAnswer:
"É a visibilidade de uma variável dentro de uma função, determinando onde a variável pode ser acessada.",
},
{
question: "O que é um 'commit' no Git?",
options: [
"Um repositório remoto para onde os arquivos são enviados.",
"Uma versão específica de um arquivo no histórico do Git.",
"Uma cópia dos arquivos para backup.",
"Uma operação que adiciona todos os arquivos do repositório ao Git.",
],
correctAnswer: "Uma versão específica de um arquivo no histórico do Git.",
},
{
question: "O que é criptografia assimétrica?",
options: [
"Um método de criptografia onde a mesma chave é usada tanto para criptografar quanto para descriptografar os dados.",
"Uma técnica de criptografia onde uma chave privada é usada para criptografar e uma chave pública é usada para descriptografar.",
"Um processo de criptografia onde a chave de criptografia é transmitida junto com a mensagem criptografada.",
"Uma técnica de criptografia usada apenas para textos pequenos.",
],
correctAnswer:
"Uma técnica de criptografia onde uma chave privada é usada para criptografar e uma chave pública é usada para descriptografar.",
},
{
question: "Qual é o objetivo dos testes de integração em um software?",
options: [
"Testar cada módulo de um sistema isoladamente.",
"Garantir que cada parte do sistema funcione corretamente individualmente.",
"Verificar se as interações entre diferentes partes do sistema funcionam conforme o esperado.",
"Testar a interface do usuário para garantir que seja intuitiva e fácil de usar.",
],
correctAnswer:
"Verificar se as interações entre diferentes partes do sistema funcionam conforme o esperado.",
},
{
question: "Qual é a função do comando SQL SELECT?",
options: [
"Inserir novos registros em uma tabela.",
"Atualizar registros existentes em uma tabela.",
"Selecionar dados de uma tabela ou conjunto de tabelas.",
"Excluir registros de uma tabela.",
],
correctAnswer: "Selecionar dados de uma tabela ou conjunto de tabelas.",
},
{
question: "O que é herança em Programação Orientada a Objetos?",
options: [
"Uma técnica que permite criar classes a partir de outras classes existentes, herdando atributos e métodos da classe original.",
"Uma técnica que permite a criação de objetos a partir de outras instâncias.",
"Uma técnica para criar métodos e atributos em classes baseadas em heranças de funções.",
"Um processo para reescrever a implementação de uma classe em outra linguagem de programação.",
],
correctAnswer:
"Uma técnica que permite criar classes a partir de outras classes existentes, herdando atributos e métodos da classe original.",
},
{
question: "O que são os métodos HTTP PUT e PATCH?",
options: [
"PUT é usado para alterar um dado completo e PATCH altera o dado parcialmente.",
"PUT altera o dado parcialmente e PATCH é usado para alterar um dado completo.",
"Ambos são usados para alterar dados completos.",
"Ambos são usados para alterar dados parciais.",
],
correctAnswer:
"PUT é usado para alterar um dado completo e PATCH altera o dado parcialmente.",
},
{
question:
"Qual a diferença entre um objeto instanciado de uma classe e a própria classe?",
options: [
"Qualquer atributo de uma classe pode ser utilizado diretamente por ela. O objetivo do Objeto é descrever a estrutura com que a classe será construída.",
"A classe é como uma forma em que os objetos podem ser instanciados, a classe não é utilizada diretamente, mas sim seus objetos instanciados.",
"A classe e os objetos são a mesma coisa. A nomenclatura muda de acordo com a linguagem de programação.",
"Classes são como contratos, isto é, não possuem implementações, mas dependem que um objeto possa implementá-las.",
],
correctAnswer:
"A classe é como uma forma em que os objetos podem ser instanciados, a classe não é utilizada diretamente, mas sim seus objetos instanciados.",
},
{
question: "O que é polimorfismo?",
options: [
"É quando uma classe herda os métodos de outra, a classe filha então utiliza os métodos da classe mãe.",
"É um dos princípios da Programação Funcional. Caracteriza-se por possuir funções dentro de outras funções, mantendo o código mais organizado.",
"É um dos princípios da Programação Orientada a Objetos. Caracteriza-se pela herança de classes onde a classe filha sobrescreve a implementação de um método da classe mãe.",
"É um conceito bastante utilizado para variáveis globais em programação estrutural, permitindo seu acesso em todos os pontos do código.",
],
correctAnswer:
"É um dos princípios da Programação Orientada a Objetos. Caracteriza-se pela herança de classes onde a classe filha sobrescreve a implementação de um método da classe mãe.",
},
{
question: "O que é o método PATCH em requisições HTTP?",
options: [
"Um método HTTP que indica a busca e captura de dados do Backend.",
"É o método de acesso à camada Model do padrão MVC.",
"É o método de requisição HTTP que indica que os dados enviados farão uma alteração completa do registro.",
"É o método de requisição HTTP que indica que os dados enviados farão uma alteração parcial do registro.",
],
correctAnswer:
"É o método de requisição HTTP que indica que os dados enviados farão uma alteração parcial do registro.",
},
{
question:
"Sabendo-se que os bancos de dados podem ser classificados em relacionais e não relacionais, qual dos seguintes bancos de dados é não-relacional?",
options: ["MySQL", "PostgreSQL", "Oracle", "MongoDB"],
correctAnswer: "MongoDB",
},
{
question:
"Quais são todos os estados possíveis que um tipo lógico pode assumir?",
options: [
"Verdadeiro, Duvidoso",
"Falso, Duvidoso, Verdadeiro",
"Incerto, Certo",
"Verdadeiro, Falso",
"Verdadeiro, Errado",
],
correctAnswer: "Verdadeiro, Falso",
},
{
question:
"Observe a tabela-verdade a seguir e responda:<br><br>Operando A Operando B Resultado<br>F F F<br>F V V<br>V F V<br>V V V<br><br>A qual operação lógica essa tabela-verdade se refere?",
options: ["AND", "XOR", "NOT", "NAND", "OR"],
correctAnswer: "OR",
},
{
question:
"Qual dos seguintes itens é melhor representado por um valor constante em um algoritmo?",
options: [
"Salário de um Funcionário",
"Valor da Temperatura no final de semana",
"Valor matemático de Pi",
"Distância da Terra à Lua",
"Velocidade de um carro em movimento",
],
correctAnswer: "Valor matemático de Pi",
},
{
question:
"É possível ordenar valores numéricos já armazenados em um vetor de números decimais?",
options: [
"Não, somente é possível ter valores em ordem se os valores forem inseridos em ordem",
"Sim, mas somente se os números forem inteiros. Números decimais não podem ser ordenados",
"Sim, mas para isso é necessário usar um algoritmo para ordenação de vetores",
"Vetores não permitem o armazenamento de números decimais, somente números reais",
"Não, não é possível ordenar valores já armazenados em um vetor em nenhuma hipótese",
],
correctAnswer:
"Sim, mas para isso é necessário usar um algoritmo para ordenação de vetores",
},
{
question: "Qual a diferença entre os operadores lógicos E (AND) e OU (OR)?",
options: [
"AND retorna V apenas se todas as expressões de entrada forem verdadeiras, e o OR retorna V se ao menos uma delas for verdadeira",
"OR retorna V apenas se todas as expressões de entrada forem verdadeiras, e o AND retorna V se ao menos uma delas for verdadeira",
"AND retorna F apenas se todas as expressões de entrada forem verdadeiras, e o OR retorna F se ao menos uma das expressões de entrada for verdadeira",
"AND retorna F apenas se todas as expressões de entrada forem verdadeiras, e o OR retorna F se todas as expressões de entrada forem verdadeiras",
"OR retorna V apenas se todas as expressões de entrada forem falsas, e o AND retorna V se ao menos uma delas for verdadeira",
],
correctAnswer:
"AND retorna V apenas se todas as expressões de entrada forem verdadeiras, e o OR retorna V se ao menos uma delas for verdadeira",
},
{
question:
"Qual dos seguintes é um operador de concatenação de strings válido?",
options: ["+", "*", "→", ";", '" "'],
correctAnswer: "+",
},
{
question: `Observe atentamente o algoritmo a seguir:<br>
<br>var<br>
num : inteiro<br>
início<br>
num <- 1<br>
enquanto (num <= 10) faça<br>
escreval (num)<br>
num <- num += 0<br>
fimenquanto<br>
se (num > 10) entao<br>
escreva(num)<br>
  fimse<br>fimalgoritmo<br>
<br>Esse algoritmo possui um erro, que erro é esse?`,
options: [
"Loop Truncado",
"Loop Infinito",
"Erro de Compilação",
"Bloco SE sem SENAO",
"Declaração das Variáveis",
],
correctAnswer: "Loop Infinito",
},
{
question:
"Marque a alternativa que NÃO caracteriza uma etapa do processo de compilação.",
options: [
"Análise Sintática: realiza a análise da estrutura gramatical do código-fonte e constrói uma árvore de análise sintática.",
"Análise Léxica: responsável por identificar os diferentes tokens no código-fonte, como palavras-chave, identificadores e operadores.",
"Análise Semântica: verifica a conformidade do código-fonte com as regras da linguagem e realiza otimizações para melhorar o desempenho.",
"Geração de Código: traduz a representação intermediária em código de máquina específico da plataforma de destino.",
"Otimização de Código: aplica técnicas para melhorar a eficiência do código gerado pelo compilador, como eliminação de código redundante e reordenamento de instruções.",
],
correctAnswer:
"Análise Semântica: verifica a conformidade do código-fonte com as regras da linguagem e realiza otimizações para melhorar o desempenho.",
},
{
question:
"O resultado da expressão lógica ! (6 != 18/3 || true && 3 - 9 > 12 - 6 || true) é:",
options: ["6", "-6", "false", "&&", "true"],
correctAnswer: "false",
},
{
question:
"A _________ ocorre quando se armazena um valor em uma variável; quando deseja-se um desvio no fluxo de nosso código baseado em uma condição booleana, usa-se o comando _________; para realizar uma repetição de instrução, pode-se usar a instrução _________; a fim de não repetir códigos, tem a possibilidade de fazer uso de _________; por fim, para interromper um laço de repetição de forma abrupta, usa-se __________. Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.",
options: [
"composição – if – do-while – funções – break",
"atribuição – test – repetir – funções – parar",
"atribuição – if – do-while – funções – break",
"persistência – test – for – métodos – stop",
"persistência – if – for – métodos – stop",
],
correctAnswer: "atribuição – if – do-while – funções – break",
},
{
question:
"São tipos de estruturas de controle de seleção utilizadas na construção de algoritmos, EXCETO:",
options: [
"Sequencial.",
"Encadeada.",
"Simples.",
"Composta.",
"Múltipla escolha.",
],
correctAnswer: "Sequencial.",
},
{
question:
"Em um determinado código de programação, foi encontrada a expressão booleana “( A or B) and (A or C)”. Como essa expressão poderia ser reescrita para se obter um código mais eficiente, com um menor número de operações?",
options: [
"A or B or C",
"A or (B and C)",
"A and B or C",
"A and B and C",
"( A or B ) and C",
],
correctAnswer: "( A or B ) and C",
},
{
question:
"Os tipos de dados são essenciais na programação, determinando como os valores são armazenados e manipulados. Eles definem os conjuntos de valores e as operações possíveis, desempenhando um papel fundamental na comunicação entre programadores e computadores. Entender os tipos de dados é crucial para criar programas funcionais e robustos.<br><br>Sobre os tipos de dados, analise as assertivas a seguir.<br><br>I. Tipos inteiros armazenam valores que pertencem ao conjunto dos números naturais, sem a parte fracionária.<br>II. Tipos numéricos com a parte fracionária são definidos como reais.<br>III. Tipos caracteres permitem armazenar um único caractere.<br><br>É correto o que se afirma em",
options: [
"I apenas.",
"II apenas.",
"III apenas.",
"II e III apenas.",
"I, II e III.",
],
correctAnswer: "I, II e III.",
},
{
question:
"Os testes de condições desempenham um papel crucial na programação, possibilitando que os programas efetuem escolhas e ações com base em circunstâncias específicas. Essas estruturas condicionais permitem o controle do fluxo de execução do código, contribuindo para a criação de lógica, interatividade e automação em aplicações de software. Assim, a compreensão e o domínio dos testes de condições representam competências essenciais para os programadores no contexto acadêmico e profissional.<br><br>Levando em consideração os testes de condições, pode-se afirmar que",
options: [
"a condição if-else é avaliada e, caso seja verdadeira, é executada a instrução associada ao else.",
"if-else não pode ser executado de forma encadeada.",
"a componente else do if é obrigatória.",
"if-else permite a existência de instruções que não são executadas em um programa.",
"um teste de condição pode ser realizado através da instrução while.",
],
correctAnswer:
"if-else permite a existência de instruções que não são executadas em um programa.",
},
{
question:
"É uma metodologia visualmente amigável e com um objetivo prático para o ensino dos conceitos iniciais ligados à programação, desenvolvimento de softwares/aplicativos e lógica de uma forma geral.<br><br>Marque a alternativa correta que corresponde à descrição apresentada:",
options: [
"Pensamento computacional.",
"Programação em blocos.",
"Programação textual.",
"Programação orientada a objetos.",
"Programação lista de instruções.",
],
correctAnswer: "Programação em blocos.",
},
{
question: `Quanto à lógica de programação, analise as assertivas abaixo e assinale a alternativa correta. <br>
<br> I. Linguagem de programação é o conjunto de representações e/ou regras utilizadas para criar programas.<br>
<br> II. Há três tipos de dados simples: numérico, literal e lógico.<br>
<br> III. Nos tipos de dados estruturados, as informações são compostas por diversos campos.<br>
<br> IV. Expressões regulares são formas concisas de descrever um conjunto de strings que satisfazem um determinado padrão.<br> `,
options: [
"Todas as assertivas estão corretas.",
"Todas as assertivas estão incorretas.",
"Apenas a assertiva I está correta.",
"Apenas as assertivas I e II estão corretas.",
"Apenas as assertivas III e IV estão corretas.",
],
correctAnswer: "Apenas as assertivas III e IV estão corretas.",
},
{
question:
"Qual desses frameworks não é utilizado para desenvolver aplicações front-end?",
options: ["ReactJS", "VueJS", "NestJS", "Angular"],
correctAnswer: "NestJS",
},
{
question:
"Uma grande vantagem da utilização da recursividade é o baixo consumo de memória.",
options: ["Certo", "Errado"],
correctAnswer: "Errado",
},
{
question:
"O for, uma das estruturas de repetição, é utilizado quando o número de iterações não é conhecido antecipadamente.",
options: ["Certo", "Errado"],
correctAnswer: "Errado",
},
{
question: "Em que consiste, basicamente, a elaboração de pseudocódigo?",
options: [
"É uma forma de escrever código-fonte que é compilado antes de ser executado.",
"É uma forma de escrever algoritmos utilizando o Portugal (apenas), de forma a facilitar a compreensão da lógica do programa.",
"É um passo obrigatório na análise de um problema para que possa ser resolvido por meio de um programa.",
"É uma técnica para escrever código-fonte que é executado diretamente, sem a necessidade de compilação.",
"É uma forma de descrever a lógica de um algoritmo, independentemente da linguagem de programação utilizada.",
],
correctAnswer:
"É uma forma de descrever a lógica de um algoritmo, independentemente da linguagem de programação utilizada.",
},
// {
// question: "",
// options: [
// "",
// "",
// "",
// ""
// ],
// correctAnswer: ""
// },
];
const shuffledQuestions = questions.sort(() => Math.random() - 0.5);
function displayQuestions() {
const questionsContainer = document.getElementById("questions-container");
shuffledQuestions.forEach((question, index) => {
const questionElement = document.createElement("div");
questionElement.innerHTML = `
<h3>Pergunta ${index + 1}: ${question.question}</h3>
${question.options
.map(
(option) => `
<input type="radio" id="${option}" name="question${index}" value="${option}">
<label for="${option}">${option}</label><br>
`
)
.join("")}
<hr>
`;
questionsContainer.appendChild(questionElement);
});
}
function submitAnswers() {
const scoreContainer = document.getElementById("score-container");
const correctAnswersContainer = document.getElementById(
"correct-answers-container"
);
let score = 0;
let allQuestionsAnswered = true; // Variável para verificar se todas as perguntas foram respondidas
// Limpar o conteúdo do container de respostas corretas
correctAnswersContainer.innerHTML = "";
shuffledQuestions.forEach((question, index) => {
const selectedOption = document.querySelector(
`input[name="question${index}"]:checked`
);
if (!selectedOption) {
allQuestionsAnswered = false; // Define como falso se alguma pergunta não foi respondida
return; // Para a execução desta iteração
}
if (selectedOption.value === question.correctAnswer) {
score++;
} else {
const correctAnswerElement = document.createElement("p");
correctAnswerElement.innerHTML = `<strong>Pergunta ${
index + 1
}:</strong> A resposta correta é: ${question.correctAnswer}`;
correctAnswerElement.style.color = "red";
correctAnswersContainer.appendChild(correctAnswerElement);
}
});
if (!allQuestionsAnswered) {
alert("Opa! você deixou alguma questão sem responder!"); // Alerta se houver perguntas não respondidas
return; // Não prossegue se alguma pergunta não foi respondida
}
scoreContainer.innerHTML = `<h2>Sua pontuação: ${score}/${shuffledQuestions.length}</h2>`;
}
displayQuestions();