- •1Билет.Информация и информатика. Информационная технология. Информационное общество.
- •2 Билет.Информационные революции. Поколения эвм
- •3 Билет. Информационная система.
- •4 Билет. Этапы развития вычислительных машин
- •5.6. Билет. Представление информации в памяти эвм. Представление текста, изображений и звука. Чисел
- •Тело процедуры
- •Тело функции
5.6. Билет. Представление информации в памяти эвм. Представление текста, изображений и звука. Чисел
Вся информация в памяти ЭВМ хранится в двоичной форме.
Представление текста – каждому отдельному символу в тексте приписывается уникальная последовательность битов. Код ASCII (АСКИ) использует наборы из семи битов для представления прописных и строчных букв английского алфавита, пунктуационных знаков, цифр от 0 до 9 и некоторой другой информации, такой как перевод строки, возврат каретки и табуляция. Сегодня стандарт часто увеличивается до восьми битов для одного символа, при этом в качестве старшего бита в каждый код добавляется 0. Такой метод предоставляет не только код, в котором каждый набор полностью занимает ячейку памяти размером 1 байт, но также 128 дополнительных кодов (полученные приписыванием дополнительному биту значения 1), которые могут представлять символы, не входящие в исходный стандарт. К сожалению, из-за того, что производители используют свои собственные интерпретации для этих дополнительных наборов битов, данные, в которых они появляются, часто не так просто переместить с системы одного производителя на систему другого.
Хотя стандарт АSCII преобладал в течение многих лет, другие более обширные системы кодирования, способные представлять документы на различных языках, завоевывают популярность. Одна из них — Unicode — была разработана совместно несколькими ведущими производителями технического и программного обеспечения и быстро получила поддержку со стороны специалистов в области вычислительной техники. Этот код для представления символов использует уникальные последовательности из 16 бит. В результате чего стандарт включает в себя 65536 различных кодов, которых достаточно для представления наиболее употребляемых символов китайского и японского языков. Стандарт кодирования, который мог бы составить конкуренцию Unicode, был разработан Международной организацией по стандартизации (также известной как ISO, от греческого слова isos — «равный»). Эта система кодирования использует последовательности из 32 бит и может представить миллиарды символов.
Представление изображений
По сравнению с методами хранения символов и чисел способы представления графических, звуковых и видеоданных находятся только в начале своего развития и, следовательно, не настолько стандартизированы.
В соответствии с методами, применяемыми для их представления, все изображения можно разделить на две категории: растровые и векторные.
Растровое изображение представляет собой набор точек, элементов изображения, которые называются пикселями. Самое простое представление имеет вид длинной последовательности битов, каждый из которых равен 0 или 1 в зависимости от того, белого или черного цвета пиксель. При представлении цветных изображений часто используют три байта для каждого пикселя. Этот формат подразумевает, что для изображения, состоящего из 1024 рядов, содержащих 1024 пикселя каждый, потребуется несколько мегабайтов памяти, что превышает емкость обычного гибкого диска. Используются методы GIF, JPEG для сжатия изображений до более приемлемого размера (пикселю могут быть приписаны 256 цветов, следовательно, значение каждого пикселя можно представить с помощью одного байта, а не трех).
Растровый формат представления изображений имеет один недостаток, а именно размер изображения не может быть произвольно изменен. В сущности, единственный способ увеличить изображение — увеличить размер пикселей. Но это приводит к зернистому изображению — явлению, которое часто наблюдается в цифровых фотоаппаратах. Векторный формат представления изображений преодолевает эту проблему.
Векторное изображение представляет собой набор линий и дуг. Такое описание заставляет устройство само рисовать изображение, а не воспроизводить комбинацию пикселей. Векторный формат распространен в автоматизированном проектировании. Он позволяет создавать трехмерные объекты и управлять их отображением на мониторе. Однако векторный формат не обеспечивает фотографического качества изображений, которое доступно в растровом формате. Именно поэтому растровый формат используется в современных цифровых камерах, а основной сферой применения векторной графики является отрисовка чертежей, схем, диаграмм и т.п.
Представление звука
При наиболее распространенном способе кодирования звуковой информации амплитуда сигнала измеряется через равные промежутки времени (8000 отсчетов в секунду) и записываются полученные значения.
Широко используется и более экономная система кодирования – цифровой интерфейс музыкальных инструментов (MIDI).
Представление чисел.
Перевод из десятичной системы в двоичную:
разделите число на два и запишите остаток от деления. До тех пор, пока частное от деления не равно нулю делите на два и записывайте остаток.
Когда частное станет равным 0, двоичная запись числа будет состоять из остатков деления (0 и 1), выписанных справа налево в том порядке, в каком они были получены.
Перевод из двоичной в десятичную – каждый разряд числа имеет вес, равный двойке в степени номера разряда. Первый справа разряд – нулевой. Умножаем значение каждой цифры двоичного числа на вес разряда и складываем значения.
Для того чтобы упростить представление последовательностей битов, обычно используется более краткая запись, называемая шестнадцатеричным представлением. Преимущество этого представления базируется на том, что:
- длина последовательности битов в машине имеет тенденцию быть кратной четырем;
- шестнадцатеричная система представления использует один символ для последовательности из четырех битов (а это означает, что цепочка из двенадцати битов может быть представлена всего тремя символами).
Шестнадцатеричная система счисления представлена в таблице. В левом столбце расположены все возможные последовательности, состоящие из четырех битов, в правом столбце приведены соответствующие им символы в шестнадцатеричной системе. После применения этой системы последовательность битов 10110101 будет иметь вид В5. Чтобы получить шестнадцатеричное представление, последовательность битов делится на подцепочки из четырех битов, затем каждая подцепочка заменяется на ее шестнадцатеричный эквивалент — 1011 заменяется на В, а 0101 на 5.
Билет 7. Архитектура ЭВМ.Структурная схема ЭВМ
Ядро компьютера составляют центральный процессор и память. Процессор – функциональная часть ЭВМ, выполняющая основные операции по обработке данных и управлению работой других блоков. В свою очередь процессор включает арифметико-логическое устройство (АЛУ) и устройство управления. Память — это устройство для хранения информации. Она состоит из оперативного и постоянного запоминающих устройств. В оперативное запоминающее устройство (ОЗУ), которое часто также называют оперативной памятью (ОП), с диска или дискет копируются (загружаются) программы, которые выполняются в данный момент. Постоянное запоминающее устройство (ПЗУ) постоянно хранит информацию, которая записывается туда при изготовлении компьютера.
В ПЗУ находятся:
- тестовые программы, проверяющие при каждом включении компьютера правильность работы его блоков;
- программы для управления основными периферийными устройствами —дисководом, монитором, клавиатурой;
- информация о том, где на диске расположена операционная система.
Устройства, связанные с процессором через шину, а не напрямую, называют периферийными. Шина представляет собой канал передачи данных в виде проводников на печатной плате или многожильного кабеля. На схеме шина изображена в виде двунаправленной стрелки, чтобы указать на то, что информация по ней движется как от процессора к периферийным устройствам, так и в обратную сторону. Черными квадратиками обозначены разъемы (порты).
Порт – точка подключения внешнего устройства к компьютеру. Устройства, которые осуществляют обмен информацией между оперативной памятью и внешними устройствами называются контроллерами или адаптерами, иногда картами. Контроллеры имеют свой процессор и свою память, т.е. представляют собой специализированный процессор, они находятся на отдельных платах, которые вставляются в унифицированные разъемы (слоты) на материнской плате. Схема иллюстрирует только основные принципы устройства современного компьютера. Процессор, память и шина с разъемами для подключения периферийных устройств размещаются на единой плате, называемой материнской или основной (англ. motherboard или mainboard).
В современных персональных компьютерах, как правило, используется принцип открытой архитектуры. Он заключается в том, что устройства, непосредственно участвующие в обработке информации (процессор, оперативная память), соединяются с остальными устройствами единой магистралью - шиной. Преимущества открытой архитектуры: 1) возможность выбирать конфигурацию компьютера (конфигурация - состав устройств, подключенных к компьютеру); 2) можно расширить систему, подключив к ней новые устройства; 3) можно модернизировать систему, заменив любое из устройств.
Билет 8. Архитектура ЭВМ Хранение данных.
Хранение данных.Различают устройства хранения информации, реализованные в виде электронных схем, и накопители информации.
В современной компьютерной науке информация представляется как последовательность битов. Бит – двоичный разряд – является одним из двух чисел – 0 или 1, которые рассматриваются просто как символы, не имеющие числового значения.
Современным способом хранения битов является конденсатор, который состоит из двух небольших металлических пластин, расположенных параллельно друг другу на некотором расстоянии. Если к пластинам подсоединить источник напряжения: к одной пластине — положительный полюс, к другой — отрицательный, заряды из источника перейдут на пластины. Теперь, если убрать источник напряжения, то заряды останутся на пластинах. Если соединить пластины, то возникнет электрический ток, и заряды будут нейтрализованы. Таким образом, конденсатор может находиться в одном из двух состояний (заряжен и разряжен), одно из которых может быть принято за 0, другое — за 1. Современные технологии позволяют создать миллионы крошечных конденсаторов, объединенных в одну цепь на одной пластине, называемой чипом.
Оперативная память.
Назначение оперативной памяти – хранение данных, которые могут потребоваться в ближайшее время. В первых ПК фирмы IBM (1981 г.) максимальный объем оперативной памяти был установлен равным 640 Кбайт. В настоящее время объем оперативной памяти достигает нескольких десятков Мегабайт.
Структура Оперативной памяти. Запоминающие схемы в оперативной памяти компьютера объединены в управляемые единицы, называемые ячейками памяти (сеll), при этом стандартный размер ячейки равен восьми битам (байт). Килобайт = 1024 (то есть 210) ячейки.
Для того чтобы идентифицировать ячейки в оперативной памяти, каждой из них приписывается уникальное имя, которое называется адресом.
Считается, что ячейки памяти расположены в ряд и пронумерованы в этом порядке, начиная с нуля. Такая система адресации не только позволяет единственным образом определить ячейку памяти, но также упорядочивает их, позволяя употреблять по отношению к ним такие выражения, как «следующая ячейка» или «предыдущая ячейка».
Другим следствием представления оперативной памяти в виде упорядоченных ячеек с адресом является возможность индивидуального доступа к каждой ячейке, то есть данные, хранящиеся в оперативной памяти компьютера, могут обрабатываться в случайном порядке. Это объясняет то, что оперативную память часто называют памятью с произвольным доступом (RAM — Random Access Memory). Произвольный доступ к небольшим единицам данных (минимально это один байт) — коренное отличие оперативной памяти от устройств хранения данных, в которых длинные последовательности байтов (файлы) должны обрабатываться как блок.
Другие схемы могут получить данные из памяти, запрашивая содержимое ячейки по определенному адресу (операцией чтения), или они могут записывать информацию в память, требуя, чтобы определенная последовательность битов была помещена в ячейку по определенному адресу (операцией записи).
Билет 9. Архитектура ЭВМ Процессор. Машинные команды
Кроме способности хранить данные, компьютер должен обладать способностью обрабатывать их так, как это предписано алгоритмом. Это значит, что машина должна иметь средства выполнения операций над данными и средства контроля последовательности этих операций. Такие задачи выполняются устройством, которое называется центральным процессором. Процессор — устройство, обеспечивающее преобразование информации и управление другими устройствами компьютера. Современный процессор представляет собой микросхему, или чип (англ. chip — чип), выполненную на миниатюрной кремниевой пластине — кристалле. Поэтому его принято называть микропроцессором.
Центральный процессор или ЦП (часто просто процессор) состоит из арифметико-логического устройства (АЛУ), которое содержит схему, манипулирующую данными, и устройства управления, которое содержи: схему, координирующую деятельность машины.
Для временного хранения информации в процессоре содержатся ячейки, или регистры, которые похожи на ячейки оперативной памяти. Они служат для временного хранения данных, обрабатываемых центральным процессором.
Скорость передачи данных измеряется в битах в секунду. Существует два основных способа передачи данных: параллельный и последовательный. Этими терминами обозначают способ передачи битов относительно друг друга. В случае параллельной связи несколько битов передаются одновременно, каждый по отдельному проводнику (линии), Такая техника позволяет быстро передавать данные, но требует достаточно сложной линии связи. При последовательной передаче за один раз передается только один бит. Такая техника передачи данных медленнее, но для нее требуется более простой канал связи, поскольку все биты передаются по одной линии.
Вследствие такого строения компьютера задача сложения двух значений, хранящихся в оперативной памяти, представляет собой больше, чем простое выполнение операции сложения. Этот процесс включает в себя и работу устройства управления, которое координирует передачу информации между оперативной памятью и регистрами, находящимися в центральном процессоре, и работу арифметико-логического устройства, которое выполняет операцию сложения по команде устройства управления.
Процесс сложения двух чисел можно разбить на пять шагов:
взять одно из значений из памяти и поместить его в регистр;
взять другое значение из памяти и поместить его в другой регистр;
активировать схему сложения, на входе которой будут данные из регистров;
сохранить результаты в памяти;
стоп.
Список команд (машинных команд), которые должен выполнять и декодировать центральный процессор можно разделить на три группы:
- команды передачи данных (предписывают перемещение данных из одного места в другое. Как пример, шаги 1,2 (команды загрузки) и 4 (команда сохранения) вышерассмотренного алгоритма. В команды передачи данных входят инструкции для связи центрального процессора с внешними устройствами)
- арифметико-логические команды (в примере шаг 3. К этим командам относятся и команды сдвига)
- команды управления (управляют процессом выполнения программы. В примере шаг 5. Это команды перехода (условного и безусловного) и ветвления)).
ПК выполняет программу, хранящуюся в памяти, считывая команды из памяти в устройство управления. Как только команда попадает в устройство управления, она расшифровывается и выполняется. Порядок, в котором команды выбираются из памяти, соответствует порядку их хранения в памяти, если другой порядок не определен командой перехода. Основным устройством обработки информации в ЭВМ является арифметико-логическое устройство, входящее в состав процессора. Его основой является электронная схема, составленная из большого числа транзисторов, называемая сумматором.
Важной характеристикой процессора является его производительность (количество элементарных операций, выполняемых им за одну секунду), которая и определяет быстродействие компьютера в целом. В свою очередь, производительность процессора зависит от двух других его характеристик — тактовой частоты и разрядности.
Тактовая частота определяет число тактов работы процессора в секунду. Под тактом мы понимаем чрезвычайно малый промежуток времени, измеряемый микросекундами, в течение которого может быть выполнена элементарная операция, например сложение двух чисел. Современный персональный компьютер может выполнять миллионы и миллиарды таких элементарных операций в секунду. Для числового выражения тактовой частоты используется единица измерения частоты — мегагерц (МГц) — миллион тактов в секунду. Тактовая частота современных микропроцессоров составляет более 100 МГц.
Разрядность процессора определяет размер минимальной порции информации, над которой процессор выполняет различные операции обработки. Процессор в зависимости от его типа может иметь одновременный доступ к 8, 16, 32, 64 битам.
Взаимодействие между компьютером и другими устройствами обычно происходит через контроллер. Устройства, которые осуществляют обмен информацией между оперативной памятью и внешними устройствами называются контроллерами или адаптерами, иногда картами. Контроллер представляет собой плату, которая вставляется в гнездо материнской платы. Команды ввода-вывода находят контроллер с помощью системы адресации, подобной системе адресации оперативной памяти. А именно каждому контроллеру соответствует уникальный набор адресов (адреса ввода-вывода), которые используются в командах ввода-вывода для указания контроллера-адресата. Набор адресов, соответствующих контроллеру, называется портом, так как они представляют собой «место» через которое информация входит в компьютер и выходит из него. Поскольку адреса ввода-вывода могут иметь такой же вид, как адреса ячеек оперативной памяти, шины компьютеров снабжены сигналом, который показывает, передается сообщение в оперативную память или в контроллер. Следовательно, на команду ввода-вывода: отослать содержимое регистра определенному контроллеру, центральный процессор будет реагировать так же, как на команду отослать цепочку битов в определенную ячейку памяти, только при этом он выставит сигнал, который сообщит устройствам, подключенным к шине, что цепочка битов предназначена для такого-то контроллера, а не для оперативной памяти.
Билет10 Устройства хранения данных.
Основными отличиями устройств хранения данных от оперативной памяти являются их независимость от питания, большая емкость и, в большинстве случаев, автономность, то есть возможность перемещать запоминающую среду независимо от компьютера.
Главным недостатком устройств хранения данных является то, что они требуют механического движения и, следовательно, обладают большим временем отклика по сравнению с оперативной памятью машины, которая является электронной.
Магнитные диски – тонкий вращающийся диск с магнитным покрытием. Головки чтения/записи располагаются над и/или под диском, так что, когда диск вращается, головка очерчивает кольцо на поверхности диска, называемое дорожкой. Дорожки разделены на дуги, которые называются секторами (на них информация записана в виде непрерывной последовательности битов). Диски большой емкости, способные вмещать гигабайты информации, состоят из 5 – 10 жестких дисков, установленных на общем шпинделе. Устройство называется жестким диском.
Компакт-диски – диски, состоящие из отражающего материала, покрытого прозрачным защитным слоем. Запись информации на них осуществляется посредством изменения структуры их отражающего слоя. Информация извлекается с диска при помощи лазерного луча, который контролирует отличия структуры отражающего слоя диска по мере его вращения.
Магнитные ленты – информация записывается на магнитный слой тонкой пластиковой ленты, которая для хранения наматывается на бобину.
Информация на носителях хранится в виде файлов. Файл – область на магнитном диске, наименьшая единица хранения информации, содержащая последовательность байтов и зарегистрированная операционной системой под своим уникальным именем. Уникальное имя файла состоит из имени и расширения (типа файла). Тип файла изменить произвольно нельзя. Логический диск - это либо весь диск, либо часть диска, предназначенная для хранения определенного объема информации. Логический диск обозначается большой латинской буквой с двоеточием.
Каталог (директория, папка) - часть логического диска, предназначенная для хранения определенного объема информации (в виде файлов). Каталог может включать в себя несколько других каталогов (подкаталогов) и входить в состав одного другого каталога (надкаталога). Логический диск также является каталогом самого высокого уровня - корневым каталогом. Таким образом, на диске образуется система каталогов, имеющая древовидную (иерархическую) структуру.
+практика
Структура обработки информации на ПК выглядит следующим образом. При вводе она кодируется единицами и нулями, т.е. битами, затем обрабатывается байтами. Если необходимо сохранить информацию – она «упаковывается» в файлы. При обращении к файлам происходит обратный процесс перехода от кодовой формы к естественной понятной нам (декодирование информации).
Билет 11. Фа́йловая систе́ма (англ. file system) — порядок, определяющий способ организации, хранения и именования данных на носителях информации ИТ-оборудования (использующего для многократной записи и хранения информации портативные флеш-карты памяти в портативных электронных устройствах: цифровых фотоаппаратах, мобильных телефонах и т. д) и компьютерной техники. Она определяет формат содержимого и физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла (папки), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Файловая система связывает носитель информации с одной стороны и API для доступа к файлам — с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте, блоке флеш-памяти или другом) он записан. Всё, что знает программа — это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).
С точки зрения операционной системы (ОС), весь диск представляет собой набор кластеров (как правило, размером 512 байт и больше)[1]. Драйверы файловой системы организуют кластеры в файлы и каталоги (реально являющиеся файлами, содержащими список файлов в этом каталоге). Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные.
Однако файловая система не обязательно напрямую связана с физическим носителем информации. Существуют виртуальные файловые системы, а также сетевые файловые системы, которые являются лишь способом доступа к файлам, находящимся на удалённом компьютере.
Билет 12 Конструктивное исполнение современных компьютеров. Подключение периферийных устройств.
Конструктивное исполнение.
Системный блок настольного (стационарного) компьютера представляет собой металлическую коробку со съемной крышкой, в которой размещены различные устройства компьютера. В персональных компьютерах, выпускаемых в портативном варианте, системный блок, монитор и клавиатура объединяются в один корпус (ноутбук).
В системном блоке расположены основные узлы компьютера, связанные между собой системной магистралью (шиной):
системная или материнская плата (motherboard), на которой установлены процессор, память, контроллеры и другие электронные устройства
блок питания, преобразующий электропитание сети в постоянный ток низкого напряжения, для электронных схем компьютера;
накопитель на жестком магнитном диске, предназначенный для чтения и записи на несъемный жесткий магнитный диск (винчестер).
накопители на оптических дисках (типа DVD - RW или CD – RW), предназначенные для чтения и записи на компакт - диски
накопители (или дисководы) для гибких магнитных дисков, используемые для чтения и записи на дискеты;
устройства охлаждения.
Периферийные устройства.
Периферийные устройства — это устройства, с помощью которых информация или вводится в компьютер, или выводится из него. Они также называют внешними или устройствами ввода-вывода данных. Связь компьютера с различными устройствами ввода и вывода осуществляется через порты. Для некоторых устройств предусмотрено внешнее подключение к портам через разъемы, которые обычно тоже называют портами.
Мышь и внешний модем подключаются с помощью последовательных портов, которые передают электрические импульсы, несущие информацию в машинном коде, последовательно один за другим. Обозначаются последовательные порты как СОМ1 и COM2, а аппаратно реализуются с помощью 25-контактного и 9-контактного разъемов, которые выведены на заднюю панель системного блока.
Принтер подключается к параллельному порту, который обеспечивает более высокую скорость передачи информации, чем последовательные порты, так как передает одновременно 8 электрических импульсов, несущих информацию в машинном коде. Обозначается параллельный порт как LPT, а аппаратно реализуется в виде 25-контактного разъема на задней панели системного блока.
Для подключения сканеров и цифровых камер обычно используется порт USB (Universal Serial Bus — универсальная последовательная шина), который обеспечивает высокоскоростное подключение к компьютеру сразу нескольких периферийных устройств.
Клавиатура подключается обычно с помощью последовательного порта PS/2.
Билет 13 Устройства ввода информации. Клавиатура- основное устройство ввода информации. Расположение латинских букв на ней соответствует расположению клавиш на латинской печатной машинке (т.н. клавиатура QWERTY- по первым буквам в верхнем ряду), русских букв - русской печатной машинке.
Сканер- устройство для ввода графической информации в компьютер (создает электронную копию документа). Сканеры бывают ручные (например, штрих-сканер) и настольные. Ручные сканеры (более дешевые, но обладающие более скромными возможностями) проводят над изображением, а в настольные лист бумаги вкладывают целиком. Кроме того, сканеры бывают цветные и черно-белые.
Устройства местоуказания предназначены для ввода координат в компьютер. Мышь - наиболее распространенный манипулятор, позволяющий перемещать указатель (курсор мыши) по экрану дисплея и указывать им на определенные объекты на экране (т.е. вводить в компьютер координаты выбранной точки на экране в графических операционных системах). Наиболее просты и дешевы механические мыши, в основании которых имеется шарик, вращающийся при перемещении мыши по ровной поверхности. Вращение шарика передается на датчики, вырабатывающие электрические сигналы, отслеживая тем самым движения кисти руки человека, что и приводит к соответствующим перемещениям курсора на экране. Более дорогой и сложной, но более точной и надежной является оптическая мышь, перемещающаяся на планшете, покрытом сеткой линий (отражающих или поглощающих свет). В ее основании имеются светоизлучатели и фотодетекторы. Сигналы вырабатываются мышью на основе анализа лучей света, отраженных от планшета и воспринятых фотодетекторами.
Трекбол - это своеобразная "мышь вверх ногами". Он представляет собой шарик, как правило встраиваемый в клавиатуру, который вращают пальцами. Трекбол обычно используют в переносных компьютерах - ноутбуках (англ. notebook - записная книжка). Трекпоинт – гибкая клавиша, трекпад – планшет под пленкой в ноутбуке.
Джойстик- манипулятор, выполняемый в виде рычажка (ручки) на массивном основании. Управляющие сигналы вырабатываются движениями ручки и нажатием кнопки (или кнопок) на ней. Джойстики, как правило, используют для работы с игровыми программами.
Графический планшет (дигитайзер или диджитайзер - англ. digitizer - оцифровыватель)- планшет, покрытый сеткой пьезоэлементов - элементов, вырабатывающих электрический ток при механическом воздействии. Надавливанием на определенные точки на нем вводят их координаты в компьютер. Световым пером (сенсорное устройство ввода информации) указываются координаты определенной точки, но непосредственно на экране графического планшета или дисплея. На его конце имеется фотоэлемент. Им при поднесении к экрану фиксируется момент попадания на него электронного луча, формирующего изображение (как известно, этот электронный луч несколько раз в секунду обегает все точки поверхности экрана). На основе этого вычисляются координаты точки, к которой поднесено световое перо в данный момент времени.
Билет 14.Устройства вывода информации. Устройства связи
Дисплей (монитор) - основное устройство вывода информации. Дисплеи бывают основанными на электронно-лучевой трубке (обычном кинескопе), жидких кристаллах (lcd, англ. Liquid crystal display, состоит из жидкокристаллических элементов, меняющих свои цветовые характеристики под действием подаваемого на них тока), плазменные (набор газоразрядных ячеек, дорогие, высокое энергопотребление) или электролюминесцентные (состоят из матрица активных индикаторов, дорогие и энергоемкие). Кроме того, различают цветные и монохромные (одноцветные) дисплеи. В настоящее время на дисплей приходится значительная доля стоимости компьютера. Когда процессор выдает команду что-то вывести на экран, сформированное изображение необходимо также несколько раз в секунду передавать на дисплей, иначе человек ничего не успеет увидеть. Поэтому изображение нужно запомнить и передавать на экран независимо от процессора, который в это время может выполнять другие операции. Эти функции выполняет специальное устройство - видеоадаптер, играющий роль своеобразного телецентра, формирующего, хранящего и передающего изображения на экран дисплея. Видеоадаптер представляет собой плату, которая вставляется в корпус компьютера (в системный блок). Дисплей подключается непосредственно к ней. На этой плате находятся, в частности, схемы видеопамяти, в которых запоминается изображение, выводимое на экран.
Принтер - устройство для вывода информации на бумагу. Принтеры бывают матричные, струйные, лазерные. Иногда встречаются принтеры других типов - литерные, лепестковые, светодиодные и другие. Кроме того, по формату бумаги различают "широкие" и "узкие" принтеры.
В матричном принтере изображение выводится на бумагу с помощью специальной движущейся головки, в которой имеется несколько (9, 24 или 48) иголок, наносящих удары по листу бумаги через красящую ленту. Скорость работы матричных принтеров невысока (от 10 секунд на страницу при низком качестве, до нескольких минут - при высоком), кроме того, они издают неприятный звук при работе. К их преимуществам следует отнести низкую стоимость, а также то обстоятельство, что краска вбивается иголками в бумагу, и поэтому подделать документ, напечатанный на матричном принтере, сложнее, чем документы, напечатанные на принтерах других типов. Обратите внимание, что водительские права, паспорта, финансовые и другие документы оформляются именно на матричных принтерах. В струйных принтерах красящее вещество (тонер) выдувается на бумагу с помощью системы сопел. Эти принтеры обеспечивают более высокие скорость (средняя скорость – 1 страница в минуту) и качество печати, позволяют создавать цветные изображения. При этом по стоимости струйные принтеры незначительно отличаются от матричных, правда эксплуатационные расходы (стоимость тонера и обслуживания) у них выше. Наиболее высокую скорость печати (до 5 секунд на страницу) при наилучшем качестве обеспечивают лазерные принтеры. В них изображение переносится на бумагу со специального барабана, к участкам поверхности которого, электролизуемым лучом лазера, притягиваются частицы красящего порошка. Скорость печати в среднем — от 4 до 15 страниц за 1 минуту. Лазерные принтеры являются достаточно дорогими.
Плоттер (графопостроитель)- устройство для вывода чертежей на бумагу. Их используют в проектных институтах, конструкторских бюро и т.п. Бывают струйные и механические плоттеры. Устройство струйных плоттеров аналогично устройству струйных принтеров, только они имеют значительно большие размеры. В механических плоттерах пишущий узел с перьями (шариковыми, керамическими или фитильными, как во фломастерах) перемещается относительно листа ватмана с помощью механических рычагов, или (и) бумага, зажатая в прижимных устройствах, перемещается относительно пишущего узла.
В корпус компьютера обычно встраивается динамик, способный выдавать звуковой сигнал одного тона в определенный момент времени. Для возможности прослушивания музыки в качественном исполнении, речи, звуковых эффектов необходимо оснастить компьютер звуковой приставкой - специальной платой (саунд-бластером, англ. sound blaster - "выдувающий" звук), вставляемой в системный блок (корпус) компьютера, и подключаемыми к ней колонками. Мощный компьютер, оснащенный этими и другими устройствами для создания звуковых эффектов называют мультимедийным (англ. multimedia-"многие среды", т.е. возможность одновременно использовать всевозможные способы представления информации - текстовой, графической, звуковой, видео и пр.).
Устройства связи. Модем (модулятор-демодулятор) – устройство, преобразующее информацию к виду, в котором ее можно передавать по линиям связи, в частности - по телефонным линиям. Модемы бывают внутренние (вставляемые в корпус компьютера) и внешние (представляющие собой отдельные устройства, подключаемые к компьютеру и телефонной линии). Кроме того, различают телефонные модемы, позволяющие передавать только текстовые сообщения, и факс-модемы, позволяющие передавать и графические изображения.
Сетевой адаптер (сетевая плата)- устройство, обеспечивающее подключение компьютера к локальной (т.е. небольшой) компьютерной сети. Сетевой адаптер представляет собой вставляемую в корпус компьютера плату с разъемом для подключения линии связи компьютерной сети.
Билет 15 Програмное обеспечение, классификация. Обслуживающее и прикладное программное обеспечение.
Программное обеспечение - комплекс программ:
- обеспечивающих обработку или передачу данных;
- предназначенных для многократного использования и применения разными пользователями.
По видам выполняемых функций программное обеспечение подразделяется на системное, прикладное и инструментальное.
Программное обеспечение - согласно ГОСТ 19781-90 - совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.
Совокупность программ, предназначенная для решения задач на ПК, называется программным обеспечением. Состав программного обеспечения ПК называют программной конфигурацией.
К прикладному программному обеспечению относятся программы, выполняющие задачи, касающиеся предметной области применения машины. Компьютер, который используется для составления каталогов в производственной компании, и компьютер, с которым работает инженер, будут содержать разные приложения. К прикладному программному обеспечению также относятся электронные таблицы, базы данных, системы подготовки публикаций, системы бухгалтерского учета, системы разработки программ и компьютерные игры. Иногда выделяют инструментальное ПО (системы программирования), обеспечивающее разработку новых программ для компьютера на каком-либо языке программирования.
Системное программное обеспечение можно разделить на две группы: операционная система и обслуживающее программное обеспечение, или утилиты. Операционная система - программа, которая управляет общими действиями ЭВМ или группой ЭВМ, объединенных в сеть. Большая часть обслуживающего программного обеспечения состоит из программ, выполняющих действия, которые являются важными для работы вычислительной машины, однако не входят в операционную систему. Обслуживающее программное обеспечение состоит из программ, которые расширяют возможности операционной системы.
Билет 16 Системное программное обеспечение. Эволюция операционных систем.
Систе́мное програ́ммное обеспече́ние — это комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы, такими как процессор, оперативная память, каналы ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс» с одной стороны которого аппаратура, а с другой приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.
Эволюция операционных систем.
Операционная система – программа, которая управляет общими действиями машины (ЭВМ) или группы машин, объединенных в сеть.
1) В операционных системах с пакетной обработкой задания, помещенные в запоминающее устройство, ждали выполнения в очереди заданий. Главным недостатком обычной пакетной обработки является то, что пользователь не имеет доступа к программе после того, как она помещается в очередь заданий.
2) Интерактивные операционные системы позволяет вести диалог с пользователем во время выполнения программы. Если бы интерактивные системы единовременно обслуживали только одного пользователя, то обработка данных в реальном времени не представляла бы никаких трудностей. Но компьютеры были дорогими, поэтому с каждой машиной работали несколько пользователей. Следовательно, как правило, несколько пользователей одновременно нуждались в интерактивных услугах, и обработка в реальном времени была проблемой.
3) Операционная система, чередующая выполнение разных заданий, называется системой с разделением времени. При такой обработке время разделяется на интервалы, или кванты, и на выполнение задания отводится только один квант времени. По истечении каждого интервала времени текущее задание откладывается и начинается выполнение другого. При быстрой смене исполняемых заданий создается эффект выполнения нескольких заданий одновременно.
4) В последние годы потребности в обмене информацией привели к широкому распространению связанных систем вычислительных машин, которые называют сетями (сеть – многопроцессорная операционная система). С помощью сети пользователи коллективно используют ресурсы (пакеты прикладных программ, средства хранения данных и т.п.). Проблемы управления, возникающие при разработке сетей очень похожи на проблемы, возникающие при создании операционных систем. Программное обеспечение, управляющее работой сети, можно рассматривать как операционную систему сети.
В то время как сети представляют собой многопроцессорные системы, объединяющие машины, каждая из которых может содержать только один центральный процессор, другие многопроцессорные системы представляют собой отдельные компьютеры, содержащие несколько процессоров.
Билет 17 Компоненты операционной системы.
Часть операционной системы, которая определяет интерфейс между операционной системой и пользователем, часто называется оболочкой. Задача оболочки состоит в том, чтобы взаимодействовать с пользователем машины. Современные оболочки выполняют эту задачу с помощью графического пользовательского интерфейса, в котором объекты, такие как файлы и программы, представлены на экране компьютера в виде значков. Эти системы позволяют пользователям отдавать команду одним щелчком мыши на значке. Более ранние оболочки общались с пользователем с помощью текстовых сообщений, которые вводились с клавиатуры и отображались на экране. Главным компонентом современного графического пользовательского интерфейса является устройство управления окнами (window manager), которое размещает окна на экране компьютера и отслеживает, какому приложению принадлежит данное окно.
Ядро операционной системы содержит программы, обеспечивающие функционирование компьютера: программа управления файлами (распределяет доступ к файлам и пространство на диске для создания новых файлов), драйвера устройств (программы, взаимодействующие с контроллерами), модуль управления памятью (распределяет пространство памяти), планировщик (распределяет пространство в таблице процессов), диспетчер (распределяет кванты времени).
Билет 18 структура ядра операционной системы
Ядро операционной системы содержит программы, обеспечивающие функционирование компьютера: программа управления файлами (распределяет доступ к файлам и пространство на диске для создания новых файлов), драйвера устройств (программы, взаимодействующие с контроллерами), модуль управления памятью (распределяет пространство памяти), планировщик (распределяет пространство в таблице процессов), диспетчер (распределяет кванты времени).
Программа управления, файлами (file manager) координирует использование запоминающих устройств машины. Точнее говоря, программа управления файлами ведет учет всех файлов, хранящихся в машине, включая информацию о том, где они находятся, каким пользователям разрешено с ними работать, какие участки накопителя свободны для записи новых или расширения имеющихся файлов.
Доступ к файлам осуществляется с помощью программы управления файлами. Процедура начинается с того, что у программы управления файлами запрашивается доступ к файлу с помощью процесса, который называется открытием файла. Если программа управления файлами разрешает доступ, она дает информацию необходимую для нахождения и обработки файла. Эта информация хранится в области памяти, которая называется описателем файла (file descriptor). Именно с помощью обращения к описателю файла выполняются отдельные операции над файлом.
Другим компонентом ядра операционной системы является набор драйверов устройств, которые представляют собой программы, взаимодействующие с контроллерами (или иногда непосредственно с периферийными устройствами) для выполнения устройствами заданий, назначенных машине. Каждый драйвер разрабатывается специально для определенного устройства (такого как принтер, дисковод или монитор) и преобразует общие запросы в набор более формальных шагов, понятных устройству, подключенному к этому драйверу.
Модуль управления памятью отвечает за управление тем, как машина использует оперативную память. По мере выполнения разных заданий модуль управления памятью должен удовлетворять их требованиям к памяти и отслеживать, какие области памяти в данный момент свободны.
Задача модуля управления памятью еще более усложняется, когда область памяти, необходимая для выполнения задачи, превышает пространство, доступное в машине. В этом случае модуль управления памятью может создать иллюзию дополнительного пространства, перемещая программы между оперативной памятью и запоминающим устройством. Предположим, например, что требуется 256 Мбайт памяти, а доступно только 128 Мбайт оперативной памяти. Для того чтобы создать иллюзию области памяти большего размера, модуль управления памятью разбивает требуемое пространство на элементы, которые называются страницами и сохраняет их содержимое на запоминающем устройств. (Обычно размер одной страницы не превышает нескольких килобайтов.) Поскольку в определенный момент времени требуются не все страницы, модуль управления памятью помещает в оперативную память только необходимые страницы; таким образом, задача выполняется, как если бы все 256 Мбайт памяти были доступны. Такая память называется виртуальной.
Также в ядро операционной системы входят планировщик и диспетчер. Они выполняют задачи, связанные с координацией процессов. В системах с разделением времени планировщик определяет, какие действия будут выполняться, а диспетчер распределяет кванты времени между этими действиями. Планировщик ведут учет процессов, которые протекают в данный момент, записывает новые и удаляет уже законченные.
Билет 19 Начало работы операционной системы.
Запуск системы осуществляется с помощью процедуры, которая называется начальной загрузкой и выполняется машиной каждый раз при включении.
Центральный процессор устроен таким образом, что счетчик программ при включении машины содержит заранее заданный адрес ячейки памяти ПЗУ и именно в этой ячейке памяти процессор ожидает найти первую команду, которую нужно выполнить.
Небольшая программа, хранящаяся в этой области ПЗУ, называется программой начальной загрузки. Она выполняется автоматически при включении машины и указывает центральному процессору, что необходимо передать данные из заданной области постоянного запоминающего устройства в энергозависимую, т.е. оперативную память. В большинстве случаев этими данными является операционная система. Как только операционная система помещается в оперативную память, программа начальной загрузки предписывает процессору перейти на выполнение программы из этой области памяти. С этого момента действиями машины уже управляет операционная система.
Координирование действий машины.
Выполнение программы – динамическая деятельность, свойства которой меняются во времени. Эта деятельность называется процессом. Текущее состояние деятельности называется состоянием процесса. Операционная система координирует все процессы с помощью планировщика и диспетчера.
Планировщик ведет учет процессов, которые протекают в данный момент, записывает новые и удаляет уже законченные. Для того чтобы следить за процессами планировщик помещает информацию о них в область оперативной памяти, которая называется таблицей процессов. Каждый раз, когда ПК назначается задача, планировщик создает для нее процесс, помещая новые данные в таблицу процессов.
Диспетчер – компонент ядра операционной системы, который управляет выполнением запланированных процессов. В системах с разделением времени эта задача решается разделением времени на короткие интервалы (не более 50мс), которые называются квантами, и переключением центрального процессора с одного процесса на другой. Процедура смены процессов называется переключением процессов. Когда время, отведенное процессу заканчивается (квант времени), таймер генерирует сигнал, который называется сигналом прерывания. Центральный процессор останавливает выполнение текущего машинного цикла, сохраняет информацию о текущем процессе и начинает выполнение программы, которая называется обработчиком прерываний, которая в системах с разделением времени является частью диспетчера. Затем диспетчер выбирает из таблицы процессов процесс с наивысшим приоритетом, перезапускает таймер и позволяет выбранному процессу начать его временной квант. Если процесс выполнится за время меньшее, чем за квант, то сигнал прерывания будет генерирован ранее. Главным достоинством систем с разделением времени является возможность остановить, а затем возобновить процесс.
Билет 20 Операционная система – программа, которая управляет общими действиями машины (ЭВМ) или группы машин, объединенных в сеть.
1) В операционных системах с пакетной обработкой задания, помещенные в запоминающее устройство, ждали выполнения в очереди заданий. Главным недостатком обычной пакетной обработки является то, что пользователь не имеет доступа к программе после того, как она помещается в очередь заданий.
2) Интерактивные операционные системы позволяет вести диалог с пользователем во время выполнения программы. Если бы интерактивные системы единовременно обслуживали только одного пользователя, то обработка данных в реальном времени не представляла бы никаких трудностей. Но компьютеры были дорогими, поэтому с каждой машиной работали несколько пользователей. Следовательно, как правило, несколько пользователей одновременно нуждались в интерактивных услугах, и обработка в реальном времени была проблемой.
3) Операционная система, чередующая выполнение разных заданий, называется системой с разделением времени. При такой обработке время разделяется на интервалы, или кванты, и на выполнение задания отводится только один квант времени. По истечении каждого интервала времени текущее задание откладывается и начинается выполнение другого. При быстрой смене исполняемых заданий создается эффект выполнения нескольких заданий одновременно.
4) В последние годы потребности в обмене информацией привели к широкому распространению связанных систем вычислительных машин, которые называют сетями (сеть – многопроцессорная операционная система). С помощью сети пользователи коллективно используют ресурсы (пакеты прикладных программ, средства хранения данных и т.п.). Проблемы управления, возникающие при разработке сетей очень похожи на проблемы, возникающие при создании операционных систем. Программное обеспечение, управляющее работой сети, можно рассматривать как операционную систему сети.
В то время как сети представляют собой многопроцессорные системы, объединяющие машины, каждая из которых может содержать только один центральный процессор, другие многопроцессорные системы представляют собой отдельные компьютеры, содержащие несколько процессоров.
Программа Проводник
Одной из важнейших программ в Windows 98/2000 является программа Проводник. Она позволяет пользователю управлять файлами и программами, хранящимися на компьютерах и в сети.
Окно программы Проводник (рис. 3.11) разделено на две части: в левой отображается иерархическое дерево папок и устройств, в правой - содержимое выбранной папки или устройства.
Запуск программы Проводник
Запустить программу Проводник можно несколькими способами. Однако проще всего это сделать с помощью кнопки Пуск --> Программы --> Проводник.
Аналогичный результат вы можете получить, выполнив щелчок правой кнопкой мыши на пиктограмме любой папки или на кнопке Пуск и выбрав в открывшемся меню команду Проводник. (Эта команда присутствует и в контекстном меню пиктограмм Мой компьютер, Сетевое окружение, Outlook Express и Корзина.)
Управление файлами
Используя программу Проводник, можно выполнять копирование, перемещение и переименование файлов. Кроме того, с помощью этой программы можно запустить требуемое приложение или открыть нужный документ.
Чтобы открыть тот или иной текстовый документ, необходимо дважды щелкнуть по значку документа (для web-интерфейса – один щелчок) или выполнить щелчок правой кнопкой мыши на пиктограмме этого документа и выбрать в контекстном меню команду Открыть. Команда Открыть присутствует и в меню Файл.
Отображение файлов и папок в окне программы Проводник
Когда вы запускаете программу Проводник, в правой части ее окна Windows демонстрирует список имен и значков папок и файлов. Для изменения варианта отображения файлов и папок в окне Обзор можно воспользоваться командами меню Вид или кнопкой Вид панели инструментов.
Очень удобно использовать вариант детального отображения (команда Таблица меню Вид), поскольку в этом случае на экране помимо значка и имени файла или папки отображается дополнительная информация: объем файла, его тип и дата последней модификации.
Для того чтобы установить нужную ширину столбцов для отображения данной информации, необходимо, удерживая нажатой левую кнопку мыши, переместить вертикальную разделительную линию в нужное положение. Если при этом ширина того столбца окажется недостаточной, то Проводник обрежет соответствующее имя и заменит недостающие знаки тремя точками.
Выбрав в программе Проводник отображение детальной информации (команда Таблица меню Вид) о файлах и папках, можно отсортировать файлы и папки в списке по определенному критерию, причем для этого понадобится выполнить всего лишь один щелчок мышью на заголовке соответствующего столбца.
После выполнения второго щелчка на заголовке столбца программа Проводник произведет сортировку в обратном порядке, например, в обратном алфавитном порядке. Если для отображения файлов и папок используется команда Крупные значки, то можно выполнить сортировку, воспользовавшись командами подменю Упорядочить значки меню Вид.
Пользовательский интерфейс
User interface
Интерфейс пользователя - элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением. В том числе:
- средства отображения информации, отображаемая информация, форматы и коды;
- командные режимы, язык пользователь-интерфейс;
- устройства и технологии ввода данных;
- диалоги, взаимодействие и транзакции между пользователем и компьютером;
- обратная связь с пользователем;
- поддержка принятия решений в конкретной предметной области;
- порядок использования программы и документация на нее.
Переход Яndex Верх Google Низ
Программный интерфейс
Программный интерфейс - система унифицированных связей, предназначенных для обмена информацией между компонентами вычислительной системы. Программный интерфейс задает набор необходимых процедур, их параметров и способов обращения.
Билет 21 Алгоритм. Определение и свойства
Определение алгоритма: Алгоритм — это упорядоченный набор однозначных выполнимых шагов.
Набор шагов должен быть упорядочен. Это означает, что шаги в алгоритме должны быть структурированы, то есть должны выполняться в определенном порядке. Это не значит, что сначала должен выполняться первый шаг, затем второй и т. д. Например, некоторые алгоритмы, которые называются разветвленными, содержат несколько параллельных ветвей, каждая из которых выполняется при соблюдении определенного условия. Должен состоять из выполнимых шагов. Для того чтобы понять это условие, рассмотрим команду: Вывести список всех положительных целых чисел. Выполнить эту команду невозможно, поскольку существует бесконечное множество положительных целых чисел. Поэтому любой набор команд, включающий такое указание, не является алгоритмом. Шаги должны быть однозначными - для выполнения каждого шага должно требоваться не наличие творческих способностей, а только способность следовать указаниям. Алгоритм определяет конечный процесс, то есть выполнение алгоритма должно когда-нибудь закончиться. Термин «алгоритм» часто используется в нестрогом прикладном смысле, но отношению к набору шагов, которые не обязательно определяют конечный процесс. Примером может служить алгоритм деления в столбик, который не определяет конечный процесс в случае деления, например, 1 на 3. Формально, в таких случаях термин «алгоритм» употребляется неправильно.
Основные свойства алгоритмов:
понятность для исполнителя;
дискретность (процесс решения задачи представляется как последовательность выполнения простых шагов);
определенность (однозначность);
конечность (должен приводить к решению задачи за конечное число шагов);
универсальность (должен быть применим для некоторого класса задач, область применения алгоритма).
Билет 22 Создание алгоритма. Представление алгоритма.
Создание алгоритма.
Разработка программы состоит из двух этапов: создание лежащего в ее основе алгоритма и представление этого алгоритма в виде программы. Открытие (создание) алгоритма является наиболее сложным шагом в процессе разработки программного обеспечения.
Процесс решения задач имеет творческую природу. Нестрогие этапы решения задач (Г.Пойа, 1945): 1) понять задачу, 2) разработать план решения задачи, 3) выполнить план, 4) оценить точность решения и его возможности как инструмента для решения других задач.
Чтобы сделать первый шаг в решении задачи, можно идти от обратного (например, развернуть сложенную фигуру оригами). Можно найти связанную задачу, которую легче решить или решение которой уже найдено, а затем попытаться применить это решение к текущей.
Еще один способ решения задачи – применить пошаговую детализацию, когда задача разбивается на несколько подзадач. Этот метод согласуется с такими понятиями, как движение от общего к частному, модульная структура, коллективное программирование.
Представление алгоритма.
Для представления алгоритма требуется язык представления: естественный, картинок, блок-схем. Представление может быть более и менее подробным в зависимости от того, кому оно предназначено. Неоднозначность обычно заключается в представлении алгоритма, а не в нем самом.
При естественном представлении алгоритм можно понять неправильно, потому что используемые термины могут иметь несколько значений. Неправильное понимание также может возникнуть из-за недостаточной степени детализации алгоритма. Блок-схемы полезны, когда целью является графическое изображение алгоритма. В вычислительной технике с помощью строго определенного набора стандартных блоков может быть построено представление алгоритма. Такие стандартные блоки называют примитивами. Также используется представление алгоритма в виде псевдокода, в соответствии с которым алгоритмы записываются с помощью строго определенных текстовых структур.
Например, элементы псевдокода:
1) присваивание значения ав+2
2)условие if (условие) then (действие1) else (действие2)
3)исполнение действий, пока условие истинно while (условие) do (действие)
Программа является одним из видов представления алгоритма. Специалисты в области вычислительной техники используют термин «программа» по отношению к формальному представлению алгоритма, разработанному для прикладной вычислительной системы (для ЭВМ).
Ранее говорилось о процессе, как о действии по выполнению программы. Но выполнить программу, означает выполнить алгоритм, представленный этой программой. Поэтому процесс также можно определить как действия по выполнению алгоритма. Таким образом, программы, алгоритмы и процессы являются разными, хотя и взаимосвязанными сущностями. Программа является представлением алгоритма, а процесс является выполнением алгоритма.
Билет 23 Представление алгоритма в виде блок-схем. обозначения
Для представления алгоритма требуется язык представления: естественный, картинок, блок-схем. Представление может быть более и менее подробным в зависимости от того, кому оно предназначено. Неоднозначность обычно заключается в представлении алгоритма, а не в нем самом.
При естественном представлении алгоритм можно понять неправильно, потому что используемые термины могут иметь несколько значений. Неправильное понимание также может возникнуть из-за недостаточной степени детализации алгоритма. Блок-схемы полезны, когда целью является графическое изображение алгоритма. В вычислительной технике с помощью строго определенного набора стандартных блоков может быть построено представление алгоритма. Такие стандартные блоки называют примитивами. Также используется представление алгоритма в виде псевдокода, в соответствии с которым алгоритмы записываются с помощью строго определенных текстовых структур.
Например, элементы псевдокода:
1) присваивание значения ав+2
2)условие if (условие) then (действие1) else (действие2)
3)исполнение действий, пока условие истинно while (условие) do (действие)
Программа является одним из видов представления алгоритма. Специалисты в области вычислительной техники используют термин «программа» по отношению к формальному представлению алгоритма, разработанному для прикладной вычислительной системы (для ЭВМ).
Ранее говорилось о процессе, как о действии по выполнению программы. Но выполнить программу, означает выполнить алгоритм, представленный этой программой. Поэтому процесс также можно определить как действия по выполнению алгоритма. Таким образом, программы, алгоритмы и процессы являются разными, хотя и взаимосвязанными сущностями. Программа является представлением алгоритма, а процесс является выполнением алгоритма.
Блок-схемы алгоритмов.
В блок-схемах для представления отдельных шагов алгоритма используются различные геометрические фигуры, которые для отображения порядка шагов соединяются линиями (или линиями со стрелками). Внутри блоков помещается информация о выполняемом действии.
№ п/п |
Название |
Обозначение |
Пояснение |
1 |
Процесс |
|
Вычислительное действие или их последовательность. |
2 |
Решение |
|
Проверка условия (блок сравнения)
|
3 |
Модификация (подготовка) |
|
Начало цикла |
4 |
Документ |
|
Печать результатов |
5 |
Ввод-вывод |
|
Ввод данных с клавиатуры, вывод на экран дисплея |
6 |
Пуск, останов |
|
Начало, конец
|
7 |
Соединитель |
|
Разрыв линии потока
|
8 |
Комментарий |
|
Пояснения, комментарий
|
9 |
Попрограмма (типовой процесс) |
|
Обращение к подпрограмме (процедуре) |
Билет 24 Типовые структуры алгоритмов. Последовательная и разветвлённая.
Типовые структуры алгоритмов.
Различают три типовые структуры: линейную; разветвленную; циклическую.
В линейной структуре символы алгоритма изображены на схеме в той последовательности, в которой должны быть выполнены предписываемые ими действия.
Пример: Вычислить высоты треугольника со сторонами А, В, С по формулам:
;
;
,
где:
- полупериметр треугольника.
Введем
дополнительную переменную
.
Разветвленная структура используется в том случае, когда в зависимости от значений промежуточного результата необходимо организовать вычисление по одним или другим формулам, то есть в зависимости от выполнения некоторого логического условия вычисление должно идти по одной или другой ветви программы.
Пример:
Вычислить значения функции
,
где: x
и n
- заданные параметры.
На первый взгляд можно составить линейную структуру. Но при равенстве знаменателя нулю функция не определена. Необходимо предусмотреть этот случай и в качестве результата в этом случае выдать информацию о том, что знаменатель функции равен нулю. Таким образом, в блок - схеме должно быть две ветви: 1 ветвь - знаменатель не равен нулю и можно вычислить и напечатать значение функции; 2 ветвь - знаменатель равен нулю и нужно выдать информацию о невозможности вычислить значение функции.
Билет 25. Типовые структуры алгоритмов. Циклическая (3 цикла)
Циклическая структура – используется, если при решении задачи необходимо многократно производить вычисления по одним и тем же формулам с различными исходными данными, т.е. предусмотрено неоднократное выполнение одной и той же последовательности действий (тела цикла). Число повторений в циклических процессах или известно заранее или зависит от какого-либо условия.
При организации циклов необходимо:
задать начальное значение параметра цикла - переменной, которая будет изменяться при каждом повторении цикла;
изменять значение параметра цикла при каждом повторении цикла на шаг изменения;
3) проверить условие окончания этих повторений по значению параметра цикла и перейти в начало цикла, если повторения ещё не закончены.
Пример:
Вычислить
при изменении
от 0 до 3 с шагом 0,1.
Решение задачи с изменением параметра математическим способом и использованием блоков сравнения представлено на рис. 2, 3. Цикл с предуcловием (while) (рис. 3) – проверка условия завершения осуществляется до выполнения тела цикла. Цикл с постусловием (repeat) (рис. 2) до проверки условия завершения выполняется тело цикла.
Решение задачи, если в программе используется блок организации цикла показано на рис. 1.
Рис 1. Рис. 2 . (цикл repeat) Рис. 3 (цикл while)
Чаще всего блок - схемы решаемых задач состоят из отдельных частей, которые, в свою очередь, относятся к одному или другому типу блок-схем, в общем случае блок-схемы решаемых задач могут включать в себя все рассмотренные типы блок-схем.
Билет 26 Типовые алгоритмы и их эффективность. Алгоритмы сортировки и поиска.
Типовые алгоритмы.
Алгоритмы сортировки. Для решения многих задач необходимо упорядочить исходные данные по определенному признаку. Алгоритмы сортировки отличаются друг от друга степенью эффективности, под которой понимается количество сравнений, произведенных в процессе выполнения алгоритма.
Сортировки методом простого выбора. Находят максимальный элемент в массиве из N элементов и меняют его местами с последним элементом (сортировка по возрастанию). Далее рассматривают массив без последнего элемента, т.е. массив из N-1 элементов. Общее количество сравнений пропорционально N2.
Сортировка методом поплавка. Рассматривается весь массив, и максимальный элемент постепенно перемещается на последнее место. Затем рассматривают массив из N-1 элементов. Общее количество сравнений пропорционально N2.
Сортировка методом вставок. На i-м шаге считается, что первая часть массива, содержащая i-1 элемент, уже упорядочена. Далее берется i-й элемент, и для него подбирается j-е место в отсортированной части массива, такое, что упорядоченность не нарушается. I-й элемент помещается на это место, таким образом, что отсортированная часть массива увеличивается на один элемент. Общее количество сравнений пропорционально N2.
Алгоритм последовательного поиска (последовательно рассматривает элементы списка в том порядке, в котором они расположены в списке). Стоит задача найти в списке заданное значение. Если список упорядочен, то поиск продолжают до тех пор, пока в списке есть имена и искомое имя больше, чем рассматриваемое на данном шаге имя списка. Если список неупорядочен, просматривают весь список. Общее количество сравнений пропорционально N. Алгоритм эффективен, когда имеют дело с короткими списками.
Алгоритм двоичного поиска.
Если массив упорядочен, то тогда можно использовать алгоритм бинарного (двоичного) поиска. По результату сравнения искомого значения со средним элементом массива из рассмотрения исключают первую или вторую половину списка, в зависимости от того больше или меньше «средний» (находящийся в середине списка) элемент искомого элемента. Для поиска в оставшейся части списка его тоже разбивают на две части и процедура повторяется. Таким образом, метод состоит в последовательном разделении рассматриваемого списка на сегменты до тех пор, пока не будет найден искомый элемент или поле поиска не сузится до пустого сегмента. Общее количество сравнений пропорционально log2N.
Алгоритм двоичного поиска реализуется с помощью рекурсивных структур. Цикл означает повторное выполнение набора команд, при этом весь набор команд полностью выполняется, а затем повторяется. Рекурсия же предполагает повторное выполнение набора команд, как подзадачу самой себя. (Для половины списка применяется та же процедура, что и для целого: список делится пополам и одна из частей отбрасывается).
Билет 27 Эффективность и правильность алгоритмов.
Хотя современные машины способны выполнять миллионы команд в секунду, эффективность остается главной проблемой при построении алгоритмов. Один из разделов вычислительной техники называется анализ алгоритмов и занимается изучением ресурсов, таких как время, объем памяти, требующихся для выполнения алгоритмов. Такие исследования применяются при оценке относительных преимуществ использования того или иного алгоритма.
Рассмотрим задачу, стоящую перед секретарем университета, которому нужно просмотреть и обновить данные некоторого студента. Хотя в университете обучаются примерно 10 000 студентов, файл студентов содержит информацию более чем о 30 000 человек, которые считаются студентами по той причине, что они записались по крайней мере на один курс за последние несколько лет, но не закончили обучение. Предположим, что эти данные хранятся в компьютере секретаря в виде списка, упорядоченного по идентификационному номеру студента. Для того чтобы найти информацию о каком-либо студенте, секретарь должен отыскать в этом списке некоторый идентификационный номер.
При заданном идентификационном номере алгоритм последовательного поиска сравнивает этот номер с элементами списка с самого начала списка. Не зная ничего о происхождении искомого значения, мы не может сделать вывод, как далеко от начала списка оно находится. Однако можно сказать, что средняя глубина поиска составляет половину списка: некоторые номера находятся ближе к началу, другие ближе к концу списка. Мы заключаем, что за некоторый промежуток времени алгоритм последовательного поиска изучит примерно 15 000 записей. Если для извлечения идентификационного номера каждой записи требуется 10мс, то поиск одного номера займет в среднем 150с или 2,5мин. Для секретаря это означает достаточно долгое ожидание, пока информация появится на экране.
Алгоритм двоичного поиска начинает работу со сравнения искомого значения с элементом, находящими в середине списка. Если они не совпадают, то при дальнейшем поиске можно ограничиться только половиной списка. Следовательно, после рассмотрения среднего элемента списка, состоящего из 30 000 элементов, алгоритм должен обработать рассмотреть список из 15 000 записей. После второго запроса остается список из 7500 записей, а после третьего извлечения номера рассматриваемый список сократится до 3750 элементов. Таким образом, искомая запись будет найдена (или не найдена) после извлечения не более 15 элементов списка. Следовательно, если извлечение номера выполняется за 10мс, то процесс поиска отдельной записи займет только 0,15с. То есть доступ к отдельной записи секретарю покажется мгновенным. Из этого можно сделать вывод, что выбор между алгоритмами последовательного и двоичного поиска является существенным для решения данной прикладной задачи.
Билет 28 История языков программирования.123 поколения
В основе ранних ПК лежат принцип хранимой программы, и в процессе программирования программист записывал все алгоритмы на машинном языке (языки программирования первого поколения).
Первым шагом в устранении этих сложностей был отказ от использования чисел для представления кода операций и операнда, используемых в машинном языке. С этой целью кодам операций стали назначать мнемонические имена. Например, вместо кода загрузки программист мог написать LD (от LOAD). Для операндов были созданы правила, по которым можно были присваивать описательные имена (идентификаторы) ячейкам памяти и использовать их вместо адресов памяти в командах. Но затем программу все равно переводили на машинный язык вручную.
Потом были созданы программы, транслирующие программу, записанную в мнемонической форме, в машинный код. Такие программы называются ассемблерами (язык программирования второго поколения).
Хотя языки второго поколения и имели большое преимущество перед машинными языками, им все же не удалось стать окончательной средой программирования. Примитивы, которые использовались в языках ассемблера, в сущности, ничем не отличались от примитивов, применяемых в соответствующих машинных языках. Различие заключалось только в синтаксических структурах, использовавшихся для их представления. Поэтому программа, написанная на языке ассемблера, является машинно-зависимой, то есть команды программы выполняются в соответствии с характеристиками отдельной машины. Программу, написания на языке ассемблера, нельзя перенести на машину с другой архитектурой. Для этого ее нужно переписать, чтобы она соответствовала конфигурации регистров и набору команд новой машины.
Другой недостаток языков ассемблера заключается в том, что хотя программисту и не приходится записывать команды в виде последовательности битов, он все-таки вынужден мыслить в небольших шагах машинного языка.
Поэтому специалисты в области вычислительной техники начали разрабатывать языки программирования, более подходящие для создания программного обеспечения, чем языки ассемблера. В результате возникли языки программирования третьего поколения, которые отличались от своих предшественников тем, что в них использовались машинно-независимые примитивы высокого уровня. Известным примерами таких языков являются FORTRAN, разработанный для создания научных и инженерных прикладных программ, и COBOL, созданный военно-морским ведомством США для прикладных программ в бизнесе. Главным при разработке языков третьего поколения было создание набора примитивов высокого уровня, с помощью которых можно создавать программное обеспечение. Каждый из примитивов был построен так, что его можно выполнить как последовательность примитивов низкого уровня, входящих в машинный язык.
Билет 29 Преобразование программы в набор машинных команд
Преобразования программы в набор машинных команд.
Процесс преобразования программы с одного языка на другой называется трансляцией. Программа в первоначальной форме называется исходной программой, преобразованная программа называется объектной. Процесс трансляции включает в себя три стадии: лексический анализ (лексический анализатор), синтаксический анализ (синтаксический анализатор) и генерацию объектного кода (генератор объектного кода). В процессе лексического анализа распознаются цепочки символов, которые представляют собой отдельные элементы, и классифицируются согласно тому, являются ли они числовыми значениями, арифметическими операторами, словами и т.д. (например, число 347, слово for). По мере классификации элементов лексический анализатор порождает цепочки битов – лексемы, и передает их синтаксическому анализатору. Синтаксический анализатор рассматривает программу как совокупность лексем и его задача состоит в том, чтобы сгруппировать эти элементы в отдельные высказывания. В большинстве языком программирования для обозначения конца высказывания используются знаки пунктуации, а для обозначения отдельных конструкций – ключевые (зарезервированные) слова. Последняя стадия трансляции программы – это генерация кода, т.е. создание команд машинного языка, выполняющих выражения, распознанные синтаксическим анализатором. Процессы лексического и синтаксического анализа и генерации кода в ЭВМ протекают одновременно.
Объектная программа, полученная после трансляции исходной программы, часто является только кусочком целой программы. Соединение объектных программ выполняется компоновщиком. Компоновщик связывает объектные программы, полученные в результате трансляции, процедуры операционной системы и другое обслуживающее программное обеспечение. И создает исполняемую программу (загрузочный модуль), которая сохраняется на запоминающем устройстве ЭВМ. Для выполнения оттранслированной программы загрузочный модуль помещается в память программой, которая называется загрузчиком и часто является частью планировщика операционной системы.
Таким образом, подготовка программы на языке высокого уровня к выполнению состоит из трех этапов: трансляции, компоновки и загрузки. После завершения трансляции и компоновки программу можно загрузить и выполнять, не возвращаясь к ее исходной версии. Если программу необходимо изменить, то все изменения производятся в исходной программе, которая затем снова транслируется и создается новый загрузочный модуль, содержащий внесенные изменения.
Существует тенденция группировать транслятор и другие программы, использующиеся в процессе разработки программного обеспечения, в пакеты, которые функционируют как одна система (программа). Такую систему можно отнести к прикладному программному обеспечению. Используя такой пакет программ, программист получает доступ к редактору для написания программ, транслятору для перевода программы на машинный язык и большому количеству инструментов отладки. Редактор обычно структурирует текст программы согласно правилам используемого языка, иногда распознает и дописывает зарезервированные слова.
Билет 30 Парадигмы программирования.
В основе разделения языков программирования на поколения лежит линейная шкала. Позиция языка на этой шкале определяется тем, насколько пользователь свободен от ненужной информации и в какой степени данный язык позволяет программисту мыслить в понятиях, связанных с решаемой задачей. В действительности развитие языков программирования происходит не только в этом направлении, существуют и другие подходы к процессу программирования - парадигмы программирования. Поэтому историческое развитие языков программирования лучше изображать с помощью диаграммы (рис. 6). На этой диаграмме показано, что разные направления развития языков являются результатом разных парадигм (подходов), развивающихся независимо друг от друга. В частности, на рисунке изображены четыре направления, представляющие функциональную, объектно-ориентированную, императивную и декларативную парадигмы. Языки, относящиеся к каждой парадигме, расположены на временной шкале, показанной внизу (но из этого не следует, что один язык развивался из другого).
Рис. 6. Эволюция парадигм программирования.
Императивная, или процедурная парадигма, представляет собой традиционный подход к процессу программирования. К этой парадигме относится вышерассмотренный псевдокод, а также машинный язык. Императивная парадигма определяет процесс программирования как построение последовательности команд, которые манипулируют входными данными для порождения необходимого результата. Согласно этой парадигме сначала следует найти алгоритм решения задачи, а затем представить его в виде последовательности команд.
Декларативная парадигма позволяет программисту описывать задачу. Суть заключается в том, чтобы найти и выполнить алгоритм, решающий общую задачу. Как только этот общий алгоритм найден, задачи можно решать, просто формулируя их условия так, чтобы они были совместимы с этим алгоритмом. В такой среде программист должен точно сформулировать задачу, а не найти алгоритма решения.
Функциональная парадигма рассматривает процесс разработки программы как соединение «черных ящиков», каждый из которых получает входные данные и порождает выходные данные так, чтобы создать необходимую зависимость между ними. Математики называют эти «ящики» функциями, именно поэтому подход и называется функциональным. Примитивы функционального языка программирования являются элементарными функциями, из которых можно построить более сложные функции, необходимые для решения некоторой задачи. Таким образом, программист, придерживающийся функциональной парадигмы, создает программное обеспечение, объединяя элементарные функции в систему, которая порождает необходимый результат. Проще говоря, процесс программирования сводится к построению сложных функций из более простых.
Например, а Автолиспе
(MAX_число1_число2_ ... числоN) - максимальное из чисел
(+_число1_число2_ ... числоN) – сложение
(SETQ_символ1_S-exp1_ .... символN_S-expN) - связывает имя со значением выражения.
Пример записи команды: 1. Вычислить значение выражения (2*7-5)/2.
(EVAL_(/_(-_(*_ 2_7)_5)_2))
2. Увеличивать переменную f на три, до тех пор пока f меньше 10.
(SETQ_f_1)
(WHILE_(<_f_10)_(SETQ_f_(+_f_3)))
Функциональная парадигма представляет среду, в которой существует иерархия абстракций, и это позволяет создавать новое программное обеспечение из больших заранее заданных компонентов.
Объектно-ориентированная парадигма и соответствующее ей объектно-ориентированное программирование (ООП) представляют собой еще один подход к процессу разработки программного обеспечения. Данные при этом подходе рассматриваются как активные «объекты», а не как пассивные единицы, представленные в обычной императивной парадигме. Например, рассмотрим список имен. В императивной парадигме этот список рассматривается просто как набор данных. Любая программа, пытающаяся получить доступ к списку, должна содержать алгоритм, выполняющий необходимые действия (чтение списка и т.п.). Таким образом, список является обслуживается управляющей программой. При объектно-ориентированном подходе список рассматривается как объект, состоящий из самого списка и программ для манипуляции им. Это могут быть программы для помещения в список нового элемента, удаления элемента из списка, проверки наличия элемента в списке и сортировки списка. В свою очередь, программе, пытающейся получить доступ к списку, совсем не обязательно содержать алгоритмы для выполнения этих задач. Вместо этого она использует процедуры объекта. Можно сказать, что программа просит список отсортировать себя, а не сама сортирует его, как в императивной парадигме.
Преимущества объектно-ориентированного программирования заключаются в модульной структуре программы, которая является естественным следствием объектно-ориентированной философии. Каждый объект представляет собой отдельную, строго определенную единицу. После задания свойств объекта его можно использовать каждый раз, когда требуется такой объект. Следует отметить, что процедуры объекта, описывающие как объект должен отвечать на различные сообщения, в сущности, представляют собой небольшие императивные программные единицы.
Билет 31 Основные понятия традиционного программирования.
Операторы императивных и объектно-ориентированных языков программирования можно разделить на три группы: операторы описания, исполняемые операторы и комментарии. Операторы описания определяют терминологию, которая будет использоваться в программе, например, задают имена переменных и т.п. Исполняемые операторы описывают шаги алгоритма, лежащего в основе программы. Комментарии упрощают чтение текста программы, желательно помещать комментарии перед каждым блоком программы..
Программа, написанная на императивном языке, обычно начинается с описания данных, которые будут использоваться в программе. За операторами описания следуют исполняемые операторы, описывающие алгоритм, который будет выполняться. Комментарии помещаются в любое место программы для объяснения выполняемых ею действий.
Языки программирования высокого уровня позволяют обращаться к ячейкам памяти через описательные имена, а не через числовые имена. Такие имена называются именами переменных. При изменении значения, хранящегося в ячейке памяти, изменяется и значение, присвоенное переменной. Во многих языках программирования все переменные, которые будут использоваться в программе, должны быть предварительно определены с помощью операторов описания. В операторах описания указывается и тип данных, которые будут храниться в ячейках, связанных с переменными.
Билет 32 Среда Pascal.
Система Pascal ABC предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов младших курсов.
По мнению авторов первоначальное обучение программированию должно проходить в достаточно простых и дружественных средах, в то же время эти среды должны быть близки к стандартным по возможностям языка программирования и иметь достаточно богатые и современные библиотеки стандартных подпрограмм.
Язык Паскаль признан многими российскими преподавателями как один из лучших именно для начального обучения. Однако, среда Borland Pascal, ориентированная на MS DOS, устарела, а среда Borland Delphi с ее богатыми возможностями сложна для начинающего программиста. Так, попытка начинать обучение с написания событийной программы в Borland Delphi вызывает у обучаемого массу сложностей и приводит к ряду неправильно сформированных навыков.
Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Некоторые языковые конструкции в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения. Например, в модулях может отсутствовать разделение на секцию интерфейса и секцию реализации. В этом случае модули устроены практически так же, как и основная программа, что позволяет приступить к их изучению параллельно с темой "Процедуры и функции". Тела методов можно определять непосредственно внутри классов (в стиле Java и C#), что позволяет создавать классы практически сразу после изучения записей, процедур и функций.
Ряд модулей системы программирования Pascal ABC специально создавался для учебных целей:
Модуль растровой графики GraphABC обходится без объектов, хотя его возможности практически совпадают с графическими возможностями Borland Delphi. Он доступен в несобытийных программах и позволяет легко создавать анимацию без мерцания.
Модуль Events позволяет создавать простейшие событийные программы без использования объектов (события представляют собой обычные процедурные переменные).
Модули Timers и Sounds позволяют создавать таймеры и звуки, которые также реализованы в процедурном стиле. Эти модули можно использовать даже в консольных программах.
Модуль контейнерных классов Containers позволяет работать с основными структурами данных (динамические массивы, стеки, очереди, множества), реализованными в виде классов.
Модуль векторной графики ABCObjects предназначен для быстрого изучения основ объектно-ориентированного программирования, а также позволяет создавать достаточно сложные игровые и обучающие программы.
Модуль визуальных компонентов VCL позволяет создавать событийные приложения с главной формой в стиле Delphi. Классы VCL немного упрощены по сравнению с аналогичными классами Delphi. Имеется редактор форм и инспектор объектов. Технология восстановления формы по коду программы позволяет обойтись для приложения с главной формой одним файлом (!).
В языке Pascal ABC имеются арифметические операции с типизированными указателями (в стиле языка C), а также тип complex, предназначенный для работы с комплексными числами.
Компилятор Pascal ABC является компилятором переднего плана (front-end). Это означает, что он не генерирует исполняемый код в виде .exe-файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы примерно в 20 раз медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal, и в 50 раз медленнее этой программы, откомпилированной в среде Borland Delphi.
В системе Pascal ABC ученик может выполнять так называемые проверяемые задания, обеспечивающие постановку задачи со случайными исходными данными, контроль операций ввода-вывода, проверку правильности решения, а также ведение протокола решения задач.
Проверяемые задания реализованы в виде электронного задачника по программированию Programming Taskbook, содержащего 1000 задач по программированию разного уровня сложности (от простейших задач до задач на файлы, указатели и рекурсию) а также в виде исполнителей Робот и Чертежник, предназначенных для быстрого обучения основам программирования школьников младших и средних классов.
В свободно распространяемую версию Pascal ABC & Programming Taskbook Mini Edition входит мини-версия электронного задачника (200 задач) и урезанный комплект задач для исполнителей Робот и Чертежник. Версия Pascal ABC & Programming Taskbook Complete Edition содержит полный комплект задач.
Билет 33 Структура программы
Структура программы на Паскале.
Программа на языке Паскаль состоит из строк, максимальная длина которой может быть равна 127 символам. Строка может начинаться с любой колонки. Количество операторов в строке произвольно. Синтаксически программа состоит из необязательного заголовка и блока, который может содержать в себе другие блоки. Блок, который не входит ни в какой другой блок, называется глобальным. Глобальный блок – это основная программа, локальные блоки – это процедуры и функции.
Программа на Паскале в общем случае состоит из следующих разделов:
заголовок программы.
PROGRAM_ имя программы;
программный блок.
список имен подключаемых библиотечных модулей – экрана (CRT), принтера (PRINTER), графики (GRAPH).
USES_имя1[,имя2, …];
раздел описания меток – имена меток перечисляются через запятую после зарезервированного слова. В программе после метки ставится двоеточие. Метка позволяет выполнить переход на оператор, следующий за ней, из любого места программы с помощью оператора перехода GOTO.
LABEL_имя1[,имя2,…];
раздел описания констант. Выражения присваивания значений константам отделяются друг от друга точкой с запятой.
CONST_идентификатор1=значение1[; идентификатор2= значение2,…];
раздел описания типов данных. За служебным словом TYPE следуют одно или несколько определений типов, разделенных точкой с запятой. Тип данных может быть описан и непосредственно в разделе описания переменных.
TYPE_имя типа=значение типа;
раздел описания переменных. Имена переменных перечисляются через запятую и далее, через двоеточие, следует их тип и точка с запятой, после которой аналогично описываются другие переменные.
VAR_идентификатор1, идентификатор2,…:тип переменных;
раздел описания подпрограмм (процедур) и функций. В этом разделе размещаются тела подпрограмм, роль которых в Паскале выполняют процедуры и функции.
PROCEDURE_имя(формальные параметры:тип);
BEGIN
