Охарактеризуйте структурный подход к программированию. Технология структурного программирования. Основные свойства алгоритма

  • 03.03.2020

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию ГОУ ВПО

Всероссийский заочный финансово-экономический институт

Кафедра экономической теории

КОНТРОЛЬНАЯ РАБОТА

по Философии на тему:

Сознание как предмет философского анализа

Работа выполнена Будиной Ольгой Владимировной

факультет менеджмента и маркетинга

специальность ГиМУ

номер личного дела 07МГД14471

Киров -- 2008

Введение

1. Материальное и идеальное. Основные характеристики и качества сознания и предпосылки его возникновения и развития

2. Структура сознания. Сознание и язык

3. Что такое бессознательное как феномен психики? Объясните соотношение понятий: психика - сознание - бессознательное

Заключение

Список литературы

Введение

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

Цель данной работы: Рассмотреть сознание как предмет философского анализа.

1. Рассмотреть материальное и идеальное. Основные характеристики и

качества сознания и предпосылки его возникновения и развития

2. Раскрыть структуру сознания. Сознание и язык

3. Выяснить Что такое бессознательное как феномен психики?

4.Объяснить соотношение понятий: психика - сознание - бессознательное.

Материальное и идеальное. Основные характеристики и качества сознания и предпосылки его возникновения и развития

Начнем рассмотрение данного вопроса с введения основных понятий, таких как материальное и идеальное, а так же объективная и субъективная реальность. Материальное -- всё, что принадлежит действительности (объективной реальности) и отображается ощущениями субъекта, существуя независимо от них. Обобщением понятия материального является материя. Материя (лат. materia - вещество) - понятие, которое первоначально означало тождественность пространственной телесности без противопоставления ее идеальному, духовному, и только в результате ряда исторических превращений развившееся в понятие мертвого, инертного вещества, противостоящего как основополагающее, первичное, сознанию человека. Оно является основой одного из двух главных философских направлений, материализма Начали употреблять в 17 веке главным образом в смысле физических представлений о материи (Р. Бойль), а позднее в более общем, философском смысле (Г. В. Лейбниц). Точное определение впервые дали К. Маркс и Ф. Энгельс, «философы разделились на два больших лагеря», сообразно тому, как отвечали они на вопрос об отношении мышления к бытию. «Те, которые утверждали, что дух существовал прежде природы... составили идеалистический лагерь. Те же, которые основным началом считали природу, примкнули к различным школам материализма» (Энгельс Ф., см. Маркс К. и Энгельс Ф., Сочинения, 2 изд., т. 21, с. 283). Такого понимания Материализма придерживался и В. И. Ленин (см. Полное собрание сочинений, 5 изд., т. 18, с. 98). . Соответственно трём главным ступеням развития познания выделяются основные виды Материализма:

· Наивный (или стихийный). Материализм древних греков и римлян, сочетавшийся у них с наивной диалектикой. Античная наука не расчленена на отдельные отрасли; она носит единый философский характер: все отрасли знания находятся под эгидой философии и подчинены ей.

· Метафизический (или механический). 17--18 века. Наука быстро дифференцируется, расчленяясь на обособленные отрасли, которые выходят из-под опеки философии. Происходит разрыв между материализмом и диалектикой; в первом встречаются лишь элементы диалектики при господстве общего метафизического взгляда на мир.

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

Наряду с основными видами материализма существовали промежуточные - переходные от одного основного вида к другому. В развитии материализма внезапные перевороты всегда подготавливались постепенно. В качестве переходных выделялись следующие виды:

· Материализм Древнего Востока, предшествовавший античному. По большей части это был предматериализм, поскольку первые элементы материализма в философских учениях Древнего Востока ещё не вполне отделились от мифологических представлений, не обособились от антропоморфизма и гилозоизма.

· Материализм эпохи Возрождения соединял в себе черты наивного материализма и наивной диалектики с первыми элементами метафизического взгляда на мир. Таким образом, он был, строго говоря, переходным между античным, наивным материализмами и ещё не сформировавшимся метафизическим. В известном смысле такой характер носили некоторые ранние системы материализма в 17 веке (например, Ф. Бэкон).

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

Идеальное - субъективный образ объективной реальности, т.е. отражение внешнего мира в формах деятельности человека, в формах его сознания и воли. Идеальное есть не индивидуально-психологический, тем более не физиологический факт, а факт общественно-исторический, продукт и форма духовного производства. Идеальное осуществляется в многообразных формах общественного сознания и воли человека как субъекта общественного производства материальной и духовной жизни. По характеристике Маркса, «...идеальное есть не что иное, как материальное, пересаженное в человеческую голову и преобразованное в ней» Маркс К. Капитал, т. 1, 1955, с. 19. . Идеальное лежит в основе второй основной философской теории - Идеализма, согласно которой Вселенная представляет собой выражение или воплощение Духа (разума). В истории мысли эта теория принимала две главные формы соответственно двум совершенно разным подходам. Эпистемологический идеализм развивался в Англии Беркли, Юмом и Дж.С.Миллем, которые опирались на идейный фундамент, заложенный Локком. Исследуя восприятие, Локк заключил, что мы никогда не воспринимаем физический объект непосредственно; качества, которые мы воспринимаем, суть эффекты, производимые в нашем сознании воздействующими на него вещами. Подвергнув анализу ощущаемые качества, такие, как цвет и звук, запах и вкус, Локк не нашел основания верить, что в физическом объекте имеется что-либо, напоминающее эти качества. В то же время он полагал, что наши восприятия (перцепты) размера, формы и движения позволяют нам (пользуясь предположением о сходстве причины и следствия) делать выводы о том, какого рода вещи и события их вызывают. Последнее отрицал Беркли. Вера в существование физической природы, полагал он, порождена тем, что объективное существование приписывалось качествам, которые при анализе целиком сводятся к ощущениям и потому принадлежат только сознанию. Esse est percipi, существовать - значит быть воспринятым. Можно было бы даже вывести отсюда, что существуют только ощущения и образы (позиция солипсизма). Однако Беркли был далек от такого заключения. Наши ощущения должны иметь независимо существующую причину. Но поскольку доказано, что понятие о материальных вещах иллюзорно, единственной разумной альтернативой является разум, более или менее напоминающий наш собственный, но при этом отличающийся большим постоянством и широтой, - божественный дух, в котором природный порядок сведен к неизменному порядку идей.

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

