Выбери верное выражение для выражения cos46

Транскрипт

1

С. Г. Никитенко Санкт-Петербург «БХВ-Петербург» 2011

3 Оглавление Введение. Свободное программное обеспечение в школе… 7 Глава 1. Начальные сведения о BASIC Что такое BASIC-256? Интерфейс пользователя BASIC Особенности BASIC-256 v.0.9.6p для Win32 и v для ALT Linux Школьный…17 Глава 2. Основные операторы BASIC Операторы обработки числовых данных Операторы обработки строковых данных Управляющие операторы BASIC Операторы формирования условий Операторы анализа условий (операторы ветвления) Операторы управления циклами Операторы управления переходами Операторы для обслуживания подпрограмм Операторы для обработки дат и времени…40 Глава 3. Графика в BASIC Операторы управления графическим экраном Операторы формирования графических примитивов в графическом окне…44 Глава 4. Операторы для работы с файлами Глава 5. Порядок разработки и отладки программ в среде BASIC Вариант Вариант

4 4 Оглавление Вариант Вариант Глава 6. Примеры программ для иллюстрации типовых школьных задач Вывод в окно текста Формирование подвижных объектов…58 Пример Пример Вычисление таблицы функции…62 Порядок выполнения зачетной работы…62 Пример Поиск данных в массивах по заданным условиям…64 Пример Пример Задачи сортировки…69 Пример Пример Пример Формирование подвижных изображений на текстовом экране…79 Пример Ввод/вывод данных посредством текстовых файлов…81 Пример Пример Глава 7. Примеры решения графических задач в BASIC Пример Пример Пример Пример Пример Пример Пример Пример Пример Глава 8. Обработка строковых данных Пример Пример

6 6 Оглавление Циклы с параметром Задачи поиска Задачи сортировки Моделирование математических, экономических и физических зависимостей Заключение Приложение 1. Справочник по BASIC Приложение 2. Ответы на задачи раздела Литература

8 8 Введение Экономическое положение разных регионов, возможности по обновлению парка компьютеров в школах очень разные. По данным автора (из бесед с учителями информатики и заместителями директоров по информационным технологиям московских школ) многие школы вообще не озабочиваются проблемой перехода на СПО: «Директор обещал, что найдет нужные 800 долларов на лицензионную Windows и прочие программы». Из бесед с директорами сельских школ Рязанской области: «Денег нет и не будет. Альтернативы переходу на Linux нет». Это крайние точки зрения. На самом деле есть школы обладатели грантов приоритетного национального проекта «Образование» и других проектов, которые приобрели компьютерные классы с предустановленной лицензионной версией Windows 7/Vista. Есть школы, которые имеют по два и более компьютерных класса. Причем самые новые из них укомплектованы лицензионной Windows 7, а в остальных стоит Windows XP с истекшим г. сроком лицензии. Вдобавок практически во всех регионах есть школы с классами, оснащенными компьютерами фирмы Apple. На них в качестве базовой ОС установлена одна из версий лицензионной MAC OS X, в дополнение к которой обязательно установлена лицензионная Windows XP/Vista/7. В упоминавшемся Распоряжении Правительства РФ рекомендуется дать школе возможность выбора. Возможные варианты представлены далее. Вариативность обеспечивается еще и тем, что наиболее популярные свободные программы (типа свободного офиса OpenOffice.org) имеют версии и для Windows, и для Linux, и для MAC OS X: лицензионные Windows XP/Vista/7, Office, графика, среды программирования; лицензионные Windows/MAC OS X, свободные Office, графика, среды программирования; полный переход на свободное ПО. Возможны и промежуточные решения. Так, компьютеры бухгалтерии и администрации, использующие специальные программы, не имеющие аналогов в Linux (например, программы печати аттестатов, базы данных для отчетов по ЕГЭ), остаются с ОС

