Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

примеры лаб

.pdf
Скачиваний:
30
Добавлен:
02.04.2015
Размер:
1.27 Mб
Скачать

Варианты индивидуальных заданий Расположение окон

1

 

Расположение окон на экране:

 

2

Расположение окон на экране:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Информация о задаче

 

 

 

 

 

 

О задаче

 

 

Выходные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Входные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

Расположение окон на экране:

 

4

 

 

Расположение окон на экране:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

 

Вывод

 

 

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расположение окон на экране:

Расположение окон на экране:

5

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

 

 

 

 

 

 

 

 

 

Задача

 

 

 

 

 

Задача

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

Вывод

 

 

Ошибка

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

41

7

Расположение окон на экране:

8

Расположение окон на экране:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Информация о задаче

 

 

 

 

 

 

 

Задача

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

Расположение окон на экране:

Расположение окон на экране:

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Информация о задаче

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О задаче

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вход

 

 

 

Выход

 

 

 

Ввод

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

Расположение окон на экране:

 

Условие задачи

Вход Выход

Ошибка

12

 

 

Расположение окон на экране:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача

 

Ввод

 

Вывод

 

 

 

 

 

 

 

 

 

Ошибка

42

13

Расположение окон на экране:

 

Задача

Ввод Вывод

Ошибка

14

Расположение окон на экране:

 

Ввод Вывод

Задача

Ошибка

15

Расположение окон на экране:

 

 

 

Входные

Задача

 

данные

 

 

 

 

 

Выходные

данные

16

Расположение окон на экране:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача

 

 

 

Ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

Расположение окон на экране:

 

Вход Выход

Задача

43

18

Расположение окон на экране:

 

Входные

Задача

Выходные

Ошибка

Матрицы

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

10

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

11

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

44

12

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

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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

45

Пример программы с подпрограммами

Program MatrInt;

{Программа поиска и перестановки в матрице двух строк: строки с минимальным и строки с максимальным элементом}

Uses Crt;

{Подключение модуля}

Const R=10;

{Размер строки (столбца) матрицы}

Type Tind=1..R;

{Тип индекса элемента матрицы}

Tvect=Array[Tind]

Of

Integer;

{Тип

вектор целых чисел}

Tmatr=Array[Tind]

Of

Tvect;

{Тип

матрица целых чисел}

{$R+}

Procedure InMatr(kStr,kStb:Tind;Var M:Tmatr);

{Процедура ввода матрицы.

Входные данные:

kStr

-

количество строк матрицы,

 

kStb

-

количество столбцов матрицы.

Выходное данное:

M - матрица.}

Var i,j:Tind;

{Локальные переменные}

Begin WriteLn('Вводите матрицу по строкам:');

For i:=1 To kStr Do Begin

For j:=1 To kStb Do Read(M[i,j]); ReadLn;

End;

End;{InMatr}

Function NomMin(kStr,kStb:Tind; Const M:Tmatr):Tind;

{Функция определения номера строки с минимальным элементом. Входные данные: kStr - количество строк матрицы,

kStb - количество столбцов матрицы, M - матрица.

Выходное данное: NomMin - номер минимального элемента.} Var i,j,nmin:Tind; min:Integer; {Локальные переменные}

Begin

min:=M[1,1]; nmin:=1; For i:=1 To kStr

Do For j:=1 To kStb Do If M[i,j]<min

Then Begin min:=M[i,j]; nmin:=i;

End;

NomMin:=nmin; End; {NomMin}

46

Function NomMax(kStr,kStb:Tind; Const M:Tmatr):Tind;

{Функция определения номера строки с максимальным элементом. Входные данные: kStr - количество строк матрицы,

kStb - количество столбцов матрицы, M - матрица.

Выходное данное: NomMax - номер максимального элемента.} Var i,j,nmax:Tind; max:Integer; {Локальные переменные}

Begin

max:=M[1,1]; nmax:=1; For i:=1 To kStr

Do For j:=1 To kStb Do If M[i,j]>max

Then Begin max:=M[i,j]; nmax:=i;

End;

NomMax:=nmax; End; {NomMax}

