Приложение 3. Лабораторные работы

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

Задание 1. Необходимо прочитать значения трех вещественных переменных a, b, h. И вычислить последовательность значений функции f(x)=x2+x+4 на отрезке [a;b], с шагом h>0.

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

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

Задание 1. Ввести с клавиатуры 3 целых числа. Определить и выдать на экран те числа, которые попадают в диапазон от 2 до 5. Если число попадает на границу интервала, то сообщить об этом.

Задание 2. Дан ряд действительных чисел. Получить минимальное и максимальное число. Количество и сами числа вводятся пользователем.

Задание 3. Пусть D- закрашенная часть плоскости на рисунке. Вычислить значение функции U, если

 

Задание 4. Дано натуральное число N типа int. Вывести в столбик это число.

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

Задание 1. Используя массив, посчитать степень числа 2 от 0 до 20 и вывести на экран результаты в следующем виде:

2^0 = 1

2^1 = 2

2^2 = 4

2^20 = 1048576

 

Задание 2. Ввести с клавиатуры 10 целых чисел в массив A. Переписать их в массив B. При этом если число в массиве A отрицательно, то в массив B на соответствующее место заносить 0. Вывести A и B.

Задание 3. Ввести нечетные размеры матрицы А и ввести значения элементов массива. Переписать их в массив В. При этом поститать сумму элементов главной диагонали и произведение элементов обратной диагонали. Вывести А, В, сумму и произведение.

Задание 4. Ввести число N – порядок квадратной матрицы. Последовательно по строкам ввести с клавиатуры все элементы матрицы. Вывести матрицу на экран и сообщить, какой элемент является минимальным и его координаты, а какой максимальным и его координаты.

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

Задание 1. Ввести с клавиатуры натуральное число N. С помощью цикла вычислить:

1. 2N

2. N!

3.

4.

Задание 2. Ввести с клавиатуры действительное число A и натуральное число N. Вычислить с помощью цикла:

1. AN

2.

Задание 3. Получить целочисленную квадратную матрицу с любой размерностью, элементами которой являются числа 1, 2, … , расположенные в матрице по спирали.

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

Задание 1. Вычислить факториал числа, используя рекурсивную процедуру.

Задание 2. Даны два вектора A и B. Найти сумму их минимальных и сумму их максимальных элементов, используя две процедуры: поиск минимального элемента и поиск максимального элемента вектора.

Задание 3. Составить процедуру, результатом работы которой является истинное значение, если символ, передаваемый в процедуру, является буквой, и ложное значение в противном случае. В программе эту процедуру использовать в цикле и выдавать сообщение на экран о нажатых клавишах (т.е. если нажата буква, сообщать ИСТИНА, цифра – ЛОЖЬ).

Задание 4. Составить процедуру, позволяющую определить позицию самого правого вхождения заданного символа в исходный массив строк. Если строка не содержит символа, результатом работы процедуры является значение «–1».

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

Задание 1. Пусть даны натуральные числа m и n. Используя алгоритм Евклида найти НОД и НОК.

Задание 2. Вывести на экран все числа Фибоначчи от 1 до N. Где N вводится с клавиатуры.

Задание 3. Вычислить НОД, используя не рекурсивный алгоритм.

 

Примечание.

Алгоритм Евклида о нахождении НОД.

Пусть m и n одновременно неравные 0 целые неотрицательные числа и пусть m ≥ n. Тогда если n = 0, то НОД (n,m) = m; если n ≠ 0, то для чисел m, n, r (где r – остаток от деления m на n) выполняется равенство НОД(m,n) = НОД(n,r).

Числа Фибоначчи: U0=0, U1=1, Ui = Ui-1 + Ui-2.

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

Задание 1. Необходимо чтобы информация, набираемая на клавиатуре, записывалась в файл с именем a.txt.

Задание 2. Дан текстовый файл с записанным в него текстом. Необходимо ввести с клавиатуры строку символов и выдавать на экран номер позиции в текстовом файле, начиная с которой эта подстрока в нём встречается, и соответствующее сообщение, если этой подстроки нет.

