МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ
(образован в 1953 году)
________________________________________________________________________________
Кафедра Информационных технологий
Дистанционное
обучение
ИНФОРМАТИКА
Учебно-практическое пособие
Для студентов всех специальностей
Www.msta.ru
Рекомендовано Министерством образования РФ
в качестве учебного пособия для студентов ВУЗов
Москва – 2004
УДК 681.3
© Попов А.А., Якушина Н.А., Роман О.В. Информатика.
Учебно-практическое пособие. – М., МГУТУ, 2004.
Пособие предназначено для студентов всех специальностей[П1] .
Информ – 6.22.0135, Информ – 6.22.0211, Информ – 6.22.0702,
Информ – 6.22.0604, Информ – 6.22.0605, Информ – 6.22.0608,
Информ – 6.22.0611, Информ – 6.22.1706, Информ – 6.22.2102,
Информ – 6.22.2202, Информ – 6.22.2701, Информ – 6.22.2703,
Информ – 6.22.2705, Информ – 6.22.2707, Информ – 6.22.2708,
Информ – 6.22.2710, Информ – 6.22.2712, Информ – 6.22.2713,
Информ – 6.22.3117, Информ – 6.22.3510, Информ – 6.22.3513,
Информ – 6.22.3511, Информ – 6.22.0204, Информ – 6.22.0611
Авторы: Попов Александр Алексеевич,
Якушина Нина Анатольевна,
Роман Ольга Владимировна.
Рецензенты: проф. МГУПБТ, д.т.н. Сапфиров С.Г.,
проф. МГУПБТ, д.т.н., начальник управления
информационных технологий Бородин А.В.
Редактор: Свешникова Н.И.
© Московский государственный технологический университет технологий и управления, 2004г. 109004, Москва, Земляной вал, 73.
Целью дисциплины “Информатика” является обучение методике постановки и решения задач на ЭВМ. Это необходимо как для подготовки студента к работе в условиях современного производства, насыщенного вычислительной техникой, так и для использования ЭВМ в учебном процессе в течение всего периода обучения и дипломного проектирования. Студент должен освоить полный цикл работы с компьютером, т.е. осуществить постановку задачи, составить алгоритм ее решения и программу для ЭВМ, выполнить отладку программы и уметь правильно интерпретировать результаты счета.
КЛАСС ПЕРСОНАЛЬНЫХ
КОМПЬЮТЕРОВ
Простейшие вычислительные приспособления (абак, счеты) были известны с давних времен. Первое вычислительное устройство, которое могло выполнять все четыре арифметические действия, было построено великим немецким математиком Лейбницем в 1674г. Им же была введена двоичная система счисления. По-видимому, следует считать, что первая ЭВМ была создана немецким ученым Конрадом Цузе для анализа результатов артиллерийских стрельб в 1936г. Она была построена на электромагнитных реле. Аналогичные работы велись также в Англии и США. В последствии, в компьютерах стали применять электронные лампы, а затем и транзисторы.
С развитием полупроводниковой технологии в компьютерах стали использовать уже не отдельные транзисторы, а микросхемы – электронные интегральные устройства, где в одном кристалле полупроводникового материала размещались десятки тысяч и даже миллионы транзисторов. Развитие технологии производства микросхем характеризуется числом транзисторов, размещенных в корпусе процессора. Современная электронная промышленность позволяет изготавливать транзисторы внутри микросхемы размером не более 0,1 микрон. Это сделало возможным размещение целиком в одном кристалле процессора компьютера. Благодаря созданию микропроцессоров сформировался новый класс персональных компьютеров (ПК). Эти мощные, дешевые и компактные вычислительные машины выпускаются в огромных количествах (более 100 миллионов в год). Они появились на рабочем столе каждого научного работника, руководителя любого уровня, в торговле, коммерции, образовании и т.п.
Практическим стандартом персональных компьютеров стало устройство, разработанное американской фирмой IBM в 1978 г. – IBM PC. С тех пор было выпущено несколько поколений таких машин. Все эти компьютеры использовали микропроцессоры другой американской фирмы Intel. Такие микропроцессоры до недавнего времени получали числовое имя вида Intel80х86, а именно – Intel8086, Intel80286, Intel80386 и т.д. Однако, начиная с процессора, который должен был получить имя Intel80585, фирма стала давать им название Pentium, что, впрочем, тоже означает “пятый”. С тех пор появились четыре типа таких процессоров. Последний в настоящий момент – Pentium 4. Параллельно с корпорацией Intel микропроцессоры для ПК выпускает фирма AMD. Процессоры АМD по мощности практически не уступают аналогичным Pentium-процессорам, но ниже по цене.
Важнейшей характеристикой процессора и компьютера в целом является разрядность его арифметического устройства – чем шире шина данных, тем быстрее происходит обработка чисел. Современные ПК имеют 32 двоичных разряда, но появились уже и 64-х разрядные машины. Другой скоростной характеристикой является тактовая частота внутреннего генератора процессора. Обычно, именно с этой скоростью выполняются простые арифметические действия. В настоящее время типовое значение частоты – 3 гигаГерца, т.е. процессор выполняет 3 миллиарда операций в секунду.
Главным ресурсом компьютера является объем его основной памяти (ОП), поскольку именно здесь хранятся обрабатываемые данные. Объем как основной, так и внешней памяти измеряется в байтах (килобайтах, мегабайтах). Один байт хранит один символ (букву, цифру). Типовой размер ОП – 256 мегабайт.
В минимальной конфигурации ПК содержит (рис.1.1) системный блок, дисплей и клавиатуру.
СИСТЕМНЫЙ БЛОК (рис. 1.2) осуществляет собственно обработку данных процессором. Текущие данные хранятся в основной (ОП) быстродействующей транзисторной памяти компьютера. Однако емкость этой памяти ограничена и, кроме того, она энергозависима – при отключении питания данные утрачиваются. Ввиду этого в ПК имеется энергонезависимая память.
Магнитная память.Накопитель на жестком магнитном диске (НЖМД), называемый еще “винчестер” имеет очень большую емкость (десятки гигабайт). При отключении питания данные на нем сохраняются. Принцип хранения информации здесь такой же, как и в магнитофонах. Носитель данных в винчестере – это, обычно алюминиевый или стеклянный, диск, покрытый магнитным материалом. После включения компьютера диск постоянно вращается со скоростью 6000 и более оборотов в минуту. Очевидной причиной низкого быстродействия винчестера сравнительно с процессором является необходимость перемещения считывающей головки на нужную дорожку диска, и самого диска для считывания/записи информации. Кроме того, в ПК имеется накопитель на гибких магнитных дисках (НГМД). С их помощью можно записать/считать данные на дискету емкостью 1,44 Мбайт. Скорость доступа к данным здесь весьма низка и, главное, очень мала емкость, что делает их применимыми только для копирования небольших объемов информации.
Оптическая памятьимеет гораздо большую емкость чем дискеты. Здесь существует несколько разновидностей. CD ROM – проигрыватель компакт-дисков. Емкость такого диска – около 650 Мбайт. Недостатком является невозможность записи новых данных – доступно только их считывание. На таких носителях обычно хранятся фактографические данные – справочные материалы, игры, книги, энциклопедии и др. В виду этого были разработаны носители с возможность перезаписи CD RW. В последнее время широкое распространение стали получать оптические накопители большой емкости DVD (5-10Гбайт).
КЛАВИАТУРА.На рис. 1.3 изображена типовая клавиатура ПК с выделением функциональных групп и управляющих клавиш. Обычно на клавиатуре управляющие клавиши серого цвета.
вспомогат. | |||||||||||||||
Esc | функциональные клавиши | клавиши | индикаторы | ||||||||||||
i | клавиши | цифроваяклавиатура | |||||||||||||
Tab | алфавитно-цифровая | A | редакти- | ||||||||||||
CapsLock | Клавиатура | E | nter | рования | |||||||||||
Shift | n | n | Shift | e | |||||||||||
Ctrl | Alt | клавиша пробела | Alt | Ctrl | c | e | e | ||||||||
Рис. | 1.3 |
Управляющие клавиши. Ниже перечислены управляющие клавиши и их обычные действия в очень общих выражениях. Конкретные функции таких клавиш определяются непосредственно внутри действующей программы.
Esc – клавиша отмены предыдущего действия.
F1 — F12 – функциональные клавиши. Их назначение целиком зависит от разработчика программного обеспечения.
Enter– ВВОД. Этой клавишей обычно завершается ввод команды или выбор из меню.
Alt , Ctrl– этиклавишидействуюттолькопринажатиисовместносдругимиклавишамиустановленнымобразом.
Print Screen – выдачаобразаэкрананапринтер(вDOS) илисохранениеобразаэкранавбуфереПК(вWindows).
Pause – прерываниепрограммы.
Клавиши редактирования
Deleteи Del– удаление символа над курсором.
BackSpace – клавиша удаления символа слева от курсора. На клавиатуре она находится во втором ряду над клавишей Enter и может быть еще обозначена символом i .
Insert иIns– переключательрежимавставки/заменысимволов. Врежимезаменывновьвводимыесимволызатираютвведенныеранее. Врежимевставкионивставляютсявредактируемоеслово, отодвигаявсючастьстрокисправаоткурсоранаоднупозицию.
Навигационные клавиши (клавиши перемещения курсора)
Tab– клавиша табуляции для быстрого перемещения в строке вправо.
Home End – переходвначало/конецстроки.
PageUp PageDown– переходкпредыдущей/следующейстранице.
e e c e – перемещение на одну позицию в указанном направлении.
Scroll Lock– управлениеперемещениемизображения, когдаэкран движетсяотносительнокурсора, аненаоборот.
Клавиши управления клавиатурой
Caps Lock– фиксация регистра клавиатуры (ЗАГЛАВНЫЕ/прописные буквы).
Shift – временноепереключениерегистраклавиатуры.
Num Lock– переключениецифровойклавиатурыврежимвводацифриливнавигационныйрежим.
PrintScreen | ScrollLock | PauseBreak | NumLock | / | * | – | |
Рис.1.4. Вспомогательныеклавиши | Home | e | Pg Up | + | |||
Insert | Home | PageUp | c | e | |||
Delete | End | PageDown | End | e | Pg Dn | Enter | |
Рис. 1.5. Клавиширедактирования | Ins | .Del | |||||
Рис 1.6. Цифровая клавиатура |
Навигационные клавиши и клавиши редактирования еще раз включены в состав малой цифровой клавиатуры (рис.1.6) и работают они совершенно идентично. Однако если переключить клавишу Num Lock, цифровая клавиатура перейдет в режим ввода цифр. Этот режим предусмотрен для операторов, осуществляющих массовый числовой ввод вслепую. Можно заметить, что цифровая клавиатура полностью имитирует клавиатуру калькулятора.
Имеющийся индикатор (рис. 1.7) отражает состояние соответствующих клавиш (Num Lock, Caps Lock, Scroll Lock).
nNumLock | nCapsLock | nScrollLock | Рис. 1.7 |
Наряду с клавиатурой, компьютер имеет манипулятор мышь – для быстрого перемещения курсора на экране дисплея.
ВИДЕПОДСИСТЕМАсостоит из дисплея и видеоадаптера системного блока. Дисплей.В настоящее время в ПК используются дисплеи так называемого стандарта SVGA с минимальным разрешением от 800 на 600 точек по горизонтали и вертикали. Обычный размер экрана – 15 или 17 дюймов. Все более популярными становятся плоские жидкокристаллические мониторы, хотя они и дороже. Сейчас все дисплеи выпускаются с защитой оператора от электромагнитного излучения и не требуют специальных экранов, а ЖК-дисплеи не имеют такого излучения практически совсем. Видеоадаптер. Очень важное значение имеет качество видеоадаптера, осуществляющего связь между процессором и монитором. Хорошая видеокарта по сложности и цене может превосходить центральный процессор и незаменима для современных игр и других графических приложений. Она имеет собственный графический процессор и память (типовой объем 128 Мбайт)
ВНЕШНИЕ УСТРОЙСТВА ПК
ПРИНТЕР.Как правило, компьютер имеет принтер для вывода данных на бумагу. Различают следующие типы принтеров.
Матричные. Печать осуществляются ударами металлических иголок по бумаге через красящую ленту, аналогичную ленте для пишущих машинок. Такие принтеры дешевы, однако, они и самые медленные, очень шумные, с невысоким качеством печати. Скорость и качество их работы определяются числом стержней (иголок) в печатающей головке (9 или 24). Единственным их достоинством (кроме цены и дешевизны ленты) является возможность печати под копирку.
Струйные. Эти устройства наносят символы на бумагу при помощи специальных чернил, “выстреливаемых” из тонких сопел печатающей головки. Такие принтеры практически бесшумны, имеют хорошую скорость работы и качество печати, сравнимое с типографским. Они сравнительно недороги, однако из-за высокой цены на чернила, дорогими получаются сами оттиски.
Лазерные. Эти принтеры имеют высокую скорость работы и типографское качество печати. Хотя они довольно дороги с учетом стоимости расходных материалов (тонера), стоимость оттиска получается невысокой. Принцип их действия аналогичен используемому в копировальных устройствах (рис. 1.8).
Важнейшим элементом принтера является вращающийся барабан, с помощью которого производится перенос изображения на бумагу. Барабан представляет собой металлический цилиндр, покрытый пленкой фотопроводящего полупроводника (обычно оксида цинка). На поверхности барабана с помощью коронирующей проволоки или сетки создается статический заряд. Луч лазера изменяет заряд на поверхности барабана в точке соприкосновения, формируя копию изображения. На следующем шаге на барабан наносится тонер – мелкий красящий порошок. Под действием заряда его частицы прилипают к поверхности барабана, подвергшейся экспозиции. Бумага, которой также сообщается статический заряд, соприкасаясь с барабаном, притягивает частички тонера. Для фиксации изображения бумага пропускается между цилиндрами с температурой около 180°С.
Важнейшим параметром любого принтера является разрешение печати (максимальное число точек, приходящихся на единицу площади бумаги). Типовое разрешение для струйных и лазерных принтеров – 600 точек на дюйм по вертикали и горизонтали.
Кроме перечисленных основных устройств к компьютеру могут подключаться и другие. Вот некоторые из них.
МЫШЬ – устройство для быстрого перемещения курсора. Мышь имеет две или три кнопки и прорезиненный металлический шарик на нижней поверхности. При перемещении мыши по столу шарик вращается и через оптоэлектронную систему передает сигналы перемещения в компьютер, где они преобразуются в положение курсора на экране. Устройство мыши иллюстрирует рис. 1.9. Шарик при перемещении мыши вращается и поворачивает ось, на которой сидит колесо с прорезями. Спицы колеса пересекают луч света, идущий от источника в приемник света, формируя импульс, указывающий на факт перемещения мыши. Для осуществления фиксации перемещения по двум координатам шарик связан с двумя перпендикулярными осями и колесами (на рисунке показано только одно колесо). В настоящее время мышь является обязательной принадлежностью ПК.
ТРЕКБОЛ – “перевернутая” мышь. Выглядит как шарик на поверхности клавиатуры. Обычно, применяется в переносных компьютерах (ноутбуках) ввиду невозможности, например в дороге, использовать настоящую мышь.
ДЖОЙСТИК – выполняет те же функции, что и мышь, но сделан в форме рукоятки с кнопками. Удобен для игр.
СВЕТОВОЕ ПЕРО – выглядит, как ручка с проводом. На рабочем конце пера находится фотоэлемент. При соприкосновении пера с поверхностью монитора электронное излучение экрана регистрируется фотодатчиком пера и далее по его сигналу определяются координаты точки касания. Световое перо является альтернативой мыши.
ДИДЖИТАЙЗЕР – используется для профессиональных графических работ в системах автоматизированного проектирования. Он позволяет преобразовать передвижение руки оператора в формат векторной графики. Функции диджитайзера похожи на функции мыши, но с его помощью можно определять и обрабатывать абсолютные координаты объектов. Мышь может лишь весьма грубо формировать только относительные координаты. Диджитайзер используется со специальным планшетом, на котором располагается чертеж исследуемого объекта.
ПЛОТТЕР – устройство для вывода чертежей на бумагу. Бывают струйными и лазерными.
МОДЕМ – устройство для поддержания связи с другими компьютерами по телефонной линии. Используя его можно связаться с любым абонентом на другом конце света и передать/получить необходимую информацию, а также подключиться к компьютерной сети Internet и получить доступ к информации практически по любой отрасли знаний и любой проблеме. Имеется разновидность модема, способная принимать факсимильные сообщения – факс-модем.
СКАНЕР – устройство для “перенесения” изображений (снимков, рисунков) с бумаги в память компьютера с целью последующей их обработки. С помощью компьютера можно отредактировать фотографию, например, приделать усы любимой бабушке или создать компромат, соединив изображение политического деятеля и подозрительной девицы. Далее такой образ можно снова напечатать с качеством оригинала.
СТРИММЕР – устройство записи на магнитную ленту. Сама лента находится в кассете, похожей на музыкальную компакт-кассету. Используются стриммеры, в основном, для архивации и резервного копирования данных. Они имеют низкую скорость считывания-записи, но очень высокую емкость.
ЗВУКОВАЯ ПЛАТАиДИНАМИКИ позволяют воспроизводить на компьютере высококачественный звук (музыку, голосовое сопровождение).
Компьютер, имеющий привод CD ROM, хороший монитор, видеоплату и звуковые средства может считаться мультимедийным компьютером. Этот термин означает, что ПК предоставляет возможность пользователю находиться сразу в двух средах отображения информации – зрительной (в том числе трехмерной) и звуковой (стереофонической). Используя эти возможности, современное программное обеспечение может создавать настолько правдоподобное представление окружающей пользователя обстановки, что возникает эффект личного присутствия – так называемый виртуальный мир. Этот фактор активно используется в развлекательных программах, компьютерных играх, системах имитации поведения управляемых объектов. Так ПК способен создать практически полную иллюзию управления самолетом конкретного типа, что очень важно при подготовке летчиков на тренажере.
Заметим, что кроме IBM-совместимых машин существует еще альтернативная линия ПК фирмы Apple – компьютеры Macintosh. Эти машины занимают около 8% мирового рынка и в России встречаются очень редко. Область их применения, в основном, издательские системы.
Для того, чтобы компьютер мог выполнять какие-либо действия необходимы средства управления его устройствами. Эти целям служит специальная “суперпрограмма”, всегда имеющаяся в ПК, – операционная система (ОС ПК). Только в ее присутствии могут работать алгоритмические языки, текстовые процессоры, игры и все остальное. Операционная система – это программно-аппаратный комплекс, используемый для управления и координации работы всех устройств компьютера. Различают два типа ОС – символьные и графические. В символьных ОС для представления информации используется набор из 256 символов, которые могут отображаться в строго фиксированных местах экрана (обычно 80 колонок на 25 строк, т.е. всего 2000 знаков). Отображение данных сугубо текстовое. В графических ОС можно оперировать отдельными точками экрана (пикселями) – можно назначать любые шрифты, использовать графические образы, строить диаграммы и вообще создавать максимально удобную и даже красивую обстановку пользователя. В настоящее время широко используется графическая операционная система Windows корпорации Microsoft.
2.
АЛГОРИТМИЧЕСКИЙ
ЯЗЫК БЕЙСИК
Возможность использования компьютера для решения разнообразных задач предоставляют так называемые алгоритмические языки – языки, “понятные” как компьютеру, так и человеку. Разработаны десятки подобных языков, ориентированных на разные классы задач.
В настоящее время очень популярны такие языки, как Си, Паскаль, Бейсик. Последний продолжительное время считался “школьным” языком, мало удобным для профессиональной работы. Однако твердая поддержка этого инструмента влиятельнейшим мировым производителем программных продуктов – корпорацией Microsoft и, особенно, распространение этого языка на среду Windows (версия Visual Basic) сделали хрестоматийный Бейсик очень популярным и перспективным языком и профессионального уровня.
Именно технике программирования на Бейсике и посвящен следующий раздел. Свое название BASIC получил как сокращение от его полного названия – Beginner’s All-purpose Symbolic Instraction Code (Всецелевой язык программирования для начинающих). Первая реализация языка была создана в 1960г. Известно несколько разновидностей и версий Бейсика для ПК – Basic, GWBasic, ABasic, QBasic и др. Мы будем рассматривать здесь, последнюю для DOS версию – QBasic.
Изучение языка представляет не только самостоятельную ценность. Разновидность Бейсика (Visual Basic for Applications) является встроенным средством разработки пользовательского интерфейса для таких популярных офисных пакетов, как MS Word, MS Excel и др.
Для лучшего усвоения материала, его разделы сопровождаются контрольными заданиями. При индивидуальном изучении читатель самостоятельно выбирает вариант/варианты задач для проработки.
2.1. ЭЛЕМЕНТЫ ЯЗЫКА
В Бейсике разрешено использование следующих основных символов:
1. Буквы латинского и русского языков (буквы кириллицы могут использоваться только в константах).
2. Цифры.
3. Специальные символы:
+ плюс, – минус, *умножение, /деление, ^ возведение в степень;
= равно,больше,меньше (отношение неравенства отображается двумя значками );
точка, запятая, скобки, точка с запятой, двоеточие, знак подчеркивания, кавычки и некоторые другие.
¶Переменные.Каждая переменная характеризуется именем, типом и значением.Все, используемые в программе, переменные снабжаются латинскими именами. Имя должно начинаться с буквы и может включать до сорока букв и цифр. В имени может содержаться также точка и символы определения типа (%, , !, #, $). Программист выбирает имена произвольно, но таким образом, чтобы они указывали на смысл переменной. За каждой переменной компьютер закрепляет одну ячейку памяти.
Примеры имен: Х, y, A24, VES, Netto, MAXIMUM.
Большие и маленькие буквы в именах и операторах воспринимаются Бейсиком одинаково, т.е. буквы I и i обозначают одну и ту же переменную.
В Бейсике имеются числовые и символьные переменные.
Тип переменной определяется ее именем. Если оно заканчивается знаком:
%– то переменная целого типа,
– переменная целого типа длинная,
!– вещественного типа простой точности (действует по умолчанию),
#– вещественного типа удвоенной точности,
$– переменная символьного типа.
Если тип не указан, он считается вещественным простой точности (т.е. тип “!”).
Пример: NAME$, x%, Y, Y!, massa#, Ves
симв. целый простой двойной целый
тип тип точности точности длинный
Если в программе используются переменные, не получившие до этого никакого значения (неопределенные переменные), то по умолчанию числовые переменные получат значение 0, а символьные – значение пустой строки длиной 0. Рассмотрим их подробнее.
Числовые целые (INTEGER). Целые числа в диапазоне от –32768 до 32768. Числа в таком формате занимают в памяти два байта.
Примеры: 65, –1065
Числовые целые длинные (LONG). Это целые числа в диапазоне ±2*109(точнее от –2147483648 до 2147483647). Необходимо четыре байта памяти.
Числовые вещественные обычной точности (SINGL). Число с одинарной точностью требует 4 байта и имеет диапазон ±1038 (конкретно от –3.4E+38 до –1.4E–45 для отрицательных значений и от 1.4Е–45 до 3.4Е+38 для положительных). Такие числа могут иметь целую и дробную части, разделенные десятичной точкой (например, 12.35), либо быть представлены в экспоненциальной форме:
Мантисса E порядок
что соответствует числу вида мантисса*10порядок. Буква Е обозначает, таким образом, число 10, а порядок – его степень. Благодаря экспоненциальному представлению, числа могут отображаться в очень большом диапазоне.
Примеры: 8Е–4 =0.0008 5.3Е6=5300000
Как видно, значение порядка определяет фактическое положение десятичной точки в числе. По этой причине такой формат чисел называется еще форматом с плавающей точкой.
Числовые вещественные двойной точности (DOUBL). Диапазон чисел ±10308(от –1.8E+308 до –4.9E–324 для отрицательных значений и от 4.9Е–324 до 1.8Е+308 для положительных). Повышение точности расчетов требует значительных дополнительных затрат времени и ресурсов памяти компьютера. Число с двойной точностью нуждается в восьми байтах памяти и отображает 16 достоверных знаков. Числу с одинарной точностью нужно только 4 байта (6 достоверных цифр).
Символьные (STRING). Такие переменные предназначены для представления текстов и должны быть заключены в кавычки. Длина символьной константы равна четырем байтам плюс количество байт, равное длине символьного значения. Максимальная длина такой переменной – 32567 знаков.
Примеры: “Таблица”, “256.34”
Указание типа переменных может быть задано не только специальными символами конце имени, но и операторами определения типа.
uDEFINT диапазон букв [,диапазон букв ]
uDEFLNG диапазон букв [,диапазон букв ]
uDEFSNG диапазон букв [,диапазон букв ]
uDEFDBL диапазон букв [,диапазон букв ]
uDEFSTR диапазон букв [,диапазон букв ]
Эти операторы задают типы: целый, длинный целый, обычной точности, двойной точности и символьный для переменных начинающихся на перечисленные буквы.
Пример. DEFINT A-D, X-Z, R
Здесь переменные, имена которых начинаются с букв A,В,С,D,X,Y, Z,R, объявляются целочисленными типа INTEGER. Указывать специальные символы % в конце имен более не нужно.
¶Операции. Программисту в Бейсике доступны следующие операции (таблица 2.1.1). Как видим, приоритет выполнения операций совпадает с общепринятым. Он может быть изменен введением скобок.
Прио-ритет | Обозна-чение | Наименование операции | Пример |
^ | возведение в степень | A^B | |
– | унарный минус (минус единица) | –A | |
* | умножение | A*B | |
/ | деление | A/B | |
\ | целочисленное деление | A\B | |
MOD | нахождение целочисленного остатка от деления(делимое округляется до целого и делится наделитель, целый остаток является результатом) | A MOD BПример:13.7mod4=2 | |
+ | сложение | A+B | |
– | вычитание | A–B | |
Таблица 2.2.1 |
Кроме операций в языке имеется ряд математических функций.
Арифметические функции
uABS(числовое выражение) – абсолютное значение числового выражения. Пример: ABS(–6)=6.
uSGN(числовое выражение) – функция, возвращающая знак числа. Если число положительно, SGN возвращает +1, если равно нулю – ноль, если отрицательно, возвращает –1.
Примеры: SGN(12)=1; SGN(0)=0; SGN(–13.4)=–1.
uCINT(числовое выражение) – округление числа до целого.
Пример: CINT(1.2)=1; CINT(1.9)=CINT(1.5)=2; CINT(–1.2)=–1;CINT(–1.5)=–2.
uINT(числовое выражение) – целая часть числа.
Примеры: INT(1.2)=INT(1.9)=INT(1.5)=1; INT(–1.2)=INT(–1.5)=–2.
uFIX(числовое выражение) – усечение числа до целого.
Примеры: FIX(1.2)=FIX(1.9)= FIX(1.5)=1; FIX(–1.2)=FIX(–1.5)=–1.
Тригонометрические функции
uATN(числовое выражение) – арктангенс числа.
uCOS(числовое выражение) – косинус угла, заданного в радианах.
uSIN(числовое выражение)– синус угла, заданного в радианах.
uTAN(числовое выражение) – тангенс угла, заданного в радианах.
Степенные функции
uEXP(числовое выражение) – основание натурального логарифма в степени заданного аргумента (ex).
uLOG(числовое выражение) – натуральный логарифм числа.
uSQR(числовое выражение) – квадратный корень числа.
Прочие функции
uCDBL(числовое выражение) – преобразует в число двойной точности.
uCSNG(числовое выражение) – преобразует в число простой точности.
uRND( ) – вырабатывает псевдослучайное число обычной точности в диапазоне от 0 до 1.
uTIMER – выдает число секунд с полуночи в соответствии с показаниями системных часов компьютера.
uTIME$ – выдает в символьном виде текущее время в следующем формате времени – ЧЧ:ММ:СС (т.е. две цифры часов, две цифры минут, две цифры секунд).
¶Выражения.Выражения используются для вычисления формул. Участники выражения соединяются знаками операций. Выражения строятся по определенным правилам, учитывающим необходимость записи формул в строку. Вычисления в них реализуются слева-направо в последовательности, определяемой приоритетами операций. Порядок действий может быть изменен скобками.
Следующие два примера иллюстрируют правила построения выражений.
Формулы в обычной записи: Выражения на Бейсике:
XC+2.5*H/(6*K)
F4/B^(–3)+(C*A/SIN(X)–5)*8.4
X A+B |
При записи выражений следует внимательно осуществлять преобразование данных. Так преобразование формулы в выражение X/A+Bявляется неверным, поскольку здесь сначала X делится на A, и только затем к результату деления прибавляется В, т.е. реализуется формула вида . Правильным будет выражение X/(A+B).
2.2. Операторы языка
Оператор является основной единицей программы и выполняет какое-то элементарное действие. Во многих версиях Бейсика операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна. При задании форматов операторов будем символами [ ] будем ограничивать необязательную часть оператора.
¶ОПЕРАТОР ПРИСВАИВАНИЯ. Формат оператора:
uпеременная=выражение
Такая запись означает, что выражение, стоящее справа, вычисляется и его результат присваивается переменной, стоящей слева.
Примеры операторов: Z=2, А=3.5+EXP(8), S=X^4+Y/2.
Присваивание не является равенством в обычном смысле. Справа и слева от знака “=” можно указывать одну и ту же переменную, например: М=М+2, X=X/3. Эти выражения следует понимать как реализацию так называемых рекуррентных соотношений, то есть новое содержимое ячейки М будет равно старому, увеличенному на 2 и новое Х будет равно старому, деленному на 3. По обе стороны равенства могут стоять переменные разных типов. Но если слева от знака равенства – целочисленная переменная, а справа получено вещественное число, то его дробная часть будет отброшена. Например, если А= 2, то после вычислений в операторе М%=А*0.2+0.5 получим не М%=0.9, а М%=0.
Часто возникает необходимость в перестановке значений переменных. Так, если нужно поменять значения Х и Y, следует записать три оператора: A=X, X=Y, Y=A. Здесь понадобилась дополнительная “транзитная” переменная А, в которой временно запоминается значение Х.
Оператор
uSWAP переменная1, переменная2
позволяет выполнить обмен значений сразу.
Например: SWAP X,Y
¶ОПЕРАТОРЫ МАССОВОГО ПРИСВАИВАНИЯ
Следующая пара операторов позволяет в компактной форме осуществить множественные присваивания переменным
uDATA список констант
uREAD список переменных
Здесь оператор DATA содержит перечень значений, а READ – имена переменных, которые последовательно получат эти значения. Например, операторы
DATA 125.6, –12, Петров
READ x, y%, name$
эквивалентны следующим: x=125.6, y%=–12, name$=“Петров”.
Использование этих операторов экономит время разработчика и сокращает размер программы.
Наше общение с компьютером имеет характер переписки. Мы пишем, он читает. Он пишет, читаем мы. Эти действия реализуются следующими специальными операторами ввода-вывода.
¶ОПЕРАТОР ВЫВОДА.Для просмотра и анализа результатов вычислений необходимо вывести их на внешний носитель – бумагу или экран дисплея. Для этой цели используется следующий оператор.
uPRINT [список,_выводимых_переменных]
или? [список,_ выводимых_переменных]
Здесь вопросительный знак может заменять слово PRINT, что экономит время ввода программы. Например, оператор:
PRINT a, mчитается так –“Печатать переменные А, М”.
Оператор PRINT может вообще использоваться без аргументов. Тогда при выводе будет формироваться только пустая строка.
В оператор могут включаться не только переменные, но константы и целые выражения. Например если Х=12, а Y=100, то применение оператора
? “СУММА=” x+y
даст следующий результат: СУММА=112
При выводе данных имеет значение, какой разделительный знак использован для перечислении переменных. Если используется точка с запятой или пробел, следующая переменная будет выведена непосредственно за предыдущей. Если запятая – следующая переменная будет выведена с начала следующей зоны вывода. Бейсик разделяет каждую строку вывода на зоны по 15 символов. Это означает, что первое выводимое значение займет колонки с 1 по 15, второе – с 16 по 30, третье с 31 по 45 и т.д.
Если необходимо управлять положением и разрядностью выводимых данных, следует использовать оператор
uPRINT USING шаблон; список,_выводимых_переменных
Здесь шаблон содержит символы, определяющие эти параметры. Символ “#” в шаблоне указывает на то, что в этой позиции будет выведена цифра. Символ “.” определяет место десятичной точки. Например, положим, что Х=2539.23745. Оператор
PRINT USING “######.##”; x
выведет число 2539.24, которому предшествуют два пробела поскольку под целую часть числа отводиться 6 позиций. Дробная часть округляется до двух разрядов.
Перечисленные операторы предназначены для вывода данных на экран. При необходимости вывода на принтер используются следующие их модификации
uLPRINT список, выводимых переменных
uLPRINT USING шаблон; список,_выводимых_переменных
Управлять местоположением выводимых данных можно с помощью следующих функций
uTAB(столбец)
uSPC(число_пробелов)
Здесь: столбец – номер столбца, начиная с которого осуществляется вывод переменной, число пробелов – количество пробелов, пропускаемых в текущей строке от вывода предыдущей переменной.
Пример: PRINT TAB(10); x; TAB(30); y; SPC(8); z$
Эти функции могут применяться также и с операторами PRINT, LPRINT.
Для позиционирования экранного вывода в соответствующую строку и столбец экрана можно использовать оператор
uLOCATE номер_строки, номер_столбца
Пример: LOCATE 8,25
PRINT x
здесь переменная Х будет выведена в позицию 8, 25 независимо от позиции предыдущего вывода.
¶ОПЕРАТОР ВВОДА. Исходные данные, обрабатываемые программой, можно задавать оператором присваивания. Пусть нужно вычислить площадь круга S=2ПR2. Если задать непосредственно в программе значение радиуса окружности, например оператором R=5, то программа будет вычислять площадь только такой окружности. Если нужно вычислить значение S с иным радиусом, придется изменить оператор непосредственно в программе. Это очень неудобно, поскольку пользователь программы обычно не имеет квалификации, а часто и возможности изменять что-нибудь в программе. Необходимо сделать так, чтобы результаты вычислений зависели не от текста программы, а только от данных. Для этого имеется оператор чтения данных вида:
uINPUT [приглашение ;/,] список_вводимых_переменных
где приглашение – необязательная символьная константа, указывающая, что именно нужно вводить. Если после приглашения указана точка с запятой, после приглашения будет выведен вопросительный знак. Если запятая – нет.
Все переменные в списке переменных разделяются запятыми. Если список переменных содержит более одной переменной, вводимые значения следует разделять запятыми. Число вводимых данных по количеству и типу должно соответствовать списку переменных. По завершении ввода всех переменных для данного оператора INPUT следует нажать клавишу ENTER. Если ввод был осуществлен неверно, ПК выдаст сообщение “Redo from start” о необходимости его повторить.
Пример: INPUT “Введите переменные R и L”; r, l
Дословно оператор интерпретируется следующим образом: “Читать в память ЭВМ, введенные с клавиатуры, переменные R и L”. При этом на экране сначала будет выведено приглашение вида “Введите переменные R и L?”
Операторы управления
В программе принят естественный порядок выполнения операторов – в той последовательности, в которой они записаны. В случае, если этот порядок должен быть нарушен, используются операторы перехода.
¶ОПЕРАТОР БЕЗУСЛОВНОГО ПЕРЕХОДА. Оператор вида:
uGOTO метка_оператора
вынуждает программу выполнять не следующий по порядку оператор, а оператор с указанной меткой. Например, оператор GOTO 25 читается как “Идти к оператору с меткой 25”и передает управление оператору с меткой 25.
Во многих версиях Бейсика все операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна, хотя и возможна. Здесь для организации ссылок используются метки (в частном случае это могут быть и номера операторов), которые расставляются слева от тех операторов, на которые есть ссылки. Метками могут быть любые целые числа, идущие в произвольном порядке (не обязательно по возрастанию). Важно только, чтобы они не повторялись. Метками могут быть также буквы и слова, отделенные от оператора двоеточием, например возможна такая ссылка (здесь mn – метка)
GOTO mn
. . .
mn: PRINT x
Имя метки задается программистом произвольно. При грамотном программировании можно обойтись минимумом меток или не использовать их вовсе.
¶ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА
имеет две разновидности:
u IF логическое_условие THEN оператор
Статьи к прочтению:
- Три схемы адресации узлов.
- Участники и требования конкурса. правила проведения республиканского дистанционного
ЕГЭ. Тригонометрический круг
Похожие статьи:
-
Типы данных. выражения. операторы. функции
В системе MATLAB определено шесть базовых типов данных, каждый из которых является многомерным массивом. Шесть классов — это double, char, sparse, uint8,…
-
Результат функции arctan получается в радианах.
Лабораторная работа №1 Объявление переменных. Программы с линейной структурой. 1 Цель работы: 1.1. ознакомится с основными правилами написания программ…