Procedure ObmenStr(kStr,kStb:Tind; Var M:Tmatr);

{Процедура перестановки строк с минимальным и максимальным элементом.

Входные данные: kStr

- количество строк матрицы,

kStb

- количество столбцов матрицы,

M

- матрица целых чисел.

Выходное данное:

M - преобразованная матрица.}

Var strM:Tvect; nmin,nmax:Tind;

{Локальные переменные}

Begin

 

 

nmin:=NomMin(kStr,kStb,M);

nmax:=NomMax(kStr,kStb,M); If nmin<>nmax

Then Begin strM:=M[nmin]; M[nmin]:=M[nmax]; M[nmax]:=strM;

End; End; {ObmenStr}

Procedure Okno(x1,y1,x2,y2,cf,ct:Byte);

{Процедура формирования окна}

Begin

Window(x1,y1,x2,y2);

{Установка параметров окна}

TextBackGround(cf);

{Установка цвета фона}

TextColor(ct);

{Установка цвета текста}

ClrScr;

{Очистка окна}

End;{Okno}

 

 

47

Var i,j:Tind;
Begin

Procedure OutMatr(kStr,kStb:Tind; Const M:Tmatr);

{Процедура вывода матрицы.

Входные данные: kStr - количество строк матрицы, kStb - количество столбцов матрицы,

M - матрица.} {Локальные переменные}

For i:=1 To kStr

Do Begin For j:=1 To kStb

Do Write(M[i,j]:3);

WriteLn;

End;

 

End;{OutMatr}

 

Var n,m,nStb:Tind; Matr:Tmatr;

 

Begin

 

Okno(1,1,80,25,0,15);

{На черном фоне белый текст}

Write('Размеры матрицы? '); ReadLn(n,m);

Okno(1,6,38,20,2,15);

{На зеленом фоне белый

текст}

 

InMatr(n,m,Matr);

{Ввод матрицы}

WriteLn('Исходная матрица');

OutMatr(n,m,Matr);

{Вывод матрицы}

ObmenStr(n,m,Matr);

{Перестановка строк}

Okno(40,6,80,20,3,15);

{На голубом фоне белый

текст}

 

WriteLn('Матрица после перестановки строк'); OutMatr(n,m,Matr); {Вывод матрицы}

ReadLn;

End.

48

Лабораторная работа №6 Текстовые файлы

Объем в часах: аудиторных занятий - 3, самостоятельных - 4.

Цель лабораторной работы:

изучение структурной организации, способов доступа к элементам и других особенностей текстовых файлов;

изучение стандартных средств Турбо Паскаля для работы с множествами, строками и текстовыми файлами;

приобретение навыков работы с текстовыми файлами; совершенствование навыков процедурного программирования при

решении задач редактирования текстовых файлов.

Задание на программирование

Используя технологию процедурного программирования разработать программу обработки текстовых файлов с числом строк не менее 5 в соответствии с индивидуальным заданием. При обработке строк необходимо использовать множества. Массивы не использовать!

Порядок выполнения лабораторной работы

1.Получить у преподавателя индивидуальное задание.

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

3.Описать и использовать подпрограмму обработки строки, подпрограммы проверки существования, создания, просмотра и редактирования текстового файла. Обосновать вид и список параметров каждой подпрограммы. Использовать оконный интерфейс предыдущей лабораторной работы.

4.Составить текст программы с подпрограммами. Раздел операторов программы должен содержать только вызовы подпрограмм.

5.При демонстрации выполнения программы обеспечить одновременный показ в окнах на экране исходного и отредактированного файлов.

6.Оформить отчет о лабораторной работе в составе: постановка задачи,

математическая модель, структура программы, текст программы, контрольные примеры

49

Варианты индивидуальных заданий

1

Дана строка. Словом текста является последовательность букв русского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова, в которых гласные буквы алфавита образуют симметричную последовательность букв (палиндром). Все остальные слова удалить. Малые и большие буквы алфавита считать эквивалентными.

2

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

3

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

4

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

5

Дана строка. Словом текста считается любая последовательность букв русского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова текста, которые содержат только большие буквы алфавита. Все остальные слова удалить.

6

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

50