Знакомство со средой turbo pascal

Оглавление

 
 
   

Работа 1…………………………………………………………………

Знакомство со средой Тurbo Pascal…………………………….………………

1. Введение……………………………………………………………..

2. Начало работы в среде Turbo Pascal………………………………..

3. В конце работы Вы должны уметь…………………………………

Работа 2…………………………………………………………..…….

Ввод и вывод информации……………….……………………………….. ………

I. Теоретический раздел работы……………………………………………...

1. Введение………………………………………………………..……

2. Структура программы на языке Паскаль………………...………..

3. Типы данных в языке Turbo Pascal…………………………………

4. Ввод и вывод данных……………………………………………….

II. Экспериментальный раздел работы……………………………………..

III. Дополнительный материал………………………………………………

IV. Раздел заданий для самостоятельной работы………………………….

Работа 3…………………………………………………………………

Расчет по формулам………… …………………………………………. . ………

I. Теоретический раздел работы………………………………………….….

1. Некоторые понятия лексика языка Turbo Pascal……………………

2. Представление вещественных чисел на ЭВМ……………………..

3. Оператор присваивания…………………………………………….

4. Алгебраические выражения…………………………….………….

5. Описание пользовательских подпрограмм-функций…………….

II. Экспериментальный раздел работы……………………………………..

III. Раздел заданий для самостоятельной работы………………………….

Работа 4…………………………………………………………………

Целочисленная арифметика……………………………………………. ……….

I. Теоретический раздел работы…………………………………………….

1. Некоторые сведения о целых типах данных…………………….…

2. Операции над целыми типами данных…………………………….

3. Представление целых чисел в компьютере……………………….

4. Некоторые стандартные подпрограммы для работы с целыми числами………………………………………………………………….

II. Экспериментальный раздел работы………………………………………

III. Раздел заданий для самостоятельной работы…………………………..

Работа 5………………………………………………………………...

Логический тип данных………………………………………………….. ……….

I. Теоретический раздел работы……………………………………………..

1. Некоторые сведения о логическом типе данных……………………

2. Логические выражения…………………………………………….

3. Основные законы алгебры логики…………………………………

4. Побитовые операции над целыми числами ………………………

II. Экспериментальный раздел работы……………………………………..

III. Раздел заданий для самостоятельной работы…………………………..

Работа 6………………………………………………………………...

 
Условные операторы………………………………………………………….…..

I. Теоретический раздел работы…………………………………………….

1. Введение……………………………………………………….…………

2. Оператор условного перехода if … then … else………………………..

3. Условный оператор case …of…………………………………………..

II. Экспериментальный раздел работы…………………………………….

III. Раздел заданий для самостоятельной работы…………………………..

Работа 7………………………………………………………………..

Оператор цикла с предусловием…………….…………………………………

I. Теоретический раздел работы………….………………………………….

1. Введение………………………………………………….…………

2. Оператор цикла while… do…………………………………………

II. Экспериментальный раздел работы…………………………………….

III. Раздел заданий для самостоятельной работы………………………….

Работа 8………………………………………………………………..

Оператор цикла с постусловием……..………..………………………………

I. Теоретический раздел работы…………………………………………….

1. Введение…………………………………………………………….

2. Оператор цикла repeat … until……………………………………..

3. Суммирование рядов……………………………………………….

II. Экспериментальный раздел работы…………………………………….

III. Раздел заданий для самостоятельной работы………………………….

Работа 9…………………………………………………………….…

Оператор цикла с параметром…………………………………………….…..

I. Теоретический раздел работы………………………………….……….

1. Введение………………………………………………………….…

2. Оператор цикла for … do……………………………….…………..

3. Операторы завершения цикла…………..…………………………

4. Тип данных массив……………………..………………………….

5. Алгоритм Горнера…………………………………………………

II. Экспериментальный раздел работы…………………………………….

III. Раздел заданий для самостоятельной работы………………………….

Список литературы…………………………………………..………………

