Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 5 / 0
Регистрация: 17.12.2010
Сообщений: 49

Вычисления по заданной формуле

19.12.2010, 13:59. Показов 1043. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Теперь дорогие друзья и форумчане, ещё 1 проблема - нужно найти ошибку и помочь исправить!
Суть программы в том, чтобы происходили вычисления по заданной формуле:
Скрин формулы:

Перед запуском программы создайте 3 текстовых файла:
C:\1\input1.txt - Константа С, считываемая из файла
C:\1\input2.txt - Константа К, считываемая из файла
C:\1\output.txt - Запись конечного результата вычислений производится в этот файл

Ошибка состоит в том, что не могу предусмотреть область определения для данной функции для вводимых С и К которые меньше 0
Помогите пожалуйста исправить програмку

Код програмки:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
program Kursovaia;
uses  CRT;
label 0, 1, 2, 3, 4;
type
  TArray = array[1..1024] of Real;
var
  v,x:integer;
  A: TArray;
  i, C, K: Word;
  F, D: Real;
  input1,input2, output:text;
 
function Fact(N: Word): Real;
begin
  if N = 1 then Fact := 1;
  if N = 0 then Fact := 1 else Fact := N * Fact(N-1);
end;
 
function IntPower(Base: Real; Exp: Word): Real;
var
  P: Real;
begin
  P := Base;
  if Exp = 0 then
    IntPower := 1
  else if Exp = 1 then
    IntPower := Base
  else
    IntPower := Base * IntPower(Base, Exp - 1);
end;
 
begin
  ClrScr;
textcolor(13);
 
 
0: ClrScr;
   Writeln('               ');
   Writeln('               ');
   Writeln('               ');
   Writeln('                   ____________________________________________');
   Writeln('                   ***                                      ***');
   Writeln('                   ***           Viberite deistvie          ***');
   Writeln('                   ***          ___________________         ***');
   Writeln('                   ***                                      ***');
   Writeln('                   ***        1.  Zapusk Programmy          ***');
   Writeln('                   ***        2.  Informacia o failax       ***');
   Writeln('                   ***        3.  Vixod iz programmy        ***');
   Writeln('                   ***                                      ***');
   Writeln('                   ____________________________________________');
   Writeln('               ');
   Writeln('                                   Vvod Komand:         ');
   Writeln('                                                        ');
   readln(v);
If v=1 then goto 1;
If v=2 then goto 3;
If v=3 then goto 2;
  
1:
Clrscr;
Writeln('                   _______________________________________');
Writeln('                   ***                                 ***');
Writeln('                   ***        Vvedite x                ***');
Writeln('                   ***                                 ***');
Writeln('                   _______________________________________');
 
assign(input1,'C:\1\input1.txt');   {zapis C iz Faila}
reset(input1);
read(input1,c);
close(input1); 
 
assign(input2,'C:\1\input2.txt');   {zapis K iz Faila}
reset(input2);
read(input2,k);
close(input2);  
 
Writeln;
  for i := 1 to K do begin
    Write('   X', i, ' = ' );
    ReadLn(A[i]);
  end;
 
If C=K then begin writeln('   ');
writeln('   V znamenatele poluchen nol, provertie dannie!  ');
writeln('   ');
writeln('   Nazmite Enter chtoby prodolzit  ');
writeln('   '); readln; goto 4; end;
If C<0 then begin writeln('   ');
writeln('   V znamenatele poluchen nol, provertie dannie!  ');
writeln('   ');
writeln('   Nazmite Enter chtoby prodolzit  ');
writeln('   '); readln; goto 4; end;
If k<0 then begin writeln('   ');
writeln('   V znamenatele poluchen nol, provertie dannie!  ');
writeln('   ');
writeln('   Nazmite Enter chtoby prodolzit  ');
writeln('   '); readln; goto 4; end;
 
  D := Fact(C) - Fact(K);
  F := 0;
 
  for i := 1 to K do
    F := F + IntPower(C + A[i], K);
  F := F / D;
  WriteLn;
   WriteLn('   F = ', F:18:5);
