Menu
CoddyTech

Transformador de Dados

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 78 de 78.

challenge icon

Desafio

Difícil

Transforme os registros dos alunos em um relatório. O programa lê um número inteiro n e, em seguida, n registros. Um registro tem três campos separados por ;: um id de aluno, as notas (números inteiros separados por vírgulas) e as disciplinas (separadas por vírgulas):

S123;88,92,85;Math,Science,History

Um aluno é aprovado quando todas as notas são maiores que 70 (uma nota exatamente igual a 70 não é suficiente para aprovação). Verifique isso com o método de array all().

Imprima Qualified students: e a quantidade de alunos aprovados. Em seguida, para cada aluno aprovado, na ordem de entrada, imprima o id, : e a média das notas com duas casas decimais. Depois, imprima Subjects: e, para cada disciplina cursada por pelo menos um aluno aprovado, a disciplina, : e quantos alunos aprovados a cursam, na ordem em que as disciplinas aparecem pela primeira vez.

Para estas entradas:

3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,History

a saída é:

Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1

S124 não é aprovado por causa da nota 65, então English não é contabilizada. Sem nenhum aluno aprovado, a saída termina com a linha Subjects:.

Experimente você mesmo

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Leia n registros e, em seguida, imprima os alunos qualificados e as disciplinas
	pass

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online