Метафизический идеализм. Главной идеей этой формы идеализма является тезис Гегеля: «Действительно то, что разумно». Мышление есть попытка понять, а понять что-либо - значит увидеть его место в системе; например, чтобы понять геометрическую теорему, нужно установить, что она необходимо связана с другими положениями геометрии. То, что не укладывается в требования разума, например в силу самопротиворечивости, является нереальным. Но можем ли мы сказать, что все реальное полностью разумно и умопостижимо? Лишь немногие идеалисты верили в доказуемость такого тезиса, однако считали его неявной предпосылкой философствования. Постоянные попытки ответить на вопросы типа «Почему?..» исходят из допущения, что ответ существует, - такой ответ, который разум может счесть удовлетворительным. Философия есть попытка нашего конечного разума проникнуть во всеобъемлющую систему разума, в которой и заключен смысл Вселенной. Этой системой является «Абсолют».

Такого рода рассуждения намечены уже у Платона, хотя в его философии Вселенная в конечном итоге предстает не как логическая система, а как система восхождения к высшему благу. Наиболее полно метафизический идеализм изложен Гегелем. Среди других мыслителей Нового времени, придерживавшихся сходных взглядов, - Фихте и Шеллинг, Т.Грин, Ф.Брэдли и Б.Бозанкет, а также Дж.Ройс.

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

Сознание -- это высшая форма отражения действительного мира, свойственна только людям и связана с речью функция мозга, заключающаяся в обобщенном и целенаправленном отражении действительности, в предварительном мысленном построении действий и предвидении их результатов, в разумном регулировании и самоконтролировании поведения человека. Сознание, как и материя, это реальность. Но если материя это объективная реальность, характеризующаяся самодостаточностью и самообоснованностью, то сознание - это реальность субъективная, это субъективный образ объективного мира. Оно не существует само по себе, а имеет основание в ином, в материи. Стержнем сознания, способом его существования является знание. Сознание принадлежит субъекту, человеку, а не окружающему миру. Но содержанием сознания, содержанием мыслей человека является весь мир, все его стороны, связи, законы. Поэтому сознание можно охарактеризовать как субъективный образ объективного мира. Человек, в отличие от животных сам себя познает и сознает, он способен совершенствоваться. Его сознанию присущи такие стороны, как самосознание, самоанализ, самоконтроль. Их формирование происходит, когда человек выделяет себя из окружающей среды. Самосознание -- самое важное отличие психики человека от психики самых развитых животных. Сознание не просто психическое состояние, а высшая человеческая форма отражения действительности. Сознание человека структурно организовано и является целостной системой, состоящей из различных элементов, находящихся между собой в закономерных отношениях. Развитие сознания возможно только при пополнении его новыми знаниями об окружающем мире и о самом человеке. Познание, осознание вещей имеет различные уровни, глубину проникновения в объект и степень ясности понимания.

Структура сознания. Сознание и язык.

Сознание - это в первую очередь совокупность знаний о мире. Не случайно оно тесно связано с познанием. Если познание есть сознание в его активной направленности вовне, на объект, то само сознание в свою очередь результат познания. Здесь обнаруживается диалектика: чем больше мы знаем, тем выше наши познавательные потенции и наоборот - чем больше мы познаем мир, тем богаче наше сознание. Следующий важный элемент сознания - внимание, способность сознания концентрироваться на определенных видах познавательной и любой иной деятельности, держать их в своем фокусе. Далее следует назвать память, способность сознания накапливать информацию, хранить, а при необходимости и воспроизводить ее, а также использовать ранее приобретенные знания в деятельности. Но мы не только знаем нечто и нечто запоминаем. Сознание неотделимо от выражения определенного отношения к объектам познания, деятельности и общения в виде эмоций. К эмоциональной сфере сознания относятся собственно чувства - радости, удовольствия, горя, а также настроения и аффекты или страсти - гнев, ярость, ужас, отчаянье и т.д. К названным ранее следует добавить и такой существенный компонент сознания, каким является воля, представляющая собой осмысленное устремление человека к определенной цели и направляющая его поведение или действие. Наконец, важнейшей составляющей сознания, является самосознание. Самосознание - своеобразный центр нашего сознания, интегрирующее начало в нем. Самосознание - это сознание человеком своего тела, своих мыслей и чувств, своих действий, своего места в обществе, проще говоря, осознание себя как особой и единой личности. Самосознание - исторический продукт, оно формируется лишь на определенной, притом достаточно высокой стадии развития первобытного общества. А наряду с этим оно является и продуктом индивидуального развития: у ребенка его основания закладываются примерно в возрасте 2-4-х лет. В развитии, динамике самосознания можно выделить три уровня. Первый - уровень самочувствия, сводящегося к элементарному осознанию своего тела и его включенности в систему окружающих человека вещей. Именно благодаря этому человек не только выделяет себя из предметного мира, но и имеет возможности свободно ориентироваться в нем. Второй уровень самосознания реализуется в осознании своей принадлежности к тому или иному сообществу, к той или иной культу- ре и социальной группе. Самый высокий уровень развития самосознания - возникновение сознания "Я" как такого образования, которая хотя и похоже на "Я" других людей, но одновременно неповторимо, причем способно не только совершать поступки, но и нести ответственность за них, что предполагает необходимость и возможность как контроля за своими действиями, так и их самооценки. Таким образом, самосознание характеризует не только самопознание, но и сопоставление себя с некоторым идеалом "Я", а значит, контроль и самооценку, а также возникновение на этой основе чувства удовлетворенности или неудовлетворенности собой. При этом само осознание человеком своего "Я" опять-таки может реализоваться лишь через сопоставление себя с другими людьми. Это лишний раз свидетельствует об общественной природе сознания, формирующегося в ходе коллективной деятельности и человеческого общения. Самосознание характеризуется двумя взаимосвязанными свойствами - предметностью и рефлективностью. Первое свойство дает возможность соотносить наши ощущения, восприятия, представления, мысленные образы с предметным миром вне нас, что позволяет обеспечить нацеленность сознания на внешний мир. Рефлексия же - это такая сторона самосознания, которая, напротив, сосредоточивает внимание на самих его явлениях и формах. В ходе рефлексии человек осознает свое "Я", анализирует его, сопоставляя себя с идеалом, размышляя о своем отношении к жизни, закрепляя или, наоборот, меняя определенные жизненные ориентиры. При этом в оценках и самооценках возможны и ошибки. Проверка и корректировка здесь возможны при условии внимательного отношения к оценкам других людей и трезвого сопоставления с ними своих самооценок. Поэтому самосознание не есть некая константа, оно не только возникает в процессе совместной деятельности и общения с другими людьми, но и постоянно проверяется и корректируется в процессе углубления и расширения межличностных отношений.

