Борис Глебов
Сообщение
#2078 15.4.2007, 6:21
Задача: Составить программы для построения таблицы значений функции на [a,b] с шагом h
с использованием операторов: а) Repeat; б) While. Ввод параметров a, b, h осуществить с помощью оператора Read.
МОЙ ОТВЕТ (а):
Program Task_5;
Var
x,y,a,b,h: Real;
Begin
Readln(x,a,b,h);
Repeat
x:=a;
If x<b Then y:=2*Sqrt(x)*x-Abs(Sin(x))
Else Writeln(x,y)
Until x>=b;
Repeat
x:=x+h;
If x<b Then y:=2*Sqrt(x)*x-Abs(Sin(x))
Else Writeln(y)
Until x>=b
End.
МОЙ ОТВЕТ (б):
Program Task_5b;
Var
x,y,a,b,h: Real;
Begin
Readln(x,a,b,h);
x:=a;
While
x<b
Do
If x>=b Then y:=2*Sqrt(x)*x-Abs(Sin(x))
Else Writeln(x,y);
x:=x+h;
While
x<b
Do
If x>=b Then y:=2*Sqrt(x)*x-Abs(Sin(x))
Else Writeln(y)
End.
Получается много цифр, и причём одних и тех же.
alxdr
Сообщение
#2084 15.4.2007, 9:37
Какие то странные программы у вас получились, я бы даже сказал с ошибками

Объясняю алгоритм:
1. Ввели начальные параметры - a,b,h. x - это не входные данные, а переменная которая будет меняться от a до b.
2. Запускаем цикл с начальным параметром x=a. Условие выхода x>=b. (Или x>b в зависимости от конструкции цикла). В теле цикла считаем y(x), а также производим приращение x, т.е. x=x+h. Выводим x,y.
Получим в итоге таблицу значений.
Julia
Сообщение
#2100 15.4.2007, 15:11
2. Позволю себе добавить: для второго пункта условие продолжения x<=b (т.к. речь идет о цикле с предусловием)
А программы действительно очень странные. Вы значения y пытаетесь вычислять в одном цикле, а x вычислять в следующем. Это по меньшей мере не логично. К тому же первая программа вообще содержит бесконечный цикл.
Борис Глебов
Сообщение
#2104 15.4.2007, 16:00
Я вообще не разбираюсь в программировании, но попробую учесть всё что вы написали. Хотя врядли что-то получиться.