Л. И. Долинер основы программирования в среде pascalabc. Net учебное пособие
Скачать 1.88 Mb.
|
1.23Е+12 Здесь «Е+12» читается как «умножить на десять в двенадцатой степени»; 3) строки представляют собой произвольный набор символов, заключенный в апострофы: ‘Какой чудесный был пирог. Я от него ... 2+2=5’ Оператор присваивания предназначен для указания компьютеру ЗАПИСИ ДАННЫХ В КОНКРЕТНЫЙ БЛОК ПАМЯТИ. Общий вид оператора: <имя блока памяти> <выражение> Обратите внимание на знак присваивания – он состоит из двух значков: двоеточия и равно (:=), которые записываются друг за другом без пробелов. Пример 1 program example1; {заголовок программы} var num : integer; {резервирование блока памяти для хранения целого числа} day : byte; {резервирование блока памяти для хранения целого числа от 0 до 255} name : string; {резервирование блока памяти для хранения строки} begin 24 num 355; {запись в блок num числа 355} day 31; {запись в блок day числа 31 } name ’Скорпион’ {запись в блок name слова «Скорпион»} end. Как следует из определения оператора присваивания, в правой части опера- тора присваивания находится некое значение или выражение. В последнем слу- чае в блок памяти (переменную) записывается значение выражения. Пример 2 program example2; var num : integer; day : byte; Begin num 355+145; {запись в блок num числа 500} day num -469; {при вычислении значения выражения вместо num будет подставлено значение из этого блока памяти (500) и вы- числен результат (31)} end. Допустимые арифметические операции языка Паскаль приведены в Помо- щи: раздел «Справочник по языку», там подраздел «Выражения и операции». Список стандартных функций находится в том же разделе, подраздел «Систем- ные процедуры, функции, типы и константы». 2.3. Вывод данных на экран дисплея Примеры программ, приведенных выше, иллюстрируют команду присваи- вания, но для вас их выполнение на компьютере бессмысленно, ведь программа записывает данные в память компьютера и заканчивает работу. Вы ничего не увидите. Чтобы увидеть, в языке есть процедура 1 вывода WriteLn. Задание 14 Считайте с диска файл lab2_14.pas. Разберитесь в тексте программы. Выполните предложенные там задания. 1 Процедурой называется программа, оформленная специальным образом и рассматриваемая как единая команда. Следует иметь в виду, что процедур вывода в PascalABC.Net достаточно много. 25 Задание 15 Считайте с диска файл lab2_15.pas. Разберитесь в тексте программы. Выполните предложенные там задания. Задание 16 Считайте с диска файл lab2_16.pas. Выполните предложенные там задания. Задание 17 Считайте с диска файл lab2_17.pas. Разберитесь в тексте программы и выполните предложенные там задания. Выпишите в тетрадь различие между процедурами WRITE и WRITELN. 2.4. Форматированный вывод информации В окне вывода можно поместить строго определенное количество символов. Количество строк и количество символов в строке зависит от размера окна. Место для одного символа принято называть позицией. При использовании процедур вывода WriteLn (Write) вам предоставляется возможность самим определять количество позиций, которое отводится для дан- ного вида информации. Вывод данных с указанием числа позиций принято называть форматированный вывод. Задание 18 Считайте с диска файл lab2_18.pas. Разберитесь в тексте программы. Уточните способы форматированного вывода целых чисел. Выведите целое число так, чтобы перед ним было соответственно 20, 30 и 40 пробелов. Задание 19 Считайте с диска файл lab2_19.pas. Разберитесь в тексте программы. Уточните способы форматированного вывода строк. Измените программу так, чтобы выводилось еще две строки: первая – чтобы было всего 2 пробела перед текстом, вторая – в правой части окна. Задание 20 Считайте с диска файл lab2_20.pas. Разберитесь в тексте программы. Отметьте в тетради способы форматированного вывода вещественных чисел. Измените программу так, чтобы выводилось еще два вещественных 26 числа: первое – 133.567, чтобы было 20 пробелов перед числом и 5 знаков после запятой; второе – 79954.23451 так, чтобы точка числа была под точкой предыдущего числа и три знака после запятой. Задание 21 Считайте с диска файл lab2_21.pas и выполните предложенное там задание. Задание 22 Считайте с диска файл lab2_22.pas и выполните предложенное там задание. Задание 23 Откройте Помощь, найдите там раздел «Справочник по языку», подраздел «Системные процедуры, функции, типы и константы», статью «Процедуры ввода-вывода». Прочтите статью. Откройте файл writeFormat.pas, разберитесь в особенностях создания форматной строки. Пригласите преподавателя и продемонстрируйте ему все выполненные вами задания. После этого сохраните все программы и выйдите из среды PascalABC.NET. Если вы обучаетесь в условиях использования дистанционных образователь- ных технологий, просто вышлите все файлы с подготовленными вами про- граммами преподавателю (если это предусмотрено технологической кар- той). 27 Глава 3 ОРГАНИЗАЦИЯ ДИАЛОГА Задание 24 В электронном пособии ( Пособие\index.html ) изучите раздел «Введение в язык программирования Паскаль». Ответьте на приведенные там вопросы. Выполните тест и продемонстрируйте оценку преподавателю. Команда ввода данных Команда присваивания обеспечивает запись данных в память непосред- ственно в программе. Довольно часто требуется данные получить не во время написания программы, а во время ее работы. Для этого используется команда ввода READLN. Общий вид команды: READLN(<Список ввода>) Например: var fantom : integer; story : string; begin ... Write(‘Сколько у Вас увлечений:’); ReadLn(fantom); WriteLn(‘Введите название любимого блюда:’); ReadLn(story); end. Задание 25 Считайте с диска файл lab3_25.pas. Разберитесь в тексте программы. Запустите программу на выполнение. Постарайтесь понять, как работает процедура ввода. Выпишите в тетрадь алгоритм работы процедуры READLN. 28 Задание 26 Считайте с диска файл lab3_26.pas. Разберитесь в тексте программы. Выполните предложенные там задания. Задание 27 Считайте с диска файл lab3_27.pas. Выполните предложенные там задания. Пригласите преподавателя и продемонстрируйте подготовленную программу. ВНИМАНИЕ! Не следует стирать в программе имеющиеся комментарии. Задание 28 Считайте с диска файл lab3_28.pas. В этом файле содержится заголовок программы, оператор начала и конца программы. Вам следует из этой «бол- ванки» составить программу, позволяющую определять количество денег, которое вы сможете получить через N месяцев, положив в банк К рублей под P процентов годовых. Задание 29 Считайте с диска файл lab3_29.pas. В этом файле содержатся итоговые задания. Составьте предложенные программы в различных вкладках среды PascalABC.NET. Задачи для самостоятельной работы 1. Известны значения двух переменных, содержащие числа. Напишите програм- му, меняющую значения этих переменных между собой без использования тре- тьей, буферной, переменной. 2. Вычислите объем и площадь поверхности параллелипипеда. Определите, какие данные должны быть введены, какие – выданы на экран. 3. Составьте программу определения корней квадратного уравнения, имеюще- го решения. 4. Составьте программу определения идеальной массы человека, если она считается по формуле: идеальная масса (кг) = рост (см) – 100. 5. Средняя наценка на товар составляет 18 %. Пусть известна розничная цена товара. Вычислите оптовую цену. 6. Даны координаты двух точек. Вычислите расстояние между ними. 29 7. Вы положили деньги в банк под 15 % годовых. Составьте программу опре- деления общей суммы вклада через заданное число месяцев. 8. Длина некоторого отрезка составляет p метров. Напишите программу пере- вода ее в русскую неметрическую систему. Указание: 1 верста = 500 саже- ней, 1 сажень = 3 аршина, 1 аршин = 16 вершков, 1 вершок = 44,45 мм. 9. Составьте программу, которая вычисляет площадь равностороннего треугольника. 10. Напишите программу вычисления стоимости покупки, состоящей из нескольких карандашей, линеек и тетрадей. Их количество и цену задать вводом. Ответ вывести в виде: Сумма к оплате: … р. … к. 11. Напишите программу, переводящую время, указанное в минутах, во время в часах и минутах. Вопросы для контроля 1. Для чего предназначена команда ввода? 2. Чем отличаются и что общего у команд ввода и присваивания? 3. В чем разница между командой присваивания и равенством в математике? Пригласите преподавателя и продемонстрируйте ему все выполненные вами задания. После этого сохраните все программы и выйдите из среды PascalABC.NET. Будьте готовы ответить на вопросы. Если вы обучаетесь в условиях использования дистанционных образовательных технологий, просто вышлите все файлы с подготовленными вами программа- ми преподавателю (если это предусмотрено технологической картой). 30 Глава 4 ГРАФИКА В ЯЗЫКЕ ПАСКАЛЬ (ПЕРВОЕ ЗНАКОМСТВО) Как было отмечено ранее, приложения (программы) в PascalABC.NET бы- вают консольные и графические. Если не подключать специальные библиотеки, работа будет выполняться исключительно в консольном режиме. Базовой биб- лиотекой, обеспечивающей графический режим (но консольный при этом нику- да не девается), является библиотека GraphABC. В этой библиотеке собраны три блока процедур и функция. Первый блок обеспечивает сам процесс рисова- ния с помощью встроенных примитивов (т. е. простейших фигур). Второй блок позволяет загружать и выводить в графическое окно уже готовые рисунки. И, наконец, третий блок позволяет задать режимы работы процедур и функций двух предыдущих блоков. Подключение модуля GraphABC Библиотека для любой среды программирования представляет собой набор готовых (т. е. ранее кем-то подготовленных) подпрограмм (процедур и функ- ций), сгруппированных по определенным признакам. В частности, как уже от- мечалось, в библиотеке GraphABC собраны компоненты, отвечающие за по- строение простейших изображений. В программе библиотека подключается с помощью оператора Uses. Так как процедуры и функции рисования графики размещены в библиотеке GraphABC, требуется сначала подключить графическую библиотеку. Подключение данной библиотеки выполняется сразу после названия программы 2 : Program <имя>; Uses GraphABC; Поскольку название программы можно не писать, постольку собственно с подключения библиотеки и может начинаться любая программа. 2 На самом деле название программы писать не обязательно, поэтому обычно подключение библиотек – самая первая строчка программы. 31 Задание 30 В Справке рассмотрите описание модуля GraphABC ( Помощь Справка Стандартные модули Модуль GraphABC ). Изучите подраздел «GraphABC: графические примитивы». Выясните, с помощью каких процедур можно нарисовать окружность, прямоугольник и линию. Просмотрите в этом же разделе статьи «GraphABC: подпрограммы для работы с пером» (с помощью этих подпрограмм можно задавать параметры линий) и «GraphABС: подпрограммы для работы с кистью» (эти подпрограммы позволяют задавать параметры закраски внутренней части замкнутых примитивов – прямоугольников, эллипсов, секторов и т. п.). Окно, в котором можно рисовать, может иметь разное количество точек как по вертикали, так и по горизонтали. Каждая точка имеет в окне свои координа- ты. Единственное, что все окна объединяет – это то, что в верхнем левом углу находится начало координат (рис. 3). 0,0 х y Рис. 3. Система координат в графическом окне Количество точек по вертикали и горизонтали зависит от размеров окна. Обратите внимание на то, что система координат в графическом окне отличается от привычной: ось Y направлена не вверх, а вниз (рис. 3)! 32 Задание 31 Считайте с диска файл с именем lab4_31.pas. Он представляет собой программу рисования линии на экране дисплея. Запустите эту программу – и вы увидите на экране синюю горизонтальную пунктирную линию. Модифицируйте программу так, чтобы: а) линия располагалась вертикально; б) линия располагалась по диагонали экрана; в) на экране рисовались две диагонали – одна красного цвета, а другая – желтого. Задание 32 Считайте с диска файл с именем lab4_32.pas. Перед вами появилась программа рисования на экране дисплея квадрата и окружности, размеры которых вводятся с клавиатуры (запустите программу и убедитесь в этом). Модифицируйте программу так, чтобы с клавиатуры вводился только размер стороны квадрата. При этом окружность должна быть: а) вписана в квадрат; б) описана около квадрата. Обратите внимание на то, что при организации диалога в графическом окне выводимая информация (процедура WriteLn) появляется в самом этом окне, а вводимая – в диалоговом окне. Поэтому при организации диалога в графическом окне следует пользоваться только процедурой WriteLn. Задание 33 В файле lab4_33.pas записана программа рисования заштрихованного квадрата, меняющего цвет после определенной паузы. Запустите ее и пронаблюдайте за ее работой. Модифицируйте программу так, чтобы цвет квадрата не менялся, а менялся тип штриховки. Еще одна модификация: на экране, кроме квадрата, должен появляться еще и заштрихованный круг: а) того же цвета в другом месте экрана; б) другого цвета внутри квадрата. 33 Задание 34 Нарисуйте на экране дисплея: а) российский флаг 300×200 пикселов (горизонтальные полосы: белая, синяя, красная – одинаковой ширины); б) французский флаг 300х200 пикселов; (вертикальные полосы: синяя, белая, красная – одинаковой ширины); в) японский флаг 300х200 пикселов (красный круг в центре белого прямоугольника). Задание 35 Модифицируйте составленные программы рисования: а) российского флага; б) французского флага; в) японского флага – так, чтобы размеры и место на экране вводились с клавиатуры. Задание 36* Нарисуйте на экране дисплея простейшую модель Солнечной системы, изобразив планеты кружками различного цвета и диаметра, а их орбиты – окружностями. Усложните модель, добавив Луну, спутники Марса и т. п. Подробную информацию о процедурах и функциях модуля GraphABC можно прочитать в Справке ( Помощь Стандартные модули Модуль GraphABC ). Задачи для самостоятельной работы Составьте программу: 1) которая рисует закрашенное кольцо (). Радиус внешней окружности сле- дует задавать в диалоге; 2) выводит в центр окна вашу фамилию. Используйте для этого процедуру TextOut. При этом начертание должно быть полужирное, размер – 26 пт, цвет – зеленый; 3) рисует прямоугольник со скругленными углами. Необходимо, чтобы этот прямоугольник располагался в центре экрана, был закрашен любым цве- том, толщина границы не менее 5 точек, цвет границы фиолетовый; цвет фона окна черный; 34 4) рисует три закрашенных сектора окружности, расположенных в центре графического окна следующим образом: 5) рисует два эллипса, расположенных в центре окна размером 250 250 точек следующим образом: 6) рисует три дуги толщиной 5 точек, яркого цвета, расположенные в окне 150 150 точек следующим образом: 7) рисует фигуру, состоящую из окружности и прямоугольника с закруглеными углами. Толщина линий – 5 точек, яркого цвета, такой же штриховки, как на рисунке. Фигура расположена в центре окна 250 150 точек; 8) рисует треугольник в центре графического окна. При этом окно должно быть 200 200 точек, цвет фона – clGold, а треугольник нарисован с помощью про- цедур MoveTo и LineTo. Пригласите преподавателя и продемонстрируйте ему все выполненные вами задания. После этого сохраните все программы и выйдите из среды PascalABC.NET. Будьте готовы ответить на вопросы. Если вы обучаетесь в условиях использования дистанционных образователь- ных технологий, просто вышлите все файлы с подготовленными вами про- граммами преподавателю (если это предусмотрено технологической кар- той). 35 Глава 5 ОПЕРАЦИИ С ЦЕЛЫМИ И ВЕЩЕСТВЕННЫМИ ЧИСЛАМИ Задание 37 Вспомните, какие операции можно выполнять с целыми числами. Для этого: a) загрузите программу lab5_37.pas и запустите ее на выполнение; б) запишите в тетрадь новую для вас информацию; в) составьте программу, которая позволит для любых заданных целых чисел найти разность квадратов и квадрат разности. Задание 38 Вспомните, какие функции преобразования вещественных чисел в целые есть в языке Паскаль. Для этого: a) загрузите программу lab5_38.pas; б) запустите ее на выполнение; в) запишите в тетрадь новую для вас информацию; г) составьте программу, которая позволит определить доходы от вклада в два банка. Программа должна обеспечивать следующий диалог: Здравствуйте. Задайте размер Вашего вклада: 120000 На сколько месяцев Вы делаете вклад: 10 Сколько процентов годовых Вам обещано в банке 1: 15 Сколько процентов годовых Вам обещано в банке 2: 17 Через 10 месяцев на Вашем счету в банке 1 будет 135000 Через 10 месяцев на Вашем счету в банке 2 будет 137000 Задание 39 Вспомните, какие операции можно выполнять с вещественными числами. Для этого: а) загрузите программу |