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

Самостоятельная работа студентов

Читайте также:
  1. I РАЗДЕЛ. РАБОТА ШКОЛЬНОГО ПСИХОЛОГА С УЧАЩИМИСЯ НАЧАЛЬНОЙ ШКОЛЫ
  2. I. Работа над текстом проекта
  3. II. Работа в отделении
  4. Ii. Работа над выводами и предложениями производству
  5. II. Работа с акварелью, гуашью, восковыми мелками, школьным мелом
  6. III РАЗДЕЛ. РАБОТА ПСИХОЛОГА СО СТАРШЕКЛАССНИКАМИ
  7. III. Оценка правильности приемки и отчетности о выполненных строительно-монтажных и ремонтных работах.

 

1FNS 12017 Алгоритмы, структуры данных и языки программирование

(шифр и наименование модуля)

 

по дисциплине ASDYaP1202 Алгоритмы, структуры данных и языки программирование

(код и полное наименование дисциплины по рабочему учебному плану)

 

для студентов специальности 5В070300 Информационные системы

(шифр и наименование специальности/специализации)

 

 

Астана

Самостоятельная работа студентов по дисциплине «Алгоритмы, структуры данных и языки программирования»

 

СРС №1 Алгоритмический язык Турбо Паскаль 7.0. Алфавит. Типы данных

Задания:

1. Нарисовать в конспекте диаграмму взаимосвязей всех простых типов.

2. Законспектировать подробные определения порядковых и вещественных типов.

3. Выписать примеры констант всех простых типов.

Методические рекомендации к выполнению:

Сведения о типах необходимо оформить в виде стандартных таблиц: имя типа, название типа, точность в десятичных цифрах (для вещественных типов), диапазон значений, число занимаемых байтов.

Обратите внимание на две формы записи целых, символьных и вещественных констант.

 

СРС №2

Операции. Стандартные функции. Выражения

 

Задания:

1. Законспектировать и разобрать сведения об арифметических, логических, строковых и множественных операциях. Привести примеры.

2. Законспектировать сведения о стандартных математических, порядковых функциях и функциях преобразования типов. Привести примеры выражений разных типов.

 

 

Методические рекомендации к выполнению:

Сведения об операциях необходимо оформить в виде стандартных таблиц: приоритет, обозначение операции, название операции, тип операндов, тип результата.

Сведения о функциях также необходимо оформить в виде стандартных таблиц: обращение к функции, математическое обозначение функции, тип аргумента, тип результата. Рассмотрите следующие функции: Abs, ArcTan, Cos, Exp, Frac, Int, Ln, Pi, Sin, Sqr, Sqrt, Odd, Ord, Succ, Pred, Round, Trunc, Chr.

 

СРС №3.

Структура программы. Инструкции присваивания и
ввода/вывода. Пустая инструкция

 

Задания:

1. Выписать общий вид и примеры всех разделов описаний.

2. Законспектировать сведения об инструкциях присваивания, ввода с клавиатуры и вывода на экран.

 

 

Методические рекомендации к выполнению:

При оформлении примеров разделов описаний аккуратно выделяйте каждый раздел единообразным отступом.

Обратите внимание на различие описания и использования обычных именованных констант и типизированных констант.

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

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

 

СРС №4

 

Блок. Ветвление. Инструкции альтернативы и
варианта

 

Задания:

1. Словесно и с помощью блок-схем описать алгоритм выполнения инструкций альтернативы и варианта. Законспектировать сведения об этих инструкциях. Привести разнообразные примеры.

2. Разобрать случаи вложения блока в инструкции альтернативы и варианта, инструкций альтернативы друг в друга, а также – в инструкцию варианта.

 

 

Методические рекомендации к выполнению:

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

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

 

СРС №5

 

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

 

Задания:

1. Словесно и с помощью блок-схем описать алгоритм выполнения инструкций всех трёх видов циклов. Законспектировать сведения об этих инструкциях. Привести разнообразные примеры.

2. Разобрать случаи вложения циклов друг в друга, блока и ветвлений в циклы.

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

 

 

Методические рекомендации к выполнению:

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

При разборе вложения циклов обратите внимание на "скорость" их работы (внутренний – "быстрее", а внешний – "медленнее").

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

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

 

СРС №6

 

Перечислимый и ограниченный типы. Массивы

 

