Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы_часть 2.docx
Скачиваний:
7
Добавлен:
20.08.2019
Размер:
34.77 Кб
Скачать

Федеральное агентство связи

О.И.Моренкова

Л.Ф.Лебеденко

Т.И.Парначева

информатика

программирование на языке С++

Методические указания

к лабораторным работам

Часть 2

Новосибирск

2012

Федеральное агентство связи

Федеральное государственное образовательное бюджетное

учреждение высшего профессионального образования

"Сибирский государственный университет

телекоммуникаций и информатики"

О.И. Моренкова

Л.Ф. Лебеденко

Т.И. Парначева

информатика

программирование на языке с++

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам

Часть 2

Новосибирск

2012

УДК

О.И. Моренкова, Л.Ф.Лебеденко, Т.И. Парначева

В методических указаниях описан цикл лабораторных работ по дисциплине «Информатика» для специальностей 230100 и 210700 подготовки бакалавров, а также подготовки специалистов по направлению 090302 . Учебные материалы указаний будут полезны студентам и магистрантам соответствующих специальностей очного, заочного и дистанционного обучения для приобретения профессиональных навыков работы с современными языками программирования

Лабораторные работы ориентированы на работу в среде Visual Studio.

Кафедра телекоммуникационных средств и вычислительных систем

Таблиц - 6, литературы - 3.

Рецензент – к.т.н., доцент Е.В.Кокорева

Утверждено редакционно-издательским советом СибГУТИ в качестве методических указаний.

© Сибирский государственный университет

телекоммуникаций и информатики, 2012

Введение

Настоящие методические указания предназначены для использования в процессе лабораторного практикума по дисциплине «Информатика» студентами специальностей 230100 и 210700 подготовки бакалавров, а также подготовки специалистов по направлению 090302.

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

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

Лабораторная работа № 13 обработка текстовых файлов

Цель работы: Получить навыки обработки текстовых файлов средствами языка C++.

Подготовка к лабораторной работе

При подготовке к лабораторной работе:

        1. Повторить назначения основных этапов обработки программы в интегрированной среде Visual Studio;

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

        3. Изучить разделы учебного пособия «ОСНОВЫ ПРОГРАММИРОВАНИЯ НА С++», стр. 130-139.

Порядок выполнения работы:

  1. Получить допуск у преподавателя.

  2. Создать исходный файл с программой на языке С++.

  3. Провести отладку программы.

  4. Выполнить программу.

  5. После проверки правильности результатов решения показать их преподавателю.

Содержание отчета:

  1. Номер, тема и цель лабораторной работы

  2. Задание к лабораторной работе.

  3. Схема алгоритма.

  4. Программа на языке С++.

  5. Результаты решения.

Задание к лабораторной работе

Написать программу на языке С++ для обработки текстового файла. В соответствии с вариантом задания. Варианты заданий приведены в таблице 1.

Варианты заданий

Таблица 1

Вариант

Условие задачи

I

Создать файл, содержащий массив целых чисел. Най­ти наименьшее из модулей отклонения чисел от их среднего значения.

2

Создать текстовый файл с произвольным числом строк. В самой длинной строке поменять местами первое и последнее слово.

3

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

4

Создать текстовый файл с произвольным числом строк. Заменить самое длинное слово каждой строки на ваше имя.

5

Создать текстовый файл с произвольным числом строк. Записать слова в обратном порядке.

6

Создать файл, содержащий произвольные текстовые строки. Подсчитать количество строк, начинающихся с буквы 'А'.

7

Создать файл, содержащий текстовые строки произ­вольной длины. Дополнить все строки символом 'X' до самой длинной строки.

8

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

9

Переписать в файл выходных данных таблицу значений функций: у = sinx и z = tgx, рассчитанных для всех х на отрезке [0, 3] с шагом 0.1. Значения х записать в файле с одной цифрой в дробной части, значения у - с двумя цифрами в дробной части, значения z - в форме числа с порядком.

10

Создать файл, содержащий текстовые строки произвольной длины. Вывести строки с наименьшей длиной.

11

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

12

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

13

