- •Часть 1 11
- •Часть 2 18
- •Часть 1 21
- •Часть 2 24
- •Лабораторная работа №1 Тема: “Программы, использующие команды ветвления. Отладка программы“ Отладка программы
- •Часть 1 Ветвление в программе с помощью вложенных конструкцийif-else Задание
- •Пример 1
- •Пример 2
- •Организация повторения программы
- •Выполнение программы в пошаговом режиме
- •Задание для самостоятельного выполнения
- •Часть 2 Ветвление в программе с помощью оператораswitch
- •Задание для самостоятельного выполнения
- •Лабораторная работа №2
- •Программа, которая проверяет, является ли число простым
- •Программа, которая проверяет, является ли число палиндромом
- •Часть 2 Программы, использующие рекуррентные соотношения
- •Программа, которая находит числа Фибоначчи в заданном диапазоне.
- •Программа, которая находит значение квадратного корня из заданного числа, используя рекуррентное соотношение:
- •Программа, которая вычисляет сумму рядас заданной точностью.
- •Пример – программа, которая вычисляет сумму рядадля заданного количества слагаемых.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 3 Тема: “Программы, использующие вспомогательные функции”.
- •1. Программа, которая считывает координаты вершин треугольника на плоскости и находит все углы этого треугольника в градусах.
- •2. Программа, которая находит заданное количество чисел, содержащих цифру 3
- •3. Программа, которая находит на заданном отрезке натуральные числа, которые можно представить в виде суммы квадратов двух натуральных чисел.
- •Программа, которая находит первое автоморфное число справа от заданного.
- •6. Программа для вычисления биноминальных коэффициентов
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 4 Тема: “Программы, использующие строки символов ”.
- •Программа, которая считывает строку символов и сортирует ее по возрастанию кодов символов
- •Программа перевода числа из десятичной системы счисления в двоичную
- •Первый вариант (с использованием указателя)
- •Программа перевода числа из двоичной системы в десятичную
- •Программа перевода числа из 16-ой системы счисления в 2-ую.
- •Программа перевода числа из 2-ой системы счисления в 16-ую.
- •Программа, которая выводит на экран треугольник Паскаля (треугольник биноминальных коэффициентов)
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 5 Тема: “Программы, использующие файлы ”.
- •Программа, которая считывает имя файла, открывает его и подсчитывает количество скобок каждого вида, содержащихся в файле.
- •Программа, инвертирующая файл (переставляющаясимволыв обратном порядке)
- •Программа выводит на экран n-ую строку файла
- •Программа, которая переписывает текст из одного файла в другой, удаляя лишние пробелы между словами и делая ширину текста максимум 70 символов
- •5. Программа, которая считывает текст файла и создает новый файл, заменив во всем тексте заданное слово на новое (не изменяя деление на строки и количество пробелов между словами)
- •6. Программа, которая считывает данные для структуры Man из файла.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 6 Тема: “Программы, использующие массивы ”.
- •Программа заполняет массив a(50) случайными целыми числами из диапазона [-20, 30] и упорядочивает его по возрастанию. Исходный и упорядоченный массивы выводятся на экран дисплея.
- •Программа, которая по заданным корням многочлена степениnвосстанавливает все коэффициенты многочлена.
- •Программа считывает линейный массив из файла, выводит его на экран, и подсчитывает количество элементов массива, находит min и max элементы и их индексы.
- •Программа заполняет массив a[5][5] случайными целыми числами из диапазона [-3, 3] и находит произведение элементов, стоящих на побочной диагонали.
- •Программа считывает матрицу из файла, выводит ee на экран, сортирует элементы в каждом столбце и отсортированную матрицу записывает в файл.
- •Программа, сортирующая файл по длине строки методом быстрой сортировки.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 7 Тема: “Программы, использующие динамические структуры”.
- •Программа, которая создает очередь символов.
- •Программа, которая создает закольцованный список и затем последовательно удаляет из списка каждыйm-й элемент до тех пор, пока не будут удалены все.
- •Программа, которая работает со стеком.
- •Программа, которая работает с деревом.
- •Задания для самостоятельного выполнения
Лабораторная работа № 4 Тема: “Программы, использующие строки символов ”.
Наберите одну из нижеследующих программ (комментарии набивать не нужно), подберите тестовые исходные данные и выполните программу в пошаговом режиме. Остальные программы внимательно просмотрите и запомните реализованные в них алгоритмы.
Ниже приведена таблица функций работы со строками и их краткое описание. За более подробной справкой обращайтесь к MSDN!
String-Manipulation Routines(Процедуры манипуляции строками)
Routine (Процедура) |
Use (Использование) |
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l, _stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l, _strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l, _strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l |
Сравнивают две строки используя информацию кодовой страницы (_mbsicoll и _mbsnicoll не чувствительны к регистру) |
_mbsdec, _mbsdec_l, _strdec, _wcsdec |
Передвигают указатель строки на один символ назад |
_mbsinc, _mbsinc_l, _strinc, _wcsinc |
Передвигают указатель строки на один символ вперёд |
_mbsnbcat, _mbsnbcat_l, _mbsnbcat_s, _mbsnbcat_s_l |
Присоединяют первые n байт одной строки символов к другой |
_mbsnbcmp, _mbsnbcmp_l |
Сравнивают первые n байт двух символьных строк |
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt |
Возвращает количество байт символов внутри строки символов |
_mbsnbcpy, _mbsnbcpy_l, _mbsnbcpy_s, _mbsnbcpy_s_l |
Копирует n байт строки |
_mbsnbicmp, _mbsnbicmp_l |
Сравнивает n байт двух строк, игнорируя регистр |
_mbsnbset, _mbsnbset_l |
Устанавливает первые n байт строки на указанный символ |
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt |
Возвращает число символов внутри поданной последовательности байт |
_mbsnextc, _mbsnextc_l, _strnextc, _wcsnextc |
Находит следующий символ в строке |
_mbsninc, _mbsninc_l, _strninc, _wcsninc |
Advance string pointer by n characters Передвигает указатель строки на n символов вперёд |
_mbsspnp, _mbsspnp_l, _strspnp, _wcsspnp |
Передвигает указатель к первому символу в данной строке, который не содержится в другой данной строке |
_scprintf, _scprintf_l, _scwprintf, _scwprintf_l |
Возвращает количество символов в форматированной строке |
_snscanf, _snscanf_l, _snwscanf, _snwscanf_l, _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l |
Читает форматированные данные заданной длинны из стандартного потока ввода |
sscanf, _sscanf_l, swscanf, _swscanf_l, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l |
Читает форматированные данные заданной длинны из стандартного потока ввода |
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l, _sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l |
Записывает форматированные данные в строку |
strcat, wcscat, _mbscat, strcat_s, wcscat_s, _mbscat_s |
Присоединяет одну строку к другой |
strchr, wcschr, _mbschr, _mbschr_l |
Находит первое появление заданного символа в строке |
strcmp, wcscmp, _mbscmp |
Сравнивает две строки |
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l, _stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l, _strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l, _strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l |
Сравнивает две строки используя текущую кодовую страницу (_stricoll, _wcsicoll, _strnicoll, and _wcsnicoll не чувствительны к регистру) |
strcpy, wcscpy, _mbscpy, strcpy_s, wcscpy_s, _mbscpy_s |
Копирует одну строку в другую |
strcspn, wcscspn, _mbscspn, _mbscspn_l |
Находит первое появление символа из заданного набора символов в строке |
_strdup, _wcsdup, _mbsdup, _strdup_dbg, _wcsdup_dbg |
Делает копию строки |
strerror, _strerror, _wcserror, __wcserror, strerror_s, _strerror_s, _wcserror_s, __wcserror_s |
Отображает номер ошибки в строку сообщения |
strftime, wcsftime, _strftime_l, _wcsftime_l |
Форматирует строку даты и времени |
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l |
Сравнивают две строки без учёта регистра |
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l, strnlen, strnlen_l, wcsnlen, wcsnlen_l, _mbsnlen, _mbsnlen_l, _mbstrnlen, _mbstrnlen_l |
Находит длину строки |
_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l, _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l |
Переводят строку в нижний регистр |
strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l, strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l |
Присоединяют символы к строке |
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l |
Сравнивают символы двух строк |
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l, strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l |
Копируют символы одной строки в другую |
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l |
Сравнивают символы двух строк без учёта регистра |
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l |
Устанавливают первые n символов строки равным заданному символу |
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l |
Находит первое вхождение символа из одной строки в другую |
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l |
Находит первое вхождение символа из одной строки в другую с конца |
_strrev, _wcsrev, _mbsrev, _mbsrev_l |
Переворачивает строку |
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l |
Устанавливают все символы строки равными заданному |
strspn, wcsspn, _mbsspn, _mbsspn_l |
Находят первую подстроку одной строки в другой |
strstr, wcsstr, _mbsstr, _mbsstr_l |
Находят первое вхождение определённой строки в другую строку |
strtok, _strtok_l, wcstok, _wcstok_l, _mbstok, _mbstok_l, strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l |
Находят следующую лексему в строке |
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr, _strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l |
Преобразует строку в верхний регистр |
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l |
Преобразует строку в объединённую форму основанную на местной информации |
vsprintf, _vsprintf_l, vswprintf, _vswprintf_l, __vswprintf_l, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l, _vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l |
Записывают форматированную строку |
vsnprintf, _vsnprintf, _vsnprintf_l, _vsnwprintf, _vsnwprintf_l, vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l |
Записывают форматированную строку |