Кто помнит Pascal?

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (7) « Первая ... 4 5 [6] 7   К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
kontur3
22.12.2015 - 03:55
1
Статус: Offline


Приколист

Регистрация: 27.09.14
Сообщений: 316
отступы? не, не слышал
 
[^]
CrazyPianist
22.12.2015 - 03:57
1
Статус: Online


Балагур

Регистрация: 19.03.13
Сообщений: 850
Цитата
я действительно всё забыл или на меня наговаривают

danet, все норм
 
[^]
ChosenOne
22.12.2015 - 04:01
1
Статус: Offline


Шутник

Регистрация: 20.11.15
Сообщений: 29
Модуль math не является стандартным для паскаля. Скорее всего за это и ругали. Во всяком случая меня за использование левых модулей тоже называли дураком в универе.

Это сообщение отредактировал ChosenOne - 22.12.2015 - 04:02
 
[^]
ходитель
22.12.2015 - 04:02
1
Статус: Offline


Ярила

Регистрация: 26.04.14
Сообщений: 2814
могу на фарси, нана?))
 
[^]
helio999
22.12.2015 - 04:09
2
Статус: Offline


Балагур

Регистрация: 5.12.13
Сообщений: 929
Цитата (SuperYago @ 21.12.2015 - 18:11)
until. UNTIL.  О, боги! Индийские кодеры плачут от зависти. По ходу у ТС мания величия.

А чем тебе не угодило служебное слово until?))
Черты характера еще примешивать, по коду что нет так?

Добавлено в 04:11
Цитата (BlackAdder @ 21.12.2015 - 18:18)
Цитата (parazit37 @ 21.12.2015 - 18:03)
попросила меня знакомая написать несколько программок

а потом дала fucking.gif ?
(код и правда ужасен :) еще и GoTo не хватает )

Чем ужасно короткая программа целиком и полностью дающая результат?))

Это сообщение отредактировал helio999 - 22.12.2015 - 04:10
 
[^]
maldalik
22.12.2015 - 05:21
0
Статус: Offline


Юморист

Регистрация: 2.07.15
Сообщений: 2378
А на кой ляд цикл при вводе данных?
 
[^]
Ганьжа
22.12.2015 - 06:08
0
Статус: Offline


Приколист

Регистрация: 11.09.14
Сообщений: 385
вспоминая курс программирования 4х летней давности могу заметить что чисто алгоритма решения верно - а вот оформление уж больно что-то.... кратко как нас учили - "нужно проще в плане размеров" :)
 
[^]
knaz
22.12.2015 - 06:36
0
Статус: Offline


Шутник

Регистрация: 25.11.14
Сообщений: 7
Цитата (Svarogok @ 21.12.2015 - 18:22)
Оформление странноватое конечно, но алгоритм верный.

Program Sum;
Uses crt, math; {задаем модули}

Var
f, x, y, z: Real; {описываем переменные}

Begin
ClrScr;

Repeat
Write('Введите x: ');ReadLn(x);
Write('Введите y: ');ReadLn(y); {вводим значение переменных}
Write('Введите z: ');ReadLn(z);
Until (cos(y*z)<>0) and (sin(Pi/3+y)<>0); {условие не деления на ноль}

if cos(x)<tan(y*z) then f:=exp(sqr(sin(x*y))+z) else f:=cotan(Pi/3+y);
{собственно само вычисление}
WriteLn;
WriteLn('f=',f);
ReadLn;
End.

зачЁт, фсе правильно!!! rulez.gif
 
[^]
dunyasha
22.12.2015 - 07:07
0
Статус: Offline


Шутник

Регистрация: 19.03.13
Сообщений: 81
Цитата (parazit37 @ 21.12.2015 - 18:03)
f:=exp(sqr(sin(x*y))+z)
else*
f:=cotan(Pi/3+y);

в паскале функцию степенную нужно логарифмировать и условие решения уравнения должно быть не else а and*, так вроде система уравнений решается
exp(sqr(sin(x*y))+z)=cotan(Pi/3+y) при cosx=tgyz
 
[^]
VHomer
22.12.2015 - 07:20
1
Статус: Offline


Весельчак

Регистрация: 27.11.12
Сообщений: 174
В алгоритм не вникал, но синтаксис верный.
Есть только 2 замечания:
1) При выводе значения лучше формат указать - например WriteLn('f=',f:2:2);, а то будет дофига знаков после запятой.

2) Если преподу сдали точно в таком же виде, то ему по-любому не понравилось отсутствие табуляции в циклах и ветвлениях, чтобы читалось лучше.
В первой задачи еще ладно, строк не много, а во второй парит смотреть какой end к какому begin относится.

Это сообщение отредактировал VHomer - 22.12.2015 - 07:24
 
[^]
БратецЛис
22.12.2015 - 07:22
0
Статус: Offline


Ярила

