Кто помнит Pascal?

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


Ярила

Регистрация: 4.06.10
Сообщений: 7364
да нормальные алгоритмы получились же.
можно было конечно и процедурку вкинуть, но это уже лишнее.
а вот оформлением самого кода должна была знакомая озаботится.
тс тут вовсе нипричем.
и да. - БЛЯЯЯЯЯЯ - и это потом пойдет в институт???
тс, плюнь в свою знакомую - если не может/не умеет, то и нехуй лезть туда, куда не тянет мозгом.
 
[^]
Граф
22.12.2015 - 10:27
1
Статус: Offline


Тысяча чертей!!

Регистрация: 30.01.09
Сообщений: 10178
Посмотрел программу, узнал кучу давно забытых операторов и функций shum_lol.gif
 
[^]
Экурт
22.12.2015 - 10:32
0
Статус: Offline


Ярила

Регистрация: 20.02.15
Сообщений: 1129
Цитата (Sonnik10 @ 21.12.2015 - 23:07)
А как же Бейсик???
Он раньше был!!

А Fortran почему не вспомнил?
 
[^]
al9x
22.12.2015 - 10:37
4
Статус: Offline


Приколист

Регистрация: 19.12.11
Сообщений: 378
Код вполне рабочий, но исполнение корявенькое. Если так и задумано - молодца! На троечку потянет, исключительно потому, что работает почти как надо.

Задача 1.
Функции sin и exp, не требуют вызова библиотеки math, а консольная программа не требует вызова crt.
Исход "бесконечность", почему-то обойдён вниманием.
Ввод данных по until с условием допустимости данных - сурово. Результатом ввода недопустимых данных в адекватной программе должно быть сообщение об этом, а не "введите данные ещё раз".
Задача по теме "Функции", скорее всего должна решаться через самописную функцию которая вызывается из основного модуля программы.

Задача 2.
Возможно нужно решение с использованием массивов, решение вашим способом снижает точность расчёта для набора разных сопротивлений, и создаёт впечатление, что массивы вы не знаете.
Отдельные конструкции if для каждого значения danet - возможно признак плохого понимания работы конструкции if ... else ..., при выборе одного из двух исходов достаточно одной конструкции.

Как-то так.

Это сообщение отредактировал al9x - 22.12.2015 - 10:41
 
[^]
Spremuta
22.12.2015 - 11:10
0
Статус: Offline


Una spremuta per favore!

Регистрация: 16.11.12
Сообщений: 844
Цитата (dunyasha @ 22.12.2015 - 07:07)
условие решения уравнения должно быть не else а and*, так вроде система уравнений решается
exp(sqr(sin(x*y))+z)=cotan(Pi/3+y) при cosx=tgyz

Это не система уравнений. Выбирается одно из, в зависимости от диапазона входных значений.
 
[^]
parazit37
22.12.2015 - 11:36
2
Статус: Offline


Шутник

Регистрация: 6.12.08
Сообщений: 38
Спасибо al9x, Nagli, VSC и всем остальным, кто адекватно ответил на вопрос, за конструктив hi.gif

Это сообщение отредактировал parazit37 - 22.12.2015 - 11:38
 
[^]
tart44
22.12.2015 - 11:58
0
Статус: Offline


Шутник

Регистрация: 17.06.15
Сообщений: 11
Цитата (LazYap @ 22.12.2015 - 12:24)
и да. - БЛЯЯЯЯЯЯ - и это потом пойдет в институт???
тс, плюнь в свою знакомую - если не может/не умеет, то и нехуй лезть туда, куда не тянет мозгом.

Ну хер его знает, у нас юристам паскаль преподавали cool.gif
помню на втором курсе бабла неплохо на них поднимали, решали задачки, делали курсовые brake.gif
а вот накой им этот паскаль - хрен его знает....
 
[^]
Gruzd
22.12.2015 - 12:48
0
Статус: Offline


несогласный с администрацией ЯП

Регистрация: 4.08.13
Сообщений: 2664
а я начинал с фокала
 
[^]
Andruha78
22.12.2015 - 14:14
0
Статус: Offline


Шутник

Регистрация: 22.10.12
Сообщений: 7
http://www.yaplakal.com/findpost/42988551/...pic1274908.html

на 0 делить нельзя... не совсем верная у Вас получилась функция...
 
[^]
CrazyPianist
22.12.2015 - 14:30
0
Статус: Offline