Язык формировался и развивался в тесной связи с развитием труда и общества. При этом одной из предпосылок его возникновения на биологическом уровне явились существующие уже у высших животных системы звуковой сигнализации. В языке с особой отчетливостью обнаруживает себя общественная природа сознания. Язык так же древен, как и сознание. Язык и сознание представляют собой органическое единство, не исключающее однако, и противоречий между ними. Сущность языка обнаруживает себя в его функциях. Прежде всего язык выступает как средство общения, передачи мыслей, выполняет коммуникативную функцию. Мысль представляет собой идеальное отображение предмета и поэтому не может быть ни выражена, ни передана без материального обрамления. В роли материальной, чувственной оболочки мысли и выступает слово как единство знака, звучания и значения, понятия. Речь представляет собой деятельность, сам процесс общения, обмена мыслями, чувствами и т.п., осуществляемый с помощью языка как средства общения. Но язык не только средство общения, но и орудие мышления, средство выражения и оформления мыслей. Дело в том, что мысль, понятие лишены образности, и потому выразить и усвоить мысль значит облечь ее в словесную форму. Даже тогда, когда мы мыслим про себя, мы мыслим, отливая мысль в языковые формы. Выполнение языком этой своей функции обеспечивается тем, что слово - это знак особого рода: в нем, как правило, нет ничего, что напоминало бы о конкретных свойствах обозначаемой вещи, явления, в силу чего оно и может выступать в роли знака - представителя целого класса сходных предметов, т.е. в роли знака понятия. Наконец, язык выполняет роль инструмента, накопления знаний, развития сознания. В языковых формах наши представления, чувства и мысли приобретают материальное бытие и благодаря этому могут стать и становятся достоянием других людей. Через речь осуществляется мощное воздействие одних людей на других. Эта роль языка видна в процессе обучения в том значении, которое в наши дни приобрели средства массовой информации. Вместе с тем успехи в познании мира, накопление знаний ведут к обогащению языка, его словарного запаса, грамматических форм. С возникновением письменности знания и опыт закрепляются в рукописях, книгах и т.д., становятся общественным достоянием, обеспечивается преемственность поколений и исторических эпох, преемственность в развитии культуры. Итак, сознание и язык органически связаны друг с другом. Но единство языка и мышления не означает их тождества. Действительно мысль, понятие как значение слова есть отражение объективной реальности, а слово как знак - средство выражения и закрепления мысли, средство и передачи ее другим людям. К этому следует добавить, что мышление по своим логическим законам и формам интернационально, а язык по его грамматическому строю и словарному составу - национален. Наконец, отсутствие тождества языка и мышления просматривается и в том, что порой мы понимаем все слова, а мысль, выраженная с их помощью, остается для нас недоступной, не говоря уже о том, что в одно и то же словесное выражение люди с различным жизненным опытом вкладывают далеко не одинаковое смысловое содержание. Эти особенности в соотношении языка и мышления необходимо учитывать и в живой речи, и в речи письменной. Естественные языки - главное и решающее средство общения между людьми, средство организации нашего мышления. Вместе с тем по мере развития познания и общественной практики, наряду с языками, начинают все шире использоваться и неязыковые знаки и знаковые системы. В конечном счете все они так или иначе связаны с естественным языком, дополняя его и расширяя его диапазон и возможности. К числу таких неязыковых знаковых систем можно отнести системы знаков, используемых в математике, химии, физике, нотную грамоту, знаки дорожного движения и т.д. Больше того, формируются искусственные языки - язык математики, других наук, а в последнее время и формализованные языки программирования (Паскаль, Бейсик, Алгол, Фортран и т.д.). Потребности, вызвавшие их к жизни, многообразны. Немаловажно уже то, что в этих языках преодолена многозначность терминов, свойственная естественным языкам и недопустимая в науке. Искусственные языки позволяют в предельно сжатой форме выражать определенные понятия, выполняют функции своеобразной научной стенографии, экономного изложения и выражения объемного мыслительного материала. Наконец, искусственные языки - одно из средств интернационализации науки, поскольку искусственные языки едины, интернациональны.