Создать файл, содержащий произвольные текстовые строки. Подсчитать количество строк, начинающихся и заканчивающиеся буквой 'Я'.

14

Создать файл, содержащий массив вещественных чи­сел. Определить количество чисел, меньших среднего арифметического значения всех чисел массива.

15

Создать текстовый файл с произвольным числом строк. Поменять местами первое и последнее слово.

16

Создать текстовый файл с произвольным числом строк. Заменить заданное слово на ваше имя.

17

Создать текстовый файл с произвольным числом строк. Все строки переписать в обратном порядке.

18

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

19

Заменить начальные буквы всех слов на прописные буквы и записать результирующий текст в новый файл.

20

Создать текстовый файл с произвольным числом строк. Все большие буквы заменить на маленькие.

21

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

22

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

23

Создать текстовый файл с произвольным числом строк. В тексте должны встречаться числа. Определить количество чисел и добавить его файл.

24

Разработать программу шифрования текстового файла

25

Создать файл, содержащий текстовые строки произвольной длины. Вывести строки с наибольшей длиной.

Лабораторная работа № 14

СОЗДАНИЕ И ОБРАБОТКА БИНАРНЫХ ФАЙЛОВ

Цель работы: Приобрети навыков разработки алгоритмов обработки файлов. Закрепление понятий базовых структур цикл, разветвление.

Подготовка к лабораторной работе

При подготовке к лабораторной работе следует повторить следующие вопросы:

  1. понятие файла, описание файла, типы файлов;

  2. описание структурных типов;

  3. стандартные процедуры для работы с файлами: fopen( ), fscanf( ), fprintf( ), fclose( ), feof( ).

  4. Изучить разделы учебного пособия «ОСНОВЫ ПРОГРАММИРОВАНИЯ НА С++», стр. 130-142.

Варианты заданий

В соответствии с вариантом задания разработать программу создания и программу обработки бинарного файла.

Вариант

Условие задачи

I

Создать файл, содержащий массив целых чисел. Най­ти наименьшее из модулей отклонения чисел от их среднего значения.

2

Создать файл, содержащий массив вещественных чи­сел. Определить количество чисел, меньших среднего арифметического значения всех чисел массива.

3

1.Создать файл Spravra.dat, содержащий 8 записей следующей структуры: название пункта назначения; номер поезда; время отправления.

2.Написать программу, выполняющую следующую обработку файла Spravra.dat:

  • поиск в файле поездов, отправляющихся после введенного с клавиатуры времени;

  • если таких поездов нет, выдать соответствующее сообщение на дисплей.

4.

1.Создать файл Spravra.dat, содержащий 10 записей следующей структуры: название начального пункта маршрута; название конечного пункта маршрута; номер маршрута;

2.Написать программу, выполняющую следующую обработку файла Spravra.dat:

  • поиск в файле данных о маршруте, номер которого вводится с клавиатуры;

  • если таких маршрутов нет, выдать соответствующее сообщение на дисплей.

5

1.Создать файл Wedomost.dat, содержащий 10 записей следующей структуры: фамилия и инициалы студента; номер группы; успеваемость по трем предметам;

2.Написать программу, выполняющую следующую обработку файла Wedomost.dat:

  • поиск в файле информации о студентах, имеющих хотя бы одну оценку 2;

  • если таких студентов нет, выдать соответствующее сообщение на дисплей.

6

1.Создать файл Spravra.dat, содержащий 10 записей следующей структуры: название пункта назначения; номер рейса; тип самолета.

2.Написать программу, выполняющую следующую обработку файла Spravra.dat:

  • поиск в файле номеров рейсов, вылетающих в пункт, название которого вводится с клавиатуры;

  • если таких рейсов нет, выдать соответствующее сообщение на дисплей.

7

Создать файл, содержащий записи следующей структуры: фамилия и инициалы студента; номер группы; успеваемость по пяти предметам;

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа STUDENT;

  • запись этих данных в файл Wedomost;

  • поиск в файле информации о студентах, имеющих только оценки 4 и 5;

  • если таких студентов нет, выдать соответствующее сообщение на дисплей.

8