Работа 1

ЗНАКОМСТВО СО СРЕДОЙ TURBO PASCAL

Цель работы:

- познакомиться с основными правилами работы в инструментальной среде программирования Turbo Pascal;

- выработать практические навыки работы в ней.

Введение.

Язык Pascal, созданный профессором Н. Виртом в начале семидесятых годов, благодаря своей простоте и стройности, получил широкое распространение как средство обучения программированию. В восьмидесятые годы фирмой Borland была разработана инструментальная среда Turbo (Borland) Pascal, позволяющая создавать тексты программ, компилировать их, находить и исправлять ошибки, компоновать программы из отдельных частей, использовать модули, отлаживать и выполнять программу. Идеи, заложенные в ней, нашли свое дальнейшее развитие в Delphi и других инструментальных средах. Но работа с ними ещё впереди, а сначала нужно овладеть азами программирования, и Turbo Pascal позволит сделать это как нельзя лучше.

Начало работы в среде Turbo Pascal.

Вызов Turbo Pascal.

Для входа в среду Turbo Pascal необходимо отыскать файл с именем

turbo.exe (или bp.exe)

После его запуска на экране появится окно программы. В верхней строке экрана расположено «меню» возможных режимов работы Турбо Паскаля, нижняя строка содержит справку о назначении основных функциональных клавиш. (Функциональные клавиши используются для управления средой. Они обозначаются F1,F2...F12, и располагаются в самом верхнем углу клавиатуры.) Вся остальная часть экрана принадлежит окну редактора, очерченному двойной рамкой и предназначенному для ввода и коррекции текстов программ. В верхней строке окна редактора помещается имя файла. Здесь же расположены два специальных поля для работы с мышкой.

Войдите в среду Turbo Pascal и внимательно изучите содержимое экрана. Для выхода из Турбо Паскаля следует нажать клавиши Alt + X.

Использование меню.

Для перехода в меню следует просто нажать клавишу F10 или, поместив на один из его пунктов (их называют опции) курсор мыши, щелкнуть её левой клавишей. Для возврата в редактор нажмите Esc или щелкните мышью в любом месте экрана. Перемещаться по вариантам меню можно с помощью клавиш «стрелка влево» и «стрелка вправо».

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

Если нажать клавишу Enter или «стрелка вниз», находясь на одном из пунктов меню, то появиться дополнительное меню (подменю), обведенное одинарной рамкой. Понажимайте эти клавиши.

Выбрать какой-нибудь пункт из подменю можно, нажав клавишу с соответствующей выделенной буквой, либо установив курсор на нужный пункт и нажав клавишу Enter. Кроме этого некоторые часто используемые опции можно вызвать непосредственно из режима редактирования. Справа от таких опций в меню указывается клавиша или комбинация клавиш, которая позволяет сделать это. Заметим, что некоторые пункты меню бывают светло-серыми. Они не доступны в данный момент. Если Вы их выберете, то никаких действий выполняться не будет.

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

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

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

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

Теперь давайте в окне редактора наберем текст небольшой программы на языке Turbo Pascal. Пока не будем комментировать её содержание, а только скажем, что она позволяет вычислять значение функции знакомство со средой turbo pascal - student2.ru для знакомство со средой turbo pascal - student2.ru . Откроем через File/New новый файл и введем текст следующей программы.

program Example_01;

var x,y:real;

begin

x:=3.25;

y:=x*x-3*x+5;

writeln(‘y=’,y);

readln

end.

Теперь откомпилируем программу. В результате компиляции получится исполняемый файл с тем же именем, но расширением exe. Этот файл может выполняться независимо от среды программирования, к примеру, в DOS или Windows. Для компиляции программы достаточно нажать Alt + F9, что соответствует пунктам Compile/Compile.

Если при наборе программы не было совершено ошибок, то появится окно информации об успешно откомпилированном файле Compile successful! Press eny key. Теперь можно приступить к запуску программы с помощью комбинации клавиш Ctrl+F9 или, используя меню Run/Run.( Для возврата в среду программирования нажмите Enter)

