Учеба  ->  Среднее образование  | Автор: | Добавлено: 2015-03-23

Фундаментальная и практическая информатика

Изучение всякого школьного предмета можно сравнить со строи-тельством дома. Только этот дом складывается не из кирпичей и бетонных плит, а из знаний. Строительство всякого дома начинается с фундамента. Очень важно, чтобы фундамент был прочным, потому что на него опирается все остальное сооружение. Фундаментом для данного курса являются знания и умения, которые мы получили, изучая «Базовый курс информатики».

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

Таким образом, термин «информатика» может употребляться в двух смыслах:

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

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

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

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

- теория информации;

- кибернетика;

- программирование;

- математическая лингвистика;

- средства информатизации;

- теория алгоритмов;

- информационные технологии.

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

«Что такое информация?» – это один из самых сложных вопросов в информатике, на него нет однозначного ответа. Это понятие «контекстное», т. е. придаваемый ему смысл зависит от контекста (содержания разговора), в котором оно употребляется.

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

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

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

Компьютер – это программно-управляемое автоматическое устройство для работы с информацией. Без программ любой компьютер – «мертвое железо». Совокупность программ, хранящихся в долговременной памяти ЭВМ и предназначенных для массового использования, составляет программное обеспечение компьютера (ПО ЭВМ).

Все множество программ, составляющих ПО ЭВМ, можно разделить на три группы:

• системные программы;

• прикладные программы;

• системы программирования.

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

• системы обработки текстов (текстовые процессоры);

• системы компьютерной графики (графические редакторы);

• системы табличных расчетов – электронные таблицы (табличные процессоры);

• системы управления базами данных, ориентированные на пользователя;

• средства разработки презентаций;

• программы, обеспечивающие работу с электронной почтой и работу с Интернетом.

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

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

ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ И ТЕХНОЛОГИИ

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

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

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

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

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

А что же он получает, изучая фундаментальную информатику?

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

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

Информационная модель – это описание объекта моделирования, в котором отражаются знания человека об объекте моделирования

Построение моделей и реализация их на компьютере является одним из основных направлений прикладной информатики. Широко распространенным видом моделирования является математическое и информационное моделирование.

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

Что же такие умения дают человеку?

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

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

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

АЛГОРИТМИЗАЦИЯ.

ПОНЯТИЕ АЛГОРИТМА

Понятие алгоритма – одно из важнейших в информатике. В теоретической информатике существует раздел – теория алгоритмов.

Само слово «алгоритм» происходит от латинской формы написания имени великого математика 1Х в. Аль Хорезми (Muhammed ibn Musa Yoresmi), который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом и понимали только правила выполнения четырех арифметических действий над многозначными числами, а в дальнейшем это понятие стало использоваться для обозначения последовательности действий, приводящих к решению поставленной задачи. Сейчас с помощью алгоритмов решаются не только вычислительные, но и многие другие задачи. Можно сказать, что алгоритм – это организованная последовательность действий, выполняя которые, исполнитель приходит к желаемому результату.

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

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

В книге «Информатика. Энциклопедический словарь для начинающих. Под редакцией академика РА естественных наук Д. А. Поспелова» дается следующее определение: «Алгоритм – точное предписание, однозначно задающее процесс преобразования исходной информации в виде последовательности элементарных дискретных шагов, приводящих за конечное число их применений к результату».

Алгоритм – это не что-то отвлеченное, абстрактное и присущее лишь процессу использования ЭВМ, а неотъемлемая часть повседневной жизни.

СВОЙСТВА АЛГОРИТМА

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

Рассмотрим каждое свойство отдельно.

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

Алгоритм должен быть однозначным, исключающим произвольность толкования любой из команд и заданного порядка исполнения команд. Каждая команда алгоритма должна определять однозначное действие исполнителя. Это требование называется точностью алгоритма.

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

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

- алгоритм решения квадратного уравнения АХ2 + ВХ + С = 0, должен быть вариативен, то есть обеспечивать возможность решения для любых допустимых исходных значений коэффициентов А, В, С;

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

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

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

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

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

Детерминированность (определенность). Будучи понятным, алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно. Например, такие команды, как «взять две-три ложки песка» (что значит «две-три», какие ложки – чайные или столовые, какого песка?), «умножить Х на одно из двух данных чисел А или В», не могут встречаться в алгоритмах. Очевидно, что понятные в определенных ситуациях для человека предписания такого типа могут поставить в тупик робота.

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

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

АЛГОРИТМИЧЕСКАЯ РАЗРЕШИМОСТЬ ЗАДАЧ

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

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

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

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

СПОСОБЫ ЗАПИСИ АЛГОРИТМОВ

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

Наиболее простой и универсальной формой представления алгоритма является СЛОВЕСНОЕ описание, которое содержит записанную на естественном языке (точнее, на подмножестве естественного языка) последовательность предписаний. Данный способ используется на начальном этапе изучения алгоритмов и предназначен для исполнения алгоритма человеком. Форма записи команд – произвольная, главное, чтобы она была понятной и точной. Выполнение алгоритма предполагается естественной последовательности, то есть в порядке записи. При необходимости изменить порядок выполнения предписаний в явной форме указывается, какое предписание надлежит выполнить следующим. Если необходимо такой алгоритм записать на бланке, то рекомендуется придерживаться следующих правил, облегчающих переход от алгоритма к программе:

