Предмет: Информатика,
автор: WraTh373
Дан текст из строчных латинских букв, за которыми следует точка. Включить в множество первые вхождения букв в текст, сохраняя их исходный взаимный порядок.Pascal.Решить с использованием процедур
Ответы
Автор ответа:
0
Напишу "современный" вариант решения. Хотя бы для того, чтобы показать, насколько современные способы решения задач в том же паскале ушли вперед по сравнению с тем временем когда придумывались эти задачи...
// PascalABC.NET 3.0, сборка 1088
begin
var s:=ReadString('Введите строку: ');
var MySet:=s.Where(x->x in ['a'..'z']).Distinct;
Writeln(MySet)
end.
Тестовое решение:
Введите строку: this is an example text.
[t,h,i,s,a,n,e,x,m,p,l]
А вот если воспользоваться "традиционной" работой с множеством, исходный порядок следования символов будет нарушен:
// PascalABC.NET 3.0, сборка 1088
var
MySet:set of char;
procedure AddToSet(s:string; var pSet:set of char);
begin
foreach var c in s do
if c in ['a'..'z'] then Include(pSet,c)
end;
begin
var s:=ReadString('Введите строку: ');
AddToSet(s,MySet);
Writeln(MySet)
end.
Тестовое решение:
Введите строку: this is an example text.
{n,e,m,l,t,s,a,i,h,p,x}
// PascalABC.NET 3.0, сборка 1088
begin
var s:=ReadString('Введите строку: ');
var MySet:=s.Where(x->x in ['a'..'z']).Distinct;
Writeln(MySet)
end.
Тестовое решение:
Введите строку: this is an example text.
[t,h,i,s,a,n,e,x,m,p,l]
А вот если воспользоваться "традиционной" работой с множеством, исходный порядок следования символов будет нарушен:
// PascalABC.NET 3.0, сборка 1088
var
MySet:set of char;
procedure AddToSet(s:string; var pSet:set of char);
begin
foreach var c in s do
if c in ['a'..'z'] then Include(pSet,c)
end;
begin
var s:=ReadString('Введите строку: ');
AddToSet(s,MySet);
Writeln(MySet)
end.
Тестовое решение:
Введите строку: this is an example text.
{n,e,m,l,t,s,a,i,h,p,x}
Автор ответа:
0
"Ты написал какой-то Inc и переменную double, а мы это не проходили, двойка!" - такой учитель являет печальное зрелище.
Автор ответа:
0
Вы, как всегда, правы. Только вот в то, что за Inc и double учителя ставят двойки как-то не очень верится. Хотя, может быть, и такое бывает. Вначале страшно ученикам признаваться, что что-то не знаешь, но потом это проходит.
Автор ответа:
0
Это не моя фантазия, знакомые рассказывали. Да что далеко ходить, тут у нас есть такой старшеклассник, которого учительница информатики гоняет за любое отклонение от Турбо Паскаля. Хотите пообщаться? Дам ссылку на его профиль...
Автор ответа:
0
Все, наверное, может быть. Но все-таки, не все так однозначно. Если ученик/студент использует в программе Inc, double и т.д., но при этом понятия не имеет что это такое, то учитель вполне может поставить 2 хотя бы за списывание. Я не против списывания (иначе что я тут вообще делаю?), однако настаиваю, что в этом списанном надо хотя бы немного разобраться.
Автор ответа:
0
А тут нет даже повода для разногласий. Однозначно тот, кто использует те или иные конструкции, должен знать все необходимое о них. А иначе- вердикт: "списано!" и закономерные "два балла".
Похожие вопросы
Предмет: Русский язык,
автор: poltavetssonia
Предмет: Информатика,
автор: abasevadinara1
Предмет: История,
автор: wmrnrw
Предмет: Информатика,
автор: IvanPetrov12
Предмет: География,
автор: rubtsova971