Поэкспериментируйте с текстом программы, убирая некоторые символы. В каких случаях будут появлятся сообщения: Unexpected end of file; Unknow identifier; Error in expression; ‘;’ expected; BEGIN expected ?

Работа с файлами

Основной формой хранения текстов программ являются файлы. После набора программы, её следует сохранить, т.к. в процессе отладки компилятор может «зависнуть» и набранная информация исчезнуть. Для сохранения текста программы в файле нажмите клавишу F10 и далее, перемещая курсор, выберите пункт File/Save as… . Он отличается от пункта Save тем, что при его исполнении создается файл с новым именем. В появившемся окне сохранения файлов наберём имя нашего файла, к примеру, examp_01.pas. Расширение имени pas указывает на то, что программа написана на языке Pascal. Теперь нажмите клавишу Enter, и среда программирования запишет Ваш файл на диск.

Советуем файлы записывать в Ваш рабочий каталог. Для этого надо выбрать пункт меню File/Change dir - в специальном окне Вы увидите дерево каталогов, путешествуя по которому найдите нужный.

Познакомимся с подменю File/Open. Три точки в конце названия Open ...означают, что при вызове этого пункта подменю высветится панель диалога. Она содержит целый ряд элементов управления. Курсор мигает в строке ввода Name. Сюда можно ввести имя файла, с которым Вы хотите работать. Однако давайте пока с помощью клавиши Tab поперемещаемся между элементами управления панели диалога. Пройдите полный круг в одном направлении, а при нажатой клавише Shift, с помощью той же клавиши Tab – в обратном направлении.

Маленькая стрелочка в конце строки Name позволяет вызвать еще одно окно – «окно истории». В нем можно увидеть все, что набиралось во время текущего сеанса работы и, если необходимо, выбрать нужный файл.

На панельке “Files” также можно выбрать имя необходимого файла из представленного там списка. Поперемещайтесь по этой панеле, используя клавиши End, Home, PgUp и PgDn, а также воспользовавшись линейкой прокрутки.

После имен файлов на панеле Files следуют имена подкаталогов, которые заканчиваются символом « \ » - обратный слэш. В частности, в самом конце, мы видим “..” , т.е. вышележащий подкаталог. Войдите в него, а для тренировки просмотрите другие подкаталоги.

Изучите назначение оставшихся кнопок панели Open. Подробнее рассмотрите возможности пункта Open на основе справочной службы и вспомните про совет о записи в лабораторный журнал.

Меню Edit

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

В меню Edit есть следующие команды:

Edit/Undo (Отменить)

Команда Undo отменяет последнюю команду редактирования, которую вы применили к строке. Она может также отменять Ctrl-Y. Отмена работает только для последней измененной или удаленной строки.

Edit/Redo (Повторить)

Команда Redo отменяет последнюю команду Undo, которую вы выполнили для строки. Установите Group Undo в диалоговом окне Options|Environment|Editor Editor Options, чтобы применять команду Undo для более чем одного нажатия клавиши.

Edit/Cut (Shift-Del) (Вырезать)

Команда Cut удаляет выбранный текст из вашей программы и помещает его в буфер обмена. Затем вы можете выбрать Edit/Paste, чтобы вставить вырезанный текст в любую другую программу (или в другое место данной программы). Текст остается в буфере обмена, так что вы можете вставлять его в программу столько раз, сколько вам нужно.

Edit/Copy (Ctrl-Ins) (Скопировать)

Команда Copy оставляет выбранный текст неизменным и помещает точную копию этого текста в буфер обмена. Чтобы вставить скопированный текст в любую другую программу, выберите Edit/Paste. Вы можете также копировать текст с окна справочной системы.

Edit/Paste (Shift-Ins) (Вставить)

Команда Paste вставляет выбранный текст из буфера обмена в текущее окно в позиции курсора.

