Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatics.doc
Скачиваний:
6
Добавлен:
21.08.2019
Размер:
1.33 Mб
Скачать

96

КАЛИНИНГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

И.А. Пахнутов

ОСНОВЫ ИНФОРМАТИКИ

с элементами

программирования

Учебно-методическое пособие для студентов

младших курсов высших учебных заведений

Калининград

Издательство КГТУ

2004

УДК 519.85:681.3.06(075)

УТВЕРЖДЕНО

Ректором Калининградского

государственного технического

университета 26 февраля 2004 г

АВТОР - Пахнутов И.А., к. ф.-м. н., доцент кафедры прикладной

математики Калининградского государственного техниче-

ского университета

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

Учебно-методическое пособие рассмотрено и одобрено кафедрой прикладной математики Калининградского государственного техниче-ского университета 20 февраля 2004 г., протокол № 7

Учебно-методическое пособие рекомендоваано к изданию методичес-ким советом факультета фундаментальной подготовки 19 октября 2004 г., протокол № 2.

РЕЦЕНЗЕНТ - кафедра прикладной математики и кафедра высшей

математики Калининградского государственного

технического университета

© Калининградский государственный технический университет, 2004 г.

Bведение

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

Логики выяснили, что, в принципе, любую информацию можно получить, задавая "элементарные" вопросы, на которые достаточно от-вечать лишь "да" или "нет". Каждый такой вопрос позволяет получить минимальный объем информации, называемый битом. Наименьшее количество элементарных вопросов, позволяющее получить необходи-мую информацию, определяет объем этой информации в битах. Нап-ример, чтобы угадать любое из первых 16 натуральных чисел, доста-точно задать лишь четыре элементарных вопроса типа: "будет ли чис-ло меньше 9?". Если "нет", то "будет ли число меньше 13?" и т.д. Та-ким образом, информация о числах в этом диапазоне имеет объем 4 бит. Аналогично можно оценить объем информации о буквах, словах, цве-те, картине, поэтическом произведении и т.д.

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

27 = 16 + 8 + 2 + 1 = 124 + 123 + 022 + 121 + 120 ,

последовательность коэффициентов этого двоичного представления есть 11011, что и является представлением числа 27 в системе счис-ления с основанием 2. Информация о таком числе имеет объем 5 бит.

Общее число символов, используемых в повседневной практике европейца, обычно не превосходит 256, что имеет объем 8 бит. В силу

этого, либо в силу того, что первоначальные устройства обработки ин-формации работали с восемью разрядами нулей и единиц, этот объем получил отдельное название "байт", так что байт это 8 бит. В дальней-шем объем информации возрастал быстрыми темпами, так что приш-лось пользоваться единицей в 1К=1024 байт = 210 байт (килобайт), далее, в 1М = 220 (мегабайт), а также десятки, сотни и тысячи мегабайт (гигабайты).

Итак, каждое число можно заменить последовательностью ну-лей и единиц. Это дало мощный толчок к исследованию основ ариф-метических и логических операций, теории алгорифмов. Было показа-но, что алгоритмически всякое арифметическое действие сводится к последовательности логических операций над нулями и единицами и сдвигу регистра (т.е. фиксированного набора нулей и единиц). Пост и Тьюринг (США и Англия) сконструировали формально-логическую структуру, выполняющую простейший набор логических операций, в которой (привлекая теорию алгорифмов и формальных машин) можно запрограммировать любую арифметическую и логическую операцию (программы, правда, могли быть довольно длинными). К 30-м годам 20 века технология была развита достаточно для того, чтобы простей-шие операции (типа тех, что рассматривали Пост и Тьюринг) можно было легко реализовать в электронных схемах (ноль соответствует от-сутствию потенциала, единица - его наличию). Тем не менее, лишь в 40-х годах были созданы первые электронные вычислительные маши-ны (ЭВМ), которые могли выполнять около тысячи арифметических операций в секунду. Позже согласились с тем, что поскольку прос-тейшая логическая операция выполняется за один такт генератора ча-стоты ЭВМ, быстродействие машины можно оценивать частотой этого тактового генератора.

В конце 50-х годов к изготовлению блоков ЭВМ стали привле-кать полупроводники, а в конце 60-х и микросхемы. Физический объ-ем ЭВМ значительно уменьшился (при увеличившемся объеме посто-янной и оперативной памяти). В начале 80-х годов ЭВМ уже начали изготавливать на основе целых интегральных блоков – больших инте-гральных схем (БИС), что позволило создать компактные ЭВМ и пер-сональные ЭВМ. Тактовая частота таких устройств уже превосходила 500 мегагерц (5108 герц). При этом обрабатываемая информационная плотность  = объем оперативной памяти на 1 см3 вычислительного устройства росла очень быстро (похоже, экспоненциально), такие же темпы сохраняются и сейчас, так что предсказание очередного этапа развития компьютерной технологии весьма затруднительно.

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

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

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

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

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

На начальном этапе обучения информатике полезно познакоми-ться с одним из наиболее простых языков программирования. Здесь будет взят для этой цели BASIC. Хотя изначально для этой цели пред-назначался PASCAL, однако, позднее он расширился по сравнению с оригинальной версией Н. Вирта до весьма структурированного про-фессионального языка программирования, приспособленного к работе в современных программных оболочках (Delphi). BASIC ( Beginner’s All-purpose Symbolic Instruction Code – язык программирования обще-го назначения для начинающих) структурно проще, тем не менее, он также имеет Visual – расширение, входит в состав программных обо-лочек Word, Excel, Acsess и др. Кроме того, некоторые средства функ-ционального и символьного программирования (MATHCAD, MAPLE и др.) весьма сходны по своей конструкции с тем, что можно найти в Бейсике и легко усваиваются на основе последнего. Поэтому струк-турно курс состоит из трех частей:

1) основы алгоритмического языка БЕЙСИК;

2) введение в Visual Basic и HTML, программирование приложений;

3) программная среда Мсad и введение в численный анализ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]