1. Процессор с тактовой частотой 2ГГц обрабатывает большое количество дан-ных (чисел), поступающих через компьютерную сеть. Для обработки одного числа нужно выполнить 5 команд, выполнение которых занимает 1 такт; 6 команд, выполнение которых занимает 2 такта; одну команду, выполнение которой занимает 3 такта. Определите, сколько миллионов чисел успеет обработать такой процессор за 1 секунду. В ответ введите только целое число миллионов.
2. Сколько миллионов чисел из предыдущей задачи можно обработать за 1 копейку, если компьютер потребляет 0,2 кВт в час электроэнергии, а 1 кВт стоит 15 рублей?
3. В продаже имеются компьютерные устройства. Сколько денег потратит покупатель при приобретении минимального комплекта устройств, обеспечивающих работу компьютера? В ответе введите только целое число рублей.
4. Компьютерный вирус А заполняет 1 Гбайт за 1 месяц, вирус В заполняет 1 Гбайт за 2 месяца, вирус С заполняет 1 Гбайт за 3 месяца, вирус D заполняет 1 Гбайт за 6 месяцев. На компьютере одновременно обнаружены сразу все четыре вируса. Сколько гигабайтов они заполнят за один месяц?
5. Действие компьютерного вируса состоит в том, что вместо букв "б", "в", "л", "о", "т" выводятся цифры, кроме цифры 0, причём разным буквам соответствуют разные цифры. Выясните, какие цифры каким буквам соответствуют, если известно, что сумма цифр слова "бот" равна 8, слова "вол" равна 9, слова "болт" равна 11 ,слова "лото" равна 12.
begin
var a:=ReadLines('m17.txt').JoinIntoString.ToIntegers;
a.Println;
var b:=a.Select((x,i)->Rec(x,i)).Where(x->x.Item1<0)
.Select(x->x.Item2).ToArray;
if b.Count<>2 then
Writeln('Количество отрицательных элементов не равно двум')
else begin
a:=SeqFill(b[0],0).Concat(a.Skip(b[0]).Take(b[1]-b[0]+1))
.Concat(SeqFill(a.Length-b[1]-1,0)).ToArray;
a.Println
end
end.
Тестовое решение:
23 14 7 15 0 13 -6 41 18 13 8 42 27 -11 3 19 10
0 0 0 0 0 0 -6 41 18 13 8 42 27 -11 0 0 0
Файл с исходными данными имеет имя m17.txt. Тестовый файл находится во вложении. Разбивка на строки сделана по 5 значений, но может быть совершенно произвольной. Также нет привязки именно к 17 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.
2+4+6+...+198+200.
1. Самый короткий вариант
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
Writeln(Range(2,200,2).Sum)
end.
Результат:
10100
2. Более длинный и более "школьный" вариант
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
var s:=0;
var i:=2;
while i<=200 do begin
s:=s+i;
i:=i+2
end;
Writeln(s)
end.
3. Совсем "тупой школьный" вариант (решение "в лоб")
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
var
i,s:integer;
begin
s:=0;
for i:=1 to 200 do
if i mod 2 =0 then s:=s+i;
Writeln(s)
end.
4. Улучшенный "школьный" вариант
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
var
i,s:integer;
begin
s:=0;
for i:=1 to 100 do s:=s+2*i;
Writeln(s)
end.