Файл: Лабораторные программирование.docx

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 30.10.2018

Просмотров: 935

Скачиваний: 26

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ


Настоящие методические указания предназначены для студентов технических специальностей, изучающих курс "Информатика Часть 2".

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

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




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

ОБРАБОТКА ТЕКСТОВЫХ ФАЙЛОВ


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

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

  1. Повторить основные шаги работы с файлами.

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

  3. Разработать схему алгоритма решения задачи согласно варианту задания.

  4. Написать программу на языке Си согласно разработанной схеме алгоритма.

  5. Используя программу Блокнот создать текстовый файл.



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

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



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

Таблица 1

Вариант



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


1

Создать текстовый файл с произвольным числом строк. Из исходного файла, начиная с первой встретившейся буквы 'а', переписать в новый файл все символы до первой встретившейся буквы ' к'. Если буквы «к» не будет, переписать все символы до конца файла.

2

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

3

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


4

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

выражение, записанное на языке Си.

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


5

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

6

Создать текстовый файл. Создать новый файл, переписав в него гласные буквы исходного.

7

Создать текстовый файл с произвольным числом строк. Найти слово, в котором максимальное количество буквы 'а' . Вывести сколько раз буква 'а' встречается в этом слове.(само слово выводить не надо)

8

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

9

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

10

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

11

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

12

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

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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



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

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

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

  3. Схема алгоритма решения задачи.

  4. Программа на языке Cи.

  5. Скрины экранов с результатами выполнения программы.


Контрольные вопросы


  1. Описание символьных данных и строк на языке Си.

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

  3. Назначение функции fgets().

  4. Назначение функции fgetc().

  5. Назначение функции fscanf().

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

ТИПИЗИРОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ


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


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

1. Повторить такие понятия языка Си как: функции, структура типизированной функции, списки фактических и формальных параметров, вызов типизированной функции.

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




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

Разработать типизированную функцию для выполнения над массивом А[n] операций в соответствии с вариантом.

В функции main исходный массив сформировать, используя датчик псевдослучайных чисел rand(). На печать вывести исходный массив и после работы функции результат ее работы.


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

  1. Вычисление количества элементов массива, больших 1 и меньших 5.

  2. Вычисление среднего арифметического отрицательных элементов массива.

  3. Вычисление суммы нечетных элементов массива.

  4. Вычисление количества положительных четных элементов массива.

  5. Вычисление суммы элементов массива.

  6. Вычисление количества отрицательных элементов массива.

  7. Вычисление суммы положительных элементов массива.

  8. Вычисление количества элементов массива, кратных 5.

  9. Определение минимального значения среди положительных элементов массива.

  10. Вычисление суммы четных элементов массива.

  11. Определение максимального значения среди четных элементов массива.

  12. Определение наибольшего из элементов, кратных 3.

  13. Определение наименьшего из элементов массива.

  14. Вычисление количества нулевых элементов массива.

  15. Определение наибольшего из нечетных элементов массива.

  16. Вычисление среднего арифметического для элементов массива больших 2 и меньших 5.

  17. Определение максимального значения среди отрицательных элементов массива.

  18. Вычисление суммы отрицательных элементов массива.

  19. Вычисление среднего арифметического положительных элементов массива.

  20. Вычисление среднего геометрического положительных элементов массива.




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

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

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

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

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

  5. Скрины экрана с результатами работы.

Контрольные вопросы:

  1. Типы функции, используемые в программах на языке Си.

  2. Структура функции, определенной пользователем.

  3. Отличие типовой функции от безтиповой функции.

  4. Типы параметров функции.

  5. Глобальные и локальные идентификаторы.






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

БЕЗТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ

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


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

  1. Повторить такие элементы языка Си как: отличие безтиповой функции от типизированной, списки фактических и формальных параметров, вызов безтиповой функции.

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

  3. Составить схему алгоритма программы, использующей разрабатываемую функцию .



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

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

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

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

  1. Транспонирование матрицы.

  2. Замена отрицательных элементов матрицы нулями.

  3. Уменьшить на 2 все отрицательные элементы матрицы.

  4. Умножение элементов матрицы на любое случайное число.

  5. Замена всех положительных элементов матрицы нулями.

  6. Удвоение всех положительных элементов матрицы.

  7. Замена нулями всех четных элементов матрицы.

  8. Вычитание из каждого элемента матрицы номера строки данного элемента.

  9. Вычитание из каждого элемента матрицы суммы значений его индексов.

  10. Удвоение всех значений исходной матрицы.

  11. Вычитание из элементов четных строк значений соответствующих элементов нечетных строк.

  12. Удвоение значений элементов с четными номерами столбцов матрицы.

  13. Вычитание из элементов нечетных столбцов значений соответствующих элементов четных столбцов.

  14. Деление каждого элемента матрицы на номер строки этого элемента.

  15. Удвоение значений тех элементов матрицы, у которых сумма номеров строки и столбца четная.

  16. Прибавление к каждому элементу матрицы номера столбца этого элемента.

  17. Деление каждого элемента матрицы на номер столбца этого элемента.

  18. Вычитание из элементов матрицы скаляра, равного числу нулевых элементов этой матрицы.

  19. Поиск максимального элемента матрицы и замена его на нуль.

  20. Поменять местами элементы главной и побочной диагоналей матрицы.


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

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

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

  3. Схема алгоритма функции.

  4. Схема алгоритма программы, использующей эту функцию.

  5. Программа на языке Си.

  6. Скрины экрана с результатами работы программы.


Контрольные вопросы

  1. Для чего используются подпрограммы?

  2. Структура безтиповой функции, определенной пользователем.

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

  4. Отличие параметров-значений от параметров переменных.