10 10 Введение Таблица В1. Cреды программирования, поставлявшиеся в школы, и их свободные аналоги Назначение приложения Школьный алгоритмический язык Исполнители для начального обучения основам алгоритмизации Среды, поставлявшиеся в школы в гг. Кумир Кенгуренок Пылесосик Муравей Машинист Кукарача (Таракан) в составе пакета Роботландия Дистрибутивы Alt Linux Школьный Кумир Scratch Свободные или бесплатные приложения Windows LOGO, начальное обучение основам алгоритмизации и программирования LogoWriter LogoMiry DLOGO KTurtle KTurtle, DLOGO BASIC QBasic Quick Basic Turbo Basic BASIC-256 BASIC-256, Small BASIC Pascal Borland Pascal 7.0 Turbo Pascal 7.0 Visual Basic Visual Basic 2005 в составе Visual Studio 2005 Delphi (Object Pascal) Borland Delphi 2006 в составе Borland Developer Studio 2006 Free Pascal Gambas Lazarus Free Pascal Pascal ABC BlackBox Component Builder Gambas Lazarus Borland Delphi 7 Lite C/C++, Java Borland Developer Studio 2006 Visual C в составе Visual Studio 2005 Eclipse Code::Blocks IDE Eclipse Code::Blocks IDE

12 12 Введение

14 14 Глава p ( ) для Windows и ( ) для ALT Linux Школьный Интерфейс пользователя BASIC-256 После установки русской версии BASIC-256 (например, v.0.9.6p) запуск ее выполняется из меню Windows командой Пуск Программы BASIC-256 BASIC-256. Открывшееся окно программы (рис. 1.1) имеет обычный для приложений Windows вид. Заголовок окна имеет стандартную структуру. Меню программы содер- Рис Окно русских версий BASIC-256

16 16 Глава 1 Каждый из экранов очищается отдельной командой. Текстовый экран очищается обычной командой очистки текстового экрана cls (clear screen, очистить экран). Графический экран очищается специальной командой clg (clear graphic screen, очистить графический экран). Окно текста программы присутствует на экране всегда. Экраны исполнителя (окно текста и окно графики) можно вызывать на экран или убирать с экрана командами меню Просмотр Окно текста и Просмотр Окно графики. По умолчанию эти функции включены в соответствующем пункте меню стоит флажок («галочка»). Одна подача команды включает функцию, повторная подача той же команды функцию отображения соответствующего окна на экране выключает. Отладчик позволяет при отладке программы вызвать на экран дополнительное окно для наблюдения за переменными программы окно просмотра переменных. Оно вызывается на экран или убирается командой меню Просмотр Окно просмотра переменных. Размер шрифта, которым отображаются текст программы в окне редактора и результаты вычислений в окне текста, можно дискретно изменять командами меню Просмотр Размер шрифта Мелкий / Средний / Большой / Огромный. По умолчанию после загрузки BASIC-256 включен средний размер шрифта. Характеристики текстового экрана в режиме мелкого шрифта определяются экспериментально как 11 строк примерно по 40 символов x. Большинство шрифтов Windows не моноширинные, т. е. различные символы имеют различную ширину. Поэтому ширину строки в числе символов можно определить только приблизительно для некоторого символа со средней шириной. Если число выводимых строк превышает 9, в окне текста появляется вертикальная полоса прокрутки. Если выводимая строка превысит ширину окна текста, появится горизонтальная полоса прокрутки. Запуск программы, текст которой подготовлен в окне редактора, осуществляется следующими способами: командой меню Старт Старт; кнопкой Старт панели инструментов; клавишей <F5>. П Р ИМЕЧАНИЕ Клавиша <F5> используется для запуска приложений во многих реализациях BASIC.