Задания:

1. Законспектировать из [6] описание перечислимого типа, в том числе и четыре аксиомы определения этого типа. Привести примеры перечислимого типа и типов-диапазонов для разных базовых типов.

2. Выписать примеры различных массивов и определить количество байтов, которое они занимают. Найти и выписать ограничение на объём массивов в Турбо Паскале.

3. Законспектировать и разобрать из [6, 13] примеры поиска в одномерном массиве.

4. Написать и объяснить работу программ умножения и транспонирования матриц.

5. Для заданной матрицы смежности M произвольного графа построить её транзитивное замыкание M+ с помощью алгоритма Уоршала.

 

 

Методические рекомендации к выполнению:

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

Обратите внимание на то, что многомерный массив можно воспринимать как массив массивов и индекс его элемента записывать как такую последовательность: [I1][I2] … [ID].

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

При печати строки элементов матрицы можно использовать потоковый вывод (Write), а при переходе на новую строку – инструкцию WriteLn.

Алгоритм Уоршала приводится в [15]. Поскольку логические значения не вводятся с клавиатуры, воспользуйтесь целочисленными значениями 0 и 1.

 

СРС №7

 

Строки

 

Задания:

1. Привести примеры действий и операций с данными строкового типа.

2. Законспектировать описания стандартных процедур и функций для строковых данных, сопроводив их примерами, а примеры – объяснениями.

3. Написать и объяснить работу программ по распознанию слов-палиндромов и поиску всех вхождений подстроки в строку.

 

 

Методические рекомендации к выполнению:

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

