Методические указания предназначены для студентов технических специальностей, изучающих курс "Информатика "
Скачать 42.01 Kb.
|
ВВЕДЕНИЕ Настоящие методические указания предназначены для студентов технических специальностей, изучающих курс "Информатика ". В ходе выполнения лабораторных работ студенты должны приобрести теоретические знания в области программирования и навыки разработки несложного программного обеспечения на конкретном алгоритмическом языке. В процессе решения задач студенты должны правильно выбирать и описывать типы данных, изучить синтаксис и правильно использовать операторы алгоритмического языка. В курсе предлагается 3 лабораторных работы, посвященных изучению способа хранения и обработки данных в одномерном массиве, в текстовом файле и разработке подпрограмм-функций двух видов типовой и бестиповой на языке Си. Лабораторная работа №1 ФОРМИРОВАНИЕ И ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ Цель работы: Приобретение навыков разработки алгоритмов формирования и обработки одномерного массива. Закрепление понятий базовых структур цикл, разветвление. Подготовка к лабораторной работе 1. Повторить вопросы организации циклических алгоритмов. 2. Повторить следующие вопросы и понятия : массивы данных (размерность массива, обращение к элементу массива, расположение элементов массива в памяти ПК); правила работы с массивами данных на языке программирования Си: описание массива, задание типа и размерности массива; организация циклов для ввода и формирования элементов массива; алгоритм поиска максимального (минимального) элемента одномерного массива; алгоритм поиска суммы элементов одномерного массива; алгоритм подсчета количества элементов одномерного массива, удовлетворяющих поставленному условию; организация вывода элементов массива. Задание к лабораторной работе В соответствии с вариантом (таблица 1) разработайте алгоритм обработки элементов массива. Напишите программу на алгоритмическом языке в соответствии со схемой алгоритма. Проведите тестирование программы в среде программирования. Рекомендации: После окончания цикла формирования массива организуйте вывод массива и вывод результатов обработки массива. Результаты, например, могут иметь вид: ИСХОДНЫЙ МАССИВ А: 15.583 19.287 28.385 45.621 39.728 5.456 -8.087 3.897 ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ: МАХ = 45.621 Варианты заданий Таблица 1
Содержание отчета 1.Номер и тема лабораторной работы. 2.Вариант задания. 3.Результаты подготовки: - схема алгоритма обработки элементов массива, - программа на заданном алгоритмическом языке. 4.Итоги работы : - скрины экранов с результатами работы программы. 5. Ответы на контрольные вопросы. Контрольные вопросы 1.Какие ограничения накладываются на индексы элементов массивов? 2.Способы описания массивов на языке Си. Понятия размерности массива, описание размерности массивов. 3.Задание типов элементов массива. Могут ли элементы массива иметь разный тип? 4.Как располагаются элементы массива в памяти? 5.Чем отличаются алгоритмы поиска максимального и минимального элемента массива. 6. Чем отличаются алгоритмы расчета суммы и подсчета числа элементов массива. Лабораторная работа № 2 ОБРАБОТКА ТЕКСТОВЫХ ФАЙЛОВ Цель работы: Получить навыки обработки текстовых файлов средствами языка Cи. Подготовка к лабораторной работе Повторить основные шаги работы с файлами. Изучить стандартные функции для работы с текстовыми файлами. Разработать схему алгоритма решения задачи согласно варианту задания. Написать программу на языке Си согласно разработанной схеме алгоритма. Используя программу Блокнот создать текстовый файл. Задание к лабораторной работе Написать программу на языке Си для обработки текстового файла в соответствии с вариантом задания. Варианты заданий: Таблица 2
Содержание отчетаНомер и тема лабораторной работы. Задание к лабораторной работе. Схема алгоритма решения задачи. Программа на языке Cи. Скрины экранов с результатами выполнения программы. Ответы на контрольные вопросы. Контрольные вопросы Описание символьных данных и строк на языке Си. Встроенные функции языка Си, используемые для обработки строк. Назначение функции fgets(). Назначение функции fgetc(). Назначение функции fscanf(). Лабораторная работа № 3 ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИЦель работы: Приобрести навыки разработки и использования функций, разработанных пользователем. Подготовка к лабораторной работе: 1. Повторить такие понятия языка Си как: функции, структура типовой функции, структура бестиповой функции, списки фактических и формальных параметров, вызов типовой функции, обращение к бестиповой функции. 2. В соответствии с вариантом задания разработать алгоритм решения задачи, описать его в виде схемы. Задание к лабораторной работе В соответствии с индивидуальным заданием, номер которого совпадает с двумя последними цифрами вашего пароля, разработать алгоритмы и программу на языке Си с использованием разработанных автором функций. Варианты заданий: ВАРИАНТ №1 Для каждого пункта задания написать подпрограмму-функцию - сформировать целочисленную матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество отрицательных чисел; - вычислить суммы диагональных элементов( главной и побочной ) отдельно, но в одной функции. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №2 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN). -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество положительных чисел; - посчитать количество отрицательных элементов на главной и побочной диагоналях отдельно, но в одной функции. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №3 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN). -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество нулевых элементов; - найти максимальные элементы на главной и побочной диагоналях одной функцией. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №4 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице сумму отрицательных чисел; - найти максимальный элемент матрицы и его порядковый номер. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №5 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхМ); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице сумму положительных чисел; - вычислить количество отрицательных и положительных элементов отдельно, но в одной функции. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №6 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхM); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице минимальное отрицательное число; - вычислить суммы отрицательных и положительных элементов отдельно, но в одной функции. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №7 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхM); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице минимальное положительное число и его индекс; - определить, сколько в матрице элементов, равных минимальному. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №8 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице максимальное отрицательное число и его порядковый номер; - определить, сколько в матрице чисел, равных максимальному. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №9 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице максимальное положительное число и максимальное отрицательное числа одной функцией; - уменьшить элементы побочной диагонали на максимальное отрицательное число. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №10 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти сумму минимального и максимального чисел матрицы; - посчитать количество отрицательных чисел на побочной диагонали и количество положительных чисел на главной одной функцией. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №11 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице сумму элементов главной диагонали; - посчитать, сколько элементов матрицы превышаю эту сумму и сколько меньше этой суммы (одной функцией). Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №12 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество отрицательных чисел над побочной диагональю и под побочной диагональю отдельно, но одной функцией; - увеличить элементы главной диагонали матрицы количество отрицательных чисел над побочной диагональю. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №13 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество нулей на побочной диагонали матрицы; - посчитать средние арифметические значения положительных и отрицательных значений матрицы отдельно, но одной функцией. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №14 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество отрицательных чисел на главной диагонали матрицы; - найти значения индексов максимального и минимального элементов матрицы, разработав одну функцию. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №15 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество четных чисел над главной диагональю матрицы; - найти значения максимального на главной диагонали и минимального элемента матрицы на побочной диагонали , разработав одну функцию. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №16 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество нечетных чисел под главной диагональю матрицы; - уменьшить все отрицательные значения матрицы на число, полученное в предыдущем пункте задания. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №17 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество четных чисел на главной диагонали матрицы; - уменьшить значения элементов матрицы, стоящих под побочной диагональю на число, полученное в предыдущем пункте задания. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №18 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество отрицательных чисел на главной диагонали и на побочной диагонали матрицы отдельно, разработав одну функцию; - увеличить элементы матрицы на наименьшее число, полученное в предыдущем пункте задания. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №19 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество отрицательных и количество положительных чисел матрицы, разработав одну функцию; - уменьшить все значения матрицы на наибольшее число, полученное в предыдущем пункте задания. Написать функцию (main), вызывающую разработанные вами функции. ВАРИАНТ №20 Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхN) -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице количество четных и количество нечетных чисел матрицы, разработав одну функцию; - уменьшить значения диагональных (главной и побочной) элементов матрицы на наименьшее число, полученное в предыдущем пункте задания. Написать функцию (main), вызывающую разработанные вами функции. Содержание отчета: Номер, тема лабораторной работы Задание к лабораторной работе. Схема алгоритма. Программа на языке Си. Скрины экрана с результатами работы. Ответы на контрольные вопросы. Контрольные вопросы: Типы функции, используемые в программах на языке Си. Структура функции, определенной пользователем. Отличие типовой функции от бестиповой функции. Типы параметров функции. Глобальные и локальные идентификаторы. |