Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмдеу жане багдарламалау негиздери 4 г.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.73 Mб
Скачать

Тақырыбы: Кіру және шығу файлдарымен жұмыс.

Тапсырмалар:

1. f1 және f2 символды файлы берілген. f1 файлы компонентін f2 файлына, f2 файлы компонентін f1 файлына сақталған күйінде көшіріп жазу. h көмекші файлын қолдану арқылы.

2. Нақты сандары бар f1, f2, f3, f4, f5 файлы берілген, Схема бойынша файлдар компонентін алмастыруды ұйымдастыр. Тек бір h көмекші файлын қолданып.

f1 f2 f3 f4 f5

| | | | |

f3 f4 f5 f2 f1

3. f символдық файлы берілген. f файлында кем дегенде екі компонент бар. Файлдың екі алғашқы символы цифр болып табылады ма? Егер қанағаттандырса, онда ол сан жұп па?

4. Бүтін сандар болатын f файлы берілген. g файлына f файлындағы төмендегі қасиеттері бар компоненттерді алу. а) Жұп санды;

б) 3-ке бөлінетін және 7-ге бөлінбейтін;

в) дәл квадраттарды.

5. f символдық файлы берілген. f файлындағы барлық әріптерді g файлына басқы әріптермен бейнелеу керек.

әдебиет:

1.Негізгі – 3, 5, 9-12

2. Қосымша - 4

Әдістемелік нұсқау:

Паскаль программалау тілінде файл компоненті массивте бола алады. Төмендегі мысалды қарастырайық.

Мысалы: Компоненті массив болатын файл құру. PROGRAM FJL_MAS;

type mas=array[1..10] of integer; fi1=file of mas;

var a:mas;

i,j:inte

BEGIN

assign(f,'mas.dat');

rewrite(f);

for i:=l to 7 do begin

for j:=l to 10 do

a[j]:=random(100);

write(f,a)

end;

close(f)

END.

33 жұмыс

Тақырыбы: Файлдарды сұрыптау және последовательностей

Тапсырмалар:

1. Число компонент файла f, компонентами, которого являются целые числа, кратно десяти. Переписать компо­ненты файла f в файл g, изменяя порядок чисел в каждой десятке так, чтобы

а) вначале шли отрицательные числа десятки, а за ними — неотрицательные;

б) вначале шли числа, делящиеся на 3, затем числа, дающие при делении на 3 остаток 1, затем числа, дающие при делении на 3 остаток 2.

Порядок самих десяток должен быть сохранен.

2. Пусть файлы с и d с компонентами, являющи­мися действительными или целыми числами, упорядочены по невозрастанию компонент. Требуется собрать компо­ненты файлов с и d в упорядоченном виде в файле f . Количество сравнений не должно пре­восходить p+q, где р и q—число компонент в файлах cu d.

3. Пусть а и b—файлы, k—натуральное число. Будем говорить, что файлы a и b согласованно k-упорядочены, если

1) в каждом из файлов а и b первые k компонент, сле­дующие за ними k компонент и т. д. образуют упорядо­ченные группы; последняя группа файла (тоже упорядо­ченная) может быть неполной, т. е. содержать менее k компонент, но при этом только один из файлов а и b мо­жет иметь неполную последнюю группу;

2) число упорядоченных групп файла а отличается от числа упорядоченных групп файла b не более чем на еди­ницу;

3) если в одном файле число упорядоченных групп меньше на единицу, чем в другом, то неполной может быть только последняя группа более длинного файла.

әдебиет:

1.Негізгі – 3, 5, 9-12

2. Қосымша - 4

Әдістемелік нұсқау:

Компоненты двух согласованно k-упорядоченных фай­лов а и b можно разместить в файлах g и h так, что g и h будут согласованно 2k-упорядочены. Это делается с по­мощью описанных в предыдущей задаче слияний; при этом результаты слияний попеременно размещаются то в файле g, то в файле h. Рис. демонстрирует происходящее при первых двух слияниях. Файлы представлены в виде отрез­ков, части которых изображают упорядоченные группы с указанным числом компонент.

Завершить описание этого алгоритма, рассмотрев его заключительную стадию. Доказать, что файлы g и ft дей­ствительно будут согласованно 2k-упорядочены. Реализовать этот алгоритм в виде программы.

34-35 жұмыс