Главная страница
Навигация по странице:

  • Среды быстрого проектирования

  • Архитектура программных систем

  • 5 8 2

  • Вопросы для самоконтроля

  • 20.3. Алгоритмическое (модульное)

  • Арифметические выражения

  • Операция РавноНе равноМеньшеМеньше или равноБольшеБольше или равноВарианты написания Бейсик, Паскаль = о

  • Учебник Информатика. Базовый курс. Симонович С.В.. С. В. Симоновичаинформатикабазовый курс2е издание


    Скачать 17.96 Mb.
    НазваниеС. В. Симоновичаинформатикабазовый курс2е издание
    АнкорУчебник Информатика. Базовый курс. Симонович С.В..pdf
    Дата28.01.2017
    Размер17.96 Mb.
    Формат файлаpdf
    Имя файлаУчебник Информатика. Базовый курс. Симонович С.В..pdf
    ТипКнига
    #56
    КатегорияИнформатика. Вычислительная техника
    страница69 из 76
    1   ...   65   66   67   68   69   70   71   72   ...   76
    Интегрированные системы программирования
    Итак, для создания программы нужны:
    • текстовый редактор;
    • компилятор;
    • редактор связей;
    • библиотеки функций.
    правило, в стандартную поставку входят как минимум три последних компо- нента, но хорошая интегрированная система включает в себя и специализирован- ный текстовый редактор, причем почти все этапы создания программы в ней автома- тизированы: после того как исходный текст введен, его компиляция и сборка выполняются одним нажатием клавиши. Это очень удобно, так как не требует руч- ной настройки множества параметров запуска компилятора и редактора связей,
    указывания им нужных файлов вручную и т. д. Процесс компиляции обычно демон- стрируется на экране:
    сколько строк исходного текста откомпилиро- вано, или выдаются сообщения о найденных ошибках.
    В современных интегрированных системах имеется еще один компонент — отлад-
    чик,
    позволяет анализировать работу программы во время ее выполнения.
    С его помощью можно последовательно выполнять отдельные операторы исход- ного текста по шагам, наблюдая при этом, как меняются значения различных пере- менных. Без отладчика разработать крупное приложение очень сложно.
    Среды быстрого проектирования
    В последние несколько лет в программировании (особенно в программировании для операционной системы Windows) наметился так называемый визуальный под-
    ход. До этого серьезным препятствием для разработки графических была сложность создания различных элементов управления и контроля их работы.
    Достаточно взглянуть на окно любой
    В нем имеется множе- ство стандартных элементов управления (кнопки, пункты меню, списки, переклю- чатели и т. д.). Очень трудоемко вручную описывать процесс создания этих эле- ментов в соответствии с требованиями Windows, на глазок определять координаты,
    отслеживать их состояние с помощью специальных команд. Например, для про- стой программы, складывающей два числа, потребуется один
    (одна строка исходного текста)
    выполнения нужного вычисления и сотни строк кода для подготовки приложения к работе в Windows, создания кнопки и пары полей ввода.
    Этот процесс автоматизирован в средах быстрого проектирования (Rapid Application
    Development, RAD-среды). Все необходимые элементы оформления и управления создаются и обслуживаются не путем ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью
    «перетаскиваются»
    в проектируемое окно. Их свойства и затем настраиваются с помощью

    5 8 0 Глава 20. Основы программирования простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется автоматически, что позволяет сосредоточиться только на логике решаемой задачи. В результате про- граммирование во многом заменяется на проектирование — подобный подход на- зывается еще визуальным программированием.
    Компоненты достаточно легко создавать самостоятельно, поэтому в мире сегодня распространяются тысячи бесплатных и платных компонентов для наиболее изве- стных из них формируются библиотеки компонентов — объектные ре-
    позитории. Компоненты выступают в роли «строительных кирпичиков», позволя- ющих собирать готовое приложение с богатыми возможностями, написав всего десяток строк исходного кода, и такой компонентный подход к созданию программ считается очень перспективным, потому что без лишних усилий и на законных основаниях допускает повторное использование чужого труда.
    Архитектура программных систем
    В то время как большинство автономных приложений: офисные программы, среды разработки, системы подготовки текстов и изображений — выполняются на одном компьютере, крупные информационные комплексы (например, система автомати- зации предприятия) состоят из десятков и сотен отдельных программ, которые взаимодействуют друг с другом по сети, выполняясь на разных компьютерах. В таких случаях говорят, что они работают в различной программной архитектуре. Она делится на следующие группы.
    Автономные приложения. Работают на одном компьютере.
    Приложения в файл-серверной архитектуре. Компьютеры пользователей системы объединены в сеть, при этом на каждом из них (на клиентском месте) запущены копии одной и той же программы, которые обращаются за данными к серверу —
    специальному компьютеру, который хранит файлы, одновременно доступные всем пользователям (как правило, это базы данных). Сервер обладает повышенной надежностью, высоким быстродействием, большим объемом памяти, на нем уста- новлена специальная серверная версия операционной системы.
    При одновременном обращении нескольких программ к одному файлу, например,
    с целью его обновления, могут возникнуть проблемы, связанные с неоднозначностью определения его содержимого. Поэтому каждое изменение общедоступного файла выделяется в транзакцию — элементарную операцию по обработке данных, имею- щую фиксированные начало, конец (успешное или неуспешное завершение) и ряд других характеристик.
    Особенность этой архитектуры в том, что все вычисления выполняются на клиент- ских местах, что требует наличия на них достаточно производительных ПК (это так называемые системы с толстым клиентом — программой, которая выполняет всю обработку получаемой от сервера информации).
    Приложения в клиент-серверной архитектуре. Эта архитектура похожа на предыду- щую, только сервер помимо простого обеспечения одновременного доступа к дан-

    20.2. Системы программирования ным способен еще выполнять программы (обычно выполняются СУБД — тогда сервер называется сервером баз данных), которые берут на себя определенный объем вычислений (в файл-серверной архитектуре он реализуется полностью на клиент- ских местах). Благодаря этому удается повысить общую надежность системы, так как сервер работает значительно более устойчиво, чем ПК, и снять лишнюю нагрузку с клиентских мест, на которых удается использовать дешевые компьютеры. Запус- каемые на них приложения реально осуществляют небольшие объемы вычислений,
    а иногда занимаются только отображением получаемой от сервера информации,
    поэтому они называются тонкими клиентами.
    Приложения в многозвенной архитектуре. Недостаток предыдущей архитектуры в том, что резко возрастает нагрузка на сервер, а если он выходит из строя, то работа всей системы останавливается. Поэтому в некоторых случаях в систему добавля- ется так называемый сервер приложений, на котором выполняется вся вычисли- тельная
    Другой сервер баз данных обрабатывает запросы пользователей,
    на третьем может быть установлена специальная которая оптимизирует обработку транзакций и балансирует нагрузку на серверы.
    В большинстве практических случаев все серверы соединены последовательно —
    позвенно, и выход из строя одного звена если и не останавливает всю работу, то, по крайней мере, резко снижает производительность системы.
    Приложения в распределенной архитектуре. Чтобы избежать недостатков рассмот- ренных архитектур, были придуманы специальные технологии, позволяющие создавать программу в виде набора компонентов, которые можно запускать на любых серверах, связанных в сеть (компоненты как бы по сети).
    Основное преимущество подобного подхода в том, что при выходе из строя любого компьютера специальные программы-мониторы, которые следят за корректнос- тью работы компонентов и позволяют им «переговариваться» между собой, сразу перезапуская временно пропавший компонент на другом компьютере. При этом общая надежность всей системы становится очень высокой, а вычислительная загрузка распределяется между серверами оптимальным образом.
    Доступ к возможностям любого компонента, предназначенного для общения с пользователем, осуществляется с произвольного клиентского места. При этом, так как все вычисления происходят на серверах, появляется возможность создавать
    сверхтонкие клиенты — программы, только отображающие получаемую из сети информацию и требующие минимальных компьютерных ресурсов. Благодаря этому доступ к компонентной системе возможен не только с ПК, но и с небольших мобиль- ных устройств.
    Частный случай компонентного подхода — доступ к серверным приложениям из браузеров через Интернет.
    Сегодня наиболее популярны три компонентные технологии —
    консорци- ума
    Beans компании Sun и корпорации Microsoft. Эти тех- нологии будут определять развитие информационной индустрии в ближайшие десятилетия.

    5 8 2 Глава 20. Основы программирования
    Основные системы программирования
    Из универсальных языков программирования сегодня наиболее популярны следу- ющие:
    • Бейсик (Basic) — для освоения требует начальной подготовки (общеобразова- тельная школа);
    • Паскаль (Pascal) — требует специальной подготовки (школы с углубленным изучением предмета и общетехнические вузы);
    • Си++ (C++), Ява (Java), Си Шарп (С#) — требуют профессиональной
    (специализированные средние и высшие учебные заведения).
    Для каждого из этих языков программирования сегодня имеется немало систем программирования,
    различными фирмами и ориентированных на различные модели ПК и операционные системы. Наиболее популярны следую- щие визуальные среды быстрого проектирования программ
    Windows:
    Basic: Microsoft Visual Basic;
    • Pascal: Borland Delphi;
    C++: Microsoft Visual C++;
    • Java:
    • C#: Microsoft Visual Studio
    Borland
    Для разработки серверных и распределенных приложений можно использовать систему программирования Microsoft Visual C++, продукты фирмы Borland, прак- тически любые средства программирования
    В дальнейшем будут рассматриваться возможности, характерные для Бейсика,
    Паскаля и
    Вопросы для самоконтроля
    1. Что нужно для создания программы?
    2. Что такое среды быстрого проектирования?
    3. Объясните понятие «архитектура программной системы».
    4. Опишите основные типы программных архитектур.
    5. Какая программная архитектура обеспечивает работу Интернета?
    20.3. Алгоритмическое (модульное)
    Алгоритм — это формальное описание способа решения задачи путем разбиения ее на конечную по времени действий (элементарных операций).
    Под словом «формальное» подразумевается, что описание должно быть абсолютно полным и учитывать все возможные ситуации, которые могут встретиться по ходу решения. Под элементарной операцией понимается действие, которое по заранее определенным критериям (например, очевидности) не имеет смысла детализировать.
    Основная идея алгоритмического программирования — разбиение программы на последовательность модулей, каждый из которых выполняет одно или несколько

    20.3. Алгоритмическое (модульное) программирование 5 8 3
    действий. Единственное требование к модулю — чтобы его выполнение всегда начи- налось с первой команды и всегда заканчивалось на самой последней (то есть, чтобы нельзя было попасть на команды модуля извне и передать управление из модуля на другие команды обход заключительной).
    Алгоритм на выбранном языке программирования записывается с помощью команд описания данных, вычисления значений и управления последовательностью выполнения программы.
    Переменные и константы
    Реальные данные, с которыми работает программа, — это числа, строки логические
    величины (аналоги 1 и 0, «да» и «нет», «истина» и «ложь»). Эти типы данных назы- вают базовыми.>
    Каждая единица информации хранится в ячейках памяти компьютера, имеющих свои адреса. На практике заранее неизвестно, каких конкретно ячейках памяти во время работы программы будут записаны ее данные, поэтому в языках програм- мирования введено понятие переменной, позволяющее от конкретных адресов и обращаться к содержимому памяти с помощью идентификатора или
    имени — как правило, последовательности, содержащей английские буквы, цифры,
    символы подчеркивания и начинающейся не с цифры. Например:
    Hello
    Это имя будет указывать на значение, о реальном адресе и способе хранения кото- рого можно забыть. В процессе работы программы содержимое соответствующих ячеек можно менять, обращаясь к переменной по имени. Лучше выбирать названия, которые отражают назначение данной
    Кроме имени и значения, переменная обычно имеет определяющий, какая информация хранится в данной переменной (число, строка и т. д.). В зависимости от объема памяти, отведенного для хранения значения переменной, оно должно укладываться в допустимый диапазон. Например,
    типа «байт»
    диа- пазон до 255.
    Переменные с указанием их типа можно вводить в программу с помощью специ- альных команд описания {объявления, декларации). Это позволяет эффективное хранение и данных и повышает ясность исходных тестов. Каждый тип описывается своим ключевым словом. Значения переменных разных типов допускается преобразовывать друг в друга в соответст- вии с соглашениями языка программирования. Такой процесс называется приведе-
    нием типов.
    Переменные могут существовать на всем протяжении работы программы — тогда они называются статическими, а могут создаваться и уничтожаться на разных эта- пах ее функционирования — такие переменные называются динамическими. Все

    5 8 4 Глава 20, Основы программирования остальные данные в программе, значение которых не меняется на протяжении ее работы, называются константами или постоянными. Константы, как и перемен- ные, обычно имеют тип. Данные можно указывать явно:
    123
    строка"
    или для удобства обозначать их идентификаторами. Например, число п, равное можно обозначить как pi и везде вместо числа применять идентификатор.
    Только изменять значение pi нельзя, так как это не переменная, а константа.
    Числовые данные
    Числа обычно бывают двух видов: целые и дробные. Если число отрицательное,
    перед ним ставится знак «-»; если положительное, то знак «+» можно ставить, а можно и опускать. Вычисления над целыми числами выполняются точно, вычисле- ния дробными числами — приближенно. При записи дробных чисел в качестве десятичного разделителя используется точка:
    1.28 3.333321
    Очень большие или очень маленькие числа записываются специальным образом.
    Для них дополнительно указывается мантисса — число со знаком, являющееся степенью числа 10. Мантисса записывается справа от числа через букву е (или Е).
    Пробелы в такой записи не допускаются.
    Например, число 100 (единица, умноженная на 10 во второй степени) запишется так:
    1е+2
    число 0,003 (тройка, умноженная на 10 в минус третьей степени) так:
    Зе-3
    число со 120 нулями — так:
    1Е+120
    Допускается дробная запись числа с мантиссой:
    31.4е-1
    Тип числа целое дробное
    Бейсик
    INTEGER
    DOUBLE
    Паскаль integer real
    Си++
    int float
    Арифметические операции
    Для записи арифметических действий используются арифметические операторы.
    В некоторых языках программирования они считаются не операторами, а опера-

    20.3. Алгоритмическое (модульное) программирование 5 8 5
    циями, предназначенными для вычисления значения выражения, но не влияющими на другие значения и не сказывающимися на ходе выполнения программы.
    К основным арифметическим операциям относятся:
    + (сложение)
    (вычитание)
    * (умножение)
    / (деление)
    Такая форма записи отвечает общепринятым соглашениям и принята в большин- стве языков программирования.
    Каждая арифметическая операция имеет свой приоритет. Операции с более высо- ким приоритетом (умножение и деление) будут выполняться раньше, чем операции с более низким приоритетом (сложение и вычитание). Изменить порядок вычис- ления выражения с помощью круглых скобок.
    + с/3
    (2 + с) - 3
    Скобки допускается вкладывать друг в друга произвольное число раз. При этом использование квадратных или фигурных скобок, как правило, не допускается.
    ((у+2)*3 + 1) / 2
    Арифметические выражения
    С помощью арифметических операций формируются арифметические выражения,
    которые состоят из операций и операндов (переменных и констант).
    Выражение
    + 2
    состоит из одной операции «+» и двух операндов — переменной И и числовой кон- станты 2.
    Каждое выражение имеет значение, которое определяется в момент выполнения оператора, содержащего это выражение. Если на момент вычисления выражения
    И +2 в переменной И хранится число 3, то значение этого выражения будет равно 5
    Логические выражения
    При создании программ не обойтись без логических выражений. Они отличаются тем, что результат их вычислений может принимать только одно из двух допусти- мых значений — true (истина, да, включено) и false (ложь, нет, выключено). Чаще всего значение false ассоциируется с нулем, а значение true — с числом 1 или про- сто ненулевым значением.
    При записи логических выражений используются операции сравнения и логические
    операции. Операции сравнения сличают правого и левого операндов.
    Результатом сравнения является true, если оно удачно, и false в противном случае.

    586
    Глава
    Основы программирования
    В таблице даны примеры записи операций сравнения для разных языков.
    Операция
    Равно
    Не равно
    Меньше
    Меньше или равно
    Больше
    Больше или равно
    Варианты написания
    Бейсик, Паскаль
    =
    о
    <
    <=
    >
    >=
    Си++
    ==
    <
    <=
    >
    >=
    Pi
    3.14
    х > 0
    о Ы
    В одном выражении может потребоваться проверка нескольких подобных условий.
    Например, надо определить, больше ли значение переменной X, чем 0 и меньше ли,
    10. Условия могут быть связаны с помощью логических операций, наиболее активно используемые из которых — это И и ИЛИ. В компьютерной графике также часто применяется так называемое исключающее ИЛИ и операция отрицания НЕ.
    Для нее требуется только один операнд, указывающийся справа от знака опера- ции. Эта операция просто меняет значение своего операнда на противоположное.
    1   ...   65   66   67   68   69   70   71   72   ...   76


    написать администратору сайта