Turbo_paskal_po_vetvlenie.ppt
- Количество слайдов: 51
Тема : “Система программирования Турбо Паскаль
Первое знакомство с системой программирования Турбо Паскаль появился на рынке программных продуктов в 1984 году и совершил настоящую революцию в программировании. Турбо Паскаль состоит из языка программирования и среды, которая обеспечивает удобную и производительную работу. Изучение Паскаля как языка программирования идет вместе с изучением всей системы Турбо Паскаль.
Язык программирования Паскаль был разработан Н. Виртом в 1968− 1970 годах и получил широкое распространение благодаря наглядности программ и легкости изучения. Он послужил основой для разработки других языков программирования (например, Ада, Модула− 2). Первая версия Турбо Паскаля использовалась не очень долго − она появилась в 1983 году, а уже в 1984 году ее заменила вторая версия, которая получила широкое распространение. К осени 1985 года появляется третья версия, еще более удобная в работе. Четвертая версия (1988 год) представила Турбо Паскаль в новом виде (появилась новая среда, компилятор стал встроенным).
Осенью этого же года вышла пятая версия, в которой появился встроенный отладчик. А в 1989 году появилась версия 5. 5, позволившая перейти к объектно−ориентированному программированию. Шестая версия уже обеспечивала многооконный и многофайловый режим работы, использование мыши, применение объектно−ориентированного программирования, обладала встроенным ассемблером и имела другие возможности.
В 1992 году фирма Borland International выпустила два пакета программирования на языке Паскаль − это Borland Pascal 7. 0 и Turbo Pascal 7. 0. Пакет Turbo Pascal 7. 0 использует новейшие достижения в программировании. Он может использоваться практически на любой машине и относительно дешев. Язык этой версии обладает широкими возможностями, имеет большую библиотеку модулей. Среда программирования позволяет создавать тексты программ, компилировать их, находить и исправлять ошибки, компоновать программы из отдельных частей, использовать модули, отлаживать и выполнять программы.
Основные элементы языка Алфавит языка составляют буквы латинского алфавита, цифры, а также специальные символы, такие, например, как +, -, *. Зарезервированные слова, такие как Program, Begin, End, Writeln, Readln и т. д. , в языке Паскаль могут применяться только по своему прямому назначению, то есть в качестве имен операторов, названий операций и т. д.
Некоторые символы имеют специальное назначение: : = Присваивание переменной значения выражения. ; Разделитель операторов в программе. ( )Скобки для арифметических и логических выражений. : Разделитель в описаниях переменных. . Многоточие для списков. + Бинарные операции (не только арифметические). * - умножить / - разделить. Конец программы или модуля. ' Ограничители константы строкового типа. { } Пары скобок для комментариев. (* *) Пары скобок для комментариев. , Разделитель элементов списка. [ ] Скобки для ссылки на элемент массива или указания диапазона значений индекса.
Числа в языке Паскаль записываются в десятичной системе счисления и могут быть целыми и действительными (вещественными), положительными и отрицательными. Положительный знак числа (+) может быть опущен. Действительные числа изображаются в естественной и экспоненциальной форме. В естественной форме число должно содержать десятичную точку, применяемую вместо десятичной запятой, причем число не может начинаться и оканчиваться точкой.
Примеры правильной записи действительных чисел в естественной форме: 4. 7 -0. 71 +151. 75 150. 00067 0. 0 Примеры неправильно записанных чисел: 15. – оканчивается точкой; . 65 – начинается с точки; 155. 27. 54 – содержит две точки.
Экспоненициальная (полулогарифмическая) форма записи используется для представления очень больших и очень маленьких чисел, которые нелегко изобразить обычной десятичной записью. Например, масса покоя электрона приблизительно равна 9, 1*10 -31 кг. При записи таких чисел в языке Паскаль часть числа, которая читается как "умножить на десять в степени", обозначается буквой Е и число в программе выглядит следующим образом: 9. 1 Е-31. Цифры, предшествующие букве Е, образуют мантиссу числа, цифры, следующие за буквой Е, порядок. Следует помнить, что при написании числа мантисса не должна отсутствовать или начинаться и оканчиваться точкой.
Примеры правильно записанных чисел в экспоненциальной форме: -0. 131 Е 5 50 Е 7 -5 Е-02 123. 7 Е-5 Примеры неправильно записанных чисел в экспоненциальной форме: Е-05 – отсутствует мантисса; -5. Е 02 – мантисса числа оканчивается точкой; -Е 12 – отсутствует мантисса.
Имена (идентификаторы) служат для обозначения различных объектов и конструкций программы и отличаются от служебных слов программы тем, что выбираются (назначаются) самим программистом по следующему правилу: имя должно состоять из букв и цифр, но первым символом может быть только буква. Длина имени во многих реализациях языка не ограничивается, однако рекомендуется, чтобы она не превышала 6− 8 символов. Имена используются для обозначения данных – величин, над которыми производятся некоторые действия.
При выборе имени рекомендуется придерживаться следующих правил: 1) имя должно быть уникальным (каждому имени должен соответствовать лишь один обозначаемый объект и наоборот), в противном случае соответствие между именем и обозначаемым объектом будет неоднозначным; 2) в качестве имен не разрешается использовать служебные слова; 3) в языке определен некоторый набор заранее предопределенных имен, их называют стандартными; программист может переопределить эти имена (использовать не по стандартному назначению), но делать это не рекомендуется; 4) длинные имена или имена, состоящие из нескольких слов, следует сокращать.
Постоянные величины, значения которых не меняются в процессе выполнения программы, называются константами. Константы в программе могут быть представлены либо непосредственно своим значением (числом, строкой), либо именем. Величины, значения которых могут изменяться в процессе выполнения программы, называются переменными. Переменные в программе могут быть представлены в программе только именем.
Первая программа Программа начинается с заголовка, имеющего следующий вид; Program <имя программы>; За ним идут разделы описаний, в которых должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе. После разделов описаний идет раздел операторов, который начинается со служебного слова Begin и заканчивается служебным словом End. В этом разделе задаются действия над объектами программы. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова End ставится точка.
Первая программа: Program Proizvedenie_1; Var a, b, rez: Integer; Begin Writeln('Введите два числа через пробел'); Readln(a, b); rez: =a*b; Writeln('Их произведение равно ', rez); Writeln('Нажмите <Enter>'); Readln; End.
Пояснения к программе Имя этой программы Proizvedenie_1. В имени программы не должно быть пробелов, оно должно начинаться с буквы, состоять только из латинских букв, цифр и некоторых специальных символов (в нашем примере использован символ "подчеркивание"). Из разделов описаний имеется лишь один − раздел описания переменных. Он начинается со служебного слова Var, после которого идет последовательность объявлений переменных, разделенных точкой с запятой. В нашем примере описаны три переменные: все они (a, b и rez) имеют целый тип (integer), то есть значения переменных этого типа − целые числа.
После раздела описаний переменных идет раздел операторов, начинающийся со служебного слова Begin, после которого расположены операторы языка. Первый оператор − это Writeln('текст') − записать (вывести) на экран текст, заключенный между апострофами, Ln добавляется в конце этого оператора для того, чтобы курсор автоматически переходил в начало следующей строки.
Следующий оператор − Readln(a, b) − читать данные с клавиатуры. В данном случае необходимо ввести два целых числа через пробел, тогда переменной а присваивается значение, равное первому введенному числу, а переменной b присваивается значение, равное второму введенному числу. Например, вы ввели числа 12 и 45, тогда а=12, а b=45. В конце этого оператора также можно ставить Ln.
После этих двух операторов стоит оператор присваивания: rez: =a*b; (: = − это знак присваивания в языке Паскаль). При выполнении этого оператора переменная rez получит значение, равное произведению числа а на число b. Так как в результате умножения двух целых чисел получается целое число, то переменная rez описана как целая (integer).
Следующий оператор − это снова оператор вывода Writeln('текст', rez) − он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez. Затем следующий оператор − Writeln − выведет на экран сообщение <Нажмите [Enter]>, а оператор Readln будет ожидать нажатия указанной клавиши. В конце раздела операторов стоит служебное слово End, после которого ставится точка.
Важной частью исходного текста программы являются комментарии. Комментарий представляет собой текст, который находится между фигурными скобками. Грамотное и уместное применение комментариев упрощает понимание программы, облегчает жизнь ее автору и программистам, работающим с уже готовым текстом. У фигурных скобок есть и нестандартное применение во время отладки программы часто возникает необходимость временно убрать из программы какие-то операторы, сохранив, тем не менее, их запись. Простейший способ − заключить соответствующий фрагмент программы в фигурные скобки.
Запуск программы Для того чтобы запустить программу, необходимо выйти в главное меню (например, посредством клавиши [F 10] и выбрать режим Run. После запуска программы на экране появится сообщение: Введите два целых числа через пробел Курсор окажется в следующей строке. Затем надо ввести два целых числа через пробел и нажать клавишу [Enter]. Появится сообщение: Их произведение равно. . . Вместо точек будет напечатано значение переменной rez, то есть число, равное произведению первого введенного числа на второе. Это сообщение останется на экране до тех пор, пока не будет нажата клавиша [Enter].
Сохранение программы Для того чтобы сохранить программу, необходимо выйти в главное меню и выбрать пункт File. Затем в появившемся вертикальном меню надо выбрать пункт Save as. . . Появится окно, в котором можно ввести имя файла. Например, а: prim 1_1. pas; здесь а: − это название диска, "" − каталог (корневой), prim 1_1 − имя файла (оно может содержать не более 8 символов), . pas − расширение, указывающее, что файл содержит программу, написанную на языке Паскаль. После того как имя файла набрано, нажмите клавишу [Enter].
Примечание. Следует знать список символов, которые нельзя употреблять в именах файлов: * = + [ ] | ; : , . <>/? . Также не следует использовать в именах файлов символ пробела и буквы русского алфавита. Для того чтобы закончить работу, необходимо выбрать пункт Quit в меню File или просто набрать комбинацию клавиш Alt+X.
Чтобы протокол программы выводился при новом запуске на чистый экран, добавим в программу процедуру Clr. Scr, которая находится в модуле CRT и используется для очистки экрана. Теперь наша первая программа будет иметь следующий вид:
Program Proizvedenie_1; Uses CRT; Var a, b, rez: Integer; Begin Clr. Scr; Writeln('Введите два числа через пробел'); Readln(a, b); rez: =a*b; Writeln('Их произведение равно ', rez); Writeln('Нажмите <Enter>'); Readln; End.
Команды редактора Команды управления движением курсора n − - перемещение курсора на символ вправо; n n n n n − -перемещение курсора на символ влево - перемещение курсора на строку вверх; − перемещение курсора на строку вниз; [Home] − перемещение курсора в начало текущей строки; [End] − перемещение курсора в конец текущей строки; [Page Up] − перемещение курсора на страницу вверх; [Page Down] − перемещение курсора на страницу вниз; Примечание. Страница − это один экран (21 строка). [Ctrl^Home] − перемещение курсора в левый верхний угол экрана; [Ctrl^End] − перемещение курсора в левый нижний угол экрана.
Команды вставки и удаления текста n [Insert] − включение и выключение режима вставки; n n n Примечание. Если режим вставки включен, то курсор имеет вид горизонтальной мигающей черточки. В режиме вставки набираемый символ вводится в позицию, в которой стоит курсор, а все символы (начиная с символа, стоявшего в позиции курсора), расположенные правее, сдвигаются вправо. Если режим вставки выключен, то набираемый символ заменит тот символ, который находился в позиции курсора, таким образом можно старый текст заменить на новый. [Delete] − удаление символа, стоящего в позиции курсора; [Back Space] − удаление символа, стоящего слева от курсора; [Ctrl^N] − вставка пустой строки над строкой, в которой находится курсор; [Ctrl^Y] − удаление строки, в которой находится курсор.
Стандартные функции в языке Паскаль В языке Паскаль имеется много стандартных функций для работы с вещественными числами. Перечислим наиболее часто используемые: Abs(x) абсолютное значение х Sqr(х) квадрат х Sqrt(x) квадратный корень из х Trunc(х) целая часть х Round(х) ближайшее к х целое число Эти функции работают с вещественными числами ( типа REAL)
Стандартные функции в языке Паскаль Пример Записать на языке Паскаль формулу: Линейная форма записи имеет вид: (2*SQR(X)+SQRT(SQR(X)*X))/(A+B)
Целый тип данных
Целый тип данных В Паскале имеется несколько целых типов : пока изучаем Integer (диапазон возможных значений -32768. . . 32767) и Longint (диапазон возможных значений - 2147483648. . 2147483647) – работа с длинными числами К данным целого типа можно применять операции "+" − сложение, "—" − вычитание, "*" − умножение и некоторые другие.
Так как в результате деления одного целого числа на другое не всегда получается целое число, то имеются операции: div − целая часть от деления; mod − остаток от деления. Примеры: 19 div 4=4; 12 div 4=3; 19 mod 4=3; 12 mod 4=0; Для быстрой работы с целыми числами определены процедуры: Inc(X) X: =X+1 Inc(X, N) X: =X+N Dec(X) X: =X-1 Dec(X, N) X: =X-N
Пример 1 Дано целое трехзначное число а. Написать программу выделения количества сотен и количества единиц этого числа. Program Example_1; Var a, a 1, c: integer; begin Writeln('Введите трехзначное число'); Readln(a); a 1: =a mod 10; c: =a div 100; Writeln('Количество единиц=', a 1, 'Количество сотен=', c); end.
Пример 2 Дано целое трехзначное число а. Написать программу, которая выделяет цифры этого числа и подсчитывает их сумму Program Example_2; Var a, a 1, b, c, d: integer; begin Writeln('Введите трехзначное число'); Readln(a); a 1: =a mod 10; b: =a div 10; c: =b mod 10; d: =b div 10; Writeln(‘Summa zifr=', a 1+c+d); Readln; end.
Домашнее задание: Записать на языке Паскаль Написать программу решения задач: № 6 Написать программу подсчета среднего арифметического 3 -х задаваемых чисел № 7 Длина стороны треугольника равна А, периметр равен Р, длины двух других сторон равны между собой. Найти эти длины. № 8 Написать программу, которая задает четырехзначное число и подсчитывает их сумму
Логический тип данных
Логический тип данных Переменные логического типа описываются с помощью идентификатора Boolean. Они могут принимать только два значения − FALSE (ложь) и TRUE (истина). Переменные логического типа обычно получаются в результате выполнения операций сравнения (отношения): "<" (меньше), ">" (больше), "≤" (меньше или равно), "≥" (больше или равно), "<>" (не равно), "=" (равно). Результат операции отношения равен TRUE, если отношение удовлетворяется для значений входящих в него операндов, и FALSE в противном случае.
В языке Турбо Паскаль имеются логические операции, применяемые к переменным логического типа. Обозначения и результаты этих операций приведены в таблице Значения операндов x y Результат операции not X X and Y X or Y X xor Y false true false true false true false true false
Логические операции, операции отношения и арифметические операции часто встречаются в одном выражении. При этом отношения, стоящие слева и справа от знака логической операции, должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет. Вообще принят следующий приоритет операций: • not; • and, *, div, mod; • or, xor, +, —; • операции отношения. Кроме того, порядок выполнения операций определяется скобками. Например, в логическом выражении A or В and not (A or В) сначала выполняется заключенная в скобки операция or, а затем операции not, and, or.
Условный оператор имеет вид: If <условие> Then <оператор1> Else <оператор2> Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Если условие истинно, то выполняется <оператор 1>, в противном случае − <оператор 2>. Если в качестве оператора должна выполниться серия операторов, то они заключаются в операторные скобки Begin-End.
Разбор условного оператора можно выполнить на следующем простом примере Пример 1 Вывести на экран большее из двух данных чисел. Program Example_17; Var x, y: Integer; Begin Writeln('введите 2 числа'); Readln(x, у) ; If x>y Then Writeln(x) Else Writeln(у); Readln; Примечание. Обратите внимание на то, что перед служебным словом Else разделитель − End. точка с запятой − не ставится
Программирование разветвляющихся алгоритмов
Неполный условный оператор имеет вид: If <условие> Then <оператор>; Ветвь Else может отсутствовать, если в случае невыполнения условия ничего делать не надо. Например, рассмотрим следующую задачу: если значение переменной х меньше 0, то поменять его на противоположное. Задача решается с помощью такого условного оператора: If x<0 Then x: =-x; Если в условном операторе имеется ветка Else, он называется полным, в противном случае − неполным
Пример 2 Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (0; 5). Решение Prugram Example_18; Var x: Integer; Begin Writeln('Введите число х'); Readln(х); If (x>0) and (x<5) Then Writeln (х, ' принадлежит (0, 5)') Else Writeln(x, ' не принадлежит (0, 5)'); Readln; End.
Вложенные условные операторы При решении задач часто приходится рассматривать не два, а большее количество вариантов. Это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов Then и Else записывается новый условный оператор. Пример Даны целые числа а, b, с. Если а<b<с, то все числа заменить их квадратами, если а>b>с, то каждое число заменить наименьшим из них, в противном случае сменить знак каждого числа.
Решение Условие задачи перепишем следующим образом: а: =а 2, b: =b 2, c: =c 2, если а≤b≤с а: =с, b: =с, если а>b>с а: =-а, b: =-b, с: =-с − в остальных случаях. Program Example_20; Var a, b, c: Integer; Begin Writeln('Введите числа а, b, с'); Readln(a, b, с); If (a<=b) and (b<=c) Then Begin a: =sqr(a); b: =sqr(b); c: =sqr(c) End Else If (a>b) and (b>c) Then Begin a: =c; b: =c End Else Begin a: =-a; b: =-b; c: =-c End; Writeln(a: 3, b: 3, c: 3); Readln End.
Решение задач в классе: 1. Написать программу, которая определяет, делится ли число A на число B без остатка 2. Вводятся 2 числа A, B. Написать программу, которая меньшее из них заменяет нулем, а в случае их равенства заменяет нулями оба 3. Задаются 3 числа x, y, z. Написать программу, которая задает P как максимальное из y и z, если x<0. И задает P как минимальное из y и z , если x>=0.
Вложенные условные операторы Определить по номеру года, является ли он високосным. Пример выдачи результата: 2000 – високосный год 1900 – невисокосный год. Примечание. Год является високосным тогда и только тогда, когда его номер делится на 4 или, если номер года оканчивается на два ноля, − 400. Program Example_29; var n: integer; begin writeln('Введите год: '); readln(n); if n mod 100=0 then begin if n mod 400=0 then writeln(n, '- високосный год') else writeln(n, '-невисокосный год’); end else begin if n mod 4=0 then writeln(n, '-високосный год') else writeln(n, '-невисокосный год'); end; readln; end.
Домашнее задание: Написать программу решения задач: № 60 Написать программу, которая определяет, принадлежит ли точка х отрезку [a, b]. № 70 Условия приема на работу по конкурсу требуют 20 лет рабочего стажа и возраст не более 42 лет. Определить, будет ли человек принят на работу. Результат вывести на экран № 80 Написать программу решения квадратного уравнения вида ax 2+bx+c=0.
Turbo_paskal_po_vetvlenie.ppt