Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии 


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




Введение

 

Язык Паскаль, созданный в конце 70-х годов основоположником множе­ства идей современного программирования Никлаусом Виртом, специально разрабатывался для обучения программированию. Паскаль является од­ним из наиболее перспективных языков программирования, который посто­янно совершенствуется и развивается. Разработанный в рамках концепции структурного программирования Паскаль оказался очень эффективным языком для создания программных систем средней сложности.

Пособие ориентировано на систему программирования Турбо-Паскаль версии 7.0.

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

Учебно-методическое пособие предназначено для студентов всех специальностей, изучающих дисциплины «Информатика» и «Ма­тематика и информатика».


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

Работа в среде Турбо-Паскаль

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

1. Запустите на выполнение среду Турбо-Паскаль.

2. С помощью клавиши <F10> вызовите главное меню и войдите в подменю File. Переход по пунктам меню осуществляется клавишами управления курсо­ром <®>, <>, а выбор пункта меню – клавишей <Enter>.

3. Выберите пункт меню New (новый) и нажмите <Enter>. На экране появится пустое окно редактирования программы с именем NONAME00.PAS.

4. Наберите текст программы.

5. Для сохранения программы на диске выберите пункт Save as в подменю File (так же, как выбирали команду New). В появившемся окне Save file as наберите имя файла (можно без расширения PAS), в котором будет размещаться текст программы на языке Паскаль, и нажмите кнопку Ok. Пере­ключение между элементами окна осуществляется клавишей <Tab>.

6. Для компиляции программы выберите пункт меню Make в подменю Compile или нажмите функциональную клавишу <F9>. При обнаружении ошибки в верхней строке окна редактирования программы появится соответствующее сообщение. Список ошибок этапа компиляции программы, вызвавшие их причины и действия по устранению ошибочных ситуаций приведены в приложении В. В этом случае необ­ходимо устранить ошибку и повторно выполнить компиляцию. Если ошибок не обнаружено, на экране появляется сообщение “Press any key”, свидетельствующее об успешной компиляции программы. Закрытие окна компиляции программы производится нажатием любой клавиши.

7. Для выполнения успешно откомпилированной программы необходимо выбрать пункт меню Run в подменю Run или нажать клавиши <Ctrl>+<F9>.

8. Для просмотра результатов работы программы нажмите клавиши <Alt>+<F5>.

 

Корректировка существующей программы

В этом случае изменяются только действия в пунктах 3 и 5.

3. Для загрузки существующей программы в окно редактирования выбе­рите пункт меню Open в подменю File или нажмите функциональную клавишу <F3>. На экране появляется диалоговое окно, в котором нужно указать имя файла с программой на языке Паскаль.

5. Для сохранения отредактированной программы в тот же самый файл на диске выбе­рите пункт меню Save в подменю File или на­жмите функциональную клавишу <F2>.

 

 

Задания для лабораторной работы

1. Напишите программу вывода в отдельной строке фамилии, имени и отче­ства для каждого члена бригады.

2. Напишите программу вывода в отдельной строке комбинации клавиш, используемой для просмотра результатов работы программы, и команды за­грузки в редактор существующей программы.

3. Напишите программу вывода в отдельной строке комбинации клавиш, используемой для компиляции программы, и команды запуска программы на выполнение.

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

5. Напишите программу вывода в отдельной строке команды сохранения на диске нового файла и команды сохранения на диске старого файла.

6. Напишите программу вывода в отдельной строке любых двух пунктов системного меню интегрированной среды Турбо-Паскаль.

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

8. Напишите программу вывода в отдельной строке операторов, используе­мых для вывода строк текста на экран.

9. Напишите программу вывода в отдельной строке текущей даты и теку­щего времени.

10. Напишите программу вывода в отдельной строке на­звания ВУЗа и его адреса.

11. Напишите программу вывода в отдельной строке шифра вашей группы и названия вашей специальности.

12. Напишите программу вывода в отдельной строке фамилии, имени и от­чества родителей для каждого члена бригады.

