Кто помнит Pascal?

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


Шутник

Регистрация: 5.04.15
Сообщений: 13
даже не так until вообще быть не должно. в случае, если y+pi/3==pi/2, и попадаем во вторую ветку, то ответ бесконечность.
те полный ответ:
tg pi/2 ->к бесконечности.
в этом случае должно быть верхнее выражение.
если
попадаем на вычисление нижнего выражения, то в случае если y+pi/3==pi/2 ответ бесконечность

Это сообщение отредактировал violettanih - 21.12.2015 - 23:04
 
[^]
ya3aplakal
21.12.2015 - 23:02
1
Статус: Offline


опытный нарколог

Регистрация: 9.03.15
Сообщений: 958
Цитата
А как же Бейсик???
Он раньше был!!

Бейсик Фортран..
а я учил "Алгол 60" в 81 году :)
прабда нихерра уже не помню :(
помню только имя машинки "Наири 4 Арм"
занимала пол этажа
 
[^]
ancot
21.12.2015 - 23:07
1
Статус: Offline


Шутник

Регистрация: 22.06.11
Сообщений: 0
Дельфи паскаль.
Но, тут уже ооп, графика и прочие прелести.
Кусочек отрисовки аккордов на грифе. писал для себя, дабы понять нотный строй гитары.

рrосеdurе TAccordView.WMPaint(var Message: TWMPaint);

var
X, Y, dx, dy, i, j, p: Integer;
pt1, pt2: TPoint;
r: TRect;
lb: TLogBrush;
lf: TLogFont;
PS: TPaintStruct;
DC: HDC;
PN_POINT, PN: HPEN;
BR_POINT: HBRUSH;
FN: HFONT;
CLR_POINT: Cardinal;
s: string;

begin
DC := BeginPaint(Handle, PS);
FillRect(DC, PS.rcPaint, Brush.Handle);
SelectObject(DC, Font.Handle);

CLR_POINT := RGB(93, 110, 174);
lb.lbColor := CLR_POINT;
lb.lbStyle := BS_SOLID;
BR_POINT := CreateBrushIndirect(lb);
PN_POINT := CreatePen(PS_SOLID, 0, CLR_POINT);
PN := CreatePen(PS_SOLID, 0, RGB(156, 156, 156));

dy := Round(((ClientHeight - FOffsetY * 2)) div (FStringCnt - 1));
dx := Round(((ClientWidth - FOffsetX * 2)) div (FFretCnt - 1));

SelectObject(DC, PN);
// SetROP2(DC, R2_NOTMERGEPEN);

// ε≥≡Φ±εΓΩα δαΣεΓ
for i := 0 to FFretCnt - 1 do
begin
X := FOffsetX + i * dx + 1;
MoveToEx(DC, X, FOffsetY + 1, nil);
LineTo(DC, X, FOffsetY + dy * (FStringCnt - 1) + 2);
end;

// ε≥≡Φ±εΓΩα ±≥≡≤φ
Y := 0;
for i := 0 to FStringCnt - 1 do
begin
Y := FOffsetY + i * dy + 1;
MoveToEx(DC, FOffsetX + 1, Y, nil);
LineTo(DC, FOffsetX + dx * (FFretCnt - 1) + 2, Y);
r := Rect(1, Y - dy, FOffsetX, Y + dy);
s := StdPitch[i + 1];
DrawText(DC, s, Length(s), r, DT_VCENTER or DT_SINGLELINE or DT_CENTER);
// ε≥≡Φ±εΓΩα φατΓαφΦ  φε≥√ φα ±≥≡≤φσ/δαΣ≤
// p := NoteList.IndexOf(s);
for j := 0 to FFretCnt - 1 do
begin
// if GetIndex() then

// x := FOffsetX + dx * j;
// r := Rect(x + 1, y - dy, x + dx, y);
// s := LowerCase(NoteList.Strings[p]);
// DrawText(DC, s, Length(s), r, DT_VCENTER or DT_SINGLELINE or DT_LEFT);
// Inc(p);
// if p > NoteList.Count - 1 then
// p := 0;
end;
end;

SelectObject(DC, BR_POINT);
SelectObject(DC, PN_POINT);
if FBarePos > 0 then
begin
X := FOffsetX + dx div 2;
RoundRect(DC, X, FOffsetY - 2, X + 5, Y + 4, 3, 3);
SetBkMode(DC, TRANSPARENT);
SetTextColor(DC, clBlack);
r := Rect(X, Y, X + dx div 2 + 4, ClientHeight);
s := IntToStr(FBarePos);
DrawText(DC, s, Length(s), r, DT_VCENTER or DT_SINGLELINE or DT_CENTER);
end;

// ╟απεδεΓεΩ αΩΩε≡Σα
if FAccord <> '' then
begin
r := Rect(FOffsetX, Y + 1, ClientWidth, ClientHeight);
s := FAccord;
DrawText(DC, s, Length(s), r, DT_VCENTER or DT_SINGLELINE or DT_CENTER);
for i := 0 to Length(FNoteArray) - 1 do
begin
X := (FOffsetX + (FNoteArray[i] - FNoteArray[i] div 100 * 100) * dx -
dx div 2) - dx;
Y := FOffsetY + (FNoteArray[i] div 100) * dy - dy + 1;
if X > 0 then
begin
r := Rect(X - 5, Y - 5, X + 6, Y + 6);
Ellipse(DC, r.Left, r.Top, r.Right, r.Bottom);
s := GetAccordFromIndex(FNoteArray[i]);
s := LowerCase(s);
SetBkMode(DC, TRANSPARENT);
DrawText(DC, s, Length(s), r, DT_VCENTER or DT_SINGLELINE or DT_CENTER);
end;
end;
end;

DeleteObject(BR_POINT);
DeleteObject(PN);
DeleteObject(PN_POINT);
EndPaint(Handle, PS);
end;

function TAccordView.GetAccordFromIndex(Index: Integer): string;
var
X, Y, p, i: Integer;
s: string;
begin
Y := Index div 100;
s := StdPitch[Y];
X := Index - Y * 100;
p := NoteList.IndexOf(s) - 1;
for i := 1 to X do
begin
Inc(p);
if p > NoteList.Count - 1 then
p := 0;
end;

Result := NoteList[p];
// end;

end;

Это сообщение отредактировал ancot - 21.12.2015 - 23:13

Кто помнит Pascal?
 
[^]
megaPLUSHKA
21.12.2015 - 23:09
7
Статус: Offline


Приколист

Регистрация: 18.10.13
Сообщений: 373
Вы че тут, пентагон взламываете?
 
[^]
Matyu
21.12.2015 - 23:22
1
Статус: Offline


Ярила

Регистрация: 9.04.13
Сообщений: 2398
прям молодостью студенческой пахнуло. прослезился, позеленил.
 
[^]
kocapb
21.12.2015 - 23:26
3
Статус: Offline


Ярила

Регистрация: 21.07.11
Сообщений: 1054
Цитата (megaPLUSHKA @ 21.12.2015 - 23:09)
Вы че тут, пентагон взламываете?

пентагон ТС сломал.
Мы теперь его починяем.
 
[^]
sergtax
21.12.2015 - 23:26
2
Статус: Offline


Шутник

Регистрация: 15.12.06
Сообщений: 87
Как написал товарисч выше, нужно было в первом примере вычисление функции оформить именно как функцию, причем можно впихнуть туда и ввод.
Подозреваю что во втором примере нужно было оформить процедурой.


Uses crt, math;
Var
x, y, z: real;
//Собственно вычисление значения функции
function f (x1,y1,z1: real): real;
begin
if cos(x1)<tan(y1*z1) then
f:=exp(sqr(sin(x1*y1))+z1)
else
f:=cotan(Pi/3+y1);
end;

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);
writeln;
writeln('f=',f(x,y,z)); //выдаешь на гора результат вычисления функции
readln ('Press Enter to Exit');
End.

 
[^]
Trop
21.12.2015 - 23:29
0
Статус: Offline