Создать файл, содержащий записи следующей структуры: фамилия и инициалы студента; номер группы; успеваемость по пяти предметам;

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа STUDENT;

  • запись этих данных в файл Wedomost;

  • поиск в файле информации о студентах, имеющих средний балл меньше 4;

  • если таких студентов нет, выдать соответствующее сообщение на дисплей.

9

Переписать в файл выходных данных таблицу значений функций: у = sinx и z = tgx, рассчитанных для всех х на отрезке [0, 3] с шагом 0.1. Значения х записать в файле с одной цифрой в дробной части, значения у - с двумя цифрами в дробной части, значения z - в форме числа с порядком.

10

Создать файл, содержащий записи следующей структуры: название пункта назначения; номер поезда; время отправления; Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа TRAIN;

  • запись этих данных в файл Spravra;

  • поиск в файле поездов, отправляющихся в пункт, название которого вводится с клавиатуры;

  • если таких поездов нет, выдать соответствующее сообщение на дисплей.

11

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

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа NOTE;

  • запись этих данных в файл Wedomost;

  • поиск в файле информации о человеке, чья фамилия введена с клавиатуры;

  • если такого человека нет, выдать соответствующее сообщение на дисплей.

12

Создать файл, содержащий ФИО студентов и их экзаменационные оценки по трем дисциплинам. Выбрать студентов, имеющих хотя бы одну задолженности. Вывести ФИО этих студентов и количество несданных экзаменов.

13

Создать файл F1, содержащий ФИО студентов. Переписать его в файл F2 таким образом, чтобы перед ФИО студента стоял его порядковый номер.

14

Создать файл, содержащий записи следующей структуры: фамилия и инициалы; знак Зодиака; день рождения (массив из трех чисел);

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа ZNAK;

  • запись этих данных в файл Wedomost;

  • поиск в файле информации о людях, родившихся под знаком, название которого введено с клавиатуры;

  • если таких людей нет, выдать соответствующее сообщение на дисплей.

15

Создать файл, содержащий ФИО рабочих и их среднемесячный заработок. Вывести ФИО рабочих, имеющих наибольший заработок.

16

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

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа NOTE;

  • запись этих данных в файл Wedomost;

  • поиск в файле информации о людях, родившихся в месяц, номер которого введен с клавиатуры;

  • если такого людей нет, выдать соответствующее сообщение на дисплей.

17

Создать файл, содержащий ФИО абонентов и их номера телефонов. Составить программу, которая по ФИО абонента выводит его номер телефона.

18

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

19

Создать файл, содержащий названия детских игрушек и их стоимость. Вывести наименование и стоимость самой дорогой игрушки.

20

Создать файл, содержащий массив целых чисел про­извольного размера. Определить количество элемен­тов массива. Переменной L присвоить значение TRUE, если в массиве нечетное число элементов, и значение FALSE - в противном случае.

21

Создать файл, содержащий записи следующей структуры: название товара; название магазина, в котором он продается; стоимость;

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа PRICE;

  • запись этих данных в файл Katalog;

  • поиск в файле информации о товаре, название которого введено с клавиатуры;

  • если такого товара нет, выдать соответствующее сообщение на дисплей.

22

Создать файл, содержащий записи следующей структуры: название товара; название магазина, в котором он продается; стоимость;

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа PRICE;

  • запись этих данных в файл Katalog;

  • поиск в файле информации о товаре, название которого введено с клавиатуры;

  • если такого товара нет, выдать соответствующее сообщение на дисплей.

23

Создать файл, содержащий записи следующей структуры: название товара; название магазина, в котором он продается; стоимость;

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа PRICE;

  • запись этих данных в файл Katalog;

  • поиск в файле информации о товаре, название которого введено с клавиатуры;

  • если такого товара нет, выдать соответствующее сообщение на дисплей.

24

Создать файл, содержащий записи следующей структуры: название товара; название магазина, в котором он продается; стоимость;

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив записей типа PRICE;

  • запись этих данных в файл Katalog;

  • поиск в файле информации о товаре, название которого введено с клавиатуры;

  • если такого товара нет, выдать соответствующее сообщение на дисплей.