13. Напишите программу вывода в отдельной строке названия данного предмета и названия данной лабораторной работы.

14. Напишите программу вывода в отдельной строке названий двух любых разделов Паскаль-программы.

15. Напишите программу вывода в отдельной строке номера вашей бригады и количества человек в бригаде.

 

Лабораторная работа N 2

Раздел переменных. Типы данных. Операторы ввода/вывода

 

Теоретическая часть

Раздел переменных

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

Var

<описание переменных>;

[<описание переменных>;]

где <описание переменных> - это описание переменных одного типа задаваемое в формате:

<идентификатор> [,<идентификатор>] : <тип данных>;

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

 

Типы данных

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

В языке Турбо-Паскаль имеется очень развитая система типов данных, позволяющая легко представлять различные значения данных и разрабатывать эффективные алгоритмы обработки данных. Здесь будут рассмотрены только основные простые типы дан­ных, приведенные в таблице 1.


Таблица 1

Название типа данных Имя типа данных Интервал значений
Целочисленный Integer -32768 … +32767
Байтовый Byte 0 …255
Вещественный Real 2.9е-39 … 3.4е38
Логический Boolean True, False
Символьный Char Символы кодовой таблицы ASCII

Пример раздела объявления переменных:

Var

god: integer;

wes, rost: byte;

zena: real;

sp: boolean;

spez: char;

Операторы ввода/вывода

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

Для выполнения операций ввода/вывода служат четыре оператора: read, readln, write, writeln.

 

Оператор чтения (ввода) данных read обеспечивает ввод числовых данных, сим­волов, строк и т.д. для их обработки исполняемыми операторами программы. Формат оператора:

read ([F,] х1, х2, ..., хn);

где х1, х2, ..., хn – переменные допустимых типов данных; F – файловая перемен­ная, связанная с файлом на диске, из которого будет выполняться чтение данных (необязательный па­раметр). При вводе данных с клавиатуры параметр F должен быть опущен.

Ввод нескольких числовых значений данных осуществляется минимум через один пробел. Ввод нескольких значений данных символьного типа осуществляется подряд без пробелов. После набора данных для од­ного оператора read нажимается клавиша <Enter>.

 

Оператор чтения readln аналогичен оператору read. Единственное отли­чие заключается в том, что после считывания последнего из списка значения данных (хn) в операторе readln данные для следующего оператора чтения будут взяты с начала новой строки. Оператор readln, заданный без параметров, будет ожидать только нажатия клавиши <Enter> на клавиатуре.

Пример: ввод двух целых чисел в переменные х и у задается оператором

readln (x, y);

 

Оператор записи (вывода) данных write производит вывод числовых данных, символов, строк и логических значений на внешние носители информации. Формат оператора:

write ([F,] у1, у2, ..., уn);

где у1, у2, ..., уn – выражения любого типа данных; F – файловая переменная, связанная с файлом на диске, в который будет выполняться запись данных (необязательный па­раметр). При выводе данных на дисплей параметр F должен быть опущен.

 

При Х равном 5 Y равен 10

Работа с блоками

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

Выделить блок текста можно клавишами управления курсором при нажа­той клавише <Shift> или позиционированием курсора мыши в начало выделяемого блока и перемещением курсора в конец блока при нажатой левой клавише.

Скопировать выделенный блок можно позиционированием курсора в позицию вставки и нажатием клавиш <Ctrl>+K+C или за два шага: <Ctrl>+<Ins> - скопировать блок в буфер, <Shift>+<Ins> - вставить блок из буфера в текущей позиции курсора.

Переместить выделенный блок можно позиционированием курсора в позицию вставки и нажатием клавиш <Ctrl>+K+V или за два шага <Shift>+<Del> - забрать блок в буфер, удалив его из текста, <Shift>+<Ins> - вставить блок из буфера в текущей позиции курсора.

Удалить выделенный блок можно клавишами <Ctrl>+<Del> или <Ctrl>+K+Y.

Отменить выделение блока можно нажатием клавиш <Ctrl>+K+H.