18 18 Глава 1 естественной форме с десятичной точкой в качестве разделителя целой и дробной части: 2.345; В НИ МА НИЕ! Запись чисел в экспоненциальной (полулогарифмической) форме в рассматриваемых версиях BASIC-256 не поддерживается. Максимально представимые числа по абсолютной величине: +/ Точность представления результатов при выводе на текстовый экран оператором print чисел N < 1 составляет 7 десятичных цифр, включая ноль целых с округлением до 6-го знака после запятой. Так print выведет на экран 0, а print выведет Другими словами, число N1 <= считается машинным нулем. Из сложных структур данных в BASIC-256 определены только одномерные и двумерные массивы: числовые и строковые. Массивы описываются оператором DIM: DIM Z(20) числовой массив из 20 элементов Z[0] Z[19]; DIM V$(15) строковый массив из 15 элементов V$[0] V$[14]. В общем случае оператор DIM R(N) при заданном N описывает N числовых переменных R[0] R[N 1], т. е. отводит для этих переменных необходимую область оперативной памяти. Оператор DIM U(N, M) при заданных N и M описывает N*M числовых переменных U[0,0] U[N 1, M 1]. Такой массив можно записать в виде прямоугольной таблицы из N строк по M чисел в каждой строке. Элемент U[i,j] при этом будет располагаться в строке i и иметь номер j слева: i = 0 N 1, j = 0 M 1. Если размерность массива неизвестна, ее можно определить следующим образом: для одномерного массива X(N): N = X[?]; для двумерного массива U(N, M): N = U[?,], M = U[,?]. Каждый массив должен вводиться отдельным оператором DIM. В НИ МА НИЕ! В отличие от многих других версий, BASIC-256 не позволяет одним оператором DIM описать несколько массивов.

20 20 Глава 1

22 22 Глава 2 Здесь expr необязательное строковое выражение, представляющее собой побуждающее сообщение для ввода. Например, первая строка приведенной ниже последовательности: input «Введите целое x1 = », x1 print x1 выведет на текстовый экран сообщение: Введите целое x1 =. Пользователь в той же строке вводит с клавиатуры нужное число и нажимает клавишу <Enter>. Переменной x1 будет присвоено введенное число. Вторая строка выведет присвоенное x1 значение в окно текста. Над числовыми данными возможны следующие операции: сложение: Y1 = X1 + X2; вычитание: Y2 = X1 X2; умножение: Y3 = X1*X2; деление: Y4 = X1/X2; возведение в степень: Y5 = X1 ^ X2; вычисление целого остатка Y6 от деления целых чисел X3 и X4: Y6 = X3 % X4; целочисленное деление Y7 = X5\X6 при этом вычисляется целая часть частного Y7 от деления целых чисел X5 и X6. Например: команда print 4.5^(-2.5) выведет на экран результат вычисления: ; команда print 45 % 7 выведет остаток от деления 45 на 7, т. е. 3; команда print 45\7 выведет целую часть частного от деления 45 на 7, т. е. 6. Для числовых аргументов могут вычисляться следующие функции: abs(x) вычисляет абсолютное значение выражения x, например: abs( 4.5) = 4.5; x1 = ceil(x) вычисляет наименьшее целое x1 >= x, например: ceil(4.5) = 5; ceil( 4.5) = 4; x2 = floor(x) вычисляет наибольшее целое x2 <= x, например: floor(4.5) = 4; floor( 4.5) = 5;

24 24 Глава 2 логарифм числа x по произвольному основанию a вида y3 = log a x можно вычислить, используя стандартное математическое соотношение log a x = ln x/ln a. В BASIC-256 для этого придется записать одно из выражений: y3 = log(x)/log(a) или y3 = log10(x)/log10(a). П Р ИМЕЧАНИЕ Следует заметить, что имеющаяся во всех реализациях BASIC функция exp(x) = e^x, обратная натуральному логарифму, в BASIC-256 отсутствует. При необходимости ее использования в программе можно ввести константу e = и использовать функцию вида e^x вместо exp(x). Оператор rand формирует псевдослучайное число x в диапазоне 0 <= x < 1, распределенное по закону равной плотности. В отличие от других реализаций BASIC инициализация генератора случайных чисел (функции rand) в BASIC-256 выполняется не аргументом, а автоматически при каждой очередной загрузке. После каждой новой загрузки BASIC-256 будет формироваться новая последовательность случайных чисел от 0 до Если необходимо сформировать случайную последовательность чисел в другом диапазоне для моделирования некоторой последовательности событий, можно воспользоваться правилом: любое выражение, содержащее функцию формирования случайной последовательности rand, дает в результате случайную последовательность. Формирование выражений можно пояснить следующими примерами: бросание монеты орлу ставится в соответствие 1, решке 0. Случайная последовательность равновероятных 1 и 0 формируется с помощью выражения: x = int(2*rand); бросание кубика формирование случайной последовательности целых чисел x1 в диапазоне от 1 до 6 реализуется выражением: x1 = 1 + int(6*rand); (2.1) вытаскивание карты из хорошо перемешанной колоды из 36 карт если поставить в соответствие картам от валета до туза числа от 11 до 14, то без учета масти карт процесс моде-