Ярила

Регистрация: 10.02.13
Сообщений: 1694
Нифига непонятно - в первой проге значение надо вводить до посинения в цикле, пока условие соблюдается? )
 
[^]
avolnov81
21.12.2015 - 23:30
0
Статус: Offline


Шутник

Регистрация: 1.08.12
Сообщений: 41
было дело когдато давно лет 17 назад хорошо знал. в олимпиадах в школе призовые места занимал...
 
[^]
parazit37
21.12.2015 - 23:33
1
Статус: Offline


Шутник

Регистрация: 6.12.08
Сообщений: 38
Цитата (Trop @ 21.12.2015 - 23:29)
Нифига непонятно - в первой проге значение надо вводить до посинения в цикле, пока условие соблюдается? )

Один раз, если условие выполняется с первого раза.
 
[^]
Trop
21.12.2015 - 23:43
1
Статус: Offline


Ярила

Регистрация: 10.02.13
Сообщений: 1694
Цитата
Один раз, если условие выполняется с первого раза.

Так-то да, но вдруг пользователь нипанимает что от него требуется, вводит значения и условие тупо не проходит, ему снова: введите x,y,z он же и озвереть может ) Может на вс. случай по-человечьи написать что-то, если он постоянно попадает в условие? )
и writeln('f=',f); может пишется writeln('f=' + f); не?

