6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
1

прокоментировать програму

05.06.2010, 16:15. Показов 989. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
{$N+}
uses crt;
function Calculate(SMyExpression: string; digits: Byte): string;
 
var 
   z: Char;
   ipos: Integer; 
 
   function StrToReal(chaine: string): Real;
   var
     r: Real; 
     Pos: Integer; 
   begin 
     Val(chaine, r, Pos); 
     if Pos > 0 then Val(Copy(chaine, 1, Pos - 1), r, Pos); 
     StrToReal := r;
   end; 
 
   function RealToStr(inreal: Extended; digits: Byte): string; 
   var 
     S: string; 
   begin 
     Str(inreal: 0: digits, S); 
     realToStr := S; 
   end; 
 
   procedure NextChar; 
   var 
     s: string; 
   begin 
     if ipos > Length(SMyExpression) then 
     begin 
       z := #9; 
       Exit; 
     end 
     else 
     begin 
       s := Copy(SMyExpression, ipos, 1); 
       z := s[1]; 
       Inc(ipos); 
     end; 
     if z = ' ' then nextchar; 
   end; 
 
   function Expression: Real; 
   var 
     w: Real; 
 
     function Factor: Real; 
     var 
       ws: string; 
     begin 
       Nextchar; 
       if z in ['0'..'9'] then 
       begin 
         ws := ''; 
         repeat 
           ws := ws + z; 
           nextchar 
         until not (z in ['0'..'9', '.']); 
         Factor := StrToReal(ws); 
       end 
       else if z = '(' then 
       begin 
         Factor := Expression; 
         nextchar 
       end 
       else if z = '+' then Factor := +Factor 
       else if Z = '-' then Factor := -Factor;
     end; 
 
     function Term: Real;
     var 
       W: Real; 
     begin 
       W := Factor; 
       while Z in ['*', '/'] do 
         if z = '*' then w := w * Factor 
       else 
         w := w / Factor; 
       Term := w;
     end; 
   begin 
     w := term; 
     while z in ['+', '-'] do 
       if z = '+' then w := w + term 
     else 
       w := w - term; 
     Expression := w;
   end;
begin 
   ipos   := 1; 
   Calculate := RealToStr(Expression, digits);
end;
var s,s1:string;
begin
clrscr;
writeln('Vvedite vyrazenye:');
readln(s);
s1:=Calculate(s, 3);
write(s1);
readln
end.
помогите разобраться в коде
обясните пожалуйста (кто знает) как работает програма и что значит каждая функция и процедура
Заранее спасибо

Добавлено через 16 часов 35 минут
плиз помогите а то я пробовал разобратся, немного понял но
вот что значат все ети переменные z, ipos ,Pos ,chaine, inreal,digits и т.п
И что ето за тип даных: Extended
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2010, 16:15
Ответы с готовыми решениями:

Нужно прокоментировать две программы
Прокоментируйте пожалуйста если можете программы...Просто надо сделать по такому же принципу...

Не запускает програму
Запускаю програму на турбо паскале и оно выбивает ошибку на StrIntTo. Что делать с прогой можно и...

Проверьте програму...
Пользуясь рекурентной формулой найти сумму S бесконечного ряда с точностью до e, где 0<=x<=2 ...

Составь полноценную програму
if x<-1 then y:=1/(x*x) else if (-1<=x)and(x<2) then y:=x*x else y:=4; writeln('Y =...

11
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
05.06.2010, 16:22 2
И что ето за тип даных: Extended
После демонстрации своих знаний, и умения что-то узнавать, подумайте, зачем Вам эта программа? Какую такую пользу она Вам принесет?
0
6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
05.06.2010, 23:20  [ТС] 3
она мне принесет большую пользу так как уже конец сесии и надо сдать лабораторку!!!
0
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
06.06.2010, 12:36 4
Цитата Сообщение от Ferolayt Посмотреть сообщение
она мне принесет большую пользу так как уже конец сесии и надо сдать лабораторку!!!
Extended - это тип данных самый большой по моему .

Добавлено через 7 часов 37 минут
Цитата Сообщение от Ferolayt Посмотреть сообщение
а то я пробовал разобратся
напиши задание что должна делать сама по себе программа*?!
1
6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
06.06.2010, 13:47  [ТС] 5
Цитата Сообщение от Hidalgo08 Посмотреть сообщение
Extended - это тип данных самый большой по моему .

Добавлено через 7 часов 37 минут


напиши задание что должна делать сама по себе программа*?!
Мне надо написать програму которая бы считала выражение из строки
напимер user вводит выражение 10+3-(25/5)+3*2 как строку и надо вывести результат
возможна также операции степеня, модуля и кореня но не обьязательно
0
6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
18.06.2010, 13:27  [ТС] 6
КТО ЗНАЕТ ПОДСКАЖИТЕ ПОЖАЛУЙСТА КАК РАБОТАЕТ ЕТА ПРОГА???
И КАК СДЕЛАТЬ ТАК ЧТОБ МОЖНО БЫЛО ЗАПИСАТЬ РЕЗУЛЬТАТ В ФАЙЛ
0
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
18.06.2010, 13:50 7
Цитата Сообщение от Ferolayt Посмотреть сообщение
КТО ЗНАЕТ ПОДСКАЖИТЕ ПОЖАЛУЙСТА КАК РАБОТАЕТ ЕТА ПРОГА???
И КАК СДЕЛАТЬ ТАК ЧТОБ МОЖНО БЫЛО ЗАПИСАТЬ РЕЗУЛЬТАТ В ФАЙЛ
программа работает отлично! что тебе именно нужно?
0
6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
18.06.2010, 16:51  [ТС] 8
да ето то что мне нужно
но как она работает
что значит та или иная функция и процедура
0
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
18.06.2010, 17:00 9
Цитата Сообщение от Ferolayt Посмотреть сообщение
да ето то что мне нужно
но как она работает
что значит та или иная функция и процедура
простой калькулятор что тут говорить, или тебе нужно описать все?
0
6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
18.06.2010, 21:58  [ТС] 10
если можно то все

Добавлено через 4 часа 8 минут
поооооооооооомогите плиз
0
Добры_Змейка
53 / 53 / 43
Регистрация: 09.06.2010
Сообщений: 170
19.06.2010, 02:31 11
Цитата Сообщение от Ferolayt Посмотреть сообщение
function StrToReal(chaine: string): Real; var r: Real; Pos: Integer;
меня немножко удивляет (как у вас компилятор реагирует на зарезервированное слово?(имею введу POS))

Добавлено через 16 минут
отвечу сам : нормально пока вы не используете функцию pos в программе(прошу прощение pos не является зарезервированным словом(видно пора высыпаться ))
0
6 / 6 / 0
Регистрация: 04.06.2010
Сообщений: 44
20.06.2010, 13:37  [ТС] 12
кто знает как сделать процедуру к етой програмке чтоб можно было записать результат выражения в файл

Добавлено через 19 часов 49 минут
Срооооооооооооооооооооооооооооочно
Обясните ППППППППППлиз как работает програма!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2010, 13:37
Помогаю со студенческими работами здесь

Составить програму на паскале
Даны действительные положительные числа а,b,c,d. Выяснить, можно ли прямоугольник со сторонами а,b...

Помогте составить програму в соответствии с
Значение для остановки расчета 9,5

Допоможіть написати програму Паскаль
Допоможіть будь-ласка Написати мовою Паскаль програму табулювання складної математичної функції z...

Создать програму используя собственный модуль!
Привет всем!!! Можете помочь с написанием программы и модуля для нее. Вот условие:Даны два любых...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru