ЗАДАНИЕ ПО ИНФОРМАТИКЕ В КУМИРЕ Задание 3 ( ).
Для графического исполнителя Чертёжник составьте программу для нахождения значения переменной по заданной формуле. Выберите формулу, которую вы уже изучили по алгебре, физике или химии. Значения переменных, которые входят в формулу, должны вводиться с клавиатуры. По ходу выполнения программы должен выводиться текст, который объясняет выполняемые действия.
В программе произведите расчёт по выбранной формуле и выведите результат. Выводить текст и результат работы програ
Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам
1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i).
2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.
3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).
Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора
Ввод()
Присваивание
Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.
Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2.
И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.
Успехов!
1)
var
a: real;
x, y: integer;
begin
writeln('Введите дробное число');
readln(a);
x:= trunc(a);
y:= frac(a);
writeln(x, ' рублей ', y * 100, ' копеек');
readln;
end.
2)
var
n: 100..999;
a, b, c: 0..9; //a - сотни, b - десятки, с - единицы
begin
writeln('Введите трехзначное число');
readln(n);
a:= n div 100;
b:= (n mod 100) div 10;
c:= n mod 10;
writeln('Сумма цифр: ', a + b + c);
readln;
end.
3)
var
a, b, c: real;
begin
writeln('Введите числа а и b');
readln(a, b);
if a > b then
begin
c:= a;
writeln(c, ' - большее число');
end;
if b > a then
begin
c:= b;
writeln(c, ' - большее число');
end;
if b = a then writeln('Числа равны');
readln;
end.