Блок, скопированный в буфер, можнозаписать в файл нажатием клавиш <Ctrl>+K+W. Имя файла, в который со­храняется блок, указывается в появляющемся диалоговом окне.

Вставка (считывание) блока из файлав текущую позицию курсора осуществляется клавишами <Ctrl>+K+R. Имя файла, из которого читаются данные, указывается в по­являющемся диалоговом окне.

Вывод блока на печать выполняется нажатием клавиш <Ctrl>+K+P.

Задания для лабораторной работы

Напишите программу, в которой:

a) объявите все указанные переменные соответствующих типов;

b) с помощью операторов ввода данных введите значения этих переменных с клавиатуры;

c) с помощью операторов вывода данных выведите значения переменных на экран в формате "<имя переменной> = <значение>", например, х = 3.5.


Варианты заданий приведены в таблице:

№ варианта Переменные
Целые Вещественные Байтовые Символьные
i1, j1 g1, mn b v1, v2
r1 g1, h t, qr rq, vc, f
er, t6 rz, lp b, ra w, dg
bn, kj, yu q1 b, t my, my1
mq, hg g1, rl b, i67 d1, er2
mo, w2 w4, ur x, q12 wx, aw
xz, yu q2, o9 h, ws7 q1, qq2
bt, g5 s1, re b, w2q dd, sss
jy, ww re, t5 v, gfd we, s1d
q1, i8 e3, re x, e34 wq, r4t
q1, rr kk, yl f, fdf ep, pp2
nh, nn w1, yy j, w24 tt, ttt
vr, yi lk, as q, sas ry, v5d
w2, u5 aa, hy x, q12 t5, rfv
n7, gg g1, w2 x, q12 s3, qqq

Лабораторная работа N 3

Теоретическая часть

Раздел констант

Константа –это величина, значение которой не изменяется в процессе выполнения программы. В языке Паскаль все константы, используемые в программе, могут быть поименованы. Поименованные константы объявляются в разделе кон­стант, который имеет формат:

Const

<описание константы>;

[<описание константы>;]

где <описание константы> – это описание одной константы программы, задаваемое в формате

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


Пример объявления констант:

Const

sp = True;

i = 387;

s = 'f';

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

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

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

<идентификатор переменной> := <выражение>;

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

A := B + C;

v := 34.6;

rw := r / 2 + f * r;

Все переменные предварительно объявляются в разделе переменных, а переменные и поименованные константы, входящие в <выражение>, должны быть обязательно инициализированы(им должно быть присвоено некоторое значение).

 

Работа с окнами

В среде Турбо-Паскаль вы можете иметь любое количество открытых окон, но в любой момент времени может быть активным только одно окно. Ак­тивное окно - это окно, с которым вы работаете в настоящий момент. Любая команда или вводимый текст относятся только к активному окну.

Окна в среде Турбо-Паскаль имеют следующие компоненты (рис. 1):

1. Заголовок окна.

2. Закрывающая кнопка.

3. Полосы скроллинга (прокрутки).

4. Уголок для изменения размеров окна.

5. Кнопка масштабирования.

6. Номер окна.


 

(2) (1) (6) (5)

╔══[█]══════════════ LAB3.PAS ═════════ 3 ═[ ]══╗

║ ^

║ ░

(3)
║ ░

║ █

║ ░

║ ░

║ ░

║ v

╚══<░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░ >═══┘

(3) (4)

Рис. 1. Общий вид окна среды Турбо-Паскаль

Кроме того, окно редактора всегда показывает номера текущих строки и столбца в нижнем левом углу. Если вы изменили свой файл, то слева от номе­ров строки и столбца появится знак звездочки (*).

Для управления окнами Турбо-Паскаль предоставляет следующие возмож­ности.

Открыть окно редактора можно нажатием функциональной клавиши <F3> или выбрать пункт меню Open в подменю File.

Закрыть окно можно нажатием клавиш <Alt>+<F3>, выбором в подменю Window пункта Close или щелкнув мышью на закрывающей кнопке окна.

