
- •Лабораторная работа № 1 Работа с двоичными масками
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа № 2 Работа со строками
- •I. Требования к выполнению заданий
- •II. Варианты заданий
- •Лабораторная работа № 3
- •II. Варианты заданий
- •Лабораторная работа № 5
- •2. Вложенные операторы if
- •3. Составной оператор в операторе if
- •Лабораторная работа № 6 Создание и обработка массивов
- •I. Требования к выполнению задания:
- •II. Варианты заданий
- •Лабораторная работа № 7 Использование множеств
- •Варианты заданий
- •Лабораторная работа № 8 Использование записей и файлов
- •1 Часть (записи)
- •2 Часть (файлы)
- •Лабораторная работа № 9 Изучение механизма передачи данных в процедуры
- •I. Требования к выполнения заданий
- •II. Варианты заданий
- •17 (18)
- •Лабораторная работа № 10 Указатели и динамические переменные
- •Часть 1. Простые ссылочные типы
- •Часть 2. Стеки и списки
- •Библиографический список
- •Содержание
- •Языки программирования
- •390005, Рязань, ул. Гагарина, 59/1.
II. Варианты заданий
№ вар. |
Задание |
1 |
S = –1/2 + 2/(2*3*4) – 3/(2*3*4*5*6) + 4/(2*3*4*5*6*7*8) – –5/(2*3*4*5*6*7*8*9*10) |
2 |
S = –x2/2 + x4/(3*4) – x6/(5*6) + x8/(7*8) – x10/(9*10) |
3 |
S = -2/3 + 1 – 6/5 + 8/6 – 10/7 |
4 |
S = –3 +2 – 5/3 + 6/4 – 7/5 |
5 |
S = -x-1 + x-2/2 – x-3/(2*3) + x-4/(2*3*4) – x-5/(2*3*4*5) |
6 |
S = –1 + ½ – (2*3)/6 + (2*3*4)/8 – (2*3*4*5)/10 |
7 |
S = - 1 + x/2 – x2/(2*4) + x3/(2*4*6) – x4/(2*4*6*8) + x5/(2*4*6*8*10)
|
8 |
S = 3 + 4*(1/(2*3*4) – 1/(4*5*6) + 1/(6*7*8) – 1/(8*9*10) + + 1/(10*11*12)) |
9 |
S = (16/5 - 4/239) – (16/(3*53) - 4/(3*2393)) + (16/(5*55) – 4/(5*2395)) – – (16/(7*57) – 4/(7*2397)) |
10 |
S = 6/3*(1 – 1/(3*3) + 1/(32*5) – 1/(33*7) + 1/(34*9)) |
11 |
S = –x + 1/2*(x3/3) – 1/2*3/4*(x5/5) + 1/2*3/4*5/6*(x7/7) – – 1/2*3/4*5/6*7/8(x9/9) |
Лабораторная работа № 5
Изучение условных операторов в Турбо Паскале
Цель работы
Получение навыков написания и анализа программ с разветвляющимися алгоритмами.
I. Требования к выполнению работ
Все бригады выполняют одни и те же упражнения, внося исправления в выданные программы таким образом, чтобы получался обозначенный в каждом задании результат. Всего упражнений четыре. Исходные модули соответствующих упражнениям программ TEST1.PAS (для задания 1), TEST2.PAS (для задания 2), TEST3.PAS (для задания 3), TEST4.PAS (для задания 4) студенты получают у преподавателя. Исходные (до исправлений) листинги этих программ приведены ниже.
II. Задания
1. Оператор Case
Чему надо научиться при отладке этой программы:
использованию нескольких констант выбора для одного оператора Case;
использованию ELSE в операторе CASE.
Что должна делать программа?
Программа с новой строки задает вопрос и ждет ответа в виде символа в той же строке, где находится вопрос.
1. В случае ввода символов Д, д, Y, y программа должна выводить с новой строки сообщение: Вы ответили 'Да'.
2. В случае ввода символов Н, н, N, n программа должна выводить с новой строки сообщение: Вы ответили 'Нет'.
3.
В случае ввода символов, отличных от
перечисленных в п. п. 1 и 2, программа
должна выводить с новой строки сообщение:
Вы ответили '▫' , но это недопустимый символ.
введенный символ
Как работает программа?
Программа зациклена таким образом, что задает вопросы и обрабатывает ответы до тех пор, пока в ответ на очередной вопрос не будет нажата клавиша <Esc>.
Что требуется сделать с текстом программы?
Исправить синтаксические ошибки в программе.
Запустить программу и проверить ее реакцию на различные виды ответов пользователя.
Исправить семантические ошибки, чтобы программа делала то, что положено (см. пункт "Что должна делать программа?").
При этом надо исправить и операторы внутри конструкции CASE, и операторы, расположенные над конструкцией CASE (но не под конструкцией!).
Program TEST1;
USES
CRT;
const
text : string=''; { Перевод ответа для вывода его на экран }
reply: char=''; { Введенный ответ пользователя
BEGIN
ClrScr;
repeat
{ Ввод ответа }
Writeln;
Writeln(' Ответьте Д/д/Y/y для ''Да'' или Н/н/N/n для ''Нет'': ');
Read(reply);
{ Трансляция ответа }
Case reply of
Д:;
д:;
Y:;
y:
text:='''Да''';
'Н':
'н':
'N':
'n':
text:='''Нет''';
else
if ord(reply)<32
then
text:='пустым символом';
else
text:='''+reply+'''+' , но это недопустимый символ';
End;
writeln(' Вы ответили ',text);
reply:=readkey;
until Ord(reply)=27;
End.