Никулин Вячеслав Юрьевич недели (повторы дней не допускаются). Задача 1

advertisement
Никулин Вячеслав Юрьевич
БСОШ №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
Исходный код программы
Результат работы программы
Download