Что такое бессознательное как феномен психики? Объясните соотношение понятий: психика-сознание-бессознательное.

Заключая предыдущие разделы следует отметить, что сознание - важнейшая сфера человеческой психики, но не единственная, поскольку последняя включает в себя и бессознательное. Особое внимание вопросу о природе бессознательного уделял в свое время австрийский врач-психиатр и философ З.Фрейд. Он высказал ряд важных положений о сфере бессознательного. Вместе с тем З.Фрейд отдал бессознательному первенствующую роль, утверждая, что оно определяет и сознание, и все поведение человека, причем особое значение он придавал врожденным инстинктам и влечениям, ядром которых считал половой инстинкт. Само бессознательное имеет три основных уровня. К первому относится неосознанный психический контроль человека за жизнью своего тела, координацией функций, удовлетворением простейших нужд и потребностей. Второй, более высокий уровень бессознательного - это процессы и состояния, которые могут реализоваться в пределах сознания, но могут перемещаться в сферу бессознательного и осуществляться автоматически и т.д. Наконец, третий, высший уровень бессознательного проявляется в художественной, научной, философской интуиции, играющей важную роль в процессах творчества. Бессознательное на этом уровне тесно переплетено с сознанием, с творческой энергией чувств и разума человека. О возможностях и резервах сферы бессознательного можно судить по тому, что в общем балансе информационных процессов на сознательном уровне перерабатывается в секунду 10520 бит информации, тогда как на бессознательном - 10590 бит. Для самосознания личности эта информация оказывается "закрытой", но она существует, поступает в мозг, перерабатывается, и на ее основе осуществляются многие действия. Неосознанное отражение, играя вспомогательную роль, освобождает сознание для реализации наиболее важных, творческих функций. Так, многие привычные действия мы выполняем без контроля сознания, бессознательно, а сознание, освобожденное от решения этих задач, может быть направлено на иные предметы.

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

Заключение

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

И в заключение сделаем несколько выводов по изложенному выше материалу.

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

Список литературы

1. «Философия» под. ред. В.Н. Лавриненко и В.П. Ратникова - 1998г.

2. Статьи свободной энциклопедии «Википедии»

3. Статья «Сознание. Сущность, феномен и развитие сознания» - материал сайта www.effecton.ru

4. В.С. Егоров. Философия открытого мира «Материальное и идеальное сущностное содержание мира. Проблема времени и пространства»

5. Введение в философию. Учебное пособие Научный редактор акад. Ф.С.Файзуллин

6. Маркс К. Капитал, т. 1, 1955

7. Б. М. Кедров. http://www.booksite.ru

8. Энциклопедия «Кругосвет»

9. Статья «Реальность» http://www.thetext.info

