Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Совершенно не понимаю язык алгоритмов


Автор: lisa 30.5.2005, 10:31
Изучаю программирование, и в самом начале столкнулась с непониманием языка алгоритмов. Что все это значит?:

while (some condition) {
entry section
critical section
exit section
remainder section
}


Дальше - хуже

shared int ready[2] = {0, 0};
shared int turn;
while (some condition) {
ready[i] = 1;
turn =1-i;
while(ready[1-i] && turn == 1-i);
critical section
ready[i] = 0;
remainder section
}

Помогите, пожалуйста!!


Автор: ~FoX~ 30.5.2005, 10:42
lisa
Что конкретно тебе не понятно?


http://www.intuit.ru/department/os/osintro/5/osintro_5.html

Автор: lisa 30.5.2005, 11:52
~FoX~, мне непонятно абсолютно все. поэтому дальше двигаться не могу. ксати, я эту тему изучаю в ИНТУИТ, так что ссылка не помогла. я и так и так стараюсь разобраться, но не получается. видимо, надо знать какие-то основы - вопрос в том, какие?

Автор: III.nfo 30.5.2005, 16:51
Всё очень просто!

while (some condition) {
//while начинает цикл, который выполняется, пока some condition = true, ТЕ верно
entry section
critical section
exit section
remainder section
//выше шло выполнение какого-то программного кода
}

shared int ready[2] = {0, 0};
//shared - права доступа «внешних факторов» к переменной
//int - целочисленный тип данных
//[] - указывает на массив, в данном случае - [2] - из двух элементов, которые равны 0 - {0, 0}
shared int turn;
//см выше
while (some condition) {
//уже объяснял
ready[i] = 1;
//присвоить элементу ready, индекс которого есть i, 1. i - внешняя переменная
turn =1-i;
while(ready[1-i] && turn == 1-i);
critical section
ready[i] = 0;
remainder section
}


Автор: Kolia 30.5.2005, 16:53
Мне кажется в любой книге по программированию объясняются подобные вещи. Мой совет - созми какую книгу по языку и читай. То что тебе тут не понятно, объясняется в разделе "Циклы" с примерами и со всем чем

Автор: III.nfo 30.5.2005, 16:56
Если это из книги, то или lisa читает с середины, или там не рассматриваются циклы в частных примерах.

Совет lisa: учите английский!
Замечание lisa: то, что Вы дали - не алгоритм, а скрипт на C-шном языке.

Автор: lisa 31.5.2005, 06:23
т.е это скрипт на языке С? и мне надо читать книгу именно по программированию на С? а то языков-то много...

спасибо вам всем!

Автор: III.nfo 31.5.2005, 10:43
2lisa:
По синтаксису ({}, ;) похоже на C/C++/C#, хотя гарантировать не могу.
Как называется Ваша книга?
Что касается языка программирования, это Вам решать. Я бы рекомендовал C++.

Автор: kometa_triatlon 31.5.2005, 19:32
III.nfo
Не надо ей решать, пусть учит С++ smile

Автор: lisa 1.6.2005, 06:36
Да я и собираюсь С++ изучать. Вчера вот установила его, взяла книжку - и у меня ничего не получилось!! Сначала ошибку выдает, потом говоит, что все сделано, а exe-шник не запускается. Я взяла книжку для чайников, и там рассказывается по совсем другой программе, у меня установлен Borland C++ Builder, а в книжке другая. Вобщем, несовпадение. Поэтому и не выходит. Скажите, какую книжку брать и какой компилятор (или как это называется) ставить? А то я простейшую программу написать не могу.

Кстати, Borland C++ Builder чем-то отличается от С++ или это одно и то же? Только не смейтесь... smile

Автор: lisa 1.6.2005, 07:41
немного погуляла по форуму, нашла кучу книг, так что разберусь сегодня вечером, надеюсь. Вот токль не понятно пока - Borland C++ Builder - это чтоб программы для виндовз писать?

Автор: III.nfo 1.6.2005, 08:30
lisa, я Вам написал сейчас (9-35) письмо, отвечайте plz тоже по почте.

Автор: Kolia 8.6.2005, 02:51
Цитата(III @ 1.6.2005, 08:30)
lisa, я Вам написал сейчас (9-35) письмо, отвечайте plz тоже по почте.

Интим не предлагать smile smile smile smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)