![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
mitz |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: ![]() ![]() ![]() |
Доброй ночи, помогите, пожалуйста, с программой:
Программа должна быть написана на языке Pascal. Метод должен быть реализован в виде отдельной подпрограммы. Программа должна обеспечивать решение уравнений трех видов. Результаты работы программы должны быть выведены на экран дисплея и помещены в текстовый файл на диск. В программе должна быть предусмотрена защита о недопустимых исходных данных и промежуточных результатов. Программа предназначена для использования на персональных компьютерах типа IBM PC стандартной комплектации. Вот что более-менее скомпоновал: uses
CRT;
var
E,x0,x1,y0,y1,x:real;
imax,i,j,k,m:integer;
fi:text;
function F(x:real):real;
begin
F := 1-exp(j*ln(abs(x)))-exp(k*ln(abs(pi*exp(m*ln(abs(x)))/4)));
end;
begin
ClrScr;
writeln('Введите j,k,m'); readln(j,k,m);
E:=1.0E-10;
x0:= 1; x1:= x0+(10-100)*E;
i:=1; imax:=20;
y0:=F(x0);
repeat
y1:=F(x1);
x:=x1-(x1-x0)/(y1-y0)*y1;
writeln('Xn+1 = ',x);
if abs(x-x1)<E then break;
x0:=x1; y0:=y1;
x1:=x; inc(i);
until (i=imax);
writeln('X = ',x+E:0:10,'; Iterates: ',i);
readkey;
assign(fi,'file.txt');
rewrite(fi);
writeln(fi, 'Xn+1 = ', x);
writeln(fi,'X = ',x+E:0:10,'; Iterates: ',i);
close(fi);
end.
В общем, не получается никак сделать так, чтобы выводилась в файл не одна строка 'X= ', а несколько, в зависимости от количества итераций. Как сделать так, чтобы записывалось в файл несколько результатов? И как реализовать защиту о недопустимых исходных данных и промежуточных результатов? Сообщение отредактировано: mitz - 12.09.2013 23:08 |
![]() ![]() |
APAL |
![]()
Сообщение
#2
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Append (процедура)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Открывает существующий файл для продолжения записи в файл.
Объявление:
Procedure Append(Var F : Text);
Где:
F - переменная текстового файла.
Режим:
Windows, Real, Protected
Замечания:
Параметр F - переменная текстового файла, которая должна быть связана с
внешним файлом при помощи вызова процедуры Assign.
Append открывает существующий внешний файл с именем, определенным в файловой
переменной F. Если внешний файл с данным именем не существует, то происходит
ошибка ввода/вывода. Если F уже открыт, то он закрывается и вновь
открывается. Текущая позиция файла устанавливается на конец файла.
-------------------- |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 18:34 |