Активизировать окно можно, либо щелкнув мышью в любой его видимой части, либо нажав клавиши <Alt>+<номер окна>, либо нажав клавишу <F6> можно сделать ак­тивным следующее окно, или нажав сочетание клавиш <Alt>+<F6> можно сделать активным пре­дыдущее окно.

Переместить активное окно можно, зацепив его заголовок мышью, либо нажав сочетание клавиш <Ctrl>+<F5>, после чего перемещать окно клавишами управления курсором.

Изменить размер активного окна можно, либо мышью зацепив его правый нижний угол и отбуксировав его в нужное место, либо нажав сочетание клавиш <Ctrl>+<F5>, после чего изменять размеры окна клавишами управления курсором при нажатой клавише <Ctrl>.

Распахнуть активное окно можно, щелкнув мышью на кнопке масштаби­рования окна, или нажатием клавиши <F5>. Повторное нажатие возвращает окно к исходному размеру.

 

Задания для лабораторной работы

Написать программу, вычисляющую заданные выражения. Поименованные данные в выражениях объявить поочередно константами и переменными, определив предварительно их тип данных. Значения переменных ввести с клавиатуры. Результат вычисления выражений вывести на экран дисплея в формате: “A*B = 4*9 = 36”, “(L < K) = (3 < 5) = True” и т.д.

 

№ ва-рианта Выражения
N +T S or T R shr 2 X < 5 (S <6) and (H > E)
S * W V and Q R shl1 T <> 5 (L > A) or (E <> 2)
P / O I mod U Y shr 3 T <= R (E = 1) and (Q > A);
Z – X C div V B shl 2 N < 1 (M >= L) and (A < S);
A * L S or K D shr 1 J <> F (G = H) or (Q > 1);
Q + P W div O E shl 4 I < R (T <> 1) and (V > B);
W / M E mod N R shr 2 T < B (Y = Z) or (F > H);
V – T B and Y N shl 1 M >= 1 (Q = 1) and (C < Z);
X * W Z or L Q shr 3 T <> 3 (M = U) or (P <> N);
P + W Q mod Z Y shl 1 C = P (H < 6) and (H > 2);
V – Q W and Y C shr 2 T < 1 (W < 5) or (U > V);
U * V T mod R N shl 1 I <> 4 (X > 7) and (D <> R);
X / A Z div W P shr 2 B <= A (E >= 3) or (T < N);
E – W R or B N shl 1 W < 7 (M = Y) and (P > Z);
Y + F K mod Q G shr 2 Y > G (B <= A) and (L = 6).

 

Лабораторная работа N 4

Символьные строки

 

Теоретическая часть

Символьные строки

Строка – это последовательность символов, не превышающая 255-ти символов. Строковые константы обязательно заключается в апострофы.

Формат объявления переменной строкового типа:

<идентификатор [, идентификатор]> : string [размер];

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

Над строковыми данными могут выполняться операции конкатенации (сцепления) и от­ношения (сравнения). Операция конкатенации (+) осуществляет сцепление двух строк в одну строку путем приписывания в конец строки, стоящей слева от знака “+”, строки, стоящей справа. Операции отношения ( =, <>, >, <, >=, <= ) выполняют сравнение двух строк в лексикографическом порядке: строка А считается меньше строки В, если в строке В первый несовпадающий от начала строки символ с соответствующим символом из строки А в алфавите расположен правее символа из А, т.е. имеет больший по величине код. Результат выполнения операций отно­шения над строками имеет логический тип, т.е. принимает значения True или False.

 

Отладка программ

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

Ниже описаны возможности среды Турбо-Паскаля по отладке программ.

Клавиша <F4> используется для выполнения программы без трассировки (выполне­ния по шагам) до положения курсора в исходном тексте программы.

Клавиша <F7> используется для выполнения одной строки (оператора) программы. При этом будет осуществляться трассировка процедур и функций, содержащихся в программе.

Клавиша <F8> используется для выполнения одной строки (оператора) про­граммы без трассировки процедур и функций.