Юморист

Регистрация: 19.03.13
Сообщений: 573
очень недружелюбные к пользователю проги
вот как ей пользоваться?
запускаешь, вводишь числа. оказывается числа не из одз функции. и что видит пользователь? да ничего, опять приглашение к вводу данных.
хоть бы так написал:
writeln('Входные данные хуйовые. Попробуй еще разок угадать')
 
[^]
noroV
22.12.2015 - 16:06
0
Статус: Offline


Весельчак

Регистрация: 27.09.12
Сообщений: 191
Цитата (kaa84 @ 21.12.2015 - 18:19)
на ассемблере давай fear.gif

пффф. пожалуйста. Для своей переделать gigi.gif
Правда под формулу D = 4*Pi*Ha*Fi*D0/L.

Текст программы:

; D = 4 * Pi * Ha * Fi * D0 / L
.386; Директива определения типа микропроцессора
. Model flat, stdcall; задачи линейной модели памяти
; И соглашения ОС Windows

option casemap: none; отличие малых и больших букв

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\fpu.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\fpu.lib


BSIZE equ 30
. Data; директива определения данных
D0 dword 200;сохранение в 32-разрядной ячейке памяти переменной х
L dword 1; резервирования 32-х разрядов памяти для переменной y
Ha dd 3,4,5
Fi dd 1,2,3
const dd 4

st1 db "Результат вычисления:", 0
st2 db 10 dup (?), 0

. Code; директива начала кода
_start:
lea esi, Ha
lea edi, Fi
mov ebx, 3

m1:
mov ecx, 3
lea edi, Fi
m2:
finit
fldpi; заносим значения Пи
fimul const; Pi * 4
fild dword ptr [esi]
fmul; умножаем результат на На
fild dword ptr [edi]; заносим результат Фи
fmul; умножаем результат на Фи
fild D0; заносим значение D0
fmul; умножаем результат на D0
fild L; заносим значение лянда
fdiv; делим результат на лянда
pushad; сохраняем все регистры общего назначения в стек

invoke FpuFLtoA, 0, 10, ADDR st2, SRC1_FPU or SRC2_DIMM
invoke MessageBox, NULL, addr st2, addr st1, MB_OK

popad; считываем из стека

add edi, 4;следующий элемент в массиве
loop m2
add esi, 4; следующий элемент в массиве
dec ebx
jnz m1; переходить на метку m1 пока ebx не станет равна 0

invoke ExitProcess, NULL; возврат управления Windows
; И освобождения ресурсов

end _start;директива окончания программы с именем start
via
 
[^]
LazYap
22.12.2015 - 17:10
0
Статус: Offline


Ярила

Регистрация: 4.06.10
Сообщений: 7364
Цитата (noroV @ 22.12.2015 - 16:06)
Цитата (kaa84 @ 21.12.2015 - 18:19)
на ассемблере давай  fear.gif

пффф. пожалуйста. Для своей переделать gigi.gif
Правда под формулу D = 4*Pi*Ha*Fi*D0/L.

Текст программы:

; D = 4 * Pi * Ha * Fi * D0 / L
.386; Директива определения типа микропроцессора
. Model flat, stdcall; задачи линейной модели памяти
; И соглашения ОС Windows

option casemap: none; отличие малых и больших букв

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\fpu.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\fpu.lib


BSIZE equ 30
. Data; директива определения данных
D0 dword 200;сохранение в 32-разрядной ячейке памяти переменной х
L dword 1; резервирования 32-х разрядов памяти для переменной y
Ha dd 3,4,5
Fi dd 1,2,3
const dd 4

st1 db "Результат вычисления:", 0
st2 db 10 dup (?), 0

. Code; директива начала кода
_start:
lea esi, Ha
lea edi, Fi
mov ebx, 3

m1:
mov ecx, 3
lea edi, Fi
m2:
finit
fldpi; заносим значения Пи
fimul const; Pi * 4
fild dword ptr [esi]
fmul; умножаем результат на На
fild dword ptr [edi]; заносим результат Фи
fmul; умножаем результат на Фи
fild D0; заносим значение D0
fmul; умножаем результат на D0
fild L; заносим значение лянда
fdiv; делим результат на лянда
pushad; сохраняем все регистры общего назначения в стек

invoke FpuFLtoA, 0, 10, ADDR st2, SRC1_FPU or SRC2_DIMM
invoke MessageBox, NULL, addr st2, addr st1, MB_OK