Задание 3. Ввести с клавиатуры целые числа. Записать их в файл. В конце файла записать сумму этих чисел и их среднее арифметическое.

Задание 4. Ввести с клавиатуры вещественные числа и вывести в файл эти числа. В конце вывести среднее геометрическое этих чисел.

Задание 5. Дан файл, в котором находятся 6 вещественных чисел, которые представляют собой координаты трех вершин треугольника. Выдать на экран, какого типа этот треугольник (равносторонний, равнобедренный, прямоугольный, тупоугольный, остроугольный), углы треугольника и могут ли эти три точки являться вершинами треугольника.

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

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

Задание 2.Используя структуры разработать программу сложения и умножения комплексных чисел.

Задание 3.Дан файл f, компоненты которого являются целыми числами. Получить файл g, образованный из файла f исключением повторных вхождений одного и того же числа.

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

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

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

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

Программа по созданию двухсвязного списка студентов содержащего следующую информацию о них:

- Фамилия;

- Стипендия;

- Группа;

- Номер зачетной книжки;

Разработать следующие функции и процедуры:

1. Функция создания списка.

2. Процедура вставки узла после текущего.

3. Процедура удаления текущего узла (учесть, что текущий узел может совпадать с головой списка, с хвостом списка, быть единственным элементом в списке).

4. Процедура обхода и вывода списка на экран.

5. Процедура добавления узла в голову списка, в хвост, перед текущим узлом.

6. Процедура поиска данных в списке по фамилии, стипендии, группе, номеру зачетной книжки (учесть возможность поиска по стипендии с условиями >, <, =).

7. Функции или процедуры, позволяющий сохранять введенный список в файле и считывать данные из файла в новый список.

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

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

Разработать программу создания и отображения генеалогического дерева. Реализовать:

1. Процедуру ввода узлов дерева.

2. Процедуру удаления поддеревьев.

3. Процедуры обхода дерева: префиксным способом, инфиксным способом, суффиксным способом.

4. Процедуру записи структуры дерева в файл и чтения структуры дерева из файла.

5. Функцию сравнения поддеревьев.

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

Разработать программу игры «Змейка». На игровом поле случайным образом выводятся знаки $. Случайным образом определяется точка начала игры. Вверху экрана отображается счет (количество собранных $), в начале игры определяется уровень сложности 1, 2, 3 (время игры).

Список литературы

Основная

1. Брайан Керниган, Деннис Ритчи. Язык программирования C: Вильямс, 2009 г. – 304 с.

2. Громов Ю.Ю.,Татаренко С.И. Программирование на языке СИ: Учебное пособие. –Тамбов,1995.- 169 с.

3. Попов Д.И. Программирование на языке высокого уровня Паскаль: конспект лекций / Д.И.Попов. – М.: МГУП, 2009. – 202 с.

4. Семакин И.Г., Шестаков А.П. Основы программирования.–М: Academia, 2007–423с.

Дополнительная

1. Скляров В.А. Программирование на языках Си и Си++.- М.: Высшая школа, 1996.

2. Дейкстра Э.В. Дисциплина программирования. М.: Мир, 1978, 275 с.

3. Керниган Б.В., Плоджер Ф.Д. Элементы стиля программирования. М.: Радио и связь, 1984, 304 с.

4. Подбельский В.В., Фомин С.С. Программирование на языке Си. Учеб. пособие.- М.: Финансы и статистика, 2000.

5. Павловская Т.А. C/C++, Программирование на языке высокого уровня.- СПб.: Питер, 2005.

6. Касаткин А.И. Профессиональное программирование на языке Си. Системное программирование.- Минск: Высшая школа, 1993.

7. Касаткин А.И. Профессиональное программирование на языке Си. Управление ресурсами.- Минск: Высшая школа, 1993.

Web – ресурсы:

1. http://msdn.microsoft.com

2. http://www.citforum.ru

3. http://www.codenet.ru

4. http://ru.wikipedia.org

5. http://www.cyberguru.ru


[1] Синтаксис упрощен в методических целях