Клавиши <Ctrl>+<F8> отмечаются строки в программе, являющиеся точками останова – прерывания процесса автоматического выполнения программы. Если в процессе выполнения программы в среде Турбо-Паска достигается точка останова, выполнение программы приостанавливается, отображается исход­ный текст и курсор останавливается на строке с точкой останова без выполнения операторов, находящихся в ней.

Клавишами <Ctrl>+<F2> прерывается процесс выполнения программы в режиме отладки.

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

Для занесения переменных и выражений в список просмотра в окне Watch используются клавиши <Ctrl>+<F7>, после чего должно быть введено имя переменной и выражение. Для автоматического добавления переменной в список просмотра в окне Watch необходимо позиционировать курсор на идентификаторе и нажать клавиши <Ctrl>+<F7>.

Задания для лабораторной работы

Написать программу, использующую стандартные процедуры и функции обработки строк и выполняющую следующие действия:

1. с помощью оператора присваивания или оператора ввода задать строко­вой переменной значение “Пензенский госу­дарственный педагогический университет имени В.Г. Белинского”;

2. выделить в этой строке 2-3 слова, являющиеся подстрокой этой строки. Например, “педагог”, “суд”, “удар”;

3. сформировать из ее подстрок 2-3 новых слова. Например, “педа­гоги”+ “к”+“а”, “Пенз”+“а”, “Г”+“осударств”+“о”.


Лабораторная работа N 5

Теоретическая часть

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

Составной операторилипоследовательностьобъявляет некоторую последовательность операторов в виде одного оператора. Это необходимо при использовании последовательностей операторов в других управляющих операторах.

Формат составного оператора:

Begin

[<оператор>;]

end;

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

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

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

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

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

 

Полная форма условного оператора имеет формат:

if <условие> then

<оператор_1>

Else

<оператор_2>;

где <оператор_1> и <оператор_2> – простые операторы языка Паскаль. Если в качестве <оператор_1> или <оператор_2> требуется выполнить последовательности операторов, то они должны быть объявлены составными операторами.

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


Например: if a > b then

w := a + c

else

begin

w := a - c;

writeln ('w = ', w);

end;

 

В этом примере в случае невыполнения условия будет выполняться со­ставной оператор, содержащий два простых оператора.

Неполная (сокращенная) форма условного оператора имеет формат:

if <условие> then

<оператор>;

Например:

if a < 0 then

writeln ('a - отрицательно');

Подменю File (файл)

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

Пункт подменю New позволяет открыть новое окно редактора программ с именем по умол­чанию NONAMExx.PAS, где xx - число от 00 до 99.

Пункт подменю Open (<F3>) открывает диалоговое окно для выбора файла с программой на языке Паскаль и его открытия в окне редактора. Выбранный файл загружается в новое окно.

Пункт подменю Save (<F2>) сохраняет текст программы из активного окна ре­дактора, в существующий файл на диске.

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

Пункт подменю Save All сохраняет измененные тексты программ из всех окон редактирования в соответствующие файлы на диске.

Пункт подменю Change Dir позволяет задать текущий каталог на некотором устройстве. Текущий каталог - это каталог, который Turbo Pascal использует для поиска и сохране­ния файлов.

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

Пункт подменю Printer Setup используется для задания параметров принтера и печатаемого текста.

Пункт подменю DOS Shell позволяет временно выйти из среды Турбо-Паскаль в среду DOS для выполнения команд операционной системы. Для возврата в среду Турбо-Паскаль наберите команду EXIT и нажмите клавишу <Enter>.

Пункт подменю Exit(<Alt>+X) завершает работу системы программирования Турбо-Паскаль и возвращает вас в операционную систему. Если вы не сохранили ка­кие-либо изменения, то перед выходом Турбо-Паскаль запрашивает, хотите ли вы их сохранить.

 

Задания для лабораторной работы

Вариант 1

1. Даны два действительных числа X и Y. Определить, принадлежит ли точка с координатами (X,Y) окружности с радиусом R.