assign(output,'C:\1\output.txt');   {zapis v fail}
rewrite(output);
write(output,F:18:5);
close(output);
Writeln;
  writeln('                       _____________________________________');
  Writeln('                       *                                   *');
  Writeln('                       *   Nazmite Enter chtoby prodolzit  *');
  Writeln('                       *                                   *');
  writeln('                       _____________________________________');
  Readln;
 
goto 4;
3: Clrscr;
   Writeln('                   __________________________________________________________');
   Writeln('                   ***                                                    ***');
   Writeln('                   ***      Informacia o dannix v failax:                 ***');
   Writeln('                   ***                                                    ***');
   Writeln('                   ***     Konstanta C vvoditsa v faile input1.txt        ***');
   Writeln('                   ***     Konstanta R vvoditsa v faile input2.txt        ***');
   Writeln('                   ***   V fail output.txt vivoditsa konechniy rezultat   ***');
   Writeln('                   ***                                                    ***');
   Writeln('                   ***      Nezmite Enter chtoby prodolzit                ***');
   Writeln('                   ***                                                    ***');
   Writeln('                   __________________________________________________________');
   readln;
4:
  Clrscr;
  writeln('                       _________________________________');
  writeln('                       *                               *');
  Writeln('                       *      Viberite deistvie        *');
  Writeln('                       *                               *');
  writeln('                       *   _________________________   *');
  Writeln('                       *                               *');
  Writeln('                       *   1 - Vozvrat v glavnoe menu  *');
  Writeln('                       *                               *');
  Writeln('                       *   2 - Vihod iz programmy      *');
  writeln('                       *                               *');
  Writeln('                       _________________________________');
 
  Readln(x);
  If x=1 then Goto 0;
  If x=2 then goto 2;
2:
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2010, 13:59
Ответы с готовыми решениями:

Написать программу вычисления суммы числового ряда по заданной формуле
написать программу вычисления суммы числового ряда по формуле S=a^1+2a^2+3a^3+...+na^n помогите кто чем может

Подпрограмма: Напишите функцию для вычисления значения y по заданной формуле
Напишите функцию для вычисления значения y. у = 2x^2, если x ≤ 1, y = x+1/3, если 1 ≤ x≤8, y = √sin^2 x, если x ≥ 8.

Составить программу вычисления значения по заданной формуле для X, принадлежащего отрезку [0.1;0.6]
записать по правилам языка программирования заданную формулу. составить программу вычисления значения по ней для X, принадлежащего отрезку .

2
411 / 330 / 42
Регистрация: 10.03.2010
Сообщений: 3,313
19.12.2010, 14:40
Милый,ну не программируют с goto еще с ельцинских времен
1
5 / 5 / 0
Регистрация: 17.12.2010
Сообщений: 49
19.12.2010, 14:43  [ТС]
Цитата Сообщение от pavelr Посмотреть сообщение
Милый,ну не программируют с goto еще с ельцинских времен
как это
вообщем, помогите пожалуйста сделать в этой программе область определения, т.е. хотелось бы сказать какие участки программы надо заменить и на какой код
если не сложно, пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2010, 14:43
Помогаю со студенческими работами здесь

Вычисления по формуле
----------&gt;1 Z1= ---------------- +-корень квадратный под ним 1+tg во 2 степени Альфа ----------&gt;ctg Альфа ...

Вычисления по формуле.
http://pic.ipicture.ru/uploads/090918/VC7Ky4VrSA.jpg Никак не пойму как это реализовать, индексы с толку сбивают

Вычисления по формуле с использованием подпрограмм.
скоро экзамен,а еще 3 лабы надо сделать,может кто-нибудь поможет мне,вот 1 из лаб Тема ПРОЦЕДУРЫ И ФУНКЦИИ Составить программу...

Вычислить произведение по заданной формуле
Дано натурально число n. Вычислить. P=(1-1/2^2) (1-1/3^2)...(1-1/n^2) где n&gt;2.

Вычислить выражение по заданной формуле
Составить программу с помощью процедур Procedure Составить программу находящую значение следующего выражения \frac{n!}{m!(n-m)!}


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru