Pascal: Есть набор цветов:'red', 'orange', 'yellow', 'green', 'blue', 'magenta'. С...

0 голосов
136 просмотров

Pascal: Есть набор цветов:'red', 'orange', 'yellow', 'green', 'blue', 'magenta'. С клавиатуры вводится цвет. Определить его порядковый номер в этом множестве.


Информатика (15 баллов) | 136 просмотров
0

Вероятно, вопрос о перечислимом типе данных и о функции Ord

0

Да, скорее всего.

0

Ага, на read выдаёт ошибку компиляции "нельзя считывать данные этого типа".

0

ТАк что придётся "множество цветов" от учителя хранить в массиве, пробегать по нему и проверять на совпадение введённой строки с цветами в массиве.

0

Весьма вероятно, что read(Colors) неприятно удивит учителя, с перечислимым то типом :)

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1541 от 29.09.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var Color:array of string:=('red','orange','yellow','green','blue','magenta');
  var MyColor:=ReadlnString('Введите цвет:').ToLower;
  var i:=Color.IndexOf(MyColor);
  if i<0 then Writeln('Неверный цвет')<br>  else Writeln('Номер цвета равен ',i+1)
end.

Пример
Введите цвет: Green
Номер цвета равен 4
(150k баллов)
0

Спасибо!