Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

На 9 семестр 2012/2013 учебного года

End.

Begin

Repeat

Begin

Repeat

Begin

Цей механізм передбачає чітко визначене ставлення кожного суб’єкта соціокультурного процесу до культурних цінностей, пра­вил і норм спілкування та взаємодії, тобто поведінку учасників соціокультурного процесу.

План

Культура – показник рівня суспільного розвитку.

Мета: Ознайомити студентів з поняттям «культура» в суспільстві. Формувати у студентів соціальне мислення, допомогти зрозуміти сучасні соціально-культурні проблеми в Україні.

Розвивати у студентів вміння порівнювати, співставляти та аналізувати інформацію, дискутувати, висловлювати власну точку зору.

Виховувати у студентів розуміння важливості культури як показника рівня розвитку сучасного суспільства.

1. Поняття «культура» та «цивілізація».

2. Сутність та структура культури суспільства.

3. Предмет і функції соціології культури.

4. Різновиди культури та її функції.

5. Поведінкові підсистеми духовної культури суспільства.

Основна література

1. Андрущенко В. П. та ін. Соціологія: Підручник. — К.—Х., 1998.

2. Библер В. С. От наукоучения к логике культуры. — М., 1991.

3. Грушевський М. С. На порозі нової України: Гадки і мрії. — К., 1992.

4. Куликов Л. М. Основы социологии и политологии. — М., 2000.

5. Культура України. — Х., 1993.

6. Современная западная социология: Словарь. — М., 1990.

 

1. Вивчення й аналіз процесу існування і розвитку суспільства пов’язані з необхідністю розкриття двох фундаментальних понять: цивілізації і культури.

Поняття «культура» (від лат. cultura — обробіток, вирощування, виховання, освіта) в різні часи історії набувало різних смислових відтінків:

1) підготовка землі до ведення сільського господарства (агрокультура);

2) той або інший вид сільськогосподарської рослини (скажімо, жито, пшениця та ін.);

3) ступінь освіти, начитаності, витонченості в манерах поведінки людини;

4) сфера літератури і мистецтва і т. п.

Цивілізація (від лат. civilis — громадянський) — це форма суспільного життя людей, якій властиве відтворення власної матеріальної і соціально-політичної структури відносин на основі пріоритету притаманних їй духовних норм, цінностей, ідеалів і життєвих сенсів. Термінами «культура» і «цивілізація» справедливо позначають локальну культуру (західну, східну, європейську, азіатську і т. ін.) чи локально-історичний тип суспільства. Однак цивілізація і культура — це поняття певного стану суспільства, його характеристик.

Поняття цивілізація містить акцент на самозбереженні соціуму. Т. Гоббс, приміром, розумів цивілізацію як процес руху «природного стану» до «суспільного стану», в якому громадяни набувають статусу правової особи, суспільство формується на основі згоди всіх громадян (договір, консенсус). Отже, можна вважати, що це загальний рівень розвитку суспільст-
ва, його самодостатності й здатності до самозбереження й розвитку.

Дихотомія «цивілізація—культура» була покладена М. Данилевським в основу його концепцій «слов’янського месіанства як зміни культурно-історичних типів» і О. Шпенглера, який дійшов висновку про загибель західної цивілізації як закономірний наслідок органічних циклів еволюції будь-якої культури. У концепції А. Тойнбі історія суспільства постає як культурно-історич­на методологія, тобто як локальні, ізольовані й самозамкнені цивілізації, вищі цінності яких створюються світовими релігіями. Таким чином, цивілізація і культура нерозривно пов’язані, без культури немає цивілізації. То що ж являє собою культура в сучасному науковому розумінні?

2. Культура — надзвичайно складне і специфічне суспільне явище. Існує величезна кількість визначень культури, які мають далеко не однакове значення. Одні вчені визначають культуру як сукупність матеріальних і культурних цінностей, інші — як так звані культурні універсалії. Більшість сучасних соціологів визначають культуру через діяльність людей.

Найбільш плідним є визначення культури через діяльність людей, оскільки будь-які цінності — матеріальні чи духовно-культурні — є результатом діяльності людей, соціальних груп, класів, націй, народів, держав. З позицій соціології існує три основні сфери людської культури як діяльності.

Розвиток усіх трьох сфер людської культури визначається діяльністю індивідів (соціальних груп, класів, націй), однак ефективність цього розвитку залежить від багатьох якісних характеристик індивідів, соціальних груп і суспільства загалом, які також є підсумком діяльності попередніх і сучасних поколінь людського суспільства.

