Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Задания по лабороторным работам.doc
Скачиваний:
10
Добавлен:
12.07.2019
Размер:
118.78 Кб
Скачать

Вопросы для самоконтроля

  1. Дайте определение массива.

  2. Какими способами можно определить массив в программе? Запишите примеры.

  3. Какими способами возможен доступ к элементу массива? Запишите примеры.

  4. Какие характеристики массива компилятор фиксирует в таблице-дескрипторе?

  5. Как определить размер памяти, отводимой под массив?

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

  7. Запишите последовательность действий для исключения из массива элемента с заданным значением.

  8. Запишите последовательность операторов для добавления элемента в необходимую позицию в массиве?

  9. Дайте определение и описание указателя.

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

  11. Какова связь между массивами и указателями?

  12. Опишите указатель на массив из 10 целых чисел и массив указателей на 20 переменных вещественного типа

  13. В чем отличие символьных и литерных констант?

  14. Что такое строка? Как производится инициализация переменных и строк?

  15. Какими способами можно определять строки в программе? Запишите примеры.

  16. Какой последовательностью операторов можно перевести число в строку и наоборот?

  17. Запишите операторы вызова библиотечных функций для перевода чисел (целых, вещественных) в строку и, наоборот, из строки в число.

  18. Какие библиотечные функции по обработке символов можете назвать? Приведите примеры.

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

  20. Каким образом двумерные (многомерные) массивы размещаются в памяти компьютера?

  21. Как определить объем памяти, отводимой под двумерный массив?

  22. Почему первый элемент в матрице имеет индексы 0, 0, а не 1,1?

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

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

  25. Какими тремя способами можно получить из функции значение максимального элемента?

  26. Если вычеркнуть из матрицы К строк, то сколько копий последней строки будет хранится в памяти?

  27. Сколько операций присваивания нужно выполнить, чтобы поменять местами значения элементов первой и последней строки в матрице размером К*К.

  28. Что такое функция? Что такое «определение функции».

  29. Что такое прототип функции? Приведите примеры.

  30. Перечислите способы передачи параметров в функции. Приведите примеры.

  31. Какие объекты программы могут возвращаться как результат работы функции? Приведите примеры.

  32. Назовите три вида параметров функции. Приведите примеры.

  33. Как вернуть из функции несколько значений? Приведите примеры.

  34. Как передается массив в функцию?

  35. Какую последовательность действий выполняет компилятор при вызове функции?

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

Лабораторная работа № 5. Методы сортировки.

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

  1. Сортировка выбором: минимальный элемент переносится в начало массива.

  2. Сортировка выбором: максимальный элемент переносится в конец массива.

  3. Сортировка подсчетом: путем попарного сравнения в отдельном массиве подсчитывается количество элементов меньше данного, что определяет место размещения элемента в выходном массиве: результирующий массив формируется слева направо.

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

  5. Сортировка вставками. Метод «погружения»: очередной элемент путем последовательности обменов «погружается» до требуемой позиции в уже упорядоченную часть массива.

  6. Сортировка вставками. Метод «включения»: определяется место в отсортированной части массива, куда должен помещаться элемент. Элементы от данной позиции сдвигаются вправо, и на освободившееся место помещается включаемый элемент.

  7. Оптимизированный метод пузырька.

  8. Шейкер – сортировка.

Лабораторная работа № 6. Функции. Строки. Указатели.

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

Назначение и прототипы функций:

  1. Определение длины строки - int Length (char *string);

  2. Перевернуть строку - char *Reverse (char *string);

  3. Определение количества вхождений заданного символа в строку -

int Quality (char *string, char ch);

  1. Проверка строки на баланс парных скобок - int Balance (char *string);

  2. Удаление заданной подстроки из строки и возврат результата

- char *Delete_substring (char *string, char *subset);

  1. Возврат номера позиции первого вхождения подстроки в строку

- int Enter_substring (char *string, char * subset);

  1. Возврат строки, полученной после дописывания второй строки в конец первой - char *Concatenation (char *string1, char * string2);

  2. Возврат строки, полученной после вставки второй строки в первую, начиная с указанной позиции N -

char *Insert (char *string1, char * string2, int n);

  1. Возврат части данной строки длиной K, начинающейся с позиции с номером N - char *Cut (char *string1, int k, int n);

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

2 Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между словами и их количество может быть любым.