Приведите пример и проанализируйте использование в строковой константе символа апостр о фа (').

Рассмотрите следующие символьно-строковые процедуры и функции: Insert, Delete, Str, Val, Copy, Length, Pos, UpCase.

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

 

СРС №8

 

Файлы

 

Задания:

1. Законспектировать описания стандартных процедур и функций для работы с файлами, сопроводив их примерами, а примеры – объяснениями. Объяснить смысл файловых переменных Input, Output, а также логических устройств, привести примеры.

2. Написать и объяснить работу программы подсчёта количества строк в текстовом файле, элементов – в типизированном файле, записей – в нетипизированном файле.

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

4. Написать и объяснить работу программы нахождения значения матричного выражения A*B+C*D. Промежуточные результаты (произведения матриц) сохранять во вр е менных типизированных файлах, элементы которых – матрицы! Попытаться просмотреть содержимое этих файлов на экране.

5. Проделать предыдущее задание для нетипизированных файлов.

6. Проделать 4-е задание с единственным типизированным файлом и организацией позиционирования в нём.

 

 

Методические рекомендации к выполнению:

Обратите внимание на особенности работы процедур и функций Append, Reset, SeekEof, Eof, FileSize, FilePos, Seek для различных видов файлов. Ответьте на вопрос: как организовать дозапись элементов в типизированном файле?

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

В задании 2 сравните обработку текстового файла и строк, вводимых с клавиатуры. Есть ли между ними разница?

В задании 3 при печати строки элементов матрицы используйте потоковый вывод (Write), а при переходе на новую строку – инструкцию WriteLn. Алгоритм Уоршала приводится в [15]. Поскольку логические значения не вводятся с клавиатуры, воспользуйтесь целочисленными значениями 0 и 1.

В заданиях 4 – 6 в программе достаточно трёх матриц.

 

СРС №9

 

Множества. Записи

 

Задания:

1. Законспектировать описания всех операций над множествами и их элементами, сопроводив всё это примерами, а примеры – объяснениями.

2. Законспектировать описания стандартных процедур Include и Exclude, сопроводив их примерами, а примеры – объяснениями. Сравнить их действие с операциями объединения (+) и разности (-).

3. Написать и объяснить работу программы, которая ищет в заданном подмножестве целых чисел наличие хотя бы одного нечётного числа.

4. Привести примеры записей, вложенных друг в друга, и доступа к полям таких записей, объяснить эти примеры.

5. Законспектировать определение инструкции присоединения, привести примеры вложения в неё других инструкций, сопроводив их объяснениями.

6. Законспектировать и разобраться с применением вариантной части записи. Привести пример программы наложения двух однобайтовых полей на одно двухбайтовое поле, распечатать отдельно их значения и проинтерпретировать результат.

 

Методические рекомендации к выполнению:

Обратите внимание на возможность использования в конструкторах не только списков констант, но и переменных.

При сравнении процедур Include и Exclude с операциями "+" и "-" программу откомпилируйте в.exe файлы (меню Compile→Destination) и сопоставьте длины этих файлов.

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

 

СРС №10

 

Подпрограммы-процедуры.
Локальность имён. Параметры процедуры

 

Задания:

1. Привести примеры различных видов передачи параметров, сопроводив их объяснениями.

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

3. Оформить программы вычисления произведения и транспонирования матриц и алгоритм Уоршала построения транзитивного замыкания матрицы смежности произвольного графа в виде процедур и объяснить применяемые способы передачи параметров.

4. Написать примеры программ с "перекрытием" глобальных имён локальными и подробно проанализировать результаты их работы.

5. Написать пример процедуры с нежелательным побочным эффектом через глобальную переменную – эта переменная должна использоваться в качестве счётчика внешнего цикла, в теле которого вызывается процедура, и в качестве счётчика цикла внутри тела процедуры. Проанализировать результаты её работы.

6. Организовать несколько вложений подпрограмм друг в друга и проанализировать использование областей существования локальных переменных этих подпрограмм.

 

 

Методические рекомендации к выполнению:

Обратите внимание на объединение в группы формальных параметров, передача которых осуществляется одинаковым способом.

Обратите внимание на то, что типы, обозначаемые одним зарезервированным словом, не надо обязательно именовать, например: string, file, Text и большинство простых типов.

Алгоритм Уоршала приводится в [15]. Поскольку логические значения не вводятся с клавиатуры, воспользуйтесь целочисленными значениями 0 и 1.

Обратите внимание на то, что "перекрываются" не только имена глобальных переменных, но и имена констант, типов, подпрограмм. А вот метки всегда локальны, то есть инструкцией goto нельзя передать управление вовнутрь процедуры, минуя её заголовок.

 

СРС №11

 

Подпрограммы-функции. Побочный эффект

 

Задания:

1. Подробно разобрать пример функции с побочным эффектом в лекции по Теме "Побочный эффект".

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

 

 

Методические рекомендации к выполнению:

Выполните трассировку с просмотром текущего значения переменной A.

При вычислении площади треугольника используйте формулу Герона.

 

СРС №12

 

Процедурный тип. Рекурсия

 

Задания:

1. Написать процедуру PrintFunc, печатающую таблицу значений произвольной функции на заданном отрезке [ a, b ], то есть использующую параметр процедурного типа. Напечатать с её помощью значения sin x, cos x и параболы y=x2.

2. Детально законспектировать методику создания рекурсивных алгоритмов в [15]. Каковы ограничения на объём стека, и как их регулировать в IDE?

3. Написать и проанализировать работу рекурсивных функций вычисления n! и n-го числа Фибоначчи. Сравнить их с простыми итеративными алгоритмами.

 

 

Методические рекомендации к выполнению:

Функции, передаваемые в качестве параметров, определите в дальней модели памяти разными способами. Обратите внимание на запрет передачи имён стандартных функций в качестве параметров.

Для управления объёмом стека можно использовать меню Options→Memory sizes в IDE либо директиву компилятору {$M}.

Поскольку факториал n! увеличивается быстро при росте n, то рекомендуемый тип функции – LongInt.

 

СРС №13

 

Модули

 

Задания:

1. Найдите в литературе или экспериментально ответы на вопросы: каковы ограничения по памяти, накладываемые на модуль; какова модель памяти по умолчанию подпрограмм модуля; что будет "видно" в программе, подключающей модуль, если в ней встретится объект, одноимённый с объектом в модуле, и как эту "видимость" можно изменить?

2. Сконструируйте новый тип "комплексные числа" с именем TComplex, операции сложения, вычитания, умножения, деления и умножения на вещественную константу комплексных чисел оформите в виде процедур. Всё это сгруппируйте в отдельном модуле UComplex.

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

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

5. Кратко законспектировать задачи, решаемые стандартными модулями, перечисленными в лекции по Теме "Модуль".

6. Скопируйте в свой каталог демонстрационные примеры Турбо Паскаля из каталога BP\EXAMPLES\DOS\TVDEMO. Откомпилируйте и выполните программы tvedit.pas (простенький редактор текста) и tvdemo.pas (демонстрация работы модулей библиотеки Turbo Vision, в их числе: таблица ASCII, календарь, калькулятор, игрушечная головоломка).

 

 

Методические рекомендации к выполнению:

Обратите внимание на то, что данные (переменные, типизированные константы) и программа (инструкции) занимают разные области памяти, поэтому ограничения на них накладываются раздельно.

При определении модели памяти для подпрограмм рассмотрите отдельно подпрограммы, "видимые" в интерфейсной части и, соответственно, "не видимые" в этой части.

Для типа "комплексные числа" подходящим является тип "запись".

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

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

При недостатке памяти для компиляции и компоновки можно поместить буфер компоновщика на диске, а не в памяти. Для этого в меню Options→Linker→Link buffer производится переключение со значения Memory на значение Disk.

Другой способ выхода из этого затруднения – это покинуть IDE и воспользоваться пакетным компилятором tpc.exe.

 

СРС №14

 

Ссылочный тип. Динамические переменные

 

Задания:

1. Привести примеры всех перечисленных в лекции по Теме "Ссылочный тип. Динамические переменные" действий и операций, связанных со ссылочным типом. Отдельно рассмотреть типизированные и нетипизированные указатели. В качестве указываемых объектов использовать обычные статические переменные.

2. Описать переменные: указатель на массив, массив указателей, указатель на запись, запись с полем-указателем. После этого выпишите, как организовать доступ к элементам этих структур при использовании разыменования "^".

3. В программе описаны типы и переменные:

Type

TA = array [1..5] of Double;

TB = array [1..20] of LongInt;

TC = array [1..30] of Integer;

TD = array [1..20] of Boolean;

Var

A: ^TA; B: ^TB; C: ^TC; D: ^TD;

E: TB;

После выполнения инструкций присваивания массивы A^, B^, C^, D^ будут "наложены" на какие-то участки единственного реального массива E:

 

B:= @E; A:= @B^[11]; C:= @B^[6]; D:= @B^[16];

 

Определить смещения в байтах элементов массивов A^[4], B^[10], C^[20], D^[5] от начала массива E. Все ли массивы A^, B^, C^, D^ целиком "покрываются" массивом E?

4. Запрограммируйте фрагмент из лекции, иллюстрирующий "висячую" ссылку. Выполните эту программу, переведите и выпишите сообщение об ошибке, которое будет получено. Выполните то же упражнение для процедур GetMem и FreeMem.

5. Напечатайте объём свободного пространства в куче при правильном захвате и освобождении динамических переменных, определив разницу между функциями MaxAvail и MemAvail.

6. Определите размер в байтах ссылочных типов в зависимости от типа, на который они указывают, множественных типов в зависимости от типа их элементов и различных файловых типов.

7. Выполните вычисление произведения и транспонирования матриц и алгоритм Уоршала построения транзитивного замыкания матрицы смежности произвольного графа для динамических массивов.

 

 

Методические рекомендации к выполнению:

Сравните возможности функции Addr и операции @.

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

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

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

Чтобы увидеть разницу между функциями MaxAvail и MemAvail захватите, к примеру, две небольших динамических переменных, затем освободите первую из них. Далее захватите более длинную переменную и только тогда освободите вторую небольшую переменную.

Обратите внимание на то, что аргумент функции SizeOf является именем только переменной или типа. В последнем случае функцию SizeOf можно использовать и в разделах описаний.

Для задания динамической матрицы её можно предварительно линеаризовать, выложив строки в динамический вектор. Тогда для доступа к элементу матрицы существенной величиной помимо индекса [I, J] будет размер (число элементов) её строки – N.

type {Тип вектора, который будет хранить матрицу}

TVect = array [1..65535 div SizeOf(TE)] of TE;

PVect = ^TVect;

После захвата памяти под вектор Vect: PVect; доступ к элементу матрицы с индексом [I, J] (1 ≤ I ≤ M, 1 ≤ J ≤ N) в реальности будет доступом к элементу вектора Vect^[N*(I - 1) + J].

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

Type

TRow = array [1.. 65535 div SizeOf(TE)] of TE;

PRow = ^TRow;

TCol = array [1.. 65535 div SizeOf(PRow)] of PRow;

Сами типы ориентированы на максимально возможные размеры индекса, поэтому память для динамической матрицы Matr: ^TCol; может захватываться без опасения выхода индекса за допустимые границы. Сначала захватывается динамический вектор-столбец указателей на строки (Matr^), а затем в цикле для каждого элемента столбца (Matr^[I]) – сами динамические строки (Matr^[I]^). Для доступа к элементам матрицы используется конструкция Matr^[I]^[J].

 

 

Экзаменационные вопросы по курсу «Алгоритмы, структуры данных и языки программирования»

1. Введение в дисциплину Основные понятия и определения Классификация структур данных Операции над структурами данных

2. ИСР Турбо Паскаль 7.0. Общие сведения о системе меню и окнах среды. Приёмы работы с меню и диалоговыми окнами.

3. Пункты меню File и Window в ИСР.

4. Работа в текстовом редакторе ИСР. Движение курсора, добавление и удаление элементов текста, закраска блоков, поиск и замена. Пункт меню Edit в ИСР.

5. Настройка в ИСР (пункт меню Options).

6. Компиляция, компоновка и запуск в ИСР (пункты меню Compile и Run).

7. Отладка в ИСР (пункты меню Debug и Run).

8. Система помощи в ИСР. Копирование образцов программ в личный файл.

9. Алфавит языка Турбо Паскаль 7.0. Понятие типа. Скалярные (простые) и структурные (сложные) типы. Их классификация.

10. Типы данных. Классификация типов. Константы, переменные.

11. Операции и их приоритеты. Преобразование типов.

12. Обращения к функциям. Стандартные функции. Выражения.

13. Структура программы. Раздел описаний. Простые и структурные инструкции. Алгоритмы линейной структуры (цепочки).

14. Инструкция присваивания. Совместимость типов и их преобразование. Пустая инструкция.

15. Ввод с клавиатуры, вывод на экран.

16. Структурные инструкции блока и альтернативы.Структурная инструкция варианта.

17. Циклы с предусловием и постусловием.

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

19. Концепция структурного программирования. Теорема и следствие. Вариант доказательства следствия на языке Паскаль.

20. Понятие типа. Перечислимый и ограниченный (диапазон) типы.

21. Массивы-вектора. Операции с массивами. Два линейных поиска в массиве. Типизированные константы-массивы.

22. Массивы-матрицы. Типизированные константы-массивы. Транспонирование матрицы; умножение матриц (программы на языке Паскаль).

23. Строковый тип. Операции с данными этого типа. Типизированные константы-строки.

24. Файловый тип. Основные действия с данными этого типа. Три вида файлов в Турбо Паскале и различия между ними.

25. Доступ к файлам (подсоединение). Открытие файлов. Закрытие файлов.

26. Позиционирование в файле (определение текущей позиции и конца файла).

27. Текстовые файлы и действия с ними.

28. Типизированные файлы и действия с ними.

29. Нетипизированные (бестиповые) файлы и действия с ними.

30. Множественный тип. Операции с данными этого типа. Типизированные константы-множества.

31. Записи. Инструкция присоединения. Вариантная часть записи. Типизированные константы-записи.

32. Подпрограммы-процедуры. Способы обмена информацией с процедурами. Локальные и глобальные имена.

33. Параметры процедуры. Параметры с неименованными типами.

34. Подпрограммы-функции. Побочный эффект.

35. Процедурный тип. Использование в подпрограммах формальных параметров этого типа.

36. Рекурсия. Методика создания рекурсивных программ и аппаратные особенности реализации рекурсии. Примеры рекурсивных программ.

37. Модули и их структура. "Видимость" объектов модуля.

38. Компиляция и подключение модулей. Стандартные модули в Турбо Паскале.

39. Ссылочный тип. Операции, связанные с этим типом.

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

41. Списочная организация данных.

42. Динамические объекты.


Дата добавления: 2015-07-15; просмотров: 238 | Нарушение авторских прав


Читайте в этой же книге: Бинарный поиск | Лекция 15. Сортировка | Обменная сортировка простой выборкой | Практическое занятие №1 | Практическое занятие №2 | Практическое занятие №3 | Практическое занятие №4 | Практическое занятие №5 | Практическое занятие №9 | Практическое занятие №10 |
<== предыдущая страница | следующая страница ==>
Практическое занятие №11| Глоссарий

mybiblioteka.su - 2015-2024 год. (0.045 сек.)