Edit/Clear(Ctrl-Del) (Очистить)

Команда Clear удаляет выбранный текст, но не помещает его в буфер обмена. Это значит, что вы не сможете вставлять этот текст в дальнейшем, как вы могли бы пользуясь командами Cut или Copy.

Edit/Show Clipboard (Буфер обмена)

Команда Show Clipboard открывает окно буфера обмена, в котором находится текст, который вы вырезали или копировали с других окон. Любой текст, который вы вырезаете или копируете, добавляется к концу буфера обмена. Текст, который в настоящее время высвечен в буфере обмена - это текст который Turbo Pascal будет использовать по команде Paste (Вставить).

Используя перечисленные пункты меню Edit, наработайте приемы, облегчающие набор текста. Введите текст программы, используя эти приёмы. Чтобы выбрать текст, можно использовать клавишу Shift. Нажмите клавишу Shift, и, не отпуская её, понажимайте клавишу "стрелка вправо", выделяя текст. Отметим общий принцип: клавиша Shift в комбинации с клавишами, обеспечивающими перемещение по тексту, производит выделение текста. В этих же целях можно использовать мышь. Для этого, нажав левую кнопку, перетащите курсор мыши через необходимую часть текста.

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

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

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

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

Ctrl +K+ B -пометить начало блока;

Ctrl +K+ K -пометить конец блока;

Ctrl +K +Y -стереть блок;

Ctrl +K +C -копировать блок;

Ctrl +K +V -переместить блок;

Работа 2

ВВОД И ВЫВОД ИНФОРМАЦИИ

Цель работы:

- познакомиться со структурой программ на языке Pascal;

- научиться создавать, вводить и запускать простейшие программы в режиме диалога с компьютером;

- научиться простейшим приемам вывода на экран таблиц, числовых данных;

- закрепить навыки работы в инструментальной среде Turbo Pascal.

Введение.

Процесс создания программы относится к одной из наиболее сложных сфер творческой деятельности человека, требующий больших усилий и специальной технологии разработки. Языки программирования, как средство общения человека и машины, отличаются своей строгостью и лаконичностью. Они имеют жестко определенную грамматику (синтаксис) и не допускают двусмысленностей и неопределенностей. Программирование, как и любое ремесло, необходимо оттачивать и совершенствовать. Но программирование - это не только знание языков, здесь важным является умение логически и в тоже время нестандартно мыслить. Кроме того, нужно помнить, что программирование – это дисциплина, ориентированная не на машину, а в конечном итоге, на человека. Хорошая программа должна быть написана так, чтобы она была понятна другим, её легко можно было бы читать и ею было бы удобно пользоваться. Хорошему стилю программирования тоже надо учиться.

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

Научимся создавать простейшие программы.

Ввод и вывод данных.

Любая программа должна выдавать результаты своей работы. Для обмена информацией в Тurbo Рascal используются стандартные (встроенные) процедуры (т.е. процедуры которые не нуждаются в предварительном описании).

write(…) – это оператор обращения к стандартной процедуре вывода данных. В круглых скобках указывается список элементов, которые необходимо вывести. Оператор writeln (от Write LiNe – написать строку) отличается от оператора Write тем что после распечатки списка выражений автоматически переводит каретку или курсор в начало следующей строки. Если, выводимая в последующем информация, должна размещаться в той же строке, то используется оператор write.

Ввод информации осуществляется процедурами read или readln. После ввода списка элементов процедурой readln(...) курсор автоматически переводится в начало следующей строки. Этот оператор без параметров требует нажатия клавиши Enter и это можно использовать для просмотра выведенной информации в окне вывода данных.

Работа 3

РАСЧЕТ ПО ФОРМУЛАМ

Цель работы:

- усвоить некоторые понятия лексики языка Turbo Pascal;

- изучить стандартные вещественные типы данных в языке Turbo Pascal;

- изучить методы составления алгебраических выражений;

