Preparação da Jornada
Quiz
•
Computers
•
University
•
Practice Problem
•
Hard
cristiane jorge
Used 16+ times
FREE Resource
Enhance your content in a minute
5 questions
Show all answers
1.
MULTIPLE SELECT QUESTION
5 mins • 1 pt
Qual das opções de código C++ é equivalente a este, escrito em C#?
Há várias opções de resposta corretas.
Deve analisar todas, para ponderar quais serão.
*Use a lupa no canto superior esquerdo para ampliar o texto das alternativas.
Answer explanation
As palavras-chave foreach...in permitem-nos iterar uma coleção, sem termos de nos preocupar com a forma como está estruturada (a própria classe dela fornece os métodos que asseguram essa iteração). Em C++ existe o conceito de iterador, explicitamente, mas a sintaxe equivalente for : coleção só foi introduzida no C++ 11.
2.
MULTIPLE CHOICE QUESTION
5 mins • 1 pt
Uma classe PauDeGiz possui um atributo "peso" que representa o peso de um pau de giz. Quando o pau de giz existe, o peso nunca pode ser zero nem negativo. Qual destas alternativas é melhor para fazer isso?
*Use a lupa no canto superior esquerdo para ampliar o texto das alternativas.
Answer explanation
Esta pergunta serve para recordar o conceito de encapsulamento, sob uma perspetiva do seu impacte na qualidade do software, quando não é um único programador a fazer tudo: um progamador a fazer a classe, outro a usá-la, ou até vários programadores diferentes a usá-la no mesmo projeto.
3.
MULTIPLE CHOICE QUESTION
5 mins • 1 pt
Qual é o resultado deste código em C#? E se o usássemos em C++, trocando apenas .Peso por métodos acessores e deixando o resto igual?
*Use a lupa no canto superior esquerdo para ampliar o texto das alternativas.
4.
MULTIPLE CHOICE QUESTION
5 mins • 1 pt
Dada esta declaração de nPauDeGiz em C++ e C#, qual será o comportamento da quantidade de objetos em memória ao executar os códigos de teste abaixo indicados, em C++ e C#? Por exemplo: a linha "new Belial()" fez o número de objetos passar de 0 para 2: objeto Belial e objeto AMinhaCopiaPrivadaDeGiz. E depois, o que sucederá?
*Use a lupa no canto superior esquerdo para ampliar o texto das alternativas.
Answer explanation
C# foi concebida para execução em ambientes de código gerido. Uma das características desses ambientes é a libertação garantida de blocos de memória que não tenham referências para eles no código em execução - "garbage collection". Por esse motivo, em C# o objeto "FabricaDeGiz" será libertado nalgum momento após entregar o seu retorno. E o objeto List<PausDeGiz> criado aquando do new Belial será libertado quando AMinhaCopiaPrivadaDeGiz recebe o novo List<PausDeGiz>, pois o anterior fica sem referências para ele.Já em C++ estes dois objetos ficam em memória, sem nenhum ponteiro que os identifique, pelo que só serão libertado (se tudo correr bem) quando o programa encerrar.C#Belial b = new Belial(); // Criado um objeto Belial pelo new...List<PausDeGiz> AMinhaCopiaPrivadaDeGiz = new List<PausDeGiz>(); //Criado um objeto List<PausDeGiz> (lista vazia)...new FabricaDeGiz() //Criado um objeto FabricaDeGiz...ObterGiz(value) //Como o retorno do método tem de ser um List<PausDeGiz>, é criada essa lista; como tem de ter um pau de giz (valor não nulo), é criado um objeto desses também.--- = (new FabricaDeGiz()).ObterGiz(value) //Após ser devolvido um List de retorno, o objeto FabricaDeGiz fica sem referência em memória, acabará por ser libertado....AMinhaCopiaPrivadaDeGiz = //Ao ser guardado o novo List neste atributo, o anterior List fica sem referência em memória, acabará por ser libertado.C++Belial* b = new Belial(); // Criado um objeto Belial pelo new...list<PausDeGiz> AMinhaCopiaPrivadaDeGiz; //Criado um objeto list<PausDeGiz> (lista vazia), porque em C++ estes atributos não são ponteiros nem referências....new FabricaDeGiz() //Criado um objeto FabricaDeGiz...ObterGiz(value) //Como o retorno do método tem de ser um list<PausDeGiz>, é criada essa lista; como tem de ter um pau de giz (valor não nulo), é criado um objeto desses também.--- = (*(new FabricaDeGiz())).ObterGiz(value) //Após ser devolvido um list de retorno, o objeto FabricaDeGiz fica sem referência em memória, mas não é libertado (porque não houve delete)....AMinhaCopiaPrivadaDeGiz = //Ao ser guardado o novo list neste atributo, o anterior list fica sem referência em memória, mas não é libertado (porque não houve delete).NOTA: em C# não é garantido que a libertação de memória seja imediata, nem que a FabricaDeGiz seja libertada antes de AMinhaCopiaPrivadaDeGiz: podem ocorrer por ordem inversa ou até ao mesmo tempo, podem até ocorrer muito mais tarde. Depende de quando e como for executado o processo concorrente do garbage collector. É garantido é que ocorrerá.
5.
MULTIPLE CHOICE QUESTION
5 mins • 1 pt
Qual destas formas de implementação em C# é a mais adequada para termos uma fórmula fácil de ler em código, próxima da fórmula matemática?
Ajuda Geral: Todas as opções têm código correto e funcional, mas a pergunta pede para identificar o mais adequado para um fim específico.
*Use a lupa no canto superior esquerdo para ampliar o texto das alternativas.
Answer explanation
O recurso a propriedades permite-nos ter métodos visíveis como tal e métodos menos obstrusivos, propiciadores de expressões mais legíveis. Contudo, deve-se ponderar se o grau de complexidade e de efeitos secundários não deve ser exposto aos programadores. Se, em vez de termos um set para "PesoTotal", tivessemos um método "AlterarPesoTotal()", a probabilidade dos programadores lerem a documentação para compreenderem como ele funciona aumenta. Além disso, não é possível atribuir um valor a um método por lapso de escrita (mas a uma propriedade com set, sim).
Access all questions and much more by creating a free account
Create resources
Host any resource
Get auto-graded reports

