Составьте блок схему: Отличникам студенческой молодежи с юга страны было предложено заполнить онлайн-анкету относительно их предпочтения не формальной деятельности. Всего анкета включала 5 вариантов. Каждый ученик мог выбрать только один вариант из следующих:
1. Поездка в Москву
2. Фильм в кинотеатре
3. Спектакль в театре
4. Снежные игры на горе
5. Шоколадная мастерская
Написать алгоритм, включающий данные анкеты пока не будет введено значение -100. Число 1 выражает выбор первого варианта (поездка в Москву), число 2 выражает выбор второго варианта (фильм в кинотеатре) и так далее.
Алгоритм должен вычислить и отразить:
А. Сколько студентов ответили на опрос?
B. Какую не формальную деятельность учащиеся предпочитают (т. е. ту, которая набрала максимальное количество голосов). Предположим, что нет ситуации для ничьи.
C. Сколько голосов получила формальная деятельность, которую выбрали студены(которая выйграла) .
Д. Если есть какое-то конкретное не формальное действие, получившее менее 5 голосов от учащихся, выведете, какая это именно не формальная деятельность, а рядом с ним чтобы было написаны слова «менее успешная идея».
Внимание! Если программа не работает, обновите версию!
procedure FillStack(st:Stack<integer>; sq:sequence of integer);
begin
foreach var t in sq do st.Push(t);
end;
procedure PrintStack(st:Stack<integer>; s:string);
begin
Write(s); st.Println
end;
procedure ToStack(sta,stb:Stack<integer>; Even:boolean);
begin
if Even then
while sta.Count>0 do begin
var v:=sta.Pop;
if v.IsEven then begin
stb.Push(v);
exit
end
end
else
while sta.Count>0 do begin
var v:=sta.Pop;
if v.IsOdd then begin
stb.Push(v);
exit
end
end
end;
begin
var st1:=new Stack<integer>;
FillStack(st1,Seq(2,13,20,18,1));
PrintStack(st1,'Стек1: ');
var st2:=new Stack<integer>;
FillStack(st2,Seq(9,11,10,8,4));
PrintStack(st2,'Стек2: ');
var st3:=new Stack<integer>;
while st1.Count+st2.Count>0 do begin
ToStack(st1,st3,True);
ToStack(st2,st3,False);
end;
PrintStack(st3,'Стек3: ')
end.
Результат
Стек1: 1 18 20 13 2
Стек2: 4 8 10 11 9
Стек3: 2 9 20 11 18