- научиться создавать, вводить и запускать простейшие линейные программы расчета по формулам;

- научиться создавать собственные пользовательские подпрограммы-функции;

- закрепить навыки работы в среде Turbo Pascal.

Оператор присваивания

Переменная - это такой "ящичек" с именем, в котором может храниться некое значение. Имя у переменной постоянно и неизменно, значение же может меняться.

Переменную можно изменять при помощи операции присваивания:

< переменная > := < выражение > ;

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

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

Что происходит со старыми значениями переменной, когда ей присваивается новое? Оно просто стирается. Например, запись операторов x :=2; x := x+1; увеличивает значение переменной х на единицу. Выражение x := x + 1;-не уравнение. Если рассматривать эту строку как математическое уравнение, оно не имеет решений. На самом деле тут написано:

1) "взять значение переменной ИКС"

2) "прибавить к нему 1"

3) "положить новое значение в переменную ИКС"

В результате, в ячейке памяти с именем х, будет размещаться число 3, а предыдущее значение переменной равное 2 будет утеряно.

Алгебраические выражения.

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

В языке имеются следующие математические функции, используемые для выполнения математических операций и возвращающие значения типа real:

Таблица 4.2

abs(x) – модуль аргумента х;

sqr(x) – квадрат аргумента;

sqrt(x)- квадратный корень аргумента;

sin(x) – функция синус;

cos(x) – функция косинус;

arctan(x) – функция арктангенса;

exp(x) – функция экспоненты;

ln(x) – функция натурального логарифма;

frac(x) – дробная часть числа;

int(x) – целая часть числа

Для вычисления значений некоторых других функций следует пользоваться тождествами:

знакомство со средой turbo pascal - student2.ru

arccos(x) = знакомство со средой turbo pascal - student2.ru / 2 – arcsin(x);

arcctg(x) = знакомство со средой turbo pascal - student2.ru / 2 – arctg(x);

знакомство со средой turbo pascal - student2.ru

знакомство со средой turbo pascal - student2.ru

Порядок выполнения операций определяется их приоритетом: операции умножения и деления ( *, / ) выполняются перед операциями сложения и вычитания ( +, - ). Операции одинакового приоритета выполняются в порядке их написания слева направо. Выражение, заключенное в скобки, вычисляется в первую очередь. Таким образом, скобки позволяют изменять порядок выполнения операций. К примеру, (2 + 3) * 3=15, но 2 + 3*3=11.

Нельзя размещать два знака операций рядом. Знак минус может употребляется для изображения величины, противоположенной данной: -х, -(f+d*s) и т.п.

Не рекомендуется в одном арифметическом выражении использовать данные различных типов. Это приводит к дополнительным затратам машинного времени на преобразование типов и возможны потери в точности.

Работа 4

Целочисленная арифметика

Цель работы:

- освоить основные приемы работы с целыми типами данных;

- закрепить навыки работы в среде Turbo Pascal.

Работа 5

Логический тип данных

Цель работы:

- изучить логические данные, правила составления логических выражений в языке Turbo Pascal;

- освоить побитовые операции над целыми числами;

- закрепить навыки работы в среде Turbo Pascal.

Логические выражения.

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

Приоритет Название операций Символы операций

1 Унарные not

2 Мультипликативные *, / , div, mod, and, shl, shr

3 Аддитивные +, -, or, xor

4 Отношение =, <>, <, >, <=, >=, in

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

1 6 4 2 5 3

( 1 > 3 ) or not (7 < 9 ) and ( 4 <= 5 )

имеет значение false. Цифрами вверху показан порядок выполнения операций: результат выполнения операции 1 – false, операции 2 – true, операции 3 – true, операции 4 – false, операции 5 – false, операции 6 – false.

Работа 6

УСЛОВНЫE ОПЕРАТОРЫ

Цель работы:

- изучить правила работы с логическими операторами;

- закрепить навыки работы в среде Turbo Pascal.

Введение.

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

