Никулин Вячеслав Юрьевич БСОШ №1, с.Бакалы Язык программирования: Паскаль. Turbo Pascal Version 7.0 Задача 1 Разработать программу, случайным образом перемешивающую дни недели (повторы дней не допускаются). Исходный код программы: var f1,f2:text; a:array[1..7] of string; b:array[1..7] of string; i,x,y:integer; begin randomize; assign(f1,'z1.in'); assign(f2,'z1.out'); {rewrite(f1);} rewrite(f2); reset(f1); for i:=1 to 7 do readln(f1,a[i]); {программа считывает из f1 массив a с днями недели} x:=random(7); y:=0; for i:=x downto 1 do begin y:=y+1; b[y]:=a[i]; {программа составляет массив b из end; перемешанных случайным образом for i:=7 downto x+1 do элементов массива a} begin y:=y+1; b[y]:=a[i]; end; for i:=1 to 7 do writeln(f2,b[i]); close(f1); close(f2); end. Входные данные: Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье Выходные данные: воскресенье суббота пятница четверг {программа случайным образом перемешивает дни недели} среда вторник понедельник Исходный код программы Результат выполнения программы: Задача 2 Разработать интерактивную программу для игры «Камень-НожницыБумага-Ящерица-Спок» пользователя с компьютером. Исходный код программы: var f1,f2:text; a:array[1..5] of string; i,x:integer; begin randomize; assign(f1,'z2.in'); assign(f2,'z2.out'); {rewrite(f1);} rewrite(f2); reset(f1); for i:=1 to 5 do {программа считывает из f1 массив а со словами: readln(f1,a[i]); камень, ножницы, бумага, ящерица, спок} x:=random(5); {программа выводит одно из слов массива а} write(f2,a[x]); close(f1); close(f2); end. Входные данные: Камень Ножницы Бумага Ящерица Спок Выходные данные: Ящерица {программа выводит одно из слов случайным образом} Исходный код программы Результат выполнения программы Задача 3 Разработать программу, которая выводит на экран все простые числа в диапазоне от 1 до 1000. Исходный код программы: var i,j,k,x:integer; begin x:=0; for i:=1 to 1000 do begin for j:=1 to i do if (i mod j)=0 then x:=x+1; if x=2 then begin write(i,' '); k:=k+1; end; if k=20 then begin writeln; k:=0; end; {простые числа имеют только два делителя, поэтому программа находит числа, которые имеют два делителя} {программа выводит по 20 чисел в строку} x:=0; end; readln; end. Входные данные: Числа от 1 до 1000 Выходные данные: Все простые числа от 1 до 1000 Исходный код программы Результат работы программы Задача 4 Разработать программу «Угадай число», которая с помощью генератора случайных чисел загадывает и проверяет угадывание числа. В программе используется интервал от 1 до 100 и дается пять попыток угадывания. Исходный код программы: var i,x,y:integer; begin randomize; i:=1; x:=random(100); {программа загадывает число от 1 до 100} while (x<>y) and (i<6) do begin readln(y); {пользователь вводит число} if x=y then write('true') else write('false'); {программа выводит true i:=i+1; если число угадано, и writeln; false, если число не end; угадано} readln; end. Входные данные: 1 2 3 4 5 6 Выходные данные: False False False {программа проверяет только 5 чисел, после чего выходит из False цикла} False Исходный код программы Результат работы программы