2. Даны три действительных числа A, B и C (A<>0). Определить, имеет ли уравнение A*X2 + B*X + C = 0 действительные корни. Если имеет, то найти их. В противном случае выдать сообщение о том, что действительных корней нет.

3. Если сумма трех попарно различных действительных чисел X, Y и Z меньше единицы, то переменной X присвоить значение полусуммы значений переменных Y и Z. В противном случае заменить меньшее из X и Y разностью двух оставшихся значений.

4. Даны два действительных числа X и Y. Определить, принадлежит ли точка с координатами (X,Y) кольцу между двумя окружностями с радиусами R1 и R2 (R1>R2>0).

5. Даны площадь круга R и площадь квадрата S. Определить, помес­тится ли квадрат в круге.

6. Даны площадь круга R и площадь квадрата S. Определить, помес­тится ли круг в квадрате.

7. Даны произвольные числа A, B и C. Выдать сообщение, можно ли по­строить треугольник с такими длинами сторон.

8. Даны произвольные числа A, B и C. Удвоить эти числа, если A>B>C, и уменьшить их на 1, если это не так.

9. Даны действительные числа X, Y и Z. Вычислить выражение

min2 (X+Y+Z/2, X*Y*Z) + 1.

10. Даны два действительных числа X и Y. Вычислить выражение min(X, Y).

11. Даны два действительных числа X и Y. Вывести первое число, если оно больше второго, и оба числа, если это не так.

12. Даны два действительных числа X и Y. Вычислить выражение max(X, Y).

13. Если значение переменной W не равно 0 и при этом котангенс от W меньше 0.5, то поменять знак у W. Если значение W не равно 0, то присвоить переменной W значение 1.

14. Даны два действительных числа X и Y. Заменить первое число нулем, если оно меньше или равно второму, и оставить числа без изменения в против­ном случае.

15. Перераспределить значения переменных X и Y так, чтобы в X оказа­лось большее из этих значений, а в Y – меньшее.

 

Вариант 2

1. Найти минимальное число в последовательности из трех произвольно за­даваемых чисел.

2. Найти максимальное число в последовательности из трех произвольно задаваемых чисел.

3. Найти сумму только положительных и только отрицательных чисел в по­следовательности из четырех произвольно задаваемых чисел.

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

5. В последовательности из четырех произвольно задаваемых чисел найти числа больше 4.

6. Найти минимальное по модулю число в последовательности из трех про­извольно задаваемых чисел.

7. В последовательности из трех произвольно задаваемых чисел найти та­кие, которые больше или равны “а”, но меньше “b”.

8. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Выбрать и напечатать лучший результат.

9. Среди трех студентов, имеющих оценки A, B и C определить количе­ство студентов, не имеющих оценки 2 и 3.

10. Найти максимальное по модулю число в последовательности из трех произвольно задаваемых чисел.

11. Составить программу, которая по введенному времени определяла бы, ночь сейчас или день (считать, что ночные часы с 23.00 до 07.00).

12. Даны три прямоугольных треугольника, катеты которых равны A1, A2, B1, B2 и C1, C2 соответственно. Определить номер треугольника с наи­большей гипотенузой.

13. Определить количество одинаковых чисел, равных первому числу в по­следовательности произвольно задаваемых четырех чисел.

14. Подсчитать произведение положительных и произведение отрицатель­ных чисел в последовательности из трех произвольно задаваемых чисел.

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


Лабораторная работа N 6

Оператор выбора

 

Теоретическая часть

Оператор выбора

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

Форматоператора выбора:

case <выражение-селектор> of

< список_констант _1> : <оператор_1>;

< список_констант _2> : <оператор_2>;

. . .

< список_констант _N> : <оператор_N>

Else

<оператор>

end;

где <оператор_1>, <оператор_2>, …, <оператор_N> – простые операторы языка Паскаль. Если в качестве <оператор_1>, <оператор_2>, …, <оператор_N> требуется выполнить последовательности операторов, то они должны быть объявлены составными операторами.

 

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