Это сообщение отредактировал Trop - 21.12.2015 - 23:47
 
[^]
vasek78
21.12.2015 - 23:45
2
Статус: Offline


Ярила

Регистрация: 11.06.14
Сообщений: 1696
вы просто не оставляете мне возможности деградировать, нельзя же так ребята.
 
[^]
Aleksanderr
21.12.2015 - 23:51
1
Статус: Offline


Ярила

Регистрация: 25.03.10
Сообщений: 1377
то же самое для меня что на самолете взлететь и приземлиться живым blink.gif

Хотя каждому своё, доктор не понимает в этом ничего, сталевар не понимает, а программист не сумеет вылечить человека......


Это сообщение отредактировал Aleksanderr - 21.12.2015 - 23:59
 
[^]
Avertin
21.12.2015 - 23:51
0
Статус: Offline


Хохмач

Регистрация: 18.03.15
Сообщений: 678
Вот я честно не пойму, зачем "людей-непрограммистов" учить всяким паскалям и бейсикам? Типа мозги поставить на место?
Нам в школе "преподавали" бейсик, а в универе - Си и плюсы. Толку от этого никакого не было.
Я потом для себя немного изучал Питон - вот это вещь. Гораздо интереснее и полезнее для непрограммиста, нежели паскаль или даже плюсы.

Это сообщение отредактировал Avertin - 21.12.2015 - 23:52
 
[^]
Aleksanderr
22.12.2015 - 00:01
0
Статус: Offline


Ярила

Регистрация: 25.03.10
Сообщений: 1377
Это нужно тому, кто на этих знаниях заработать сможет; а с другой стороны просто интересная наука
 
[^]
Bubochka
22.12.2015 - 00:08
1
Статус: Offline


Юморист

Регистрация: 15.10.13
Сообщений: 404
Цитата (megaPLUSHKA @ 21.12.2015 - 22:09)
Вы че тут, пентагон взламываете?

Не, Люцифера вызывают ))
 
[^]
Сват
22.12.2015 - 00:11
0
Статус: Offline


Проктолог-иллюзионист

Регистрация: 1.02.05
Сообщений: 1740
Программил в свою бытность на фортране.Даже курсовые сокурсникам писал..


 
[^]
Trop
22.12.2015 - 00:11
0
Статус: Offline


Ярила

Регистрация: 10.02.13
Сообщений: 1694
Цитата
а программист не сумеет вылечить человека...

А современное медицинское оборудование кто программирует и софт для него пишет, оборудование по производству лекарств и лабораторное оборудование? ) Но без специалистов, умеющих работать на этом оборудовании конечно железо все равно бесполезный хлам ) Да и доктора раньше да и сейчас, если что и без современных железок не так эффективно, но обойдутся, наверно, уважуха )
 
[^]
Foreverme
22.12.2015 - 00:26
1
Статус: Offline


Весельчак

Регистрация: 23.05.14
Сообщений: 103
почитал код, всплакнул.

будучи студентом, всегда знал что можно писать в курсаче, а что нет. Ну а после всегда спрашивал конспект, дабы быть в курсе, можно ли использовать функции, процедуры и прочее.
и еще, меня еще со школы учили не использовать транслит и правильно называть переменные.

за clrscr отдельное спасибо, помню как радовался будучи 10-летним, что узнал эту команду, подглядев у старших.
 
[^]
OTMOPO3OK
22.12.2015 - 00:31
0
Статус: Offline


Ветеран Япа

Регистрация: 11.10.04
Сообщений: 20626
Я на районной олимпиаде по информатике 2-е место занял, на Турбо Паскале писали алгоритмы для задачек по математики и физики. Бейсик тоже прикольный :) прям детство вспоминаю и как я на листочке в клеточку спрайты для игр придумывал и рисовал.
 