Сучасна західна соціологія розглядає культуру як сукупність способів і прийомів людської діяльності (і матеріальної, і духовної), об’єктивованих у предметах, матеріальних носіях (засобах праці, знаках), які передаються наступним поколінням. Вітчизняні соціологи (професор В. А. Ребкало та ін.), обґрунтовуючи нову парадигму культури, формулюють більш досконале її визначення.

Духовні й матеріальні цінності як результати людської діяльності нерозривно пов’язані між собою і безперервно взаємодіють, наповнюючи таким змістом сучасну діяльність людей як основний елемент культури, саму її сутність.

У кожному суспільстві формується своя неповторна культура, і всі її елементи — від діяльності до матеріальних і духовних цін­ностей — мають особливості, але є деякі узагальнюючі характеристики, які визначають певні культурні підходи, їх існує три: етноцентристський, релятивістський та інтеграційний.

У чистому вигляді жоден із підходів (тенденцій) ні в якому суспільстві не реалізується, але провідна тенденція (підхід), безумовно, є і реалізується у більшості країн. Наприклад, своєрідний етноцентризм, на думку ряду спостерігачів, панує в Сполучених Штатах Америки, де переважна більшість громадян надміру зосереджені лише на своїх власних інтересах і проблемах, готові й прагнуть повчати всіх інших, розгорнули у всьому світі свою так звану місіонерську діяльність, нерідко втручаються у внутрішні справи інших держав, країн і народів.

Прихильники культурного релятивізму (таких більшість у багатьох країнах світу), навпаки, виходять з того, що у світі все умовне і відносне, тому неможливо підходити до оцінки явищ і культурних процесів зі своїми вимірами й поглядами, це справа кожного даного суспільства.

В умовах суспільного розвитку початку ХХІ ст. дедалі більш помітною стає тенденція до культурної інтеграції, яка не відкидає самобутність культур, їх збереження й розвитку, однак стверджує, що в нових умовах різні за рівнями розвитку культури зближуються, взаємозбагачуються. Цей процес об’єктивно зумовлений, по-перше, зростаючою багатоетнічністю, багатонаціональністю суспільств: сьогодні практично відсутні одноетносні нації, навпаки, нації розвиваються як політичні, багатоетносні соціальні утворення, спільності, суспільства; по-друге, добре по­інформо­вані сучасні люди бажають і намагаються запозичити все краще звідусіль.

Яскравий приклад такого підходу, при збереженні національної самобутності, показують японці, які ретельно переймають усе краще з усіх країн світу. А чому б українцям не перейняти традиційно глибоку повагу до предків — у конфуціанців; прагнення до максимальної чесності й скромності — у Свідків Єгови; організованість, чіткість, дисциплінованість і відповідальність — у нім­ців; бережливість — у фінів і т. п. Однак і все це корисне можна зробити лише за умови збереження, розвитку й ефективного використання всіх складових своєї національної культури. З’ясува­ти всі ці та інші проб­леми допомагає соціологія культури, знання якої вкрай необ­хідні кожному громадянинові, особливо освіченому еко­но­місту, юристу, інженеру, викладачеві та іншим висококвалі­фі­кованим фахівцям.

3. Соціологія культури — це одна з найважливіших галузей науки про суспільство, оскільки вона вивчає й аналізує найбільш складні й фундаментальні характеристики людини і суспільства, їхню здатність до ефективного матеріального і духовного розвитку.

Предметом соціології культури як наукової галузі та навчального предмета є вивчення суті, місця і ролі цілісної системи культури суспільства, закономірностей і випадковостей її виникнення й розвитку, явищ і процесів, конкретних матеріальних і духовних цінностей та діяльності людей з їх створення, накопичення, збереження, реалізації і передачі новим поколінням. Стрижнем предмета соціології культури є, безумовно, закономірності виникнення, функціонування і розвитку культури суспільства, вони поєднуються в п’ять основних груп.

Для правильного розуміння кожної групи закономірностей назвемо окремі з них в кожній групі. Наприклад, у першій групі потрібно виділити загальносоціологічний закон історичного процесу, який обумовлює розширення культурної сфери. В другій групі можна виокремити найголовнішу закономірність, що визначає роль матеріальних умов життя людини і суспільства у формуванні та розвиткові культури і вплив культури на матеріальні умови. У третій групі дуже важливою є закономірність взаємозв’язку і взаємовпливу культурної та економічної, а також інших сфер життєдіяльності людей. У четвертій групі визначальною є закономірність взаємозв’язку і взаємозалежності культурної творчості та духовного споживання. У п’ятій групі виразно виявляється закономірність взаємозв’язку професійного та аматорського культурного виробництва, його суспільних та індивідуальних форм тощо.

4. Важливим завданням соціології культури є вивчення й аналіз рівнів і різновидів культури.

