Могу в предложить в данном случае использовать goto и метки. Ну, если вы имеете какой то признак неправильных данных, например, это отрицательные значения (предположим, что это неправильные данные) То на этапе, когда вы вводите эти значения, вы должны поставить условный оператор. Т.е. if a<0 tnen begin Writeln('Вы ввели неверные данные'); goto 1 else goto 2; Метку 1 вы ставите в начало алгоритма, т.е. туда, откуда вы хотите начать повторное выполнение программы, а метку 2 поставить в продолжение алгоритма, т.е. на тот случай, если данные были введены верно
if a<0 tnen
begin
Writeln('Вы ввели неверные данные');
goto 1
else
goto 2;
Метку 1 вы ставите в начало алгоритма, т.е. туда, откуда вы хотите начать повторное выполнение программы, а метку 2 поставить в продолжение алгоритма, т.е. на тот случай, если данные были введены верно
Решение:
1)6 мегапикс. = 6000000 пикс;
2) Пусть x ширина картинки, тогда y ее длина.
Уравнение: X * 1,5Y = 6000000
3) Находим отношение (1,5). Получается уравнение: 6000000 / X * Y = 1,5;
4)Затем по пропорции находим произведение X и Y. Получилось: 6000000 / 1,5 = X * Y; 4000000 = X * Y;
5)Здесь картинка получается квадратом (условно, без уменьшение ширины, без 1,5);
6)Отсюда можно сделать вывод, что умножение Y на 1,5 дает ответ 3, а разрешение картинки равно: X * Y = 2 * 3 = 6 мегапикс.
P. S. Извиняюсь, что немного муторно, но Информатика есть инорматика...