[^]
Oladia
22.12.2015 - 00:47
1
Статус: Offline


Шутник

Регистрация: 11.03.11
Сообщений: 78
Пентагон или че-угодно ломать тут: http://fediafedia.com/geektyper/ при глазах удивлённой публики cool.gif (знание ЯзыковПрограммирования не требуется)
 
[^]
fatevich
22.12.2015 - 00:47
0
Статус: Offline


Шутник

Регистрация: 8.05.15
Сообщений: 8
как меня запарило программирование...
готов идти на стройку или работать продавцом/охранником
 
[^]
yukisaw
22.12.2015 - 01:01
0
Статус: Offline


Хохмач

Регистрация: 9.09.11
Сообщений: 732
Таки вот что-то полезное на C++, а не никому не нужные формулы на Паскалях. Собственно - punto switcher без слежения за клавой.

char * _rus = R"A(ёЁйЙцЦуУкКеЕнНгГшШщЩзЗхХъЪфФыЫвВаАпПрРоОлЛдДжЖэЭяЯчЧсСмМиИтТьЬбБюЮ.,)A";
char * _eng = R"A(`~qQwWeErRtTyYuUiIoOpP[{]}aAsSdDfFgGhHjJkKlL;:'"zZxXcCvVbBnNmM,<.>/?)A";
char link_map[256];

//Эта функция вызывается при загрузке DLL
void makeMap()
{
    memset(link_map, 0, 256);
    auto size = strlen(_eng);
    for (int i = 0; i < size; ++i)
    {
        link_map[127 + _eng[i]] = _rus[i];
        link_map[127 + _rus[i]] = _eng[i];
    }
}

//По факту следующая функция сложнее. Т.к. запятые, точки, скобки и пр. есть в обеих раскладках и надо следить за текущей локалью.
//Но мне лень оформлять, по тому - упрощенка =)

void switchString(std::string& str)
{
    for (auto& c : str)
        if (link_map[127+c]) c = link_map[127 + c];
}

//Вот это вызывается из DLL:

namespace AHKchars
{
    extern "C" __declspec(dllexport)const char* _stdcall changeLayout(const char* _str)
    {
        static char * buf = nullptr;
        if (buf)
        {
            delete[] buf;
            buf = nullptr;
        }
        std::string str = _str;
        switchString(str);
        buf = new char[str.length() + 1];
        strcpy(buf, str.c_str());
        buf[str.length()] = 0;
        return buf;
    }
}

В гифке DLLcall этой функции из-под AutoHotKey.
 
[^]
DinyaS7719
22.12.2015 - 02:54
0
Статус: Offline


Ярила

Регистрация: 22.03.14
Сообщений: 3548
Цитата
Помнится был у нас в группе чудачок, принес код задания на занятия по программированию. Преподаватель проверил и сказал, что он не совсем верно что-то использовал. На что этот чудачок ответил, что у него все верно работает, т.к. у него мама программист и она все проверила. На что другой одногруппник нетолерантно пошутил, что женщина-программист - это как морская свинка: ни к морю, ни к свинкам отношения не имеет.
Так за ним и закрепилась шутка, что у него мама - программист.


После того, как я на информатике поправил учителя и всем классом пошли выяснять на компе, кто же из нас прав (уроки были насухую/на компе 2/2), я весь год на информатику не ходил.
 
[^]
DinyaS7719
22.12.2015 - 03:14
0
Статус: Offline


Ярила

Регистрация: 22.03.14
Сообщений: 3548
Цитата (IlFatt @ 21.12.2015 - 20:35)
Один из самый первых языков программирования в СССР - Наири. Там все гораздо проще..

ПЫСЫ: Да, да..я еще помню как царя Николашку свергали  cool.gif


Так что-ли?

Year=1917 Month=10 a
Day=25 x
1 допустим Правительство=Зимний
2 допустим Революционеры=Смольный
3 введем YearMounthDay
4 вставим Правительство=Революционеры+1 'Аврора
5 если Правительство+Юнкера≤Революционеры идти к 3
6 вставим Правительство=Правительство-Революционеры
7 если Правительство≤0 идти к 8
8 программа РКПБ (Декрет о мире Декрет о земле)
9 печатаем по пятилетка 1928 5 1995
10 кончаем

Оригинал:Тут

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


 
 



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






Наверх