Preparação da Jornada

Preparação da Jornada

University

5 Qs

quiz-placeholder

Similar activities

Semana do Calouro

Semana do Calouro

University

10 Qs

Evaluación Scratch 5tos

Evaluación Scratch 5tos

University

10 Qs

Seguridad de la Información

Seguridad de la Información

University - Professional Development

10 Qs

¿Cuánto sabes sobre la tecnología que cambia al mundo?

¿Cuánto sabes sobre la tecnología que cambia al mundo?

University

10 Qs

Relés

Relés

University

10 Qs

GOOGLE DRIVE

GOOGLE DRIVE

University - Professional Development

10 Qs

Tema 8: Motores y otros actuadores de electrodomésticos

Tema 8: Motores y otros actuadores de electrodomésticos

12th Grade - University

10 Qs

PowerPoint 1

PowerPoint 1

12th Grade - University

10 Qs

Preparação da Jornada

Preparação da Jornada

Assessment

Quiz

Computers

University

Practice Problem

Hard

Created by

cristiane jorge

Used 16+ times

FREE Resource

AI

Enhance your content in a minute

Add similar questions
Adjust reading levels
Convert to real-world scenario
Translate activity
More...

5 questions

Show all answers

1.

MULTIPLE SELECT QUESTION

5 mins • 1 pt

Media Image

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.

Media Image
Media Image
Media Image
Media Image

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.

Media Image
Media Image
Media Image
Media Image

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

Media Image

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.

Media Image
Media Image
Media Image
Media Image

4.

MULTIPLE CHOICE QUESTION

5 mins • 1 pt

Media Image

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.

Media Image
Media Image
Media Image
Media Image

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

Media Image

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.

Media Image
Media Image
Media Image
Media Image

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

Google

Continue with Google

Email

Continue with Email

Classlink

Continue with Classlink

Clever

Continue with Clever

or continue with

Microsoft

Microsoft

Apple

Apple

Others

Others

Already have an account?