1) каждое предписание записывается с новой строки;

2) после предписания ставится точка с запятой;

3) если предписание не поместилось в одной строке, то его можно продолжить на следующей строке без каких-либо знаков переноса.

Такую словесную запись алгоритма называют псевдокодом (ПСК), подчеркивая этим ее промежуточное положение между нашей естественной речью и понятным для компьютера языком программ.

Задача:

Составить алгоритм поиска меньшего из значений двух величин – А и В.

Алгоритм поиска меньшего из значений двух величин А и В.

1. Задать числовые значения А, В

2. Если А < В, то У присвоить значение величины А, иначе У присвоить значение величины В

3. записать в качестве ответа значение У

4. Конец

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

№ этапа А В А < В У Комментарии

1 8 3 Задаем числовые значения А,В

2 8 3 8 < 3 33 Нет,

8 < 3 следовательно У присвоить значение 3 (выбираем действие после слова иначе)

3 8 3 3 Записываем ответ: У=3

№ этапа А В А < В У Комментарии

1 8 13 Задаем числовые значения А,В

2 8 13 8 < 13 -8 Да,

8 < 13 8 следовательно У присвоить значение 8 (выбираем действие после слова иначе)

3 8 13 8 Записываем ответ: У=8

Нетрудно понять смысл записи алгоритма: если значение переменной А меньше, чем значение В, то переменной У присвоится значение А. В противном случае (A >= B) переменной У присвоится значение В.

Формульный способ обычно применяется на уроках геометрии, физики

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

блок-схемы и АЛГОРИТМИЧЕСКИЙ ЯЗЫК

Наглядностью обладает другая форма записи – графическая схема алгоритма (ГСА), или блок-схемы, дающие представление о порядке работы алгоритма: здесь предписания имеют вид различных геометрических фигур, а последовательность выполнения операций отображается с помощью линий связи, соединяющих эти фигуры. Условные обозначения, применяемые при составлении граф-схем алгоритмов, и правила выполнения определены в ГОСТ 19. 701-90 (ИСО 5807-85) «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения».

К недостаткам данного способа относится некая громоздкость схем.

Умение использовать алгоритмический язык для записи алгоритма является переходным мостиком между записью алгоритмов в виде алгоритма на естественном (человеческом) языке и записью на языке ЭВМ (языке программирования).

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

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

Заголовок включает название алгоритма, отражающее его содержание, списки исходных данных (аргументов) и результатов.

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

ОСНОВНОЙ НАБОР БАЗОВЫХ СТРУКТУР

Теория структурного программирования доказывает, что алгоритм любой степени сложности можно построить с помощью основного базового набора структур:

1. Последовательной (линейной) структуры;

2. Ветвящейся структуры;

3. Циклической структуры.

1 2. 3 да нет нет да

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

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

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

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

Более подробно следует рассмотреть запись Х:=А, которая читается «Х присвоить значение, равное А», Х – переменная, А – может быть любым, сколь угодно сложным математическим выражением. В процессе решения задачи на ЭВМ выражение А считается, и его значение присваивается содержимому ячейки памяти, отведенной для хранения переменной Х. При этом переменная Х теряет свое прежнее значение и приобретает новое. Смысл выражения Х:=Х + 5 заключается в том, что к прежнему значению Х прибавляется 5, после чего Х теряет свое старое значение и становиться на 5 больше предыдущего. На блок-схемах вычислительный процесс изображается прямоугольником.

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

Ветвления бывают полные и сокращенные.

Полная форма:

Если условие

То серия команд 1 да нет

Иначе серия команд 2

Неполная форма: да нет

Если условие

То серия команд 1 все

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

Выбор при условие 1: действие 1 при условие 2: действие2

при условие п: действие п иначе действие п+1 все

Как и в команде если серия п+1 вместе со служебным словом иначе может отсутствовать.

Блок – схема:

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

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

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

Существует три типа циклов:

1. Цикл – пока

2. Цикл – до

3. Цикл для

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

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

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

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

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

Оба эти цикла имеют один недостаток: возникает ситуация когда происходит бесконечное повторение тела цикла (зацикливание). («Крутится как белка в колесе»). Выручает третий тип циклов – цикл-для.

Данный тип циклов отличается от двух предыдущих тем, что в нем заранее известно (или может быть вычислено) количество повторений команд тела цикла. Цикл – для называют арифметическим, или циклом с параметром. Читаем его так: «меняя параметр от начального значения до конечного значения, повторять тело цикла»

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

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

Алгоритмический язык Блок – схема

Нц для I от Iнач до Iкон шаг V

Тело цикла

Кц да нет

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

ЗАКЛЮЧЕНИЕ

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

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

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

Фундаментальная и прикладная информатики не являются взаимозаменяемыми. Они дополняют друг друга и необходимы обе. Вопрос «Какая информатика важнее: фундаментальная и прикладная?», на мой взгляд, анологичен вопросу «Какая рука важнее: правая или левая?». Ответ очевиден: «Отсутствие любой из них – инвалидность».

Комментарии


Войти или Зарегистрироваться (чтобы оставлять отзывы)