Регистрация: 16.08.11
Сообщений: 4352
Цитата
В итоге преподаватель, проверяя мой код, вздыхала и называла меня дураком (естессно, заочно, сдавала к/р знакомая)

На первый взгляд первой программы - вот это вот сильное колдунство:
repeat
write('Введите x: ');readln(x);
write('Введите y: ');readln(y);
write('Введите z: ');readln(z);
until (cos(y*z)<>0) and (sin(Pi/3+y)<>0);
А так, тут и профессионально когда кодер смотрит на чужой код обычно всегда слюни и сопли во все стороны летят по поводу кривизны рук. Не говоря уж о диалоге препода который шарит в рамках методички и студента который вообще нихера не шарит. Так что забей: задача была не синусы красиво рассчитать, а получить зачет - в чем твои чудо-программы и помогли.
 
[^]
yaklakal
22.12.2015 - 07:43
1
Статус: Offline


Шутник

Регистрация: 17.12.15
Сообщений: 12
нету функции тангенса в паскале, а за какую-то библиотеку math тоже бы выматерился.

function Tan(x: real): real;
begin
Tan:= Sin(X)/Cos(X)
end; ну и котангенс соотвественно наоборот cos/sin

Это сообщение отредактировал yaklakal - 22.12.2015 - 07:48
 
[^]
IronHedgehog
22.12.2015 - 07:58
0
Статус: Online


Приколист

Регистрация: 10.10.13
Сообщений: 357
Нормальный код ТС. Молодца )

Процедура КнопкаВыполнитьНажатие(Кнопка)
Если cos(игрек*зед) <> 0 и sin(игрек + Пи/3) <> 0 Тогда
Ф = ?(cos(икс)<tan(игрек*зед), exp(pow(sin(икс*игрек),2)+z), 1/tan(Пи/3+игрек));
Сообщить(Ф);
КонецЕсли;
КонецПроцедуры
 
[^]
xamejleoh
22.12.2015 - 08:01
2
Статус: Offline


Ярила

Регистрация: 28.01.13
Сообщений: 3957
ТС! Ты ЯП с хабром попутал!
 
[^]
calider
22.12.2015 - 08:14
0
Статус: Offline


Приколист

Регистрация: 22.05.15
Сообщений: 232
Училка доебалась скорей всего до отступов, а так код норм, но until меня удивил))
 
[^]
albertstuden
22.12.2015 - 08:21
1
Статус: Offline


Хохмач

Регистрация: 5.06.15
Сообщений: 775
Я в этом ни хрена не понимаю, но на всякий случай позеленил)
 
[^]
Nagli
22.12.2015 - 08:41
5
Статус: Offline


Ярила

Регистрация: 20.10.13
Сообщений: 8515
А теперь в тему входит ГУМАНИТАРИЙ :)
И да, автор, я немного понимаю препода... но грубых выражений использовать не буду, разумеется. И в самом деле вы явно подзабыли язык.

Так вот:
1. Отсутствует проверка того, что введенные пользователем данные действительно являются числами типа real. В случае ошибки - краш и начинай все заново.
2. У нас (да-да, на Факультете философии человека) сразу пару лепили за отсутствие форматирования кода и комментариев. Нельзя издеваться над глазами преподов. Да и сам уже через час свой код хрен прочтешь... Пусть он даже и короткий.
3. Как уже упоминали, помимо ляпов в условиях, действительно скорее всего ставилась задача решения через написание функции... но тут уже не твой косяк, а девочки, которая, видимо, не до конца поняла задание.
4. Оформление ввода-вывода так же оставляет желать лучшего. Разрешите побыть занудой. Все это стоило бы оформить кнопками ввода чисел. Менюшкой вида:
а) Ввести число 1 (сейчас значение числа: ....)
б) Ввести число 2 (сейчас значение числа: ....)
...
ю) Вычислить
я) Выход из программы.
Возможность нормального выхода - обязательна.

Задача примитивна на вид именно потому, что на зачете важно не решение математической задачи, а грамотное написание программы, демонстрирующее понимание пройденного материала по программированию.

Эххх... сколько в свое время подобного написал :) Подрабатывал на написании курсовых на трубо-поскакале :)
 
[^]
VSC
22.12.2015 - 08:44
1
Статус: Offline


абырвалГ

Регистрация: 20.01.14
Сообщений: 1924
Цитата (SuperYago @ 21.12.2015 - 18:11)
until. UNTIL.  О, боги! Индийские кодеры плачут от зависти. По ходу у ТС мания величия.