26 26 Глава 2 Таблица 2.1. Таблица соответствия частот и нот [7] A Sharp B C C Sharp D D Sharp E F F Sharp G G Sharp B Flat D Flat E Flat G Flat A Flat ЛЯ СИ ДО РЕ МИ ФА СОЛЬ жуточных частот обозначены следующим образом: C Sharp это ДО-диез; D Flat это РЕ-бемоль. Длительность звучания нот определяется темпом исполнения числом ударов метронома в минуту. Каждый удар четверть ноты. Темп 120 это 120 ударов метронома в минуту. Целая нота 2 сек. Половинная нота 1 сек. Четверть ноты 0,5 сек. Оператор Volume X или Volume(X) задает громкость звука, воспроизводимого оператором Sound. Уровень громкости задается целым числом X от 0 до 10. По умолчанию X = 5. Оператор System Z$ или System(Z$) позволяет из программы в среде BASIC-256 выполнить системную команду (команду операционной системы), заданную текстовой строкой Z$, в окне терминала. Это аналог команды Windows Пуск Выполнить. Применение такой команды требует большой осторожности и высокой квалификации пользователя Операторы обработки строковых данных Оператор Asc(x$) код первого символа строки x$ или символа x$: Asc(A) = 65; asc(blue) = 98 код символа b. Оператор Chr(N) формирует символ по коду N: chr(90) = Z; chr(123) = {. Символы стандарта ASCII с кодами от 32 до 126 приведены в табл. 2.2.

28 28 Глава 2 Следует обратить внимание на два похожих при печати символа: chr(39) = апостроф; chr(96) = ` символ слабого ударения. Символ ПУСТО (пустая строка) отображается командой chr(0). Коды от 1 до 31 таблицы символов ASCII отведены для неотображаемых управляющих символов. Например, команды chr(10), chr(13) при выводе в текстовое окно оператором print обеспечивают переход в начало следующей строки. Знак + для строковых переменных и значений выполняется как операция конкатенации (объединения) текстовых строк. Строка программы вида: x$ = x1$ + x2$ + x3$ (2.4) сформирует объединенную текстовую строку x$, состоящую из трех составляющих текстовых строк x1$, x2$, x3$, записанных последовательно в порядке их следования в выражении. В выражении вида (2.4) могут использоваться и числовые переменные. Они автоматически будут преобразованы в строковое представление. Выражение вида: y$ = «x1 = » + x1 + " " + «x2 = » + x2, (2.5) где обрабатываются одновременно числовые и строковые значения, сформирует результирующую текстовую строку y$, в которую числовые значения x1 и x2 войдут также в форме текстовых строк. Выражение (2.5) позволяет в операторе print выводить в одной строке значения нескольких переменных, если объединить их в общую текстовую строку, добавив в нее необходимые разделительные пробелы и знаки препинания. Для примера последовательность строк программы (листинг 2.1) Листинг 2.1×1 = 25×2 = −48 print «x1 = » + x1 + «, » + «x2 = » + x2 выведет в текстовое окно следующий результат в виде текстовой строки: x1 = 25, x2 = 48.

Источник

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Вам будет интересно