Елітарна культура — це передусім так зване високе мистецтво, класична література. Її творцями є талановиті, видатні живописці, музиканти, артисти, письменники, споживачами — високоосвічена і творча інтелігенція, в основному мистецтвознавці, літератори, композитори, критики, вчені, але в числі споживачів можуть бути особистості з так званих «пересічних» громадян, але тонких знавців і цінителів літератури, мистецтва, музики, театру і т. ін.

Народну культуру творить сам народ, тому імена авторів народної творчості найчастіше невідомі. Пісня, вірш, легенда, танок, казка, твори народних промислів тощо адресуються широким колам суспільства, різним верствам населення.

Масова культура — гранично загальнодоступна своїми формами, але зазвичай носіями її є молодіжні прошарки населення. Вона не претендує на вишуканий смак і серйозність духовних потреб, має здебільшого розважальний характер, орієнтована на сучасно-миттєве бажання, дуже піддається штампам та моді і тому вельми недовговічна, скороминуща.

Соціологія культури вивчає та аналізує такі різновиди культури.

Домінуюча культура — це сукупність культурних універсалій корінної нації, насамперед її мови, традицій, цінностей, моральних норм, особливостей національної свідомості. Приміром, більшість населення України вільно володіє українською мовою, працелюбні, толерантні, дуже шанують українську пісню, національне вбрання тощо. Отже, в Україні домінуючою є українська культура зі всіма характерними для неї рисами.

Субкультура — це своєрідна підкультура, частина загальної культури, що відображає характерні риси, особливі ціннісні орієнтації і норми поведінки людей тієї або іншої групи людей (територіальної, етнічної, професійної, демографічної і т. п.). В Україні, наприклад, існує багато етнічних субкультур: кримськотатарська, єврейська, угорська, німецька, грецька та ін. Існують в Україні й регіональні субкультури, наприклад, субкультура Закар­паття, західних областей, східних областей і т. ін. Будь-яке суспільство, яке насправді себе поважає, не може не протистояти будь-якій уніфікації своєї культури, позбавленню її оригінальних рис та багатобарвності. Суспільство, природно, має і такі субкультури, як молодіжна субкультура, субкультура людей похилого віку, конфесійна та ін. Однак, попри всю різноманітність субкультур, їхнім підґрунтям залишається домінуюча культура даного суспільства.

Особливим різновидом культури є контркультура, яка не просто відрізняється від домінуючої культури, а протистоїть їй, відкидає загальновизнані норми і цінності. В реальному житті дуже рідко зустрічаються позитивні приклади контркультури, в основному це буває у тоталітарних суспільствах, де групи сміливих людей (дисиденти) відстоюють ідеї демократії, прав і свобод людини, справедливості тощо. Здебільшого контркультура проявляється в діяльності злочинних груп — терористів, найманих убивць, крадіїв, насильників, тобто фактичних ворогів людської культури.

Аналіз культури і субкультур переконливо показує, що культура в житті суспільства виконує надзвичайно важливу роль, оскільки саме культура, тобто діяльність, робить людину людиною, а суспільство — суспільством.

Найяскравіше роль культури виявляється в її основних функціях.

Функції культури
пізнавально-освітня творення і відтворення культури, передача соціальної спадковості регулятивно-аксеологічна об’єднувальна (соборна)
·Засвоєння надбань матеріальної і духов­ної культури · Оволодіння рідною мовою і вивчення іноземних мов · Вивчення літера­тури і мистецтва, їх розуміння ·Набуття досвіду са­мостійної творчості і т. ін. · Творення і відтво­рення культур­них цінностей (матеріальних і духовних) · Зберігання і передача соціальної спад­ковості · Соціальна трансляція ·Застосування і удо­сконалення людського досвіду · Формування правильного розуміння цінностей і моралі ·Забезпечення від­повідності особи соціальним нормам та ідеалам · Регулювання пов­сякденної поведін­ки людини в усіх сферах соціального життя · Забезпечення ціліс­ності суспільства · Об’єднання людей на основі усвідомлен­ня приналеж­ності до єдиної нації, народу, держави · Забезпечення наступності поколінь і культурно-історич­ної єдності суспільства

 

Функції культури тісно пов’язані між собою, реалізація тієї або іншої функції можлива тільки у взаємодії з усіма функціями культури як єдиної системи. В реальному житті всі функції культури здійснюються водночас, більшою або меншою мірою доповнюючи змістовно одна одну.

Таким чином, соціологія культури своїм предметом і функціями відрізняється від інших галузей соціології, доповнюючи їх і спираючись на них.