Без комментариев... faceoff.gif К чему этот комментарий, или ты первый раз в своей жизни цикл с постусловием увидел? Я боюсь спросить - на каком языке ты пишешь, если в нем такой элементарной вещи нет?
Ну, а по первой задачке тут особо и не развернешься: if верхнее условие - верхняя функция else - нижнее условие (как у ТСа). Даже проверку сделал, чтобы делитеть не был равен нулю, что ей (преподавателю) не понравилось? why.gif
Про сопротивление что-то ТС выпендрился слишком, я бы что-нибудь попроще предложил:
var
vInput,vResist, vResult: real;
begin
vResult := 0;
vResist := 0;
repeat
writeln('Введите сопротивление или 0 для расчета:');
readln(vInput);
if vInput <> 0 then
vResist := vResist + 1/vInput;
until(vInput <> 0);
if vResist <> 0 then
vResult := 1/vResist;
writeln('Полное сопротивление равно: ', vResult,' Ом');
end.

Это сообщение отредактировал VSC - 22.12.2015 - 08:52
 
[^]
MakerSpb
22.12.2015 - 08:45
0
Статус: Offline


Раздолбай

Регистрация: 28.06.11
Сообщений: 321
А я блджадь уже pascal забыл нахуй (еще в школе учили). А в универе мы начинали c visual basic. Хоть и учился на программера, а работаю технарем. Но если учебник взять, то быстро вспомню. Только нахер теперь этот паскаль, так только, чтобы в общих чертах осмыслить.
 
[^]
mobila
22.12.2015 - 08:53
0
Статус: Offline


Ярила

Регистрация: 22.11.13
Сообщений: 3210
Цитата (OTMOPO3OK @ 22.12.2015 - 00:31)
Я на районной олимпиаде по информатике 2-е место занял, на Турбо Паскале писали алгоритмы для задачек по математики и физики. Бейсик тоже прикольный :) прям детство вспоминаю и как я на листочке в клеточку спрайты для игр придумывал и рисовал.

agree.gif коллега - я и на листочке в клеточку и на миллиметровке рисунки переводил потом на комп. красиво получалось.
на спектруме с другом игры пытались делать gigi.gif
 
[^]
Unisys
22.12.2015 - 09:00
1
Статус: Offline


Юморист

Регистрация: 12.08.11
Сообщений: 588
Насчет отступов...
Я в свое время писал в институте лабораторки и курсачи "на заказ".
Опыт некоторый кодирования был тогда, и писал уже с отступами, форматированием, нормальным названием переменных.

Один раз клиентка вернулась от предпода с претензией, что он ей сходу сказал "Это, девушка, не Вы писали. Так пишут люди с опытом".

Всё форматирование в BackSpace, переменные с именами ААА и МММ. Прокатило.

От Basic и Cobol судьба уберегла, а вот Algol, Fortran IV/77, PL/1, Pascal, C/C++ были.

Это сообщение отредактировал Unisys - 22.12.2015 - 09:07
 
[^]
VSC
22.12.2015 - 09:02
3
Статус: Offline


абырвалГ

Регистрация: 20.01.14
Сообщений: 1924
Цитата (MakerSpb @ 22.12.2015 - 08:45)
А я блджадь уже pascal забыл нахуй (еще в школе учили). А в универе мы начинали c visual basic. Хоть и учился на программера, а работаю технарем. Но если учебник взять, то быстро вспомню. Только нахер теперь этот паскаль, так только, чтобы в общих чертах осмыслить.

Т.е., по-русски говоря "я учил и то, и се - а не знаю нихера, потому что мне оно не нужно?" :) Я могу код написать на любом языке, что когда-либо учил, ибо меняются, по сути, только операторы, а базовые понятия одинаковые остаются. А Паскаль - вообще отличный язык, лучше него только СиШарп. Я бы даже сказал, что СиШарп - улучшенная помесь Паскаля и Явы :)

Это сообщение отредактировал VSC - 22.12.2015 - 09:05
 
[^]
Magirus
22.12.2015 - 09:05
1
Статус: Offline


Балагур

Регистрация: 17.04.13
Сообщений: 818
в школе был турбопаскаль, в универе фортран, ничего уже не помню, позеленил
 
[^]
roden
22.12.2015 - 09:07
0
Статус: Offline


Весельчак

Регистрация: 27.11.08
Сообщений: 142
По теме зеленка и за программирование в особенности. Паскаль в универе терпеть не мог больше всего меня бесило объявление переменных в начале программы, а от конструкции begin...end просто выворачивало, поэтому все кодили на Паскале, а я на С++, а когда узнал что любимейшие игры того времени DOOM, DOOM2, Quake были написаны на С++ Паскаль для меня умер навсегда. Жалею, что в жизни не представилось возможности и дальше кодит на С++ да и честно не хватило мозгов уж больно свободный язык на нем даже можно узанть "Какой длины должна быть веревка чтобы выстрелить себе в ногу"©
 
[^]
ZeroC00l
22.12.2015 - 09:11
2
Статус: Offline


Ярила

Регистрация: 19.07.14
Сообщений: 2443
Надо было на perl писать. Тогда бы никто код читать не стал.
 
[^]
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 34659
0 Пользователей:
Страницы: (7) « Первая ... 4 5 [6] 7  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх