Кто помнит Pascal?

Страницы: 1 ...  5 6 7  ОТВЕТИТЬ НОВАЯ ТЕМА
kontur3 22 дек 2015 в 03:55
Приколист  •  На сайте 11 лет
1
отступы? не, не слышал
CrazyPianist 22 дек 2015 в 03:57
Балагур  •  На сайте 13 лет
1
Цитата
я действительно всё забыл или на меня наговаривают

danet, все норм
ChosenOne 22 дек 2015 в 04:01
Шутник  •  На сайте 10 лет
1
Модуль math не является стандартным для паскаля. Скорее всего за это и ругали. Во всяком случая меня за использование левых модулей тоже называли дураком в универе.

Это сообщение отредактировал ChosenOne - 22 дек 2015 в 04:02
ходитель 22 дек 2015 в 04:02
Ярила  •  На сайте 12 лет
1
могу на фарси, нана?))
helio999 22 дек 2015 в 04:09
Балагур  •  На сайте 12 лет
2
Цитата (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 дек 2015 в 04:10
maldalik 22 дек 2015 в 05:21
Юморист  •  На сайте 10 лет
0
А на кой ляд цикл при вводе данных?
Ганьжа 22 дек 2015 в 06:08
Приколист  •  На сайте 11 лет
0
вспоминая курс программирования 4х летней давности могу заметить что чисто алгоритма решения верно - а вот оформление уж больно что-то.... кратко как нас учили - "нужно проще в плане размеров" :)
knaz 22 дек 2015 в 06:36
Шутник  •  На сайте 11 лет
0
Цитата (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 дек 2015 в 07:07
Шутник  •  На сайте 13 лет
0
Цитата (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 дек 2015 в 07:20
Весельчак  •  На сайте 13 лет
1
В алгоритм не вникал, но синтаксис верный.
Есть только 2 замечания:
1) При выводе значения лучше формат указать - например WriteLn('f=',f:2:2);, а то будет дофига знаков после запятой.

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

Это сообщение отредактировал VHomer - 22 дек 2015 в 07:24
БратецЛис 22 дек 2015 в 07:22
Ярила  •  На сайте 14 лет
0
Цитата
В итоге преподаватель, проверяя мой код, вздыхала и называла меня дураком (естессно, заочно, сдавала к/р знакомая)

На первый взгляд первой программы - вот это вот сильное колдунство:
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 дек 2015 в 07:43
Шутник  •  На сайте 10 лет
1
нету функции тангенса в паскале, а за какую-то библиотеку math тоже бы выматерился.

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

Это сообщение отредактировал yaklakal - 22 дек 2015 в 07:48
IronHedgehog 22 дек 2015 в 07:58
Приколист  •  На сайте 12 лет
0
Нормальный код ТС. Молодца )

Процедура КнопкаВыполнитьНажатие(Кнопка)
Если cos(игрек*зед) <> 0 и sin(игрек + Пи/3) <> 0 Тогда
Ф = ?(cos(икс)<tan(игрек*зед), exp(pow(sin(икс*игрек),2)+z), 1/tan(Пи/3+игрек));
Сообщить(Ф);
КонецЕсли;
КонецПроцедуры
xamejleoh 22 дек 2015 в 08:01
Ярила  •  На сайте 13 лет
2
ТС! Ты ЯП с хабром попутал!
calider 22 дек 2015 в 08:14
Приколист  •  На сайте 10 лет
0
Училка доебалась скорей всего до отступов, а так код норм, но until меня удивил))
albertstuden 22 дек 2015 в 08:21
Хохмач  •  На сайте 10 лет
1
Я в этом ни хрена не понимаю, но на всякий случай позеленил)
Nagli 22 дек 2015 в 08:41
Ярила  •  На сайте 12 лет
5
А теперь в тему входит ГУМАНИТАРИЙ :)
И да, автор, я немного понимаю препода... но грубых выражений использовать не буду, разумеется. И в самом деле вы явно подзабыли язык.

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

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

Эххх... сколько в свое время подобного написал :) Подрабатывал на написании курсовых на трубо-поскакале :)
VSC 22 дек 2015 в 08:44
абырвалГ  •  На сайте 12 лет
1
Цитата (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 дек 2015 в 08:52
MakerSpb 22 дек 2015 в 08:45
Раздолбай  •  На сайте 14 лет
0
А я блджадь уже pascal забыл нахуй (еще в школе учили). А в универе мы начинали c visual basic. Хоть и учился на программера, а работаю технарем. Но если учебник взять, то быстро вспомню. Только нахер теперь этот паскаль, так только, чтобы в общих чертах осмыслить.
mobila 22 дек 2015 в 08:53
Ярила  •  На сайте 12 лет
0
Цитата (OTMOPO3OK @ 22.12.2015 - 00:31)
Я на районной олимпиаде по информатике 2-е место занял, на Турбо Паскале писали алгоритмы для задачек по математики и физики. Бейсик тоже прикольный :) прям детство вспоминаю и как я на листочке в клеточку спрайты для игр придумывал и рисовал.

agree.gif коллега - я и на листочке в клеточку и на миллиметровке рисунки переводил потом на комп. красиво получалось.
на спектруме с другом игры пытались делать gigi.gif
Unisys 22 дек 2015 в 09:00
Юморист  •  На сайте 14 лет
1
Насчет отступов...
Я в свое время писал в институте лабораторки и курсачи "на заказ".
Опыт некоторый кодирования был тогда, и писал уже с отступами, форматированием, нормальным названием переменных.

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

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

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

Это сообщение отредактировал Unisys - 22 дек 2015 в 09:07
VSC 22 дек 2015 в 09:02
абырвалГ  •  На сайте 12 лет
3
Цитата (MakerSpb @ 22.12.2015 - 08:45)
А я блджадь уже pascal забыл нахуй (еще в школе учили). А в универе мы начинали c visual basic. Хоть и учился на программера, а работаю технарем. Но если учебник взять, то быстро вспомню. Только нахер теперь этот паскаль, так только, чтобы в общих чертах осмыслить.

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

Это сообщение отредактировал VSC - 22 дек 2015 в 09:05
Magirus 22 дек 2015 в 09:05
Балагур  •  На сайте 13 лет
1
в школе был турбопаскаль, в универе фортран, ничего уже не помню, позеленил
roden 22 дек 2015 в 09:07
Весельчак  •  На сайте 17 лет
0
По теме зеленка и за программирование в особенности. Паскаль в универе терпеть не мог больше всего меня бесило объявление переменных в начале программы, а от конструкции begin...end просто выворачивало, поэтому все кодили на Паскале, а я на С++, а когда узнал что любимейшие игры того времени DOOM, DOOM2, Quake были написаны на С++ Паскаль для меня умер навсегда. Жалею, что в жизни не представилось возможности и дальше кодит на С++ да и честно не хватило мозгов уж больно свободный язык на нем даже можно узанть "Какой длины должна быть веревка чтобы выстрелить себе в ногу"©
ZeroC00l 22 дек 2015 в 09:11
Ярила  •  На сайте 11 лет
2
Надо было на perl писать. Тогда бы никто код читать не стал.
Понравился пост? Ещё больше интересного в ЯП-Телеграм и ЯП-Max!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 34 871
0 Пользователей:
Страницы: 1 ...  5 6 7  ОТВЕТИТЬ НОВАЯ ТЕМА

 
 

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



Наверх