5. Основним генератором прогресивного розвитку суспільства є творча діяльність людей, спрямована на збагачення запасу культурних цінностей (матеріальних і духовних). Суб’єкти соціокультурного процесу, засвоюючи і використовуючи культурні цінності, формують своє ставлення до них і зазвичай прагнуть до їх удосконалення, розвитку й поповнення, тобто виявляють свою творчість. Отже, механізм освоєння культурних цінностей і норм є водночас і механізмом відтворення і творення культури.

 

Поведінкові підсистеми духовної культури суспільства
Соціальні цінності Соціальні норми
Загальновизнані і найбільш значущі ідеали і цілі людей у даному суспільстві Регулятори поведінки та спільного життя людей у даному суспільстві
Наприклад Неформальні Формальні
Патріотизм, законослухняність, влас­ність (приватна, державна, акціонерна, кооперативна…), працелюбство, добробут, дружба… Природно усталені зразки поведінки Соціально (законом) визначені правила поведінки
Моральні норми Правові норми

Соціальні цінності випливають із загальновизнаних уявлень про те, що є добром, а що — злом, що є добре, а що — погано, чого слід досягати, а чого запобігти. Вкорінившись у свідомості більшості людей, соціальні цінності немовби визначають їхнє ставлення до тих або тих явищ і слугують своєрідним орієнтиром їхньої поведінки.

Соціальні норми не лише виконують роль орієнтира. В одних випадках вони немовби рекомендують, а в інших — вимагають дотримання певних правил і норм поведінки, і саме цим регулюють поведінку людей, їхнє спільне життя у суспільстві.

Моральні норми поведінки людей — це ті норми, які природним чином традиційно сформувалися і сприймаються у суспільстві як зразки правильної (справедливої, толерантної, розумної) поведінки, що очікується або рекомендується, люди ж мусять без примусу дотримуватися цих норм. До моральних можуть бути віднесені такі норми, як етикет, звичаї, традиції, обряди (скажімо, хрещення, ритуали, посвячення в студенти тощо).

Формальні соціальні норми являють собою спеціально роз­роблені й затверджені законом (розпорядженням) правила поведінки (наприклад військові статути, правила поведінки пасажирів у метро тощо). Особливе місце серед формальних соціальних норм належить юридичним нормам, тобто Конституції, законам, указам, постановам уряду та іншим державним нормативним документам. Вони, як правило, захищають права і свободи людини, суспільний порядок, безпеку громадян. Фор­мальні норми передбачають певні санкції: позитивні — за
зразкове виконання, негативні — покарання за порушення або невиконання цих норм.

Таким чином, людина в суспільстві здійснює соціальну поведінку під безперервним впливом соціальних цінностей, у межах формальних і неформальних норм, що їх встановлює духовна культура суспільства.

Питання для самоконтролю

1. У чому сутність понять «цивілізація» і «культура»? Що в них є загальним, а що особливим?

2. Сформулюйте визначення культури, керуючись сучасною її парадигмою.

3. Що є предметом соціології культури?

4. Які елементи включає в себе культура?

5. Назвіть основні групи закономірностей соціології культури.

6. Які рівні й різновиди має культура?

7. Які функції виконує культура, в чому їх зміст і соціальна роль?

8. Що включає в себе механізм освоєння, відтворення і творення культури?

9. Які існують поведінкові підсистеми духовної культури суспільства, в чому їхня сутність і соціальна роль?

 

< тело процедуры - последовательность операторов процедуры >

end;

Раздел описаний процедуры содержит описание всех локальных имён, используемых в разделе операторов процедуры. Локальными называются имена, которые объявлены в данной процедуре (эти имена теряют свои значения при выходе из процедуры). Часто локальными именами являются вспомогательные переменные, необходимые для выполнения вычислений в процедуре, ими могут быть и другие процедуры или функции.

Раздел операторов процедуры может содержать любую последовательность операторов, выполняющих необходимое действие. В этих операторах могут использоваться как формальные параметры, так и локальные имена, а также глобальные имена, т.е. имена, описанные вне данной процедуры. Глобальные имена представляют

собой еще один механизм передачи параметров между процедурой и внешней средой.

Выполнение процедуры заканчивается либо при достижении слова end, завершающего раздел операторов, либо при выполнении оператора exit.

Вызов процедуры имеет следующую синтаксическую форму:

< имя процедуры > (< список фактических параметров >);

где фактические параметры перечисляются в списке через запятую.

Пример программы на Турбо Паскале, использующей процедуру:

program triangle1;{Программа, вычисляющая длины сторон треугольника АВС}

uses CRT;

type point = array [1..2] of real; {тип- точка на плоскости}

var A,B,C:point; {вводимые точки}

AB,BC,AC:real; {стороны треугольника}

ch:char;

