Лабораторная работа №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] Синтаксис упрощен в методических целях