Список констант – это набор значений с которыми сравнивается значение селектора. Список констант должен иметь тот же тип данных, что и селектор, и может состо­ять из одной константы, списка констант, разделенных запятыми, или списка констант, заданных диапазоном (интервалом).

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

readln(n);

case n of

2, 4, 6, 8: Writeln ('Четная цифра');

1, 3, 5, 7, 9: Writeln ('Нечетная цифра');

else

writeln ('Отрицательное число или больше 10')

end;

В качестве примера задания списка констант диапазоном рассмотрим сле­дующий фрагмент программы:

case Ch of

'A'..'Z', 'a'..'z': WriteLn ('Буква');

'0'..'9': WriteLn ('Цифра');

'+', '-', '*', '/': WriteLn ('Знак операции')

else

WriteLn ('Спецсимвол');

end;

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

 

Задания для лабораторной работы

1. По номеру месяца вывести его название.

2. По номеру дня недели вывести его название.

3. По номеру месяца определить время года.

4. По возрасту определить род занятий человека: ясли, школа, работа, пен­сия.

5. Напечатать слово СТУДЕНТ в заданном падеже (И - именительный, Р - родительный, Д - дательный, В - винительный, Т - творительный, П - предлож­ный) единственного числа.

6. По числу определить декаду месяца.

7. По году текущего десятилетия определить, будут ли проводить в этом году зимние или летние олимпийские игры, или год не олимпийский.

8. Для любого числа текущего месяца определить - выходной или рабочий это день или выдать сообщение о том, что в этом месяце такого числа нет.

9. Для первых двадцати натуральных чисел определить – является ли это число четным в интервале от 2 до 10, нечетным в интервале от 1 до 10, или это число попадает в интервал от 11 до 20.

10. Пусть переменная N принимает значения от 1 до 9. Напечатать значе­ние этой переменной римскими цифрами.

11. Пусть переменная N принимает значения от 1 до 9. Напечатать назва­ние хранящейся в переменной цифры (один, два, ...).

12. Для целого числа N от 20 до 30 напечатать фразу "Мне N лет", учиты­вая при этом, что при некоторых значениях N слово "лет" надо заменить на слово "год" или "года".

13. Для целого числа N от 1 до 8 напечатать фразу "Мы нашли N грибов", согласовав окончание слова "гриб".

14. По номеру месяца определить квартал.

15. По номеру месяца для текущего года вывести количество дней в этом месяце.

 

 

Лабораторная работа N 7

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

Теоретическая часть

Циклпредписывает многократное выполнение одной и той же последовательности действий.

Циклы подразделяются на циклы с параметром, с предусловием и с постусловием.

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

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

Формат оператора цикла с параметром:

for <параметр цикла> := <N> to <K> do

<оператор>;

где <параметр цикла> – переменная скалярного типа (целого, символьного, логического или любого перечислимого); <N> и <K> – выражения того же типа, что и <параметр цикла>, определяющие начальное и конечное значения интервала изменения параметра; <оператор> – простой оператор языка Паскаль.

Если в качестве <оператор> требуется выполнить последовательность операторов, то она должна быть составным оператором.

Рассмотрим пример использования оператора цикла for. Пусть требуется вывести на экран последовательность букв от A до Z:

for Ch := 'A' to 'Z' do

write (Ch:2);

Параметр “Ch:2” в операторе write означает, что каждая буква будет выведена в формате “<пробел><буква>”.

В некоторых случаях бывает удобно, чтобы <параметр цикла> принимал последовательные, но не возрастающие, а убывающие значения. В этом случае надо использовать оператор цикла с параметром следующего вида:

for <параметр цикла> := <N> downto <K> do

<оператор>;

В качестве примера выведем на экран цифры от 10 до 1.

for i:=10 downto 1 do

writeln (i:5);

 

Repeat

[<оператор>;]

until <условие>;

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





Рекомендуемые страницы:


Читайте также:

Последнее изменение этой страницы: 2016-03-15; Просмотров: 416; Нарушение авторского права страницы


lektsia.com 2007 - 2019 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.079 с.) Главная | Обратная связь