Program 1 var x: integer; a,b,c,d,e,f: real; begin write('x='); read(x); a:=...... b:=...... c:=...... d:=...... begin if x<740 then e:=...... if x>=740 then e:=..... end; f:=.... writeln ('a=',.....) writeln ('b=',.....) writeln ('c=',.....) writeln ('d=',.....) writeln ('e=',.....) writeln ('e=',.....) writeln ('f=',.....) end.
При вводе значения х надо вывести вычисления a,b,c,d,e,f но не получаеться с значением e подскажите как зделать!
Человек_Без_Имени
21.03.2007 22:21
если правильно понял, то в зависимости от х е будет вычислятся по разным формулам? тогда лучше используй конструкцию if x<740 then e:=f(x) else e:=g(x);
Sozialist
21.03.2007 22:31
А чего не получается? Расставь везде ";", внутренние begin end не нужны. Ну и перед завершающим END, как я понимаю, надо readln добавить.
to человек без имени ты правильно понял только как это в этой програме записать?
Человек_Без_Имени
21.03.2007 22:39
примерно так
Program 1 var x: integer; a,b,c,d,e,f: real; begin write('x='); read(x); a:=......; b:=......; c:=......; d:=......; if x<740 then e:=...... else e:=.....; f:=....; writeln ('a=',.....); writeln ('b=',.....); writeln ('c=',.....); writeln ('d=',.....); writeln ('e=',.....); writeln ('e=',.....); writeln ('f=',.....); readln; end.
заметь, что перед else точка с запятой не нужна
Sozialist
21.03.2007 22:46
To Адель Посты набиваем?
Dorash87
21.03.2007 22:48
спасибо но програма все равно считает е по первой формуле даже когда значение х больше 740 в чем ошибка?
Sozialist
21.03.2007 22:51
Цитата(Dorash87 @ 21.03.2007 22:48)
спасибо но програма все равно считает е по первой формуле даже когда значение х больше 740 в чем ошибка?
Ошибок нет, давай полное условие, напишем за 5 мин, если есть желание
Гость
21.03.2007 22:53
Sozialist, почувстовоал себя модератором? (я про пост №7)? Напрасно...
Dorash87
21.03.2007 22:55
там нет условия мне просто надо что бы програма вычисляла все эти значения но почемуто не могу зделать чтобы е вычислялось по второй формуле когда параметр х выше 740 в этом и вся проблема
Sozialist
21.03.2007 22:58
Т.е. ты пишешь, сама не зная чего, раз нет условия. Все верно.
Dorash87
21.03.2007 23:01
ну во первых я он а во вторых я знаю что пишу я не могу понять почему е не вычесляеться по другой формуле
Адель
21.03.2007 23:04
все же попробуй сдлатб, что я тебе написала...у меня все нормально работает. или же привиди полный код без "......."
Dorash87
21.03.2007 23:13
Адель ты же вроде написала все как у меня или я чигото не понял
Tan
21.03.2007 23:16
Дораш, приведи условие задачи, тогда тебя и тебе будет проще понять !
Человек_Без_Имени
21.03.2007 23:22
Цитата(Dorash87 @ 21.03.2007 22:48)
спасибо но програма все равно считает е по первой формуле
выложи этот код, в нем возможно есть другие ошибки, или дай условие(если конкретного нет-сочини сам).
Dorash87
21.03.2007 23:35
if x<740 then e:=(d-200)*0.0015 else e:=d*0.005;
Tan
21.03.2007 23:37
В этом отрывке всё верно, ты можешь свой код выложить полностью или дать условие ? а то вслепую не очень.
Dorash87
22.03.2007 0:47
Нашел в чем ошибка в строчке writeln('e=',.......) как правильно записать вывод информации?
Program 1 var x:integer; a,b,c,d,e,f:real; begin write('x='); readln (x); a:=(525*0.005)+(x-525)*0.02; b:=x*0.005; c:=x*0.01; d:=x-a-b-c; if x<740 then e:=(d-200)*0.0015 else e:=d*0.005; f:=d-e; writeln('a=',(525*0.005)+(x-525)*0.02); writeln('b=',(x*0.005); writeln('c=',(x*0.01); writeln('d=',(d:=x-a-b-c); writeln('e=',(d-200)*0.0015); writeln('f=',(d-e); end.
мисс_граффити
22.03.2007 1:07
ошибок тут много - и компилятор их радостно подчеркивает. ну, во-первых, такого имени у программы быть не может - да и точки с запятой в первой строке не хватает.
writeln('b=',(x*0.005); writeln('c=',(x*0.01);
посчитай скобочки в каждой из строк...
writeln('d=',(d:=x-a-b-c);
что за попытка присваивания? так нельзя.
и вообще, что за извращения с выводом? есть переменные, значения которых интересуют - их и выводи, а не считай заново:
writeln('d=',d);
Sozialist
22.03.2007 1:09
Кол-во скобок кратно 2. В выводе не присваивают, записывай просто выражение.
мисс_граффити
22.03.2007 1:11
Цитата
Кол-во скобок кратно 2.
с каких это пор 3 кратно 2?! в выделенных мной строках именно по 3 скобочки.
Dorash87
22.03.2007 1:21
мис граффити спасибо большое все работает (единственая ошибка была в выводах в книге какойто"умной" так было написано. а со всем остальным все у меня правильно)
Sozialist
22.03.2007 1:27
Цитата(мисс_граффити @ 22.03.2007 1:11)
с каких это пор 3 кратно 2?! в выделенных мной строках именно по 3 скобочки.
Это что, особенность турбо паскаля?
мисс_граффити
22.03.2007 1:29
Что именно? 3 не кратно 2 вне зависимости от компилятора, насколько мне известно. И даже четность количества скобок - не гарантия успешной компиляции.
Dorash87
22.03.2007 1:54
Теперь раскажите пожалуйста как зделать что бы этот код перенести в обычную програмку? или дайте ссылки на материал где про это можно почитать
мисс_граффити
22.03.2007 7:31
Что есть "обычная программка"? ехе-шник?
Человек_Без_Имени
22.03.2007 16:08
скопируй код в блокнот, сохрани, затем смени разрешение: txt на pas, затем открывай паскаль и запускай. или exe надо?
мисс_граффити
22.03.2007 16:35
Цитата
затем смени разрешение
расширение, может?
Человек_Без_Имени
22.03.2007 16:56
Цитата(мисс_граффити @ 22.03.2007 16:35)
расширение, может?
оговорился
Dorash87
22.03.2007 21:12
человек без имени да надо обычная ехе програмка
Tan
22.03.2007 21:25
скомпилируй свой готовый код в паскале, запусти (убедись что работает) и в папке с паскалем появится exe
Человек_Без_Имени
22.03.2007 21:29
в разделе Compile в Destination должно стоять Disk. далее жми F9 или Run->make. exe-шник появится в папке с паскалем. P.S. в Options->Directories строке EXE & TPU directory должна быть указана папка в которую помещать экзешник
Sorry, Tan, набирал и не видел твоего ответа...
Dorash87
22.03.2007 21:45
спасибо всем все работает. Теперь хотелось бы понять и научиться как для этого ехе-шника зделать оболочку (имееться ввиду интерфейс програмы) как такое создаеться и с помощью чиго?
Tan
22.03.2007 22:12
Ну ничего очень красивого не получится если делаешь на паскале, можно создать простенькое текстовое меню с оператором CASE OF . А если хочешь что - то поинтересней пиши в поиске меню, выриантов достаточно.
Dorash87
22.03.2007 23:33
я пока хочу попробовать простое что то типа 1.Ввод данных 2.вывод. как это можно зделать?
Алена
22.03.2007 23:38
Цитата
Ну ничего очень красивого не получится если делаешь на паскале
Ну, это как сказать... Если ты не умеешь складывать числа, то ты ни на счетах, ни на пальцах не посчитаешь... Точно так же и меню - если ТЫ не умеешь делать это красиво - не говори...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.