Continue with Google

Continue with Email

Continue with Classlink

Continue with Clever
or continue with

Microsoft
%20(1).png)
Apple
Others
Already have an account?
Similar Resources on Wayground
10 questions
Introducción a la infraestructura TI
Quiz
•
University
10 questions
PP-INFORMÁTICA BÁSICA
Quiz
•
University
10 questions
Redes I
Quiz
•
University
10 questions
SEGURIDAD DE LA INFORMACION
Quiz
•
University
10 questions
Subtema 1.1 EVA
Quiz
•
University
10 questions
TC3003B - ACL
Quiz
•
University
10 questions
TH2 - Electrónica
Quiz
•
University
10 questions
Conocimientos sobre Scrum
Quiz
•
University
Popular Resources on Wayground
8 questions
2 Step Word Problems
Quiz
•
KG - University
20 questions
Comparing Fractions
Quiz
•
4th Grade
15 questions
Fractions on a Number Line
Quiz
•
3rd Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
25 questions
Multiplication Facts
Quiz
•
5th Grade
10 questions
Latin Bases claus(clois,clos, clud, clus) and ped
Quiz
•
6th - 8th Grade
22 questions
fractions
Quiz
•
3rd Grade
7 questions
The Story of Books
Quiz
•
6th - 8th Grade
Discover more resources for Computers
8 questions
2 Step Word Problems
Quiz
•
KG - University
7 questions
Comparing Fractions
Interactive video
•
1st Grade - University
7 questions
Force and Motion
Interactive video
•
4th Grade - University
10 questions
14.2 Independent/Dependent Variables
Quiz
•
KG - University
18 questions
Great Lakes States
Quiz
•
KG - University
7 questions
DNA, Chromosomes, Genes, and Traits: An Intro to Heredity
Interactive video
•
11th Grade - University
7 questions
Reflexive Verbs in Spanish
Lesson
•
9th Grade - University
7 questions
Narrative Writing 1
Interactive video
•
4th Grade - University
