
- •Программирование и основы алгоритмизации Практикум
- •Введение
- •Лабораторная работа № 1 "простейшие вычисления"
- •Краткие теоретические сведения
- •Структура программы.
- •Константы и переменные
- •Операции
- •Выражения
- •Ввод и вывод
- •Функция вывода
- •Функция ввода
- •Постановка задачи
- •Варианты.
- •Методические указания
- •Постановка задачи
- •Варианты Задание 1.
- •Задание 2.
- •Лабораторная работа № 3 "вычисление функций их сумм и произведений при помощи циклических алгоритмов"
- •Краткие теоретические сведения Операторы циклов.
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с параметром
- •Операторы передачи управления
- •Постановка задачи
- •Варианты Задание 1.
- •Задание 2.
- •Методические указания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 "работа с одномерными массивами"
- •Краткие теоретические сведения.
- •Обработка одномерных массивов.
- •Формирование псевдодинамических массивов.
- •Использование датчика случайных чисел для формирования массива.
- •Перебор массива по два элемента.
- •Варианты
- •Методические указания
- •Двумерные массивы
- •Одномерные и двумерные массивы
- •«Многомерные массивы»
- •Определение количества элементов массива в программе.
- •Постановка задачи
- •Варианты
- •Дополнительные задания
- •«Динамические массивы»
- •Формирование динамических массивов с использованием операций new и delete.
- •Постановка задачи
- •Порядок выполнения работы
- •Варианты
- •«Работа со строками»
- •Постановка задачи
- •Варианты
- •«Структуры»
- •Инициализация структур
- •Присваивание структур
- •Доступ к элементам структур
- •Указатели на структуры
- •Постановка задачи.
- •Варианты
- •«Полиморфизм в объектно-ориентированном программировании. Перегрузка функций»
- •Постановка задачи
- •Варианты
- •«Функции с переменным числом параметров»
- •Постановка задачи
- •Варианты
- •Доступность компонентов класса.
- •Указатель this
- •Конструктор
- •Конструктор копирования
- •Деструктор
- •Указатели на компоненты-функции
- •Порядок выполнения работы.
- •Методические указания.
- •Варианты
- •Содержание отчета.
- •Контрольные вопросы
- •Лабораторная работа № 12
- •Краткие теоретические сведения.
- •Бинарные и унарные операции
- •Предопределенные значения операций
- •Операции и определяемые пользователем типы
- •Определяемое преобразование типа
- •Конструкторы
- •Перегрузка операций new и delete
- •Перегрузка операции приведения типа
- •Перегрузка операции вызова функции
- •Перегрузка операции индексирования
- •Порядок выполнения работы.
- •Варианты задания.
- •Методические указания. Пример решения задачи
- •Содержание отчета.
- •Контрольные вопросы
- •Лабораторная работа № 13 «наследование и виртуальные функции»
- •Краткие теоретические сведения.
- •Указатель this
- •Наследование
- •Конструкторы и деструкторы производных классов
- •Виртуальные функции
- •Абстрактные классы
- •Порядок выполнения работы.
- •Варианты заданий.
- •Методические указания.
- •Содержание отчета.
- •Контрольные вопросы.
- •Самостоятельная работа № 1 «шаблоны функций и классов»
- •Краткие теоретические сведения.
- •Основные свойства параметров шаблона функции
- •Шаблон класса
- •Основные свойства шаблонов классов
- •Компонентные функции
- •Порядок выполнения работы.
- •Варианты заданий.
- •Содержание отчета.
- •Контрольные вопросы
- •Самостоятельная работа № 2 «потоковые классы»
- •Краткие теоретические сведения.
- •Пример шаблона потокового класса.
- •Базовые потоки ввода-вывода
- •Форматирование
- •Манипуляторы
- •Определение пользовательских манипуляторов
- •Файловый ввод-вывод
- •Порядок выполнения работы.
- •Методические указания
- •Распечатка исходных данных и результатов выполнения программы.
- •Литература
Постановка задачи
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце текста ставится точка. Текст содержит не более 255 символов. Выполнить ввод строки, используя функцию Gets(s) и обработку строки в соответствии со своим вариантом.
Варианты
Вариант 1.
Проверить является ли строка палиндромом. (Палиндром - это выражение, которое читается одинакова слева направо и справа налево).
Вариант 2.
Напечатать самое длинное и самое короткое слово в этой строке.
Вариант 3.
Напечатать все слова, которые не содержат гласных букв.
Вариант 4.
Напечатать все слова, которые содержат по одной цифре.
Вариант 4.
Напечатать все слова, которые совпадают с ее первым словом.
Вариант 5.
Преобразовать строку таким образом, чтобы сначала в ней были напечатаны только буквы, а потом только цифры, не меняя порядка следования символов в строке.
Вариант 6.
Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию.
Вариант 7.
Преобразовать строку так, чтобы все цифры в ней были отсортированы по убыванию.
Вариант 8.
Преобразовать строку так, чтобы все слова в ней стали идентификаторами, слова состоящие только из цифр - удалить.
Вариант 9.
Напечатать все слова-палиндромы, которые есть в этой строке(см 1 вариант).
Вариант 10.
Преобразовать строку таким образом, чтобы в ее начале были записаны слова, содержащие только цифры, потом слова, содержащие только буквы, а затем слова, которые содержат и буквы и цифры.
Вариант 11.
Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот.
Вариант 12.
Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию.
Вариант 13.
Преобразовать строку таким образом, чтобы цифры каждого слова в ней были отсортированы по убыванию.
Вариант 14.
Преобразовать строку таким образом, чтобы в ней остались только слова, содержащие буквы и цифры, остальные слова удалить.
Вариант 15.
Определить какое слово встречается в строке чаще всего.
Вариант 16.
Определить какие слова встречаются в строке по одному разу.
Вариант 17.
Все слова строки, которые начинаются с буквы, отсортировать в алфавитном порядке.
Вариант 18.
Все слова строки, которые начинаются с цифры отсортировать по убыванию.
Вариант 19.
Удалить из строки все слова, которые не являются идентификаторами.
Содержание отчета
Постановка задачи;
Исходные данные;
Алгоритм решения;
Листинг программы;
Результаты выполнения программы.
Контрольные вопросы
Особенности представления символьных и строковых данных в C/C++;
Ввод и вывод символьных данных в C/C++;
Функции для работы со строками. Примеры;
Особенности использования указателей при работе со строками.
Лабораторная работа № 8
«Структуры»
Цель: Изучение структурных данных и методов работы с ними средствами языка Си.
Краткое теоритическое введение
Понятие структуры.
Структура – это объединенное в единое целое множество поименованных элементов данных. Элементы структуры (поля) могут быть различного типа, они все должны иметь различные имена.
Форматы определения структурного типа следующие:
struct имя_типа //способ 1
{
тип 1 элемент1;
тип2 элемент2;
. . .
};
Пример:
struct Date//определение структуры
{
int day;
int month;
int year;
};
Date birthday;//переменная типа Date
struct //способ 2
{
тип 1 элемент1;
тип2 элемент2;
. . .
} список идентификаторов;
Пример:
struct
{
int min;
int sec;
int msec;
} time_beg, time_end;
В первом случае описание структур определяет новый тип, имя которого можно использовать наряду со стандартными типами.
Во втором случае описание структуры служит определением переменных.
Структурный тип можно также задать с помощью ключевого слова typedef:
typedef struct //способ 3
{
floar re;
float im;
} Complex;
Complex a[100];//массив из 100 комплексных чисел.