- выполнить оператор S1; выполнить оператор S2; ...

- если условие B истинно, то выполнить оператор S1, иначе выполнить оператор S2;

- до тех пор пока условие B истинно, выполнять оператор S.

Здесь B – логическое выражение.

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

       
  знакомство со средой turbo pascal - student2.ru
    знакомство со средой turbo pascal - student2.ru
 

знакомство со средой turbo pascal - student2.ru false

SS!S1 S true false

true

a) б) в)

Рис. 1

Описанные в предыдущих работах простые программы строились на основе последовательных, линейных структур, изображенных на рис.1а. Теперь приступим к изучению правил написания программ с ветвлениями (рис.1б). В языке Turbo Pascal при проектировании алгоритмов можно дополнительно использовать ещё и другие элементарные структуры, с которыми мы познакомимся в следующих работах. Во всех этих структурах присутствует условие – логическое выражение.

2. Оператор условного перехода if ... then...else

Разветвляющийся вычислительный процесс может быть осуществлен с помощью структуры выбора, содержащей логическое условие и ветви true и false. Если условие выполняется, то осуществляется переход к верви true, в противном случае – к ветви false. В языке Turbo Pascal структура выбора реализуется с помощью оператора условного перехода.

Его синтаксис:

if B then S1

else S2;

где B - логическое выражение;

S1, S2 – любые операторы языка;

if ( если), then (то), else (иначе) – служебные слова.

Если значение B – true, то выполняется оператор S1, если – false, то выполняется оператор S2. Затем в обоих случаях управление передается следующему оператору программы. Допускается и краткая форма условного оператора:

if B then S1;

В этом случае, если значение B – false, управление сразу передается оператору, следующему за оператором if.

Условные операторы могут иметь вложенную конструкцию, когда после слов then или else используется также условный оператор. Если в какую- либо ветвь разветвления требуется вставить несколько операторов S1,S2,...Sn, то они объединяются в один составной оператор:

begin S1;S2; ... Sn end;

Для этого в начале группы операторов записывается служебное слово begin, а в конце – end. Элементами составного оператора могут быть любые операторы языка, в том числе условные и другие составные операторы. Заметим, что и сама программа строится на основе понятия составного оператора.

3. Условный оператор case...of

Обычно при написании программы не рекомендуется использовать многократно вложенные друг в друга условные операторы, так как программа при этом становится громоздкой и трудно понимаемой. Для этих целей в языке Turbo Pascal существует специальный оператор выбора. Его синтаксис:

case N of

M1,...,Mr : S1;

K1, ...,Kp : S2;

...

D1,...,Dq : Si;

else S

end;

где N - переменная, называемая селектором или переключателем;

S1,...Si,S – операторы;

Mi, Ki,..., Di ... - метки (i=1,2,...), которые отличаются по смыслу от меток,

описываемых в разделе label;

case(выбор), of (из), else (иначе), end – служебные слова.

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

Оператор case передает управление тому оператору Si, с одной из меток которого совпало значение селектора N, а затем управление передается на оператор, следующий за end. Если значение селектора N не совпало ни с одной из меток, то исполняется оператор S.

Ветвь оператора else S является необязательной. Тогда при отсутствии в списке выбора нужной константы оператор case завершит свою работу.

Работа 7

Введение.

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

- подготовка цикла, т.е. задание начальных значений переменных перед первым его выполнением;

- тело цикла, т.е. действия, повторяемые в цикле многократно;

- изменение значений переменных цикла перед каждым новым его выполнением;

- управление циклом, т.е. проверка условия продолжения или окончания цикла и переход к его началу.

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

2. Оператор цикла while… do.

Его структура имеет вид:

while B do S;

где B – логическое (булево) выражение;

S - любой оператор языка (тело цикла);

while (пока ), do ( выполнять ) – служебные слова.

Схематически оператор цикла с предусловием можно изобразить таким образом:

 
  знакомство со средой turbo pascal - student2.ru

false

true

Такая конструкция цикла организует выполнение оператора S до тех пор, пока логическое выражение B – истинно. Если условие, которое вычисляется и анализируется перед каждым выполнением цикла, - ложно, то выполняется оператор, следующий за while. Заметим, что если первоначальное значение логического выражения B ложно, то оператор S не будет выполняться ни разу. Другая крайность, которую следует избегать,- логическое условие всегда истинно. В этом случае оператор S будет повторяться бесконечное число раз. Произойдет, так называемое, «зацикливание» и тогда потребуются принудительные меры выхода из него,- перезагрузка компьютера.

Работа 8

ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ

Цель работы:

- изучить правила работы с оператором цикла repeat … until;

- приобрести навыки составления, отладки и тестирования программ, использующих циклы с постусловием;

- закрепить навыки работы в среде Turbo Pascal.

Введение.

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

2. Оператор цикла repeat … until.

Его синтаксис:

repeat S1;S2;...Sn until B;

где B- логическое выражение;

S1;S2;...Sn – любые операторы языка;

repeat ( повторить ), until ( до тех пор, пока ) – служебные слова.

 
  знакомство со средой turbo pascal - student2.ru

false

true

В такой конструкции цикла проверка условия производится в его конце (постусловие), что обеспечивает выполнение операторов S1,...Sn хотя бы один раз. Тело цикла выполняется в операторе repeat до тех пор, пока условие ложно (оператор «лжи»). Выход из цикла осуществляется при истинности логического выражения B, то есть противоположно оператору while...do (см. схему). Зацикливание происходит, если В никогда не будет принимать значение true.

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

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

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

Суммирование рядов.

Рассмотрим конечную последовательность действительных чисел:

S= знакомство со средой turbo pascal - student2.ru

Входящая в это выражение переменная k называется индексом суммирования, а целые числа 0 и n – пределами суммирования.

Организуем вычисление суммы: знакомство со средой turbo pascal - student2.ru . Зададим начальное значение знакомство со средой turbo pascal - student2.ru =a0, а затем последовательно будем накапливать все элементы ряда:

знакомство со средой turbo pascal - student2.ru

Таким образом, для нахождения суммы ряда необходимо n-раз повторить вычисления по формуле:

знакомство со средой turbo pascal - student2.ru

где индекс k пробегает значения от 1 до n. Это соотношение, называемое рекуррентной формулой, можно сформулировать так: «новое» значение суммы ряда Sk получается из «старого» Sk-1 путем добавления очередного слагаемого знакомство со средой turbo pascal - student2.ru . Индекс при вычислении переменной S можно опустить и записать алгоритм так:

1. «подготовка» цикла: ввод n; k:=0; S:=a0;

2. «тело» цикла: k:=k+1; S:=S+ знакомство со средой turbo pascal - student2.ru

3. «управление» циклом: если k<n, то выполнять пункт 2 (тело цикла);

4. вывод S.

В некоторых случаях удается написать рекуррентные соотношения и для слагаемых ak. Так, например, можно поступить в случае арифметической и геометрической прогрессии. Для арифметической последовательности справедливо соотношение:

знакомство со средой turbo pascal - student2.ru

где d – постоянная разность. Сумма арифметической последовательности равна произведению среднего первого и последнего членов ряда на число членов:

знакомство со средой turbo pascal - student2.ru .

Для геометрической прогрессии рекуррентное соотношение выглядит так:

знакомство со средой turbo pascal - student2.ru ,

где q – знаменатель геометрической прогрессии. Сумма членов геометрической последовательности равна частному от деления разности первого входящего и первого не входящего членов ряда на разность единицы и знаменателя прогрессии q:

знакомство со средой turbo pascal - student2.ru

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

Работа 9

ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ

Цель работы:

- изучить правила работы с оператором цикла for …do;

- приобрести навыки составления, отладки и тестирования программ, использующих циклы с параметром;

- закрепить навыки работы в среде Turbo Pasca

Наши рекомендации