popad; считываем из стека

add edi, 4;следующий элемент в массиве
loop m2
add esi, 4; следующий элемент в массиве
dec ebx
jnz m1; переходить на метку m1 пока ebx не станет равна 0

invoke ExitProcess, NULL; возврат управления Windows
; И освобождения ресурсов

end _start;директива окончания программы с именем start
via

кончайте алгоритмами мерятся. и так понятно , что срединий по ЯПу это 45см
 
[^]
4uckNorris
22.12.2015 - 17:22
0
Статус: Offline


Ярила

Регистрация: 11.03.14
Сообщений: 1360
ТС, а смогёшь написать чонить для автоматического подбора шмотья? Ну чтоб как терминатор куртку выбирать smoka.gif

Это сообщение отредактировал 4uckNorris - 22.12.2015 - 17:24

Кто помнит Pascal?
 
[^]
SuperYago
22.12.2015 - 18:55
0
Статус: Offline


Весельчак

Регистрация: 20.07.13
Сообщений: 159
Цитата (VSC @ 22.12.2015 - 08:44)
Цитата (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.

Для дебилов пояснения. Стадия ввода отвечает только за ввод. Нужно получить три значения? Получи и распишись, если значения соответствуют ожидаемому формату. Этап ввода также несет ответственность за прерывание программ до ввода всех исходных данных задачи, если пользователь передумал их решать. По ходу цикла, в контексте задачи вообще не должно быть! Получив три значения на вводе программа или посылает пользователя в жопу с объяснением причин, или вычисляет требуемое значение. Чего нет в приведенном коде.
По какой то неведомой мне причине Division by zero и Numeric overflow сильно неожиданны говнокодерам и вызывают их неподдельное изумление. Хотя предусмотреть исключительные ситуации это их прямая обязанность.

Это сообщение отредактировал SuperYago - 22.12.2015 - 19:04
 
[^]
51R1U5
22.12.2015 - 22:24
0
Статус: Offline


Ярила

Регистрация: 12.05.14
Сообщений: 1516
Цитата (grably @ 21.12.2015 - 18:08)
ТС прости меня, жопу криворукую! Нечаянно минуc влепила faceoff.gif

А Паскаль помню учили когда-то, но мляяяя... Давнооооо это было.... old.gif

Руки то хоть не кривожопые? cheer.gif
 
[^]
VSC
23.12.2015 - 15:34
1
Статус: Offline


абырвалГ

Регистрация: 20.01.14
Сообщений: 1924
Цитата (SuperYago @ 22.12.2015 - 18:55)

Для дебилов пояснения. ...Получив три значения на вводе программа или посылает пользователя в жопу с объяснением причин, или вычисляет требуемое значение. Чего нет в приведенном коде.
По какой то неведомой мне причине  Division by zero и Numeric overflow  сильно неожиданны говнокодерам и вызывают их неподдельное изумление. Хотя предусмотреть исключительные ситуации это их прямая обязанность.

А кто тебе сказал, что значений на входе - 3? В условиях об этом нет ни слова, сопротивлений может быть хоть миллион. случай, когда делитель (divisor, блять gigi.gif ) равен нулю - предусмотрен (что у меня, что у ТСа), отдельно возможное исключение обрабатывать НЕ НУЖНО. Это задача для первого курса, важен просто принцип перевода алгоритма в код. Можно обработку исключения на каждый чих лепить, только читаемости коду это не прибавит, а преподавателю важно за минуту понять, что программа расчет выполняет правильно - и все. Я могу тебе привести мой код на pl/sql с рабочей БД нашей организации (~15 тысяч сотрудников действующих), где у нас обработка исключений на каждый мыслимый и немыслимый случай - но это не уровень 1 курса универа.

Это сообщение отредактировал VSC - 23.12.2015 - 15:34
 
[^]
Oblaka
23.12.2015 - 15:43
0
Статус: Offline


Балагур

Регистрация: 29.01.14
Сообщений: 972
Паскаль... Давно это было)))
Помню, циферка "3" на перфораторе (или как там это называлось?!) западала, так мы маникюрными ножничками на перфокарте троечки в нужных местах прорезали... old.gif
 
[^]
Wolfman23
23.12.2015 - 16:09
0
Статус: Offline


Приколист

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


 
 



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






Наверх