Программирование на языке С++ Лабораторный практикум




Скачать 40.68 Kb.
НазваниеПрограммирование на языке С++ Лабораторный практикум
Дата публикации25.10.2013
Размер40.68 Kb.
ТипЛабораторная работа
uchebilka.ru > Информатика > Лабораторная работа
Программирование на языке С++

Лабораторный практикум


Лабораторная работа № 5
"Строки"


Цель: Изучение символьных и строковых переменных и способов их обработки в языке Си.
1. Краткие теоретические сведения

Для представления символьной (текстовой) информации можно использовать символы, символьные переменные и символьные константы.

Символьная константа представляется последовательностью символов, заключенной в кавычки: “Начало строки \n”. В Си нет отдельного типа для строк. Массив символов - это и есть строка. Количества элементов в таком массиве на один элемент больше, чем изображение строки, т. к. в конец строки добавлен ‘\0’ (нулевой байт или нуль-терминатор).

А А \0

‘A’ “A”

символ(1 байт) строка (2 байта)

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

char s[] = “ABCDEF”;

Для работы со строками существует специальная библиотека string.h. Примеры функций для работы со строками из библиотеки string.h:

Функция

Прототип и краткое описание функции

strcmp

int strcmp(const char *str1, const char *str2);

Сравнивает строки str1 и str2. Если str1< str2, то результат отрицательный, если str1 = str2, то результат равен 0, если str1> str2, то результат положительный.

strcpy

char* strcpy(char*s1, const char *s2);

Копирует байты из строки s1 в строку s2

strdup

char *strdup (const char *str);

Выделяет память и перености в нее копию строки str.

strlen

unsigned strlen (const char *str);

Вычисляет длину строки str.

strncat

char *strncat(char *s1, const char *s2, int kol);

Приписывает kol символов строки s1 к строке s2.

strncpy

char *strncpy(char *s1, const char *s2, int kol);

Копирует kol символов строки s1 в строку s2.

strnset

char *strnset(char *str, int c, int kol);

Заменяет первые kol символов строки s1 символом с.


Строки, при передаче в функцию, в качестве фактических параметров могут быть определены либо как одномерные массивы типа char[], либо как указатели типа char*. В отличие от обычных массивов в этом случае нет необходимости явно указывать длину строки.

^ 2. Постановка задачи

Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце текста ставится точка. Текст содержит не более 255 символов. Выполнить ввод строки, используя функцию Gets(s) и обработку строки в соответствии со своим вариантом.


3. Варианты

  1. Проверить является ли строка палиндромом. (Палиндром - это выражение, которое читается одинакова слева направо и справа налево).

  2. Напечатать самое длинное и самое короткое слово в этой строке.

  3. Напечатать все слова, которые не содержат гласных букв.

  4. Напечатать все слова, которые содержат по одной цифре.

  5. Напечатать все слова, которые совпадают с ее первым словом.

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

  7. Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию.

  8. Преобразовать строку так, чтобы все цифры в ней были отсортированы по убыванию.

  9. Преобразовать строку так, чтобы все слова в ней стали идентификаторами, слова состоящие только из цифр - удалить.

  10. Напечатать все слова-палиндромы, которые есть в этой строке(см 1 вариант).

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

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

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

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

  15. Преобразовать строку таким образом, чтобы в ней остались только слова, содержащие буквы и цифры, остальные слова удалить.

  16. Определить какое слово встречается в строке чаще всего.

  17. Определить какие слова встречаются в строке по одному разу.

  18. Все слова строки, которые начинаются с буквы, отсортировать в алфавитном порядке.

  19. Все слова строки, которые начинаются с цифры отсортировать по убыванию.

  20. Удалить из строки все слова, которые не являются идентификаторами.

  21. Проверить является ли введенная строка правильным текстовым представлением вещественного числа в научной нотации.

  22. Подсчитать частоты встречаемости различных слов в строке.

  23. Произвести шифрование и дешифрование строки путем циклического вращения кодов символов.

  24. Проверить, является ли введенная строка идентификатором языка программирования.

  25. Произвести пословный перевод всех слов строки. Подстановочный словарь может содержать не более 10 слов, можно не учитывать изменение форм слова.


4. Содержание отчета

  1. Постановка задачи для конкретного варианта.

  2. Исходные данные.

  3. Текст программы.

  4. Результаты выполнения программы.

Добавить документ в свой блог или на сайт

Похожие:

Программирование на языке С++ Лабораторный практикум iconПрограммирование на языке С++ Лабораторный практикум
Цель : Получение навыков в выборе и использовании операторов Си++; знакомство с итерационными процессами

Программирование на языке С++ Лабораторный практикум iconПрограммирование на языке С++ Лабораторный практикум
Цель : Организовать обработку массивов с использованием функций, научиться передавать массивы как параметры функций

Программирование на языке С++ Лабораторный практикум iconСистемное программирование Лабораторный практикум
Цель: Изучение основ работы ассемблера, создание простой программы генерации кода виртуального процессора

Программирование на языке С++ Лабораторный практикум iconСистемное программирование Лабораторный практикум
Цель: Изучение основ работы ассемблера, создание простой программы генерации кода виртуального процессора

Программирование на языке С++ Лабораторный практикум iconУчебное пособие (лабораторный практикум) по дисциплине «Машинно-ориентированные языки»
Основы языка Assembler: Учебное пособие (лабораторный практикум) по дисциплине «Машинно-ориентированные языки»/ Сост. Л. А. Макушкина,...

Программирование на языке С++ Лабораторный практикум iconЛитература. Студенты выполняют свои варианты следующих работ: ргр...
«Инженерная и компьютерная графика» модуль «Компьютерная графика» выполняют расчётно-графические работы (ргр) по методическим пособиям...

Программирование на языке С++ Лабораторный практикум iconЛитература. Студенты выполняют свои варианты следующих работ: ргр...
«Начертательная геометрия и компьютерная графика» модуль «Компьютерная графика» выполняют расчётно-графические работы (ргр) по методическим...

Программирование на языке С++ Лабораторный практикум iconМаран М. М. Программирование на языке C#. Методическое пособие по...
Программирование на языке C#. Методическое пособие по курсу «Программирование на языках высокого уровня». – М.: Издательство мгту...

Программирование на языке С++ Лабораторный практикум iconТехнология материалов: лабораторный практикум
Гельфгат Ю. И. Дипломное проектирование в машиностроительных техникумах. (1992) Учеб пособие

Программирование на языке С++ Лабораторный практикум iconПрограмма курса «Программирование на языке С#: разработка консольных приложений»
С указанными дисциплинами сопряжена дисциплина «Практикум на эвм», которая предусматривается учебным планом специальности на протяжении...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<