Знакомство с pascal: написание первой программы

Знакомство с языком программирования Паскаль

        Одним из современных широко распространенных языков программирования является Pascal. Он был создан на рубеже 1960-1970-х годов швейцарским ученым Никлаусом Виртом. В языке Pascal сосредоточены многие лучшие черты языков-предшественников.
        • Следование, Ветвление, Цикл “пока” (с предусловием).

        Учащиеся внимательно слушают учителяУчащиеся открывают тетради— Джон фон НейманДжон фон Нейман предложил хранить в этой памяти не только данные, но и закодированную в виде цифр последовательность действий, т.е. программу для вычислений.Учащиеся записывают определение в тетрадь: Программа – это последовательность команд, записанных на языке, понятном исполнителю.Учащиеся записывают в тетради определение транслятора. Языка программирования, синтаксис языка, программирование:Транслятор – это программа, предназначенная для перевода описания алгоритма с одного формального языка на другой.Язык программирования – это специально обусловленный набор символов, слов и мнемонических сокращений, используемый для записи набора программ (команд), воспринимаемых компьютером.Синтаксис языка программирования – это перечень правил записи программ из элементов этого языка.Программирование – это технология разработки программ с помощью языков программирования.

        Учащиеся записывают в тетрадь этапы создания программ:— постановка задачи;- проектирование программы;- программирование;- отладка и тестирование программы.
        — Давайте более подробно познакомимся со средой PascalABC, для этого садимся за компьютеры и приступим к практической работе.Запустим программу Паскаль АВС- Давайте посмотрим как работать со страницами программы и что она умеет, для этого в вашей папке сохранены заранее созданные DEMO, давайте открывать их по очереди и разбираться в них… Учащиеся садятся за компьютеры и выполняют задания на ПКУчащиеся знакомятся со средой ПаскальАВС:— Блок инструментов по работе с файлами— Блок инструментов по работе с текстовыми фрагментами— Блок инструментов отладки— Запуск и остановка работы программы— Закладки с названием программыУчащиеся открывают DEMO и анализируют, сравнивают…Записывают в тетради свои наблюдения и задают вопросы учителю.
        Систематизация нового материала(Учитель предлагает обсудить новый материала):

        • Итак, какие выводы можно сделать. Вопросы:
        • Что реализует блок операторов (основной) программы?
        • Что реализует блок операторов процедуры (функции)?
        • Что общего и в чем отличие процедуры от основной программы, если рассматривать их оформление (запись на языке Паскаль)?
        • Кто дополнит предыдущий ответ?
        • Что можно сказать о механизме обмена данными между основной программой и процедурой?
        • С помощью каких данных основная программа получает результаты работы процедуры?
        • Что можно сказать о количестве, типе и порядке следования фактических и формальных параметров?
        • У кого появились вопросы по этому материалу?

        (учитель сопровождает объяснение с помощью проектора)

        • Процедура может принимать/возвращать любое количество любых переменных (ограничение на общий размер — 64 Кбайт, как и для глобальных переменных), или совсем не обмениваться данными. Пример — вывод на экран текста стихотворения.
        Ученики поднимают руки, отвечают, дополняя ответы других:

        • Вспомогательный алгоритм решения задачи
        • Общее – в структуре, отличие – блок операторов процедуры должен заканчиваться символом “;”, основной программы – символом “.”.
        • Процедура должна всегда иметь заголовок, программа может не иметь заголовка.
        • По команде вызова процедуры основная программа передает процедуре значения формальных параметров (аргументов) процедуры, управление передается первому оператору блока операторов процедуры, выполняется вспомогательный алгоритм и затем управление возвращается оператору основной программы, следующему за оператором вызова процедуры.
        • Глобальных переменных, а также формальных параметров, перед которыми стоит служебное слово var.
        • Количество, тип и порядок следования фактических и формальных параметров должны совпадать.
        • Сколько и какие величины могут быть аргументами процедуры?
        • Сделайте чертеж земельного участка на доске.
        • Какие математические формулы потребуются для решения задачи? Запишите их на доске.
        • Какая формула нужна в случае, если известны координаты вершин многоугольника?
        • Остановимся на первом варианте – вычислении площадей треугольников по формуле Герона.

        Какие исходные данные нужны для решения задачи?

        • Скажите, достаточно ли этих данных для решения задачи?
        • Следите за тем, какие исходные данные будут передаваться из основной программы в подпрограмму и наоборот, из подпрограммы в основную программу, чтобы вычислить общую (суммарную) площадь многоугольника? Поработайте над решением задачи в парах. Напишите одно решение задачи на двоих.

        Заголовок процедуры для варианта а):Procedure Square (x, y, z : real; var S : real);вызовы процедуры:Square (a, b, f, S1); {S1 – площадь 1-го треугольника}Square (c, d, f, S2); {S2 – площадь 2-го треугольника}

        Проверка правильности выполнения заданий. Корректировка умений и навыков учащихся.
        Обобщение деятельности учащихся на уроке (степень выполнения поставленных задач). Выставление оценок.Возврат к плану: Формулировка вывода по уроку.


        бщий вид (формат) процедуры

        ип функции может быть только простым типом (в Турбо-Паскале исключением из этого правила является тип string). Блок содержит локальные для функции описания и раздел операторов, который должен содержать по крайней мере один оператор присваивания с именем функции в левой части его.

        Источник: https://infourok.ru/znakomstvo-s-yazikom-programmirovaniya-paskal-1736318.html

        Язык программирования Pascal для новичков: основные понятия

        В этой статье я расскажу вам про основные принципы работы с языком Pascal. Информация, выложенная здесь, проста и понятна для начинающих программистов. После изучения этой статьи вы будете владеть первоначальными знаниями о Pascal, и ваш дальнейший процесс обучения будет проходить намного легче чем мог бы быть.

        Pascal – один из самых известных языков программирования. Создан в 1968 – 1969 годах швейцарским ученым Никлаусом Виртом, был назван в честь французского математика и физика Блеза Паскаля, и используется для обучения программированию по сей день.

        1. Подготовка к работе

        Итак, вы решили научиться программировать и начать с языка наиболее для этого подходящего – Pascal. Для начала работы вы должны приобрести (скачать) компилятор.

        А что же собственно, такое, этот «компилятор»? Это специальная программа, которая считывает код программы, а затем переводит его на язык машинных кодов.

        То есть, по сути, все языки программирования – это способ “общения” с компьютером, а компилятор помогает перевести нашу “речь” на понятную ему.

        Для Pascal существует немало компиляторов, самые известные из них: Pascal ABC, Free Pascal, Pascal ABC.NET, Turbo Pascal. Все эти программы по-своему хороши, но лично для меня (автора), очень удобен Pascal ABC (или Pascal ABC.NET), поскольку он имеет весьма удобный интерфейс, подробную справку, и даже специально подготовленный для новичков сборник задач.

        2. Начало работы

        Что ж, перед нами открыто окно компилятора. Чистый, белый (или синий?) лист. Здесь и будут появляться на свет наши первые программы.

        Перед началом работы следует запомнить, что язык Pascal – это совокупность трёх составляющих: алфавита, синтаксиса (правил написания объектов языка) и семантики (правил использования этих объектов). Алфавит Pascal состоит из:

        1. Прописных и строчных букв латиницы: A…Z, a…z;
        2. Цифр: 0…

          9;

        3. Специальных символов: + — * / = < >.

          ,:; ‘ # ( ) { } [ ] и их комбинаций: «>=» «

        Задача же синтаксиса и семантики состоит в том чтобы, правильно написать раздел программы и правильно составить ее структуру, в противном же случае наша программа будет работать неправильно (или же не работать вовсе!). Вам наверное уже не терпится приступить к самой интересной части, так что сейчас мы с вами попробуем написать ваши первые программы.

        Структура программы выглядит так:

        Program «имя программы»; — заголовок программы; (Примечание: в конце строки ставится точка с запятой, не во всех, но в большинстве) Uses (название библиотеки); здесь подключаются библиотеки, которые дают дополнительные возможности при создании программ; Label (имя метки); здесь, если необходимо, прописываются метки, позволяющие переходить в разные места программы (о них позже); Const тут указываем переменные с постоянной величиной, например, p=3.14; Var тут через запятую перечисляем все переменные, а затем, указываем тип данных (Пример: Var: K, L, M: integer; N, O: real; (если несколько типов)); Begin (здесь без точки с запятой) Дальше следует основной блок программы; end. – конец программы (обязательно после “end” точка, если только это конец программы, а не операторные скобки).

        3. Создание первых программ

        Теперь вы знакомы с основной структурой программы. Следует заметить, что из вышеперечисленных разделов обязательными есть только «Var», «Begin» и «end», остальные же могут применяться, если это требуется в ходе выполнения поставленной задачи. Откройте окно вашого компилятора, и введите следующие строки: program Programma1; begin end. Нажмите кнопку «Выполнить»(«Run»).

        Ничего не происходит? Так и есть, ведь наша программа «пустая», мы не указали что она должна делать, потому ничего и не произошло. Обычно принцип работы программы написанной на языке Pascal состоит из трёх этапов: ввод данных – обработка данных – вывод даннных. Теперь познакомимся с оператором “write”. Он служит для как раз для вывода данных без перехода на новую строку.

        Попробуем его применить, тем самым сделав нашу программу чуть сложнее и интереснее: program Programma1; begin write(' Pascal '); end. Собственно, так он и применяется. Между апострофами мы можем ввести любой текст, на любой раскладке, и после выполнения программы он появится в окне вывода (или в командной строке, смотря какой у вас компилятор).

        В данном случае, должно появиться слово «Pascal».

        3.1. Операторы write, writeln, read, readln

        Теперь поговорим о вводе данных. Мы уже познакомились с оператором write, но существуют также и другие. Writeln, к примеру, используется для вывода данных с переходом на новую строку.

        Зачем? Ну, например чтобы дать какой-нибудь переменной значение: program Programma1; var A:integer; begin writeln('A= '); read(A); {ввести значение и «прикрепить» его к переменной A} write(A); {Вывести значение переменной A} end. Как вы видите, я вкратце описал каждое действие в фигурных скобках. Это называется комментарий.

        В дальнейшем я также буду использовать их для объяснений. В этом примере для присваивания к переменной значения, введенного с клавиатуры используется оператор read. Мы видим, что при выполнении он прочитал строку в переменную А. А другой оператор, readln работает по другому.

        Используя его, мы можем сразу ввести нужную строку, и она прочитается в переменную: program Programma1; var A:integer; begin readln(A); write('A= ', A); {строка будет выглядеть так: «А= ' введенное значение А ' „} end. Теперь, когда вы немного знаете о вводе данных, поговорим о том, какие могут быть данные, и как их обрабатывать.

        3.2. Типы данных в Pascal

        Пока вы читали эту статью, вы, наверное, уже пару раз натыкались на непонятное вам integer. Внимательно изучив основную структуру программы, вы наверняка поняли, что это тип данных. Но что это означает? Давайте поближе с этим познакомимся.

        Исходные данные, которые вводятся с клавиатуры или читаются из файла, находяться в переменных, а они, в свою очередь, хранятся в оперативной памяти. Тип данных определяет, какие именно данные можно хранить, и сколько они займут оперативной памяти. Типы данных бывают целыми и вещественными.

        •Целые типы данных (для целых чисел):

        — byte Объем памяти значений этого типа составляет 1 байт. Диапазон значений для данного типа: от 0 до 255. — word Значения этого типа занимают уже 2 байта памяти, а диапазон значений уже побольше: от 0 до 65535. — integer (уже нам знакомый) Значения также занимают 2 байта памяти, диапазон такого же размера, но включает уже и отрицательные числа: -32786…32787. — LongInt Объем памяти, занимаемый значением типа равняется 4 байтам. Диапазон значений же полностью соответствует названию типа данных: от -2147483648 до 2147483647 — ShortInt Значение типа потребляет 1 байт памяти, диапазон относительно небольшой: -128…127.

        •Вещественные типы данных (для чисел с дробной частью):

        — Real

        Занимаемая значением типа память – 6 байт. Число значащих цифр – 11-12. (значащие цифры – это точные цифры, т.е. не округленные). Диапазон значений типа: от 2.9*10-39 до 1.7*1038.

        Источник: http://informpedia.ru/computers/yazyk-programmirovaniya-pascal-dlya-novichkov-osnovnye-ponyatiya.html

        Методическая разработка по информатике и икт (9 класс) на тему

        Слайд 1

        Задача: разделить одну простую дробь на другую — получить результат Программа на языке Паскаль для вычисления результата деления одной простой дроби на другую является примером реализации линейного вычислительного алгоритма. Программа начинается с заголовка (служебное слово PROGRAM ). За служебным словом следует произвольное имя, придуманное программистом.

        В конце заголовка ставится точка с запятой. m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c цел a, b, c, d, m, n ввод a, b, c, d нач кон вывод m вывод n m : = a  d n : = b  c VAR READLN WRITELN : INTEGER a, b, c, d, m, n ( ) ; a, b, c, d ; END .

        ( ) m : = m a  d BEGIN ; : = n b  c ; WRITELN ; ( ) n a b c d : =  a d b c  = m n Линейные алгоритмы на Паскале алг Деление дробей PROGRAM Division ;

        Слайд 2

        Задача: разделить одну простую дробь на другую — получить результат Раздел описания переменных, начинается со слова VAR , за которым следует список имен однотипных переменных через запятую.

        Идентификаторы переменных составляются из латинских букв и цифр (первый символ обязательно должен быть буквой. Тип указывается через двоеточие. В нашем примере все переменные имеют целый тип ( INTEGER ) .

        В конце описания каждого типа необходимо ставить разделитель – точку с запятой m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей ввод a, b, c, d нач кон вывод m вывод n m : = a  d n : = b  c a b c d : =  a d b c  = m n PROGRAM READLN WRITELN ( ) Division ; a, b, c, d ; END . ( ) m : = m a  d BEGIN ; WRITELN ; ( ) n : = n b  c ; Линейные алгоритмы на Паскале VAR : INTEGER a, b, c, d, m, n ; цел a, b, c, d, m, n a b c d m n 1 3 2 5 m n

        Слайд 3

        Задача: разделить одну простую дробь на другую — получить результат Служебное слово BEGIN (начало) является операторной скобкой и с него начинается раздел операторов. Используется вместе с другой операторной скобкой — END ( конец). Между этими служебными словами помещаются все операторы, из которых складывается программа.

        m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n ввод a, b, c, d кон вывод m вывод n m : = a  d n : = b  c a b c d : =  a d b c  = m n PROGRAM VAR READLN WRITELN : INTEGER a, b, c, d, m, n ( ) ; Division ; a, b, c, d ; END .

        ( ) m : = m a  d ; WRITELN ; ( ) n : = n b  c ; Линейные алгоритмы на Паскале BEGIN нач a b c d m n 1 3 2 5 m n

        Слайд 4

        Задача: разделить одну простую дробь на другую — получить результат По оператору READ ( READLN ) происходит ввод данных с клавиатуры.

        При выполнении команды ввода компьютер ожидает действий пользователя, который должен набрать на клавиатуре значения переменных в том порядке, в котором они указаны в списке, отделяя их друг от друга пробелами.

        Одновременно с набором данных на клавиатуре они появляются на экране (пример: 5, 9, 7, 13). В конце набора нажимается клавиша ВВОД ( Enter) .

        m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n нач кон вывод m вывод n m : = a  d n : = b  c a b c d : =  a d b c  = m n PROGRAM VAR WRITELN : INTEGER a, b, c, d, m, n ; Division ; END . ( ) m : = m a  d BEGIN ; WRITELN ; ( ) n 1 3 2 5 : = n b  c ; Линейные алгоритмы на Паскале READLN ( ) a, b, c, d ; ввод a, b, c, d a b c d m n 1 3 2 5 m n

        Слайд 5

        Задача: разделить одну простую дробь на другую — получить результат m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n ввод a, b, c, d нач кон вывод m вывод n a b c d : =  a d b c  = m n PROGRAM VAR READLN WRITELN : INTEGER a, b, c, d, m, n ( ) ; Division ; a, b, c, d ; END .

        ( ) m BEGIN WRITELN ; ( ) n В данном разделе программы с помощью операторов присваивания организован процесс вычисления значений переменных m и n по исходным данным a, b, c, d , значения которых были предварительно введены в компьютер с клавиатуры.

        Линейные алгоритмы на Паскале : = m a  d ; : = n b  c ; m : = a  d n : = b  c a b c d m n 1 3 2 5 1 3 2 5 5 n

        Слайд 6

        Задача: разделить одну простую дробь на другую — получить результат начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n ввод a, b, c, d нач кон вывод m вывод n a b c d : =  a d b c  = m n PROGRAM VAR READLN WRITELN : INTEGER a, b, c, d, m, n ( ) ; Division ; a, b, c, d ; END .

        ( ) m BEGIN WRITELN ; ( ) n В данном разделе программы с помощью операторов присваивания организован процесс вычисления значений переменных m и n по исходным данным a, b, c, d , значения которых были предварительно введены в компьютер с клавиатуры.

        Линейные алгоритмы на Паскале : = m a  d ; : = n b  c ; m : = a  d n : = b  c a b c d m n 1 3 2 5 m : = a  d 1 3 2 5 5 6

        Слайд 7

        Задача: разделить одну простую дробь на другую — получить результат m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n ввод a, b, c, d нач кон вывод n m : = a  d n : = b  c a b c d : =  a d b c  = m n PROGRAM VAR READLN : INTEGER a, b, c, d, m, n ( ) ; Division ; a, b, c, d ; END . : = m a  d BEGIN ; WRITELN ( ) n Вывод результата на экран по оператору WRITE ( WRITELN ) . На этом шаге производится вывод значения переменной m ( 65 ) : = n b  c ; Линейные алгоритмы на Паскале WRITELN ( ) m ; вывод m a b c d m n 1 3 2 5 5 6 1 3 2 5 5

        Слайд 8

        Задача: разделить одну простую дробь на другую — получить результат m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n ввод a, b, c, d нач кон вывод m m : = a  d n : = b  c a b c d : =  a d b c  = m n PROGRAM VAR READLN WRITELN : INTEGER a, b, c, d, m, n ( ) ; Division ; a, b, c, d ; END . ( ) m : = m a  d BEGIN ; ; : = n b  c ; Вывод результата на экран по оператору WRITE ( WRITELN ) . На этом шаге производится вывод значения переменной n ( 63 ) Линейные алгоритмы на Паскале WRITELN ( ) n вывод n a b c d m n 1 3 2 5 5 6 1 3 2 5 5 6

        Слайд 9

        Задача: разделить одну простую дробь на другую — получить результат m : = a  d начало конец ввод a, b, c, d вывод m вывод n n : = b  c алг Деление дробей цел a, b, c, d, m, n ввод a, b, c, d нач вывод m вывод n m : = a  d n : = b  c a b c d : =  a d b c  = m n PROGRAM VAR READLN WRITELN : INTEGER a, b, c, d, m, n ( ) ; Division ; a, b, c, d ; ( ) m : = m a  d BEGIN ; WRITELN ; ( ) n Замыкающая операторная скобка END , означающая КОНЕЦ ПРОГРАММЫ. Используется вместе с другой операторной скобкой BEGIN ( начало). Между этими служебными словами размещается программа на языке Паскаль. После слова END ( в самом конце программы) ставится точка. : = n b  c ; Линейные алгоритмы на Паскале END . кон 1 3 2 5 5 6

        Источник: https://nsportal.ru/shkola/informatika-i-ikt/library/2017/01/20/konspekt-uroka-na-temu-znakomstvo-s-yazykom-paskal

        Первая программа Pascal

        В этом уроке мы с Вами напишем простую программу, которая будет складывать два числа, и выводить их сумму.

        Для начала запустим Free Pascal, и создадим в нём новый файл.

        После напишем стандартные строки, которые мы с Вами уже рассматривали:

        Мы назвали нашу программу Summa через зарезервированное слово program.

        Потом подключили модуль crt — он является стандартным, и его следует всегда подключать для выполнения нужных нам действий. Потом объявили о начале программы и о конце.

        Для нашей программы понадобится две переменных для хранения первого и второго числа, и третья переменная для хранения суммы.

        Для начала разберёмся что же такое переменная.

        Переменная — это именованная ячейка памяти. То есть переменная это своеобразный контейнер, который может хранить в себе какие — то данные. Скажем у нас есть ящик под яблоки, в который мы положили одно яблоко, также и в переменную записали одну букву, потом мы показали что у нас есть в ящике — одно яблоко, также и переменная, мы можем просматривать что есть в ней.

        Переменные в программе должны иметь имена без пробелов, эти имена не должны совпадать с именами зарезервированных слов. И у этих переменных  должен быть прописан свой тип данных. То есть у нас может быть переменная строковая или с целыми числами и т.д.

        В pascal есть достаточное кол-во типов переменных для удобной работы. Для начала рассмотрим тип числовых переменных — то есть вида — 1 2 3 … Этот тип называется Integer. Он позволяет в переменную записывать числа, которые не превышают -32768 и 32767.

        Вот код программы, в котором мы прописали наши переменные:

        Как видите мы добавили новую строку.

        var — это зарезервированное слово, после которого можно прописывать имена переменных, то есть мы можем сами придумать любое имя переменной, у нас это — a b c — их также нужно перечислять через запятую.

        После того как нужные нам переменные мы перечислили, ставим двоеточие и пишем тип переменных, и запомните что для определённой группы переменных можно указывать только один тип, а не несколько сразу.

        Теперь нам нужно двум переменным присвоить какие-то числа. Вы наверное задались вопросом как присваивать данные переменным?

        Всё это осуществляется при помощи знака :=

        Сначала пишем название переменной потом знак присваивания, а после данные, которые хотим присвоить.

        Так и напишим с нашими двумя переменными a и b:

        Мы присвоили переменной a — 4, а переменной b — 3;

        Теперь присвоим сумму этих двух переменных переменной c:

        Мы просто присвоили переменной c сумму двух переменных.

        Теперь нам нужно вывести их на экран, для этого используется команда write, после ставим скобки и внутри пишем имя переменной, которую хотим вывести на экран:

        Источник: http://kvodo.ru/pervaya-programma-pascal.html

        Знакомство с TURBO PASCAL Написание любой программы

        Знакомство с TURBO PASCAL

        Написание любой программы на любом языке программирования по своей сути является ничем иным, как автоматизированной обработкой данных. Для программной обработки в ЭВМ данные представляются в виде величин и их совокупностей. Величина — это элемент данных с точки зрения их смыслового содержания или обработки.

        Переменная — это величина способная изменяться в процессе выполнения программы. Каждая переменная, до работы с ней должна быть описана, т. е. указан тип переменной.

        С понятием величины связаны следующие характеристики: · имя — это ее обозначение и место в памяти; · тип — множество допустимых значений и множество применимых операций к ней; · значение — динамическая характеристика, может меняться многократно в ходе исполнения алгоритма.

        Постоянной называется величина, значение которой не изменятся в процессе исполнения алгоритма. Рассмотрим один из наиболее популярных языков программирования — Паскаль. Для вызова Турбо Паскаля необходимо отыскать в древовидной структуре каталогов ПК каталог PASCAL и в нем файл turbo. exe. После загрузки появляется окно

        Где 2.

        Pas это имя документа и его расширение, F 1 — Справка F 2 — Запись редактируемого текста в файл на диске F 3 — Прочитать текст с диска F 4 — Отладочный режим F 5 — Увеличивает окно отладки на весь экран F 6 — Смена окна редактора на отладочное F 7 — Используется в отладочном режиме для выполнения следующей строки программы; если в строке есть обращение к процедуре (функции), то входит в эту процедуру и останавливается перед исполнением первого ее оператора. F 8 — Используется в отладочном режиме, т. е. выполняет следующую строку программы; если в строке есть обращение к процедуре (функции), исполняет ее и не прослеживает ее работу. Alt-F 9 — Компиляция программы F 10 — Перейти к диалоговому выбору режима работы с помощью главного меню Ctrl-F 9 — Компиляция и выполнение программы Alt-F 5 — Сменить окно редактора на окно вывода результатов работы программы Alt-X — Выход из среды ТУРБО-ПАСКАЛЯ

        Элементы языка Паскаль 26 букв латинского алфавита арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 специальные символы. , + — = * / ; знаки логических операций = — равно — не равно < - меньше > — больше

        Правила языка · Использовать буквы латинского алфавита · Выделять в операторные скобки несколько операторов для одновременного их выполнения · В конце оператора ставить точку с запятой · Смысловые части выделять одинаковым отступлением от начала строки · Выражения записываются в строчку.

        Двухэтажные выражения, верхние и нижние индексы не допускаются. · Используются скобки только одного вида — круглые. · В правильно записанном выражении число открывающих и число закрывающихся скобок должно быть равным. · Нельзя записывать подряд два знака операций.

        · Большие и сложные выражения нужно разбивать на несколько простых выражений, а повторяющиеся действия вычислять отдельно.

        Источник: http://present5.com/znakomstvo-s-turbo-pascal-napisanie-lyuboj-programmy/

        Первое знакомство с языком программирования Turbo Pascal. — презентация

        1 Первое знакомство с языком программирования Turbo Pascal<\p>

        2 История создания языка Паскаль Язык Pascal был предложен Н. Виртом в конце 70-х годов как структурированный учебный язык. Pascal уникален в своём роде — он имел самый быстрый компилятор в мире, в нем впервые была разработана технология создания платформенно независимых программ, которая нашла широкое применение в языке Java. Язык Pascal был предложен Н. Виртом в конце 70-х годов как структурированный учебный язык. Pascal уникален в своём роде — он имел самый быстрый компилятор в мире, в нем впервые была разработана технология создания платформенно независимых программ, которая нашла широкое применение в языке Java. Pascal является языком программирования высокого уровня. Это язык с четкой логической структурой. В роли языка знакомства с миром профессионального программирования он идеален! Pascal является языком программирования высокого уровня. Это язык с четкой логической структурой. В роли языка знакомства с миром профессионального программирования он идеален!<\p>

        3 Вид рабочего окна Turbo Pascal 7.0 «Меню» управления всеми ресурсами ИИО (Интегрированной инструментальной оболочки). Область многооконного текстового редактора. Строка подсказок.<\p>

        4 Клавиши управления F1 – вызов помощи F2 – открыть файл F3 – сохранить файл F10 – вызов меню Alt+F5 – пользовательское окно Alt+Enter – развернутьсвернуть на весь экран Alt+X –выход из программы Shift+стрелки – выделить блок Ctrl+Ins — копировать Shift+Ins – вставить Ctrl+F9 – запустить программу Сtrl+C – принудительная остановка программы<\p>

        5 Файлы Turbo Pascal 7.0 Файлы,написанные в Turbo Pascal 7.0, всегда имеют расширение pas. Файлы,написанные в Turbo Pascal 7.0, всегда имеют расширение pas. Имя файла не должно превышать 8 символов. Допустимыми считаются следующие символы: 26 латинских букв; 26 латинских букв; _ (подчеркивание); _ (подчеркивание); 10 цифр; 10 цифр;<\p>

        6 Структура программы на языке Pascal Program ; {заголовок программы} Program ; {заголовок программы} ; ; Begin {начало программы} Begin {начало программы} ; {раздел исполняемых операторов} ; {раздел исполняемых операторов} End. {конец программы} End. {конец программы}<\p>

        7 Раздел описаний может включать в себя: Uses ; Uses ; Lable ; Lable ; Type ; Type ; Const ; Const ; Var ; Var ; Procedure ; Procedure ; Function ; Function ;<\p>

        8 Пример: Program Summ; Uses crt; Const Q=сумма введенных чисел равна ; Var a, b:integer; S:integer;BeginClrscr; writeln (введите числа); readln (a,b); S:=a+b; writeln (Q,S); readlnend. {заголовок состоит из слова Program и имени программы Summ} {блок описаний включает в себя разделы Uses, Const, Var} {начало программы — слово Begin} {блок исполняемых операторов, тело программы} {конец программы — слово End.}<\p>

        9 Оператор вывода<\p>

        10 Write ( ); Writeln ( ); Оператор вывода Writeln, в отличии от оператора Write, выводит фразы и переменные из списка вывода и переводит курсор на следующую строку Оператор вывода Writeln, в отличии от оператора Write, выводит фразы и переменные из списка вывода и переводит курсор на следующую строку Для вывода на экран фразы ее необходимо заключить в апострофы (одинарные кавычки) Для вывода на экран фразы ее необходимо заключить в апострофы (одинарные кавычки) Для вывода значений нескольких переменных их можно указывать через запятую Для вывода значений нескольких переменных их можно указывать через запятую<\p>

        11 Примеры: В тексте программы Writeln (Привет!); Writeln (Привет!); Writeln (pi:5:2); Writeln (pi:5:2); Writeln (pi:5:2, Exp(1):5:2); Writeln (pi:5:2, Exp(1):5:2); Writeln (число пи равно,pi); Writeln (число пи равно,pi); На экране Привет! Привет! число пи равно 3,14 число пи равно 3,14<\p>

        12 Оператор ввода<\p>

        13 Read ( ); Readln ( ); Оператор ввода позволяет программисту присваивать значение переменным с клавиатуры. Оператор ввода позволяет программисту присваивать значение переменным с клавиатуры. Оператор Readln, аналогично оператору Writeln, переводит курсор на следующую строку Оператор Readln, аналогично оператору Writeln, переводит курсор на следующую строку<\p>

        14 Примеры В программе: Writeln (введите имя); Writeln (введите имя); Readln (name); Writeln (привет, name); Writeln (введите числа); Writeln (введите числа); Readln (a,b) Writeln (вы ввели, a, b); На экране: введите имя введите имя {программа ждет ввода имени и нажатия Enter. Например Вася} Вася привет Вася введите числа введите числа {программа ждет ввода имени и нажатия Enter. Например 12 45} вы ввели 12 45<\p>

        15 Оператор присваивания<\p>

        16 := ; := ; С помощью оператора присваивания можно присвоить вычисленное значение переменной С помощью оператора присваивания можно присвоить вычисленное значение переменной Оператор присваивания применим для любых типов данных главное правило совместимость типов вычисленного выражения и переменной Оператор присваивания применим для любых типов данных главное правило совместимость типов вычисленного выражения и переменной<\p>

        17 Примеры: В программе x:=0; x:=0;x:=x+1; Writeln(введите a и b); Readln (a,b); c:=a*b; Writeln (a*b=,c); На экране {после применения первой операции присваивания x имеет значение 0, а в результате второй операции получает значение 1} {после применения первой операции присваивания x имеет значение 0, а в результате второй операции получает значение 1} введите a и b введите a и b105a*b=50<\p>

        18 Раздел описания переменных<\p>

        19 Var : ; : ; Переменные одного типа обычно перечисляются через запятую, после чего следует двоеточие, имя типа и точка с запятой Переменные одного типа обычно перечисляются через запятую, после чего следует двоеточие, имя типа и точка с запятой Каждая переменная может быть описана только один раз, а любой из типов может повторяться без ограничений Каждая переменная может быть описана только один раз, а любой из типов может повторяться без ограничений<\p>

        20 Примеры: Var a, b, c:integer; Var a, b, c:integer; d, t: real; d, t: real; name: string; name: string; {переменные a, b, c являются переменными целого типа, переменные d и t — действительные переменные, name — строка символов} {переменные a, b, c являются переменными целого типа, переменные d и t — действительные переменные, name — строка символов}<\p>

        21 Основные типы числовых данных<\p>

        22 Integer — целые числа ! Следующие операции не выводят переменную за границы целого типа: умножение, деление на цело, вычисление остатка от деления, сложение, вычитание умножение, деление на цело, вычисление остатка от деления, сложение, вычитание вычисление модуля числа, вычисление квадрата числа вычисление модуля числа, вычисление квадрата числа<\p>

        23 ЦЕЛЫЕ ТИПЫ тип диапазон значений требуемая память Shortint байт Integer байта Longint байта Byte байт Word байта<\p>

        24 Real — действительные числа При выводе действительного числа на экран необходимо указывать его формат Например: В программе На экране a:=17.3; b:=3.4; Writeln (a*b) ; E+01 Writeln (a*b) ; E+01 Writeln (a*b:5:2); 5.88 Writeln (a*b:5:2); 5.88 Число 5 говорит о том, что для выведения числа выделено 5 мест (в примере занято только 4), а число 2 говорит о том, сколько знаков после запятой показывать<\p>

        25 ДЕЙСТВИТЕЛЬНЫЕ ТИПЫ Тип Тип Диапазон значений Количество цифр мантиссы Требуемая память (байт) Real 2.9e e Single 1.5e e Double 5.0e e Extended 3.4e e<\p>

        26 Арифметические операции<\p>

        27 Операция Сложение Сложениеa+b Вычитание Вычитаниеa-b Умножение Умножениеa*b Деление Делениеaba+bc+d Запись в программе Pascal a+b a-b a*b a/b (a+b)/(c+d)<\p>

        28 Пример: Program Square ; {программа вычисляет длину окружности задаваемого радиуса} Uses Crt; Var r, S:Real; beginclrscr; Writeln (введите радиус круга); Readln (r); S:=2*pi*r; Writeln(длина окружности =,S:5:2); Readln;End.<\p>

        29 Упражнения: Составить программу, которая запрашивает три целых числа и вычисляет сумму этих чисел, среднее арифметическое этих чисел. Составить программу, которая запрашивает три целых числа и вычисляет сумму этих чисел, среднее арифметическое этих чисел. Составить программу, которая вычисляет площадь круга по запрошенному радиусу и обеспечивает при выводе результата 2 знака после запятой. Составить программу, которая вычисляет площадь круга по запрошенному радиусу и обеспечивает при выводе результата 2 знака после запятой. *Программы сохраняйте в папке своего класса, в имени файла, указав свою фамилию. *Программы сохраняйте в папке своего класса, в имени файла, указав свою фамилию.<\p>

        Источник: http://www.myshared.ru/slide/939108/

        Структура программы в Pascal

        Итак, на предыдущей странице мы определились со следующими понятиями: program, integer, real, const, var, begin, end, write, writeln, read, readln. Давайте напишем простые программы на Паскале с их использованием. Но сначала выясним, из каких частей состоит программа на Паскале.

        Любая программа на языке программирования Pascal имеет три составляющие: 1) заголовок; 2) раздел описаний; 3) тело программы.

        ✎ 1) Заголовок – это слово Program , после которого идет название программы латиницей и точка с запятой в конце. Название не может начинаться с цифры, не должно совпадать с зарезервированными словами (begin, end, integer и т.п.

        ) или с названиями переменных из раздела описаний (см. ниже), а также недопустимо использование каких бы то ни было символов (‘@’, ‘%’, ‘&’ и т.п.), кроме подчеркивания. Название желательно давать со смыслом, которое отображало бы суть самой программы.

        Но заголовок писать не обязательно.

        ✎ 2) Раздел описаний – Поскольку сначала мы будем рассматривать простейшие задачи, то у нас во втором разделе будет находиться или описание констант, или переменных (см. пп. 4 и 5 статьи Введение в Pascal).

        ✎ 3) Тело программы – блок операторов, в котором записываются команды для выполнения. Начинается этот блок словом begin («начало»), а заканчивается словом end. («конец») с точкой в конце(пп. 6, 7 той же статьи).

        Таким образом, в общем случае программа на Паскале выглядит следующим образом:

        1   2   3   4   5   6   7   8   9   10   Program ; begin ; ; . . . . . . . ; end.

        При решении простейших задач ограничимся сначала целыми числами. Перед тем как начать программировать, укажем простейшие 4 действия над числами в Паскале: «+» − сложение, «-» − вычитание, «*» − умножение, «/» − деление. Как видим, в программировании и математике элементарные действия над числами обозначаются одинаково. Решим следующую задачу:

        Задача. Пусть даны целые числа A и B. Найти их сумму.

        Назовем программу нахождения суммы как Summa. Тогда часть кода, отвечающая за название программы, будет иметь вид:

        1   Program Summa; { программа называется Summa }

        Обозначим сумму чисел A и B через S. Поскольку числа целые, то и сумма будет целым числом. Таким образом, в описании чисел A, B, S будем использовать переменную целого типа integer.

        Но как описать эти числа в разделе описаний – как константы (const) или как переменные (var)? Все зависит от условия задачи. Мы можем числа A и B записать и как константы, и как переменные.

        Но в любом случае сумма S будет переменного типа, поскольку нам неизвестно её значение.

        Итак, пусть дано значение чисел A и B, равное, например, 23 и 76 соответственно. Поскольку мы знаем значения наперед, то A и B будут типа const, а S опишем как var. Учитывая, что описание констант идет перед описанием переменных, раздел описаний в этом случае будет следующим:

        1   2   3   4   5   6   Const A = 23; B = 76; var S: integer;

        Таким образом, тело программы будет состоять из вычисления суммы S и вывода её на экран. В паскале, чтобы вычислить сумму А и В, нельзя просто записать S = A + B; такая запись возможна, если надо проверить, не равно ли число S сумме A + B.

        А чтобы в переменную S записать значение суммы А + В, надо значение этой суммы «присвоить» переменной S, т.е. сумму А + В записать в то место памяти компьютера, которое выделено для переменной S. Это как бы «впихивание» значения одного числа в значение другого.

        Записывается присваивание так:

        S := A + B;

        Для вывода результата используется оператор вывода write с комментарием на экране:

        write('Сумма чисел 23 и 76 равна: S = ', S);

        Объединяя наши 1)заголовок программы, 2)раздел описаний и 3)тело программы, получим небольшой код, который можно скопировать в PascalABC.Net или в другую версию Pascal:

        1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   Program Summa; { программа называется Summa } Const A = 23; B = 76; var S: integer; begin S := A + B; { сумма чисел A и B } writeln('Сумма чисел 23 и 76 равна: S = ', S); readln {

        Источник: https://progmatem.ru/pascal/struktura-programmy-v-paskal.html

        Основные правила написания текста программы на pascal — Pascal

        Первый сеанс работы по написанию новой программы.

        В этом случае надо войти в главное меню (F10), выбрать пункт «File», нажать «Enter», далее в подменю выделить слово «New», нажать «Enter». В этом случае составляемой программе будет автоматически присвоено имя «NONAME.PAS», которое будет высвечено в правом верхнем углу окна EDIT.

        Чтобы дать программе какое-либо иное имя, следует в пункте «File» главного меню выбрать подпункт «Write to» и в появившемся окне набрать желаемое имя программы с указанием имени диска и, если необходимо, имени каталога.

        Выполнив перечисленное, следует нажать «Enter», после чего окно EDIT очистится, в верхнем правом углу окна будет выведено заданное название программы, а в левом верхнем углу будет мерцать курсор, приглашая к вводу с клавиатуры текста новой программы.

        После окончания сеанса набора текста программы или его редактирования, надо сохранить текст на магнитном диске, нажав F2.

        Общая структура программ на языке Паскаль:

        Program Имя программы
        Раздел описаний
        Begin
        Раздел операторов
        End.

        Слова PROGRAM, BEGIN и END выделяют 2 части программы: раздел описаний и раздел операторов. Такая структура обязательна. Любой объект, используемый в программе, должен быть учтен в разделе описаний.

        Иными словами, в разделе описаний должны быть перечислены имена всех используемых в программе меток, констант, нестандартных типов данных, переменных. Кроме того, в разделе описаний приводятся тексты функций и процедур.

        Раздел операторов — это основная часть программы, здесь содержатся команды, составляющие программу.

        Программа, написанная по правилам стандартного языка Паскаль, должна иметь в своем полном варианте (когда в ней задействованы все виды программных объектов) следующую структуру:

        Program имя программы;
        Uses Список используемых модулей
        Label Список меток из основного блока программы
        Const Определение констант программы
        Type Описание типов
        Var Описание переменных
        Procedure Текст процедуры
        Function Текст функции
        Begin
        Основной блок программы
        (раздел операторов)
        End.

        Алфавит языка Турбо-Паскаль состоит из полного набора символов клавиатуры, при этом не различаются строчные и прописные буквы (компилятору безразлична высота букв). Пробел в Турбо-Паскале используется в качестве разделителя отдельных конструкций языка, поэтому слитное написание текста будет ошибочным.

        В первой строке текста обычно объявляется имя программы. Для этого используется слово PROGRAM, которое не может далее использоваться в программе для других целей:

        Program Имя программы;

        «;» — этот разделитель в Паскале означает конец оператора или описания, его использование позволяет размещать несколько операторов в одной строке.

        Во второй строке нашей программы находится раздел определения констант. В нем перечисляются используемые в программе константы и их значения. Слово «CONST» означает, что сразу за ним следует определение одной или нескольких констант. «Определить константу» значит указать ее имя и значение, которое не будет меняться на всем протяжении работы программы. Константа определяется так:

        Const имя константы=значение;

        Имя константы и ее значение разделяются знаком равенства.

        После значения константы обязательно ставится точка с запятой. Значение константы должно оставаться неизменным в ходе вычислений. Попытка изменить значение константы будет расцениваться как ошибка. Константы бывают числовые, символьные и логические.

        В третьей строке программы имеется слово «Var». Оно означает, что раздел определения констант закончился и начинается раздел описания переменных. Переменные используются в для хранения и передачи данных внутри программы. Каждая переменная, используемая в программе, должна быть описана, т.е. в разделе «Var» должны быть указаны имена переменных и типы хранимых в них данных:

        Var имя переменной: тип переменной;

        В Турбо-Паскале имя переменной должно начинаться с латинской буквы, состоять из латинских букв, цифр или знака подчеркивания «_». Имя должно состоять не более чем из 63 символов (больше не воспринимает компилятор). В имени переменной нельзя использовать пробел.

        Источник: https://itteach.ru/pascal/osnovnie-pravila-napisaniya-teksta-programmi-na-pascal

        Знакомство с Turbo Pascal

        Данная рубрика предназначена для тех, кто желает научиться основам программирования на всем известном языке — Pascal/Delphi. Само программирование способствует повышению уровня Вашей логики, позволит немного выучить английский язык, и, конечно же, в будущем Вы сами лично будете разрабатывать программные приложения любой сложности на компьютере.

        Для того, чтобы легче было запомнить новый язык программирования, мы решили все примеры программ, а также их полный код не печатать здесь (в текстовом виде), а высвечивать в картинках.

        Ещё один быстрый метод изучения основ программирования — это проговаривать каждое ваше действие, каждую функцию при программировании вслух.

        Структура Pascal

        В самом начале программы всегда ставится ключевое слово program, после чего дается название Вашей программы. Я назвал её Summa.

        Запомнить: название программы и переменных не должно:

        1. начинаться с цифры (4Summa)
        2. содержать любые буквы русского алфавита (Sумма)
        3. содержать пробелы (Summa chisel).

        Вторая строка описывает тип переменных (красный цвет). В моём случае тип трех переменных (x, y, S) — integer (целое число). Тип переменных может меняться. Но об этом по-позднее.

        Далее идет тело программы. Оно располагается между Begin и end. Именно с этого момента должны выполняться какие-либо действия, функции программы. Begin — начало программы. Это одна из строк, после которой точка с запятой не ставится. В конце программы всегда ставится «жирная» точка.

        Про нее никогда не нужно забывать, иначе Pascal посчитает, что Вы ещё не закончили выполнение программы. Переменные  (я обозначил их синим цветом) позволяют выполнять любые действия в программе. Readln (оператор ввода) позволяет ввести с клавиатуры какое-либо значение (число, текст или символ) и занести его в переменную.

        Вообще по идее Read, с англ. «читать», позволяет вводить значение через пробел, но если добавить хвостик и написать readln, то ввод значения будет осуществляться через Enter. Точно также и для writeln (write — с англ. «писать»), только данный оператор выводит все результаты программы на экран.

        Знак «:= » означает присваивание. То есть в моем случае переменная S присвает значение суммы двух переменных — x и y. Но ни коем случае переменная S не может быть равна сумме двух переменных.

        Почему? Допустим, вначале программы переменная S приравнялась к нулю (S:=0), переменные x и y — два и три (x:=2; y:=3), а затем решили получить сумму x и y и присвоить значение к переменной S:

        S:=0; x:=2; y:=3;

        S:=x+y;

        Если вместо переменных подставить числа, то выйдет:

        0:=2+3;

        Но никак не 0=2+3. Ноль не может быть равен пяти, так как пять больше нуля!

        Pascal очень строгий язык в отношении ошибок. Поэтому не отчаивайтесь, если вверху Паскаля высветится какое-либо сообщение. Обычно в этом случае следует обращать внимание на курсор и ошибка находится где-то рядом с курсором.

        Итак, перейдем к практике. Если у Вас нет программы, то её можно скачать здесь, разархировать и на рабочем столе создать ярлык, где необходимо будет прописать путь к файлу (TURBO.EXE) и, по желанию, в разделе «Экран» в «Режим» переставить точку на «Полноэкранный» и нажать «ОК».

        Запускаем программу и выбираем пункт File>New. Затем переписываем всю основную структуру Паскаля, изображенную на картинке выше. Пробуем её в действии. Если ошибок не допущено, то высветится чёрное окошко, где Вы должны будете ввести любые два числа, а программа найдет их сумму.

        Если программа работает верно, перейдите в режим редактирования (нажав Enter) и напишите ещё две программы, которые бы находили разность и произведение двух чисел. Для этого достаточно в строке S:=x+y; «+» заменить на «-» или «*»  (без кавычек). В следующей статье речь пойдет о основных функциях Паскаля.

        Особое внимание будет уделяться практике на Pascal.

                                                                                        Следующая статья >>

        Источник: http://fortran-new.ru/pascaldelphi/znakomstvo-s-turbo-pascal/

        Создание первой программы в языке Turbo Pascal

        Сохрани ссылку в одной из сетей:

        Создание первой программы.

        Цель:

        Показать студентам управление программой при помощи меню.

        Задачи:

        Воспитательная: повторение уже изученного языка программирования Turbo Pascal.

        Учебная: научить создавать программы.

        Развивающая: развитие внимательности.

        План занятия.

        1. Организационный момент.

        2. Изучение нового материала.

        3. Контрольные вопросы.

        4. Резюме.

        5. Домашнее задание.

        Изучение нового материала.

        Продолжим создание программ на основе уже знакомой программы. Для этого используем не визуальные компоненты TMainMenu и TPopupMenu. Измененная форма с этими компонентами показана на рисунке.

        Как видно из рисунка, на форме добавились еще два компонента. Причем эти компоненты можно располагать где угодно, так как они при компиляции и запуске программы будут не видны.

        Компонент TMainMenu предназначен для добавления к программе главного меню, без которого не обходится практически ни одно из приложений. Чтобы добавить к программе меню, надо выбрать на вкладке Standard компонент TMainMenu. Меню создается с помощью специального редактора.

        Редактор меню вызывается двойным щелчком на объекте MainMenu1. Первоначально меню пустое. В Инспекторе объектов надо открыть категорию Localizable (настраиваемые) и в свойстве Caption (заголовок) ввести название первого пункта, например &Файл и нажать кнопку Enter.

        Редактор меню переключится обратно в проектируемое меню, где появится первый пункт. Теперь опять нажать на клавишу Enter, и система переключится к заголовку Caption для нового пункта. В него вводится очередное название (&Вычислить)и нажать кнопку Enter. То же самое сделаем для кнопки Завершить.

        Когда меню подготовлено, редактор можно закрыть.

        Чтобы выполнить вычисление, выберем пункт меню Вычислить. При щелчке на нем в Проектировщике форм будет создан соответствующий обработчик. Повторно писать ранее созданный код (метод Button1Click) не имеет смысла. Проще и правильнее вызвать метод Button1Click напрямую, передав ему параметр Sender.

        Обработчик события выглядит следующим образом.

        procedure TForm1.N2Click(Sender: TObject);

        begin

        Button1Click(Sender)

        end;

        То же самое сделаем и для кнопки Завершить.

        procedure TForm1.N3Click(Sender: TObject);

        begin

        Button2Click(Sender)

        end;

        Теперь создадим обработчик щелчка мыши на объекте. Такая возможность используется, когда важно просто среагировать на щелчок, не анализируя координаты указателя. Для этого обрабатывают событие OnClick, которое чаще всего используют в таких объектах, как кнопка или переключатель, где знание точных координат указателя мыши не обязательно.

        Такой подход не всегда устраивает разработчика, поэтому в системе имеются еще два события: OnMouseDown (При нажатии кнопки мыши) и OnMouseUp (При отпускании кнопки мыши).

        Они содержат подробную информацию о параметрах щелчка: координаты указателя в рамках клиентской области объекта, на котором выполнен щелчок, тип щелчка (одинарный или двойной), какая кнопка мыши была нажата/отпущена и состояние системных клавиш SHIFT, ALT, CTRL.

        Контекстное меню, вызываемое в сделанном приложении по щелчку правой клавишей мыши, является удобной и стандартной возможностью программ. Компонент TPopupMenu (всплывающее меню) предназначен для создания контекстных меню.

        После того как компонент TPopupMenu размещен на форме, структура меню формируется таким же способом, как и основное меню.

        Единственное отличие состоит в том, что в контекстном меню не может быть нескольких раздело верхнего уровня, так как все пункты располагаются в одном вертикальном столбце.

        Дважды щелкнув на пункта Завершить, в обработчик события можно скопировать раннее созданный оператор завершения работы или ссылку на него.

        procedure TForm1.N5Click(Sender: TObject);

        begin

        Button2Click(Sender)

        end;

        То же самое сделаем для пункта Вычислить

        procedure TForm1.N4Click(Sender: TObject);

        begin

        Button1Click(Sender)

        end;

        Теперь осталось вызвать созданное меню из программы.

        Чтобы добавить в программу обработчик такого события, надо в Проектировщике форм выделить главную форму и в Инспекторе объектов на вкладке Events дважды щелкнуть в строке с надписью OnMouseUp.

        В теле данной процедуры необходимо активизировать контекстное меню PopupMenu1.

        Это осуществляется с помощью метода Popup() с двумя параметрами – координатами верхнего левого угла меню. Только указываются эти координаты в экранной системе отсчета, а не в границах клиентской части программы. Чтобы указать корректное значение координат, надо добавить к ним смещение, определяющее начало клиентской части формы.

        Пересчитать экранные координаты точки щелчка в координаты клиентской области можно с помощью метода GetClientOrigin. Эта функция обращается к стандартным функциям Windows и возвращает корректное значение смещения. Результирующее значение имеет тип TPoint (Координатная точка), представляющий собой запись из двух элементов; X и Y.

        procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;

        Shift: TShiftState; X, Y: Integer);

        var P:TPoint;

        begin

        P:=GetClientOrigin;

        IF Button = mbRight then PopupMenu1.Popup(P.X+X,P/Y+Y);

        end;

        Тип TMouseButton является перечислимым типом и содержит значения mbLeft, mbRight, mbMiddle (признаки использования левой, правой и средней кнопок мыши). Тип TShiftState представляет собой множество: так как можно выполнить, например, двойной щелчок, одновременно удерживая нажатыми клавиши ALT и SHIFT, необходимо проверять комбинации допустимых значений.

        Полный листинг программы приведен

        unit vrun1;

        interface

        uses

        Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

        Dialogs, StdCtrls, Menus;

        type

        TForm1 = class(TForm)

        Edit1: TEdit;

        Edit2: TEdit;

        Label1: TLabel;

        Label2: TLabel;

        Label3: TLabel;

        Label4: TLabel;

        Button1: TButton;

        Button2: TButton;

        MainMenu1: TMainMenu;

        PopupMenu1: TPopupMenu;

        N1: TMenuItem;

        N2: TMenuItem;

        N3: TMenuItem;

        N4: TMenuItem;

        N5: TMenuItem;

        procedure Button1Click(Sender: TObject);

        procedure Button2Click(Sender: TObject);

        procedure N2Click(Sender: TObject);

        procedure N3Click(Sender: TObject);

        procedure N5Click(Sender: TObject);

        procedure N4Click(Sender: TObject);

        procedure FormMouseUp(Sender: TObject; Button: TMouseButton;

        Shift: TShiftState; X, Y: Integer);

        private

        { Private declarations }

        public

        { Public declarations }

        end;

        var

        Form1: TForm1;

        implementation

        {$R *.dfm}

        procedure TForm1.Button1Click(Sender: TObject);

        var

        dist : integer;

        t: real;

        min : integer;

        sek : integer;

        v: real;

        begin

        dist := StrToInt(Edit1.Text);

        t := StrToFloat(Edit2.Text);

        min := Trunc(t);

        sek := Trunc(t*100) mod 100;

        v := (dist/1000) / ((min*60 + sek)/3600);

        label4.Caption := 'Дистанция: '+ Edit1.Text + ' м' + #13 +

        'Время: ' + IntToStr(min) + ' мин ' +

        IntToStr(sek) + ' сек ' + #13 +

        'Скорость: ' + FloatToStrF(v,ffFixed,4,2) + ' км/ч';

        end;

        procedure TForm1.Button2Click(Sender: TObject);

        begin

        Form1.Close;

        end;

        procedure TForm1.N2Click(Sender: TObject);

        begin

        Button1Click(Sender)

        end;

        procedure TForm1.N3Click(Sender: TObject);

        begin

        Button2Click(Sender)

        end;

        procedure TForm1.N5Click(Sender: TObject);

        begin

        Button2Click(Sender)

        end;

        procedure TForm1.N4Click(Sender: TObject);

        begin

        Button1Click(Sender)

        end;

        procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;

        Shift: TShiftState; X, Y: Integer);

        var P:TPoint;

        begin

        P:=GetClientOrigin;

        IF Button = mbRight then PopupMenu1.Popup(P.X+X,P/Y+Y);

        end;

        end.

        Контрольные вопросы

        1. Для чего предназначен компонент TMainMenu? Как создается данное меню?

        2. Для чего предназначен компонент TPopupMenu? Как создается данное меню?

        3. Вызов контекстного меню. Метод вызова.

        Резюме

        1. Компонент TMainMenu предназначен для добавления к программе главного меню, без которого не обходится практически ни одно из приложений. Меню создается с помощью специального редактора

        2. Компонент TPopupMenu (всплывающее меню) предназначен для создания контекстных меню. После того как компонент TPopupMenu размещен на форме, структура меню формируется таким же способом, как и основное меню.

        3. Теперь осталось вызвать созданное меню из программы.

          Чтобы добавить в программу обработчик такого события, надо в Проектировщике форм выделить главную форму и в Инспекторе объектов на вкладке Events дважды щелкнуть в строке с надписью OnMouseUp.

          В теле данной процедуры необходимо активизировать контекстное меню PopupMenu1.

          Это осуществляется с помощью метода Popup() с двумя параметрами – координатами верхнего левого угла меню.

        Домашнее задание

        Написать собственную программу.

        Источник: https://works.doklad.ru/view/UFZ9yPZZ3_k.html

        Ссылка на основную публикацию