Подобные документы

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

    контрольная работа , добавлен 11.03.2008

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

    контрольная работа , добавлен 12.08.2009

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

    контрольная работа , добавлен 27.12.2006

    Сознание и психика. Сознание в истории философии и его уровни. Сознание как проблема в современной философии. Сознание и самосознание. Феномен Я и субъект в философии Декарта. Экзистенциально-персоналистическое и объективистски-социальное направления.

    курсовая работа , добавлен 12.11.2008

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

    презентация , добавлен 18.09.2013

    Сознание как свойство высокоорганизованной материи. Основные формы отражения. Отражение как всеобщее свойство материи. Роль труда, языка и общения в формировании сознания. Материальное и идеальное. Общественное сознание и его преобразовательная сила.

    реферат , добавлен 22.12.2009

    Проблема сознания в истории философии. Сознание и отражение. Индивидуальное и общественное сознание. Сознание и язык. Способы духовного освоения природной и социальной действительности. Господство общественного сознания.

    реферат , добавлен 02.05.2007

    Актуальность проблемы сознания человека. Научное понятие сознания и его классификация. Определение и структура сознания. Формы неистинного сознания: эгоизм и альтруизм. Истинно нравственная сфера сознания.

    контрольная работа , добавлен 14.08.2007

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

    реферат , добавлен 28.11.2004

    Определение, диалектика и структура сознания человека. Сознание, самосознание и рефлексия. Сознание и сфера бессознательного. Диалектика сознания и языка. Язык как средство общения и взаимного понимания людей. Единство языка и сознания, знаковые системы.

  • 3. Материализм и идеализм как направления в философии, их разновидности. Рационализм и иррационализм как направления в философии.
  • 5. Философские учения Сократа, Платона и Аристотеля.
  • 6. Становление и развитие философской мысли на Востоке: буддизм, конфуцианство, даосизм.
  • 7. Средневековая философия: период патристики. Философия Августина.
  • 8. Средневековая философия: период схоластики. Номинализм и реализм. Философия ф.Аквинского.
  • 9. Рационализм как философское направление эпохи Нового времени. Р.Декарт, г.Лейбниц.
  • 10. Эмпиризм как философское направление эпохи Нового времени. Ф.Бэкон, Дж.Беркли.
  • 11. Вопросы теории познания и этики в учениях Канта.
  • 12. Основные черты философии Гегеля.
  • 13. Особенности развития русской философии 19-20 веков.
  • 14. Позитивизм и его разновидности.
  • 15.Философия жизни: Шопенгауэр, Ницше. Экзистенциализм: ж.-п.Сартр, а. Камю
  • 16.Понятие материи как субстанции. Современные представления о сущности и структуре материального мира.
  • 17.Движение как философская категория. Движение и развитие, виды развития(прогресс, регресс).Движение и покой. Основные формы движения материального мира.
  • 18. Понятие пространства и времени, их характеристика. Субстанциональная и реляционная концепции пространства и времени. Современная наука о пространстве и времени.
  • 19.Сознание как предмет философского исследования, различные подходы к решению проблемы природы сознания. Сознание и самосознание
  • 20.Бессознательное как предмет философского исследования: з.Фрейд, к.Юнг
  • 21.Основные проблемы гносеологии. Проблема познаваемости мира. Понятие «знание» и «понимание».
  • 22. Чувственное и рациональное познание, их специфика и взаимосвязь. Философские учения сенсуализма и рационализма. Роль интуиции в познании.
  • 23.Понятие истины. Основные концепции: корреспондентская, когерентная, прагматистская.
  • 24.Характерные черты истинного знания: соотношение объективного и субъективного, абсолютного и относительного, конкретность. Критерии истинного знания.
  • 25. Понятие и специфика науки. Формы научного познания: проблема, гипотеза, теория. Эмпирический и теоретический уровни научного познания.
  • 27.Эмпиричкские методы научного познания: наблюдение и эксперимент. Виды экспериментов.
  • 26. Общенаучные методы научного познания: анализ и синтез, индукция и дедукция, аналогия и моделирование.
  • 19.Сознание как предмет философского исследования, различные подходы к решению проблемы природы сознания. Сознание и самосознание

    Философия, в отличие от других наук, исследует общую природу сознания, изучает его прежде всего под углом зрения своего основного вопроса. при подобном подходе к сознанию сталкиваются две альтернативных позиции - материалистическая и идеалистическая. Идеалистический подход рассматривает сознание в качестве продукта души, превращая сознание в нечто таинственное и недоступное рациональному, с научных позиций исследованию. Такой взгляд был у античных философов: Платон – разумная часть души я-я главной, формулировка идеального в противовес материальному (душа, опыт, познание, бессмертие души). Платин- не все в душе осознанно, человеческий разум – функция души. Материализм, исходит из того, что оно есть функция мозга, во-вторых, рассматривает сознание как отражение материи, отражение внешнего мира и, наконец, с материалистической точки зрения оно является продуктом развития материального мира. При подобном подходе оказывается, что сознание при всей его сложности не является чем-то абсолютно непостижимым и непознаваемым. Значительный материал о физиологических основаниях сознания могут дать исследования физиологии высшей нервной деятельности, поскольку сознание органически связано с материальными, физиологическими процессами в мозгу, выступает как специфическая сторона. Обширные данные для понимания сознания дает исследование человеческой деятельности и ее продуктов, поскольку в них реализованы, запечатлены знания, мысли и чувства людей. Наряду с этим сознание проявляется в познании, вследствие чего и этот источник, изучение познавательного процесса, открывает различные стороны сознания. Самосознание - своеобразный центр нашего сознания, интегрирующее начало в нем. Самосознание - это сознание человеком своего тела, своих мыслей и чувств, своих действий, своего места в обществе, проще говоря, осознание себя как особой и единой личности.

    Самосознание - исторический продукт, оно формируется лишь на определенной, притом достаточно высокой стадии развития первобытного общества. А наряду с этим оно является и продуктом индивидуального развития: у ребенка его основания закладываются примерно в возрасте 2-4-х лет. Первый - уровень самочувствия, сводящегося к элементарному осознанию своего тела и его включенности в систему окружающих человека вещей. Именно благодаря этому человек не только выделяет себя из предметного мира, но и имеет возможности свободно ориентироваться в нем. Второй уровень самосознания реализуется в осознании своей принадлежности к тому или иному сообществу, к той или иной культуре и социальной группе. Самый высокий уровень развития самосознания - возникновение сознания "Я" как такого образования, которая хотя и похоже на "Я" других людей, но одновременно неповторимо, причем способно не только совершать поступки, но и нести ответственность за них, что предполагает необходимость и возможность как контроля за своими действиями, так и их самооценки. Самосознание характеризуется двумя взаимосвязанными свойствами - предметностью и рефлективностью. Первое свойство дает возможность соотносить наши ощущения, восприятия, представления, мысленные образы с предметным миром вне нас, что позволяет обеспечить нацеленность сознания на внешний мир. Рефлексия же - это такая сторона самосознания, которая, напротив, сосредоточивает внимание на самих его явлениях и формах. В ходе рефлексии человек осознает свое "Я", анализирует его, сопоставляя себя с идеалом, размышляя о своем отношении к жизни, закрепляя или, наоборот, меняя определенные жизненные ориентиры. При этом в оценках и самооценках возможны и ошибки. Проверка и корректировка здесь возможны при условии внимательного отношения к оценкам других людей и трезвого сопоставления с ними своих самооценок. Поэтому самосознание не только возникает в процессе совместной деятельности и общения с другими людьми, но и постоянно проверяется и корректируется в процессе углубления и расширения межличностных отношений.

    Философские сознание: 1-познавательная, которая реализуется в приобретении и накоплении знаний о природе, обществе и самом человеке. 2- творчески-конструктивная, проявляющаяся в мысленном моделировании будущего и в целенаправленном преобразовании на этой основе действительности, в создании предметов не существующих в природе. 3- регулятивно-управленческая, обеспечивающая разумное регулирование и самоконтроль поведения и деятельности человека, его взаимоотношения с внешним миром. 4- прогностическая. Человек до определенного предела с некоторой вероятностью может предвидеть будущее, прогнозировать свои действия, строить планы и осуществлять их

    Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

    Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

    Размещено на http://www.allbest.ru/

    Курсовая работа

    Модульный, структурный и объективный подходы к проектированию и программированию

    Введение

    2.1.2 Структурный подход

    2.2.2 Модульный подход

    Заключение

    программирование управление проектирование

    Введение

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

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

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

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

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

    Рассмотреть различные подходы программирования и проектирования;

    Применить каждый из подходов при реализации прикладной задачи.

    1. Технологии и парадигмы программирования

    1.1 Эволюция парадигмы программирования

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

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

    Существуют четыре основные парадигмы, которые описывают большинство сегодняшних методов программирования: императивная, аппликативная, основанная на системе правил и объектно-ориентированная.

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

    Оператор_1:

    Оператор_2:

    Обычно при первом знакомстве с концепциями программирования приходиться сталкиваются именно с этой моделью, и многие широко распространенные языки поддерживают именно ее (например, С, C++, FORTRAN, ALGOL, PL/I, Pascal, Ada, Smalltalk и COBOL).

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

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

    Функция_n (... функция_2 (функция_1 (данные))...)

    Такую модель поддерживают такие языки как ML и LISP.

    Парадигма, основанная на системе правил. Языки, основанные на этой парадигме, осуществляют проверку наличия необходимого разрешающего условия и в случае его обнаружения выполняют соответствующее действие. Наиболее известным языком, основанным на системе правил, является Prolog. Он называется также языком логического программирования.

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

    разрешающее условие_1 --> действие_1 разрешающее условие_2 --> действие__2

    разрешающее условие_n --> действие _n

    Иногда правила записываются в виде «действие if разрешающее условие», когда выполняемое действие записывается слева.

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

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

    1.2 Структуры управления и подпрограммы

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

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

    б) узлы принятия решения - изображаются в виде ромбов с одной входящей дутой и двумя выходящими (истина и ложь). Эти узлы представляют предикаты, и управление из узла принятия решения передается дальше либо по ветви истина, либо по ветви ложь;

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

    Рисунок 1 Узлы на графе программы

    Любая блок-схема состоит только из этих трех компонентов.

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

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

    2. Эволюция подходов к проектированию и программированию

    2.1 Структурный подход к проектированию и программированию

    2.1.1 Понятие структурного программирования

    Исторически сложилось так, что императивные языки в настоящее время доминируют в программировании. Однако исследования, проведенные в 70-80-х годах XX века, показали, что аппликативная методика обеспечивает более эффективные способы верификации программ и доказательство их корректности. Это видно из блок-схемы, представленной на рисунке 2.

    Рисунок 2 Типичная блок-схема программы 60-х годов

    60-е годы прошлого столетия характеризуются как период «стихийного» программирования. В этот период отсутствовало понятие структуры программы, типов данных и т.д. Вследствие этого код получался запутанным, противоречивым. Программирование тех лет считалось искусством. Конец 60-х - кризис в программирование.

    Выход из этого кризиса - переход к структурной парадигме программирования. На рисунке 2 изображена блок-схема, типичная для программ 60-х годов XX века. В ней нет никакой явной структуры. Такие программы называют про-граммами-спагетти. Из-за большого числа нерациональных передач управления назад и вперед трудно понять, каково состояние программы в каждый момент времени в процессе ее выполнения.

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

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

    При этом безусловная передача управления, например, оператором goto запрещается.

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

    Рисунок 3 Блок-схема программы структурированной конструкции

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

    2.1.2 Структурный подход

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

    а) повышение производительности труда программистов при написании и контроле программ;

    б) получение программ, которые более пригодны для сопровождения, так как состоят из отдельных модулей;

    в) создание программ коллективом разработчиков;

    г) окончание создания программ в заданный срок.

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

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

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

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

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

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

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

    а) действуют все идентификаторы, определенные внутри процедуры/функции;

    б) действуют все идентификаторы окружающего контекста, если их имена отличаются от имен, объявленных внутри процедуры/функции;

    в) локальные идентификаторы процедуры/функции во внешнем окружении не действуют никогда;

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

    2.1.3 Методы структурного проектирования

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

    а) решения частных задач приводят к решению общей задачи;

    б) данная последовательность отдельных действий наиболее рациональна;

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

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

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

    На практике «чистую» нисходящую разработку осуществить невозможно. На одной из более поздних стадий часто обнаруживается, что некоторый выбор, сделанный ранее, был неадекватным и это приводит к необходимости итеративной разработки.

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

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

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

    Поддержка принципов структурного проектирования была заложена в основу так называемых процедурных языков программирования. Как правило, они включали основные «структурные» операторы передачи управления, поддерживали вложение подпрограмм, локализацию и ограничение области «видимости» данных. Среди наиболее известных языков этой группы стоит назвать PL/1, ALGOL-68, Pascal, С.

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

    2.2 Модульный подход к проектированию и программированию

    2.2.1 Понятие модульного программирования

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

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

    Модульное программирование предназначено для разработки больших программ. Разработкой больших программ занимается коллектив программистов. Каждому программисту поручается разработка некоторой самостоятельной части программы. И он в таком случае отвечает за конструирование всех необходимых процедур и данных для этих процедур. Сокрытие данных (запрет доступа к данным из-за пределов модуля) предотвращает их случайное изменение и соответственно нарушение работы программы. Для взаимодействия отдельных частей (модулей) программы коллективу программистов необходимо продумать только интерфейс (взаимодействие) сконструированных модулей в основной программе.

    Структура модуля в терминах языка Pascal.

    Модуль (unit) - программная единица, текст которой компилируется независимо (автономно).

    Модуль содержит 4 раздела: заголовок, интерфейсная часть (раздел объявлений), раздел реализации и раздел инициализации.

    UNIT <имя модуля>; {заголовок}

    INTERFACE {интерфейсная часть}

    Uses <используемые модули>;

    Const <объявления глобальных констант>;

    Type <объявления глобальных типов>;

    Var <описание глобальных переменных>;

    Procedure <заголовки(!) доступных процедур>;

    Function <заголовки(!) доступных функций>;

    IMPLEMENTATION {раздел реализации}

    Uses <используемые при реализации модули>;

    Const <объявления скрытых (локальных) констант>;

    Type <объявления скрытых (локальных) типов>;

    Var <описание скрытых (локальных) переменных>;

    Procedure <тела(!) скрытых (локальных) процедур>;

    Function <тела(!) скрытых (локальных) функций>;

    <основной блок модуля = раздел инициализации>

    2.2.2 Модульный подход

    Концепцию модульного подхода можно сформулировать в виде нескольких понятий и положений:

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

    б) модуль представляет собой «черный ящик» с одним входом и одним выходом. Это позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации, облегчает ее сопровождение, а также позволяет разрабатывать части программного проекта на разных языках программирования;

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

    г) исходный текст модуля должен иметь заголовок и интерфейсную часть, где отражаются назначение модуля и все его внешние связи;

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

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

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

    Модульное проектирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные, в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов. Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным) запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.

    2.3 Объектный подход к проектированию и программированию

    2.3.1 Объектно-ориентированное программирование

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

    Основным достоинством объектно-ориентированного программирования по сравнению с модульным программированием является «более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку. Это приводит к более полной локализации данных и интегрированию их с подпрограммами обработки, что позволяет вести практически независимую разработку отдельных частей (объектов) программы.

    Объект, как логическая единица, содержит следующие данные и операции (методы с кодом алгоритма) в отдельном участке памяти:

    а) поля объекта (или атрибуты исходных данных), значения которых определяют текущее состояние объекта;

    б) методы объекта, которые реализуют действия (выполнение алгоритмов) в ответ на их вызов в виде преданного сообщения;

    в) свойства - часть методов, которые определят поведение объекта, то есть его реакцию на внешние воздействия.

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

    Объекты в программах воспроизводят все оттенки явлений реального мира: «рождаются» и «умирают»; меняют свое состояние; запускают и останавливают процессы; «убивают» и «возрождают» другие объекты.

    2.3.2 Объектно-ориентированное проектирование

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

    Объектно-ориентированная парадигма становится парадигмой высокого уровня, и главенствует над принципами парадигмы структурного программирования, так как занимается моделированием реальности, строит модели предметных областей на языке специалистов этих областей. Если пренебречь этим ради написания хорошей программы, которую станет легко модифицировать, расширять, в которой будут четкие интерфейсы и независимые модули, то это будет означать возврат на уровень парадигмы структурного программирования. Программа будет всем хороша, но её нельзя будет понять, так как она не будет соответствовать реальности, она будет объяснена в терминах только известных программисту, а специалист знающий предметную область не сможет без помощи разобраться в программе. В конце концов, сложность будет понижаться в очень узком диапазоне, хотя и организована хорошая программа, но не модель. Отсутствие модели, или лишь её поверхностное представление, «взорвет» хорошую программу изнутри, и не даст дальше развивать и сопровождать её в дальнейшем.

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

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

    Принцип инкапсуляции использовался в технологии модульного программирования. В модуле в явной форме введена инкапсуляция путем разделения его на секции интерфейса и реализации.

    В объектно-ориентированном программировании принцип инкапсуляции используется для изоляции класса от остальных частей программы, чтобы сделать его самодостаточным для решения конкретной задачи. Например, класс TForm в среде Delphi содержит (инкапсулирует в себе) все необходимое для создания Windows-окна, класс TMemo представляет собой полнофункциональный текстовый редактор, класс TTimer обеспечивает работу программы с таймером и т.д.

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

    TMyClass = class

    IntField: Integer;

    function MyFunc(a: Integer): Integer;

    procedure MyProc; end;

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

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

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

    Принцип наследования оперирует с понятиями «предок - потомок» и предусматривает расширение набора свойств наследника за счет принятия всех свойств предка.

    Любой класс может быть порожден от другого класса. Для этого при его объявлении указывается имя класса-родителя:

    TChildCIass = class (TParentClass)

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

    Все классы в Object Pascal порождены от единственного родителя - класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие весь жизненный цикл любых объектов - от их создания до уничтожения. Поэтому программист не может создать класс, который не был бы дочерним классом TObject. Следующие два объявления идентичны.

    TaClass = class(TObject) <==> TaClass = class

    Принцип наследования приводит к созданию ветвящегося дерева классов. Каждый потомок дополняет возможности своего родителя новыми и передает их своим потомкам. Например, класс TPersistent обогащает возможности своего родителя TObject тем, что он умеет сохранять данные в файле и получать их из него, в результате это умеют делать и все его потомки. Класс TComponent, в свою очередь, умеет взаимодействовать со средой разработчика и передает это умение своим потомкам. TControl не только способен работать с файлами и средой разработчика, но он еще умеет создавать и обслуживать видимые на экране изображения, а его потомок TWinControl может создавать Windows-окна и т.д.

    В Object Pascal возможно только так называемое одиночное наследование, но в реальном мире у потомка два родителя, поэтому в ряде языков (например, в C++) предусмотрен механизм множественного наследования. Множественное наследование более логично с точки зрения моделирования реального мира, однако, оно усложняет реализацию языков программирования.

    Полиморфизм - это средство для придания различных значений одному и тому же событию в зависимости от типа обрабатываемых данных. Этот принцип определяет различные формы реализации одноименного действия.

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

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

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

    Кроме этого, в Object Pascal полиморфизм достигается не только механизмом наследования и перекрытия методов родителя, но и их виртуализацией, позволяющей родительским методам обращаться к методам своих потомков

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

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

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

    3. Применение различных подходов при решении задач

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

    Структурный подход. Программный код выглядит следующим образом:

    program Perestanovka;

    N, copy_N, number, copy_number, first, last, stepen, new_N: integer;

    {тело программы}

    {ввод числа}

    write("input N=");

    {подсчет количества цифр в числе}

    number:=number+1;

    copy_N:=copy_N div 10;

    if copy_N<>0 then

    if number=0 then

    {вычисление степени числа 10^(number-1)}

    copy_number:=number;

    {выделение первой и последней цифры}

    copy_N:=copy_N div 10;

    copy_number:=copy_number-1;

    if copy_number<>1 then

    copy_number:=number;

    {перестановка цифр}

    stepen:=stepen*10;

    copy_number:=copy_number-1;

    if copy_number>1 then

    new_N:=N-first*stepen+last*stepen-last+first;

    {вывод результата}

    Код линейный, все действия выполняются последовательно, передача управления осуществляется за счет использования оператора перехода goto.

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

    program Perestanovka;

    {раздел объявления переменных}

    N, number, new_N: integer;

    {раздел объявления процедур и функций}

    {процедура подсчета количества цифр в числе}

    while NN<>0 do

    {функция определения первой цифры числа}

    while kol<>1 do

    first_cifra:=NN;

    {функция определения последней цифры числа}

    last_cifra:=NN mod 10;

    {функция возведения целого числа в целую степень}

    while pokaz<>0 do

    {тело программы}

    write("input N=");

    kol_cifr(number,N);

    if number<>0 then

    new_N:=N-first_cifra(N,number)*stepen(10,number-1)+

    last_cifra(N)*stepen(10,number-1)-

    last_cifra(N)+first_cifra(N,number)

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

    Объектный подход. Программный код выглядит следующим образом.

    Program perestanovka;

    number: integer;

    procedure input;

    procedure output;

    procedure kol_cifr(var kol: integer; NN: integer);

    procedure perestavka(var NN: integer; cf, cl: integer);

    function first_cifra(NN: integer; kol: integer): integer;

    function last_cifra(NN: integer): integer;

    function stepen(bas: integer; pokaz: integer): integer;

    while pokaz<>0 do

    procedure tN.input;

    write(`input N=");

    readln(N.znach);

    procedure tN.kol_cifr(var kol: integer; NN: integer);

    while NN<>0 do

    function tN.first_cifra(NN: integer; kol: integer): integer;

    while kol<>1 do

    first_cifra:=NN;

    function tN.last_cifra(NN: integer): integer;

    last_cifra:=NN mod 10;

    procedure tN.perestanovka(var NN: integer; cf, cl: integer);

    NN:=NN-cf*stepen(10,number-1)+cl*stepen(10,number-1)-cl+cf;

    procedure tN.output;

    Form1.Edit1.Clear;

    Form1.Edit1.Text:=inttostr(N.znach);

    N.kol_cifr(N.number,N.znach);

    if N.number<>0 then

    N.perestanovka(N.znach,N.first_cifra(N.znach,N.number),N.last_cifra(N.znach));

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

    Заключение

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

    Показаны на примерах, как происходит программная реализации при применении того или иного подхода.

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

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

    Список использованных источников

    1. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами на С++ / Г. Буч, перевод с англ. под ред. И. Романовского и Ф. Андреева. - М.: Вильямс, 2008. - 721 с.

    2. Архангельский, А.Я. Программирование в Delphi 7 / А.Я. Архангельский. М.: ООО «Бином-Пресс», 2003. - 1152 с.

    3. Программирование. Лекции по программированию. - Режим доступа www.studifi.ru

    4. Технология программирования. Структурное и объектно-ориентированное. - Режим доступа www.sgm.forumssity.ru

    5. Технология структурного программирования. . - Режим доступа www.razlib.ru

    6. On-line Информатика. Модульное программирование. - Режим доступа www.online-ane.ru.

    Размещено на Allbest.ru

    ...

    Подобные документы

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

      дипломная работа , добавлен 28.08.2014

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

      дипломная работа , добавлен 04.06.2009

      Требования, предъявляемые к тепловому оборудованию предприятий общественного питания. Назначение и классификация пищеварочных котлов, их современные конструкции. Описание модернизированной конструкции котла газового секционного модульного КПГСМ-60.

      курсовая работа , добавлен 27.11.2012

      Главный подход к исследованию сложных объектов - системный анализ. Практическая реализация системного анализа - структурный системный анализ, его принципы и методы. Истоки структурного моделирования. Классы моделей структурного системного анализа.

      реферат , добавлен 18.02.2009

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

      учебное пособие , добавлен 07.02.2016

      Склад атмосферной сушки. Техническая характеристика сушильной камеры "Интер–Урал". Основные требования к проектированию цеха. Технологический процесс изготовления изделий из пиломатериалов. Производственная программа деревоперерабатывающего цеха.

      курсовая работа , добавлен 13.07.2015

      Оптимизация решения на моделях нелинейного программирования. Решение задачи линейного программирования графическим методом. Разработка раскроя древесно-стружечных плит на заготовки. Затраты времени на обработку деталей. Обоснование решений на моделях СПУ.

      курсовая работа , добавлен 17.05.2012

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

      презентация , добавлен 09.12.2015

      Методология структурного анализа и проектирования. Описание системы с помощью данной методологии - модель. Использование естественных и графический языков. Функциональное, информационное и динамическое моделирование. Основные средства методологии.

      реферат , добавлен 18.02.2009

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