<span><u>Задача а)</u>
</span>// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
a,b:real;
procedure WriteAvg;
begin
Writeln('Среднее= ',(a+b)/2)
end;
begin
Write('a,b='); Read(a,b);
WriteAvg
end.
<u>Тестовое решение:</u>
a,b=6 4.9
Среднее= 5.45
<u>Задача б)</u>
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
var c:=ReadlnChar('Введите символ:');
if c in ['A'..'z','А'..'я','Ё','ё'] then Writeln('буква')
else
if c in ['0'..'9'] then Writeln('цифра')
else Writeln('спецзнак')
end.
<u>Тестовое решение:</u>
Введите символ: i
буква
Количество подписчиков к концу шестой недели:
1+2+4+8+16+32 = 63
Замечание: обработка возможных ошибок исходных данных отсутствует.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in;
ofstream out;
int a = 5, b = 15, c;
int k[b-a+1];
for (int i=0; i<b-a+1; i++) k[i] = 0;
in.open("f.txt");
while(in >> c)
{
k[c-a]++;
}
for (int i=0; i<b-a+1; i++)
cout << i+a << " - " << k[i] << '\n';
in.close();
return 0;
}
Пример:
Содержимое файла f.txt:
7 10 15
8 7 7 10
Результат:
5 - 0
6 - 0
7 - 3
8 - 1
9 - 0
10 - 2
11 - 0
12 - 0
13 - 0
14 - 0
15 - 1
Второй сортировка я думаю что это правильно
1. Программа умножает своё значение на десять и затем прибавляет индекс цикла. В итоге делает это 4 раза.
Это равносильно сложению строковых данных в виде чисел от одного до четырёх.
s = '1' + '2' + '3' + '4' = 1234
Ответ: 1234.
2. Программа прибавляет к значению y значение индекса x (от 6 до 2) и затем делит значение на 5. [5 раз]
y = (0 + 6) / 5 = 1.2
y = (1.2 + 5) / 5 = 1.24
y = (1.24 + 4) / 5 = 0.848
y = (0.848 + 3) / 5 = 0.7696
y = (0.7696 + 2) / 5 = 0.55392
Ответ: 0.55392.
3. Программа прибавляет к значению s один и затем умножает значение на 2. [4 раза]
s = (0 + 1) * 2 = 2
s = (2 + 1) * 2 = 6
s = (6 + 1) * 2 = 14
s = (14 + 1) * 2 = 30
Ответ: 30.