procedure d(X,Y:point; var r:real);{ расстояние между точками X и Y }

begin r:= sqrt(sqr(X[1]-Y[1])+sqr(X[2]-Y[2])) end { d};

BEGIN TextBackground(cyan);TextColor(white);ClrScr;

window(10,5,60,10);TextBackground(green); ClrScr;

writeln(' Введите координаты вершин A,B,C:');

writeln('A[1] A[2] B[1] B[2] C[1] C[2] '); readln(A[1],A[2],B[1],B[2],C[1],C[2]);

writeln(' Длины сторон треугольника АВС:');d(A,B,AB);d(B,C,BC);d(A,C,AC);

writeln(' AB=', AB:2:2,' AC=', AC:2:2,' BC =', BC:2:2); readln(ch)

until ch=' ';

END {triangle1}.

3. Функции: описания и вызовы функций.

В отличие от процедур, функции не являются отдельными операторами. Функции возвращают значения (результат обращения к ним) и предназначены для использования в составе выражений или в качестве выражений. Это накладывает определенный отпечаток на синтаксическую структуру описания функций, которая имеет вид:

function < имя функции >[ (< список формальных параметров >) ]: < тип функции >;

< описание локальных имён >

< тело функции - последовательность операторов >

end;

В заголовке описания функции обязательно указывается тип вырабатываемого функцией результата, которым может быть любой простой тип Турбо Паскаля, а также строковый тип и тип указатель.

Другое отличие описания функции состоит в необходимости присутствия в теле функции хотя бы одного оператора присваивания, левой частью которого является имя функции. Смысл этого оператора - в присваивании функции некоторого результата как итога выполнения функции. Заметим, что имя функции не должно присутствовать в правой части операторов присваивания.

Список формальных параметров в описании функции обычно является списком аргументов функции, т.е. входных параметров-значений или параметров-констант.

Суть классического понятия функции состоит в том, чтобы однозначно отображать значение аргумента (или списка аргументов) на значение функции (результата). Именно такой смысл имеет функция в математике.

В языках программирования понятие функции приобретает, вообще говоря, более широкий смысл. Дело в том, что функция - некоторая подпрограмма, которая в процессе своего выполнения может не только вычислять результат функции от значений аргументов, но и производить некоторое дополнительное воздействие на окружающую среду (например, изменять значение некоторых глобальных переменных, выводить информацию в файлы и др.). Такое воздействие называют побочным эффектом вычисления функций.

Побочный эффект - весьма опасное явление, которое может приводить к трудно обнаруживаемым ошибкам. Поэтому хорошим стилем считается использование только функций без побочного эффекта (так называемых чистых функций). Если функция использует только параметры-значения и не использует глобальные имена, а также операторы вывода, вызова других подпрограмм, то это гарантирует отсутствие побочного эффекта. Впрочем, в некоторых случаях имеет смысл применять функции с побочным эффектом (например, для реакций на ошибки при вычислении значения функции).

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

 

  Замечание   Используя так называемый расширенный синтаксис, можно вызывать функцию как процедуру (т.е. как оператор). Для включения расширенного синтаксиса имеется директива компилятора {$X+}. Это находит применение при инициализации динамических объектов.

 

Приведем пример программы triangle2, отличающейся от triangle1 тем, что вместо процедуры d использована функция dist:

 

program triangle2; {Программа, вычисляющая длины сторон треугольника АВС}

uses CRT;

type point = array [1..2] of real; {тип- точка на плоскости}

var A,B,C:point; {вводимые точки}

ch:char;

function dist(X,Y:point):real;{ расстояние между точками X и Y }

begin dist:= sqrt(sqr(X[1]-Y[1])+sqr(X[2]-Y[2]))

end { dist};

BEGIN TextBackground(cyan);TextColor(white);ClrScr;

window(10,5,60,10);TextBackground(green); ClrScr;

writeln(' Введите координаты вершин A,B,C:');

writeln('A[1] A[2] B[1] B[2] C[1] C[2] ');

readln(A[1],A[2],B[1],B[2],C[1],C[2]);

writeln(' Длины сторон треугольника АВС:');

writeln(' AB=',dist(A,B):2:2,' AC=',dist(A,C):2:2,' BC =',dist(B,C):2:2);readln(ch)

until ch=' ';

END {triangle}.

 

4. Особенности использования параметров в процедурах и функциях.

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

Параметры-массивы. При использовании массивов в качестве параметров необходимо учитывать одно ограничение при описании формальных параметров: типом любого формального параметра может быть только либо стандартный тип, либо тип, который объявлен ранее в вызывающей подпрограмме. Это означает, что нельзя использовать описание типа array непосредственно в списке формальных параметров. Например:

procedure state(m: array [1..8] of byte); {Неправильное описание параметра m}

type byte_st = array [1..8] of byte;

....

procedure state(m:byte_st); {Правильное описание параметра m}

Это ограничение, конечно, справедливо и для строк. Для строк также важно, что объявленные длины формального и фактического строкового параметра-переменной должны совпадать (это ограничение, правда, можно обойти, если отключить контроль совпадения длин строк с помощью опции компилятора {$V-}).

Нетипизированные параметры-переменные. Формальный параметр-переменная может быть описан без указания типа. Такой параметр называется нетипизированным. Соответствующий ему фактический параметр может быть переменной любого типа.

Этот случай полезен, если тип данных несущественен, например, при копировании данных из одной области памяти в другую. Нетипизированные параметры можно использовать также для передачи в подпрограммы одномерных массивов переменной длины (до 64 КБайт).

Параметры - открытые массивы. В качестве параметров подпрограмм можно использовать открытые массивы, т.е. одномерные массивы, указываемые без описания их размера (а только с указанием типа элементов). Открытые массивы позволяют передавать как параметры статические массивы любого размера.

Пример: program............

type array10 = array [0..9] of integer;

var vect:array10; res0,res:real;

.........

procedure compute(x: array of real; var r:real);

begin { тело процедуры compute }..... end;

BEGIN {раздел операторов основной программы}

.......................

compute([1.0, 2.0, 4.0, 8.0, 16.0], res0);...... compute(vect, res);

................

END.

Параметры-процедуры и параметры-функции. Процедуры и функции также могут быть параметрами других процедур или функций, что часто используется, особенно в задачах вычислительной математики. В Турбо Паскале имеется весьма гибкий механизм передачи процедур и функций в качестве параметра. Он основан на введении процедурных типов.

Процедурный тип - тип, представляющий семейство процедур или функций для их использования в программе. Как и любой тип Турбо Паскаля, процедурный тип должен быть описан, а затем может быть использован для работы с переменными процедурного типа (или константами). Описание процедурных типов имеет форму заголовка процедуры (или функции) с опущенным её именем:

type < имя процедуры-типа > = procedure (< список формальных параметров >);

type < имя функции-типа > = function (< список формальных параметров >): < тип >;

Например: type fun = function (x:real):real;

При описании подпрограммы с процедурными параметрами такие параметры указываются формальным именем и соответствующим процедурным типом.

Пример процедуры, использующей описанный выше процедурный тип fun:

procedure print_f (n:byte; f:fun);

const count = 20;

var X:real; j:integer;

begin window(n, 1, n+20, 25);

for j:=1 to count do begin X:=j*(2*pi/count);writeln(X:5:3, f(x):5:5) end

end {print_f};

В программе, где описаны процедурные типы, могут быть объявлены переменные этих типов, которым можно присваивать имена соответствующих подпрограмм, описанных в данной программе, либо эти имена можно использовать как константы при вызове подпрограмм с процедурными параметрами. Стандартные процедуры и функции нельзя непосредственно передавать таким способом, но их можно "подменить" подпрограммами с другими именами, как показано в следующем примере программы на Турбо Паскале:

program grid_functions; { Печать таблицы значений 2-х функций }

uses CRT;

type fun = function (x:real):real;

function sint(x:real):real; {функция sin(x) }

begin sint:=sin(x)

end {sint};

function expcos(x:real); {функция (cos(x)+1)*exp(-x)}

begin expcos:= (cos(x)+1)*exp(-x)

end {expcos};

procedure print_f (n:byte; f:fun); { печать значений функции f}

const count = 20;

var X:real; j:integer;

begin window(n, 1, n+20, 25);

for j:=1 to count do begin X:=j*(2*pi/count);writeln(X:5:3, f(x):5:5) end

end {print_f};

BEGIN {Основная программа} ClrScr;

print_f(1, sint); writeln;

print_f(30, expcos);writeln

END { grid_functions}.

5. Области действия имён в программах.

В программах, не использующих подпрограммы, имена, описанные в разделе описаний, действуют во всей программе, не вызывая каких-либо проблем. Совершенно иная ситуация имеет место, когда в программе используются подпрограммы. В подпрограммах могут использоваться свои локальные (внутренние) имена, и кроме того, она может также использовать глобальные (внешние) для неё имена из других подпрограмм или основной программы. Поскольку допустима иерархия подпрограмм в основной программе, необходимы чёткие правила действия имён в программах с подпрограммами. Рассмотрим эти правила, действующие в Турбо Паскале. Введём соответствующие определения.

Локальными именами подпрограммы называются те имена, которые описаны в этой подпрограмме (в её разделе описаний). Все остальные, используемые в подпрограмме имена, являются глобальными именами данной подпрограммы.

