Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

ЛАБОРАТОРНАЯ РАБОТА

Читайте также:
  1. II. Контрольная работа « Дифференцирование функции ».
  2. II. Работа над созданием собственного текста.
  3. V2:Профилактика девиантного поведения в молодежной среде. Социально-педагогическая работа с неформальными молодежными группами и объединениями
  4. VII. Работа с текстом.
  5. VIII. Домашняя работа.
  6. А теперь о порядке работы и о том, как работать с отдельными листами набора.
  7. А! Нестеров. Да, разумеется. Он работает моим заместителем.
  8. А) за фактически отработанное время
  9. А) Работа над предложением
  10. Анализа в дипломных работах

Составитель А.М. Сулейманова

УДК 681.3

ББК 32.973.26-018.2.75

 

РЕАЛИЗАЦИЯ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ И ЦИКЛИЧЕСКОЙ СТРУКТУРЫ В ИНТЕГРИРОВАННОЙ СРЕДЕ ТУРБО ПАСКАЛЬ: Методические указания к лабораторному практикуму по курсу «Информатика и программирование»/ Уфимск. гос. авиац. техн. ун-т; Сост. А.М Сулейманова.- Уфа, 2003.- 22 с.

 

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

 

 

Библиогр.: 3 назв.

 

 

Рецензенты: Р.В.Насыров, Л.Ф.Розанова

 

© Уфимский государственный

авиационный технический

университет, 2003

 

СОДЕРЖАНИЕ

 

1. ЦЕЛЬ РАБОТЫ....................................... 4

2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ............................. 4

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

2.2. Составной оператор................................ 5

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

2.3.1. Оператор IF................................. 5

2.3.2. Оператор CASE.............................. 8

2.4. Операторы цикла.................................. 10

2.4.1. Оператор WHILE............................. 10

2.4.2. Оператор REPEAT............................ 11

2.4.3. Оператор FOR............................... 13

2.5. Вложенные циклы................................. 14

2.6. Оператор перехода и пустой оператор.................14

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.................... 17

4. ТРЕБОВАНИЯ К ОТЧЕТУ............................. 18

5. КОНТРОЛЬНЫЕ ВОПРОСЫ........................... 18

6. ВАРИАНТЫ ЗАДАНИЙ............................... 18

СПИСОК ЛИТЕРАТУРЫ................................. 22

 

 

ЛАБОРАТОРНАЯ РАБОТА

 

РЕАЛИЗАЦИЯ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ И ЦИКЛИЧЕСКОЙ СТРУКТУРЫ В ИНТЕГРИРОВАННОЙ СРЕДЕ ТУРБО ПАСКАЛЬ

 

 

1. ЦЕЛЬ РАБОТЫ

 

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

 

2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

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

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

К простым операторам относятся оператор присваивания, оператор перехода и пустой оператор, а к структурированным - составной оператор, условные операторы (IF и CASE) и операторы цикла (WHILE, REPEAT и FOR).

 

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

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

Вот примеры операторов присваивания:

 

а:= b+с;

а:='Ь';

new:=234;

x:= true;

 

2.2. Составной оператор

Составной оператор представляет собой последовательность некоторых операторов, выполняющихся в том порядке, в каком они представлены в тексте программы. Зарезервированные слова BEGIN и END являются так называемыми операторными скобками, в которые заключены операторы, входящие в составной оператор. Когда, в зависимости от определенного условия, требуется обеспечить последовательное выполнение некоторого набора операторов, без составного оператора не обойтись.

Составной оператор имеет вид

 

begin SI; S2; … Sn end;

 

Здесь S1-Sn - операторы, образующие составной оператор; заре­зервированные слова BEGIN и END - операторные скобки. Частный случай составного оператора – раздел операторов (или тело) любой программы на Turbo Pascal. Составной оператор может включать другие составные операторы (т.е. составным может быть любой из операторов S1-Sn), причем допускается любой уровень вложенности.

 

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

Если в программе, в зависимости от некоторого условия, требуется выбрать тот или иной вариант действий, можно воспользоваться одним из условных операторов. В Turbo Pascal предусмотрены два условных оператора - IF и CASE.

 

2.3.1. Оператор IF

Оператор IF имеет вид:

 

If р then a1 else а2

При выполнении этого оператора сначала вычисляется некоторое логическое выражение Р (условие), в случае истинности которого выполняется оператор А1, а в случае ложности - оператор А2. Использо­ванные здесь ключевые слова IF, THEN и ELSE имеют смысл если, то и иначе соответственно.

Возможен сокращенный вариант оператора IF:

 

if р then a1