Правило действия локальных имён: все локальные имена доступны внутри подпрограммы и недоступны вне этой подпрограммы. Другими словами локальные имена теряют свои значения непосредственно при завершении подпрограммы. Пример: в процедуре print_f имена count, X, j - локальные имена.

Правило действия глобальных имён: все глобальные имена доступны внутри подпрограмм в том случае, если они отличны от локальных имён. В той же процедуре print_f глобальным именем является имя процедуры window (из модуля CRT).

Правило коллизии имён: Если локальные и глобальные имена (и типы) совпадают, то действует локальное имя, (оно "закрывает" такое же глобальное имя внутри подпрограммы).

Правило коллизии имён введено таким образом, что локальным объектам можно давать любые имена, не заботясь об их возможном совпадении с глобальными именами. Подпрограмму можно представлять как некоторый "черный ящик с полупрозрачными стенками ": для внешнего окружения она "черный ящик", а изнутри она прозрачна, так что "видит" всё внешнее окружение.

Формальные параметры подпрограммы локальны в этой подпрограмме, а фактические - глобальны.

Глобальные имена (не входящие в фактические параметры) в силу правила их действия могут выступать как ещё один механизм связи подпрограмм с внешним окружением (дополнительный к механизму параметров подпрограмм, который следует считать основным).

Однако при проектировании процедур по возможности следует использовать механизм параметров, поскольку он более структурированный и приводит к более понятным текстам программ. Если в подпрограмме используются одновременно и параметры и глобальные переменные, то это может быть свидетельством неудачно проведенной декомпозиции на подпрограммы: общее правило проектирования подпрограмм гласит, что подпрограмма должна иметь связи через минимальное число параметров или глобальных переменных. Впрочем, исключать использование глобальных переменных как самостоятельно, так и совместно с параметрами, конечно, нельзя.

 

6. Особенности разработки программ с подпрограммами на Турбо Паскале.

Практически все используемые прикладные программы - это программы с подпрограммами (процедурами и функциями). Подпрограммы, как уже указывалось, позволяют преодолевать сложность, обеспечивая декомпозицию программы на более простые составные части. Разработка программ на Турбо-Паскале с подпрограммами имеет ряд отличий от той методики, которая изложена выше применительно с простым программам. Эти отличия касаются как этапа разработки проекта, так и разработки алгоритма задачи. Остановимся на них несколько более детально.

При разработке проекта программы с подпрограммами обычно определяется и состав основных подпрограмм, предполагаемых для использования, хотя для программ с небольшим количеством подпрограмм состав подпрограмм часто определяется на этапе разработки алгоритма. В проекте программы состав основных подпрограмм может быть указан в разделе входных и выходных переменных, предназначенном также и для описания новых типов данных, используемых в этих переменных. В остальном проект программы с подпрограммами создается также, как и для программ без подпрограмм.

При разработке алгоритма на псевдокоде для программы с подпрограммами возможны две стратегии (или их сочетание).

Первая стратегия предполагает, что состав подпрограмм определяется раньше фактического использования этих подпрограмм в разделе операторов программы. Для таких подпрограмм вначале указывается их заголовок (в разделе описаний программы), возможно с необходимыми комментариями и возможно без расшифровки реализации этих подпрограмм. Затем в разделе операторов используются вызовы этих подпрограмм. Если тела подпрограмм ещё отсутствуют, то они создаются в процессе последующих уточнений.

Вторая стратегия предполагает, что вызовы подпрограмм использованы раньше, чем появилось описание подпрограмм (даже в виде заголовка). Эта стратегия естественна для случаев, когда состав подпрограмм не определён на этапе проекта программы, и подпрограммы "зарождаются" непосредственно при создании алгоритма задачи. Использование "опережающего" вызова предполагает, что после этого будет уточнен раздел описаний и в нём будет спроектировано тело подпрограммы.

Необходимо учесть также некоторые особенности проектирования подпрограмм по сравнению с обычными программами:

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

во-вторых, многие подпрограммы непосредственно не используют операторы вывода на экран. В этих случаях нет необходимости в описании экранной формы.

Таким образом, при разработке подпрограмм во многих случаях нет необходимости в оформлении проекта подпрограммы иначе, чем в это предусмотрено в самом заголовке подпрограммы.

Методика разработки алгоритма подпрограммы не отличается от разработки алгоритма программы. Приведем пример разработки программы с функцией:

 

program letters; {проект}

1.Постановка задачи:

Для вводимой строки символов определить и вывести на экран все

повторяющиеся латинские буквы (не различая большие и малые буквы).

2. Входные и выходные переменные:

str: string; {входная строка}

j:char; {текущая латинская буква}

3. Аномалии:

if <отсутствуют повтор. латинские буквы> then ‘Нет повторяющихся букв’

4. Экранная форма:

‘Введите строку:’

<str>

‘Повторяющиеся буквы:’

[ {<j>}]

[ Нет повторяющихся букв]

program letters; {0.1}

{Нахождение повторяющихся латинских букв во вводимой строке}

var str: string;j:char;alfa:Boolean;

{0* function count(s: string;k:char):byte;}

{число вхождений символа k в строку s}

BEGIN writeln('Введите строку:');readln(str); writeln('Повторяющиеся буквы:');
alfa:=true; for j:='A' to 'Z' do if count(str,j)>1 then begin write(j,' ');alfa:=false end;

if alfa then writeln('Нет повторяющихся букв');writeln;

END.

 

program letters;{0.2}

{Нахождение повторяющихся латинских букв во вводимой строке}

var str: string;j:char;alfa:Boolean;

function count(s: string;k:char):byte;

var c,j:byte;

begin c:=0; for j:=1 to length(s) do

if upcase(s[j])=k then c:=c+1;count:=c

end {count};

BEGIN writeln('Введите строку:');readln(str); writeln('Повторяющиеся буквы:');
alfa:=true; for j:='A' to 'Z' do if count(str,j)>1 then begin write(j,' ');alfa:=false end;

if alfa then writeln('Нет повторяющихся букв');writeln;

END.

 

Название дисциплины I поток II поток
9.00 - 10.00 15.30 – 16.30  
Внутренние болезни (Гомельская центральная городская клин. больница, Ильича, 286) 03.09; 24.09; 22.10; 19.11; 10.12. 05.09; 26.09; 24.10; 21.11; 12.12.
Хирургические болезни (Гомельская центральная городская клин. больница, Ильича, 286) 04.09; 25.09; 16.10; 06.11; 27.11. 03.09; 24.09; 15.10; 05.11; 26.11.
Общественное здоровье и здравоохранение (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 12.09; 03.10; 24.10; 28.11. 11.09; 02.10; 23.10; 27.11.
Педиатрия (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 17.09; 01.10; 15.10; 29.10; 12.11; 26.11; 03.12. 19.09; 03.10; 17.10; 31.10; 14.11; 28.11; 05.12.
Психиатрия и наркология (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 20.09; 01.11; 06.12; 13.12; 27.12.   21.09; 02.11; 07.12; 11.12; 28.12.
Инфекционные болезни (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 11.09; 18.09; 09.10; 19.10; 30.10; 05.11; 20.11; 12.12; 18.12. 10.09; 17.09; 08.10; 18.10; 29.10; 06.11; 19.11; 10.12; 17.12.
Военно-полевая хирургия (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 14.09; 28.09; 12.10; 26.10; 09.11; 23.11; 30.11; 14.12; 21.12; 28.12. 13.09; 27.09; 11.10; 25.10; 08.11; 22.11; 29.11; 13.12; 20.12; 26.12.
Гинекология (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 10.09; 08.10; 17.12. 12.09; 10.10; 19.12.
Военно-полевая терапия (Гомельская центральная городская клин. больница, Ильича, 286) 06.09; 04.10; 18.10; 08.11; 29.11. 07.09; 05.10; 19.10; 09.11; 30.11.
Судебная медицина (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 21.09; 21.11; 08.12; 11.12; 26.12. 20.09; 20.11; 06.12; 14.12; 27.12.
Урология (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 19.09; 10.10; 31.10; 19.12. 18.09; 09.10; 30.10; 18.12.
Профессиональные болезни (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 13.09; 27.09; 11.10; 25.10; 15.11; 22.11; 07.12; 20.12. 14.09; 28.09; 12.10; 26.10; 16.11; 23.11; 08.12; 21.12.
Онкология (Новый зал уч. корп. № 4, пр. Космонавтов, 70) 05.10; 02.11; 16.11. 04.10; 01.11; 15.11.
Клиническая иммунология аллергология (Госпиталь ИОВ) 07.09; 02.10; 23.10; 13.11; 04.12. 06.09; 01.10; 22.10; 12.11; 03.12.
Детская хирургия (Обл. клин. больница, Бр. Лизюковых, 5) 05.09; 26.09; 17.10; 14.11; 05.12. 04.09; 25.09; 16.10; 13.11; 04.12.

Декан факультета В.А.Подоляко

Начальник учебного отдела Н.В.Верхина

 

<== предыдущая лекция | следующая лекция ==>
По биоорганической химии | Основными тенденциями в развитии конструкций оборудования
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 368; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.202 сек.