Здесь, если условие Р истинно, выполняется оператор al. Если же условие Р ложно, управление просто передается следующему (за оператором IF) оператору в программе. Можно сказать, что первый вариант оператора IF осуществляет выбор между двумя действиями, а второй - между действием и отсутствием действия.

Что представляет собой условие? В принципе, в этом качестве может быть просто использовано логическое значение TRUE или FALSE, либо константа логического типа, имеющая одно из этих значений. Ошибка здесь зафиксирована не будет. Однако в этом случае теряется смысл применения оператора IF, поскольку заранее известно, какое действие будет выполнено. Например, если D - константа типа Boolean, имеющая значение TRUE, то использовать оператор IF

 

if d then c:= a+b else c:= a-b;

 

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

 

с:= а+b;

 

Поэтому, как правило, в качестве условия используется переменная логического типа (типа Boolean) либо один из операторов сравнения. Сравнивать между собой числа и другие значения в Turbo Pascal можно с помощью шести операторов. Речь идет об операторах > (больше), < (меньше), = (равно), <> (не равно), >= (больше или равно) и <= (меньше или равно). Результат сравнения всегда представляет собой значение логического типа. Так, результатом сравнения 77>63 будет TRUE, а результатом сравнения 82<47 - FALSE.

В условии также широко могут использоваться три логических оператора: NOT, AND и OR. Например, выражение

 

x1 and х2

будет иметь значение TRUE, если xI и x2 принадлежат логическому типу и оба равны TRUE.

Вот примеры операторов IF, которые могут встретиться в программах:

 

if x > y then z:= x /2 else z:= y +2;

if a and b > c then d:= a+b else d:= c;

Во многих программах, в зависимости от некоторого условия, часто требуется выполнить не одно, а последовательность действий. Однако оператор IF в Turbo Pascal обеспечивает выполнение единственного оператора, присутствующего после зарезервированного слова THEN или ELSE. Выйти из положения можно, применив составные операторы. Оператор IF с составными операторами выглядит так:

 

if р then begin s1 s2; ..sn end

else begin v1; v2;. .vn end;

 

Здесь s1-sn и v1-vn - некоторые операторы, образующие составные операторы.

Turbo Pascal допускает вложенность операторов IF. Рассмотрим пример. Если некоторая переменная X положительна, требуется извлечь из нее квадратный корень, если отрицательна - возвести в квадрат, а если равна нулю - прибавить к ней 2. Эту задачу можно реализовать следующим образом:

 

if x>0 then x:= sqrt(x)

else if x<0 then x:= sqr(x)

else x:= x+2;

 

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

 

if x then

if у then sl

else s2

 

Варианты можно представить, введя операторные скобки (пары зарезервированных слов BEGIN..END). Первый вариант:

 

if x then

begin

if у then s1

end

else s2

Второй вариант:

if x then

begin

if у then s1

else s2

end;

Какой из двух вариантов изберет компилятор Turbo Pascal? Все очень просто. Компилятор ассоциирует ключевое слово ELSE с ближайшим ключевым словом IF, расположенным в тексте программы выше и еще не связанным с иным ключевым словом ELSE, в нашем случае действенным окажется второй вариант. Если же потребуется реализовать первый вариант, можно воспользоваться операторными скобками.

 

2.3.2. Оператор CASE

Рассмотренный выше оператор IF позволяет осуществить выбор од­ной из двух альтернатив. Но что если число вариантов нужно иметь больше? Например, если требуется согласно номерам дней недели ото­бражать на экране их названия? Многие начинающие программисты для решения подобной задачи предпочтут воспользоваться последова­тельностью операторов IF:

 

if х=1 then write (понедельник);

if х=2 then write (вторник);

if x=3 then write (среда);

if x=4 then write (четверг);

if x=5 then write (пятница);

if x=6 then write (суббота);

if x=7 then write (воскресенье);

 

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

Целесообразнее воспользоваться вложенным оператором IF. Один вложенный оператор часто будет выполняться быстрее последователь­ности из нескольких операторов IF, поскольку при совпадении первого условия управление сразу передается следующему (после вложенного) оператору, без проверки оставшихся условий, но такая конструкция чересчур громоздка. (Считается, что в операторе IF допустимы не более двух-трех уровней вложения.) Здесь всего семь альтернатив, а что если вариантов выбора потребуется иметь несколько десятков? Применение оператора IF в этом случае крайне неудобно. Выйти из положения позволяет оператор CASE.




Дата добавления: 2015-04-11; просмотров: 83 | Поможем написать вашу работу | Нарушение авторских прав

<== 1 ==> | 2 | 3 |


lektsii.net - Лекции.Нет - 2014-2025 год. (1.704 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав