Решение задач на языке программирования Visual Basic для студентов 1
курса очно-заочного отделения
Содержание работы
Цель работы
Закрепление знаний и практических навыков работы на
персональном компьютере с использованием языков программирования
высокого уровня.
Задания к контрольной работе
Контрольная работа состоит из пяти заданий, решение которых
выполняется с использованием языка программирования Visual Basic. К
контрольной работе составляется пояснительная записка, которая должна
быть подготовлена в MS Word.
Задание 1.
Работа с двумерными массивами.
Задание 2.
Работы с процедурами и функциями.
Задание 3.
Работа с записями и файловыми типами данных.
Задание 4.
Работа с файлами и окнами
Задание 5.
Работа с графикой
Требования к выполнению и оформлению контрольной работы
Работа должна быть представлена на бумажном и электронном
носителях и представлять собой тексты программ на языке Visual Basic и
отчеты, содержание которых описано ниже.
Требования к представлению и оформлению контрольной работы
Работа должна быть представлена на бумажном (пояснительная
записка) и электронном (в виде файлов на дискете) носителях.
Пояснительная записка должна быть отпечатана на стандартных листах
формата А4 (210×297 мм). На дискете должны быть файлы проектов
решения задач в Visual Basic и исполняемые файлы (.exe), а также
пояснительная записка, подготовленная в MS Word. При необходимости файлы
могут быть заархивированы.
Текст пояснительной записки должен быть набран с учетом
следующих параметров: поля документа сверху - 2,5 см, снизу - 2,5 см,
слева - 3,0 см, справа - 1,5 см, шрифт Times New Roman, размер шрифта
14, межстрочный интервал 1, выравнивание - по ширине страницы,
автоматическая нумерация страниц. Рисунки и таблицы должны иметь
поясняющие надписи и быть пронумерованы.
Содержание пояснительной записки:
титульный лист (см. образец);
лист содержания (оглавление должно составляться с использованием
средств автоматизации MS Word);
основная часть, включающая пять разделов в каждом из которых
приводится постановка задачи, описание ее решения, блок-схема, текст
программы на Visual Basic и рисунки экранных форм разработанного
проекта;
список литературы (перечень использованных при выполнении
контрольной работы материалов, на которые должны быть ссылки в тексте).
Срок выполнения
Задание должно быть представлено в деканат очно-заочного
отделения за месяц до начала установочной сессии.
Порядок защиты работы
Получить рецензию на работу в деканате.
Устранить отмеченные недостатки.
К защите обязательно представить пояснительную записку и
электронную версию работы.
Работа защищается с использованием компьютера (студент
демонстрирует полученные знания и практические навыки работы на
компьютере, отвечая на вопросы преподавателя, принимающего контрольную
работу).
По результатам защиты выставляется зачет за контрольную работу.
Задание 1. «Массивы»
Варианты
Сколько положительных элементов содержит матрица размера
10×10, если a[i,j]=sin(i+j/2).
Определить сумму отрицательных элементов матрицы размера
20×10, если a[i,j]=cos(i-5×j).
В матрице размера 3×5 найти среднее арифметическое каждого из
столбцов.
В матрице размера 4×3 найти значение максимального элемента в
каждой строке.
В матрице размера 4×3 найти разность между суммой и
произведением элементом.
Найти сумму и количество положительных элементов матрицы размера
4×4.
Найти место расположения максимального по модулю элемента матрицы
размера 5×3 указав номер строки и столбца.
Найти разность между максимальным элементом матрицы размера
4×4 и суммой ее положительных элементов.
Определить сумму и произведение элементов матрицы размера
4×5, имеющих оба четных индекса.
Найти сумму элементов матрицы размера 4×4 в четных строках и
произведение элементов в нечетных строках.
Найти среднее арифметическое наибольшего и наименьшего значений
элементов матрицы размера 4×3.
В матрице размера 4×5 найти сумму наибольших значений
элементов ее столбцов.
В матрице размера 6×3 найти номера строк, все элементы
которых положительны.
В матрице размера 4×4 найти номера (i,j) и
определить сумму отрицательных элементов.
Преобразовать матрицу размера 4×4 по правилу: вторую строку
сделать четвертым столбцом, а четвертый столбец - второй строкой.
В матрице размера 4×4 найти сумму элементов над главной
диагональю.
В матрице размера 4×4 найти максимальный по модулю элемент на
побочной диагонали.
Преобразовать матрицу размера 4×4, поменяв местами в каждой
строке элементы главной и побочной диагонали.
Определить является ли целочисленная матрица размером 4×4
симметричной относительно главной диагонали.
Сделать целочисленную матрицу размером 4×4 симметричной
относительно главной диагонали, заменяя при отсутствии симметрии
меньший элемент на больший.
В целочисленной матрице размера 4×5 все элементы с наибольшим
значением заменить суммой положительных элементов.
В целочисленной матрице размера 4×5 определить количество
наибольших по модулю элементов и их номера.
В матрице размером 5×3 поменять местами строку с наибольшим
элементом и строку с наименьшим элементом.
В матрице размера 4×3, все элементы которые различны, найти
произведение элементов строки, содержащие наибольший по модулю элемент
матрицы.
Если в матрице размера 4×4 произведение элементов побочной
диагонали отрицательно, то все элементы на главной диагонали заменить
на 0, если положительно - на 1.
В символьной матрице размера 5×5 заменить все буквы W
на букву Q, если количество букв W больше 3.
В символьной матрице размера 4×4 определить количество цифр и
если оно больше 2, то все цифры заменить на &.
В символьной матрице размера 5×5 определить количество цифр и
все цифры заменить латинскими буквами по правилу: 1-А; 2-В;
3-С... 0-J (не используя 10 раз подряд оператор IF).
Определить, сколько прописных букв латинского алфавита содержит
символьная матрица 4×5.
Определить сумму и произведение цифр, расположенных на главной
диагонали символьной матрицы размера 5×5.
Задание 2. «Процедуры и функции»
Варианты
Определить подпрограмму вычисления площади правильного N-угольника,
вписанного в окружность заданного радиуса.
Определить подпрограмму вычисления площади кольца при известном
наружном и внутреннем диаметре.
Определить подпрограмму вычисления площади сектора при известном
наружном, внутреннем диаметре и центральном угле.
Определить подпрограмму вычисления расстояния между двумя точками в
пространстве с координатами (x1,y1,z1) и (x2,y2,z2).
Дано целое число N (N<100), определяющее возраст
человека (в годах). Определить подпрограмму, дающую для этого числа
наименования «год», «года» или «лет»: например 1 год, 23 года, 45 лет и
т.д.
Определить подпрограмму вычисления факториала заданного
целочисленного выражения, например, вычислить (2×K+1)!.
Определить подпрограмму вычисления корней квадратного уравнения ax2+bx+c=0.
Даны вещественные числа X1, Y1, X2, Y2,
..., X8, Y8. Найти периметр восьмиугольника, вершины
которого имеют координаты (X1,Y1), (X2,Y2),
..., (X8,Y8). (Определить подпрограмму вычисления
расстояния между двумя точками, заданными своими координатами.)
Даны целое число N и вещественные числа X1, Y1,
X2, Y2, ..., XN, YN. Найти площадь N-угольника,
вершины которого имеют соответственно координаты (X1,Y1),
(X2,Y2), ..., (XN,YN). (Определить
подпрограмму вычисления площади треугольника по заданными координатам
вершин.)
Дано целое число N. Выяснить, имеются ли среди чисел N,
N+1, ..., 2N близнецы, т.е. простые числа, разность между
которыми равна двум. (Определить процедуру, позволяющую распознавать
простые числа.)
Составить процедуру вычисления значения целого числа по заданной
строке символов, являющихся записью этого числа:
в десятичной системе счисления;
в шестнадцатеричной системе счисления (шестнадцатеричные цифры -
это цифры от 0 до 9 и буквы от A до F).
Определить функцию, которая подсчитывает количество литер в
текстовом файле (исключая цифры).
Определить процедуру замены в текстовом файле одного заданного
символа на другой.
Определить процедуру, подсчитывающую количество цифр в каждой
строке текстового файла.
Написать процедуры шифровки и дешифровки текстового файла.
Определить подпрограмму вычисления площади правильного N-угольника,
вписанного в окружность заданного радиуса.
Определить подпрограмму вычисления площади кольца при известном
наружном и внутреннем диаметре.
Определить подпрограмму вычисления площади сектора при известном
наружном, внутреннем диаметре и центральном угле.
Определить подпрограмму вычисления расстояния между двумя точками в
пространстве с координатами (x1,y1,z1) и (x2,y2,z2).
Дано целое число N (N<100), определяющее возраст
человека (в годах). Определить подпрограмму, дающую для этого числа
наименования «год», «года» или «лет»: например 1 год, 23 года, 45 лет и
т.д.
Определить подпрограмму вычисления факториала заданного цело
численного выражения, например вычислить (2×K+1)!.
Определить подпрограмму вычисления корней квадратного уравнения ax2+bx+c=0.
Даны вещественные числа X1, Y1, X2, Y2,
..., X8, Y8. Найти периметр восьмиугольника, вершины
которого имеют координаты (X1,Y1), (X2,Y2),
..., (X8,Y8). (Определить подпрограмму вычисления
расстояния между двумя точками, заданными своими координатами.)
Даны целое число N и вещественные числа X1, Y1,
X2, Y2, ..., XN, YN. Найти площадь N-угольника,
вершины которого имеют соответственно координаты (X1,Y1),
(X2,Y2), ..., (XN,YN). (Определить
подпрограмму вычисления площади треугольника по заданными координатам
вершин.)
Дано целое число N. Выяснить, имеются ли среди чисел N,
N+1, ..., 2N близнецы, т.е. простые числа, разность между
которыми равна двум. (Определить процедуру, позволяющую распознавать
простые числа.)
Составить процедуру вычисления значения целого числа по заданной
строке символов, являющихся записью этого числа:
в десятичной системе счисления;
в шестнадцатеричной системе счисления (шестнадцатеричные цифры -
это цифры от 0 до 9 и буквы от A до F).
Определить функцию, которая подсчитывает количество литер в
текстовом файле (исключая пробелы).
Определить процедуру замены в текстовом файле одного заданного
символа на другой.
Определить процедуру, подсчитывающую количество цифр в каждой
строке текстового файла.
Написать процедуры шифровки и дешифровки текстового файла.
Задание 3. «Записи и файлы»
Варианты
Абитуриенты. Запись: Ф.И.О., год рождения, год окончания школы,
средний балл по аттестату. Результаты обработки данных: список со средним баллом
>4,5 и количество отличников.
Абитуриенты. Запись: Ф.И.О., год рождения, какое учебное заведение
окончил, место проживания (город, село). Результаты обработки данных: список абитуриентов,
проживающих не в Уфе и количество окончивших техникум.
Абитуриенты. Запись: Ф.И.О., год окончания школы, средний балл по
аттестату, служба в армии. Результаты обработки данных: список окончивших школу до
1990 года и количество служивших в армии.
Абитуриенты. Запись: Ф.И.О., год рождения, пол, средний балл по
аттестату. Результаты обработки данных: список абитуриентов моложе
18 лет и количество абитуриентов мужского пола.
Абитуриенты. Запись: Ф.И.О., год рождения, средний балл по аттестату,
баллы на вступительных экзаменах (4 экзамена). Результаты обработки данных: список абитуриентов
набравших проходной балл (18) и количество сдавших экзамены без троек.
Абитуриенты. Запись: Ф.И.О., пол, средний балл по аттестату, баллы на
вступительных экзаменах (4 экзамена). Результаты обработки данных: список абитуриентов со
средним баллом по аттестату >4,75 и количество сдавших экзамены
только на «отлично».
Студенты. Запись: Ф.И.О., пол, место проживания (дома, в общежитии,
на квартире), получает ли стипендию. Результаты обработки данных: список студентов проживающих
в общежитии и количество получающих стипендию.
Студенты. Запись: Ф.И.О., год рождения, пол, место проживания
(дома, в общежитии, на квартире). Результаты обработки данных: список студентов моложе 18
лет и процент проживающих в общежитии.
Студенты. Запись: Ф.И.О., пол, год рождения, баллы на экзаменах (4
экзамена). Результаты обработки данных: список студентов получивших
на экзаменах 4 и 5 и процент сдавших без троек.
Студенты. Запись: Ф.И.О., год рождения, место проживания (дома, в
общежитии, на квартире), баллы на экзаменах (4 экзамена). Результаты обработки данных: список студентов получивших
на экзаменах 2 и процент сдавших с первого предъявления.
Студенты. Запись: Ф.И.О., пол, баллы на экзаменах (4 экзамена),
получает ли стипендию. Результаты обработки данных: список студентов получающих
стипендию и процент сдавших экзамены на «отлично».
Студенты. Запись: Ф.И.О., пол, год рождения, баллы на экзаменах (4
экзамена). Результаты обработки данных: список студентов мужского
пола и процент сдавших экзамены на 4 и 5.
Студенты. Запись: Ф.И.О., место проживания (дома, в общежитии, на
квартире), год рождения, баллы на экзаменах (4 экзамена). Результаты обработки данных: список студентов проживающих
в общежитии и процент получивших на экзамене 2.
Студенты. Запись: Ф.И.О., место проживания (дома, в общежитии, на
квартире), баллы на экзаменах (4 экзамена), получает ли стипендию. Результаты обработки данных: список студентов проживающих
в общежитии и получающих стипендию процент сдавших экзамены на отлично.
Студенты. Запись: Ф.И.О., место проживания (дома, в общежитии, на
квартире), пол, баллы на экзаменах (4 экзамена). Результаты обработки данных: список студентов мужского
пола проживающих в общежитии процент сдавших экзамены без троек.
Абитуриенты. Запись: Ф.И.О., год рождения, год окончания школы,
средний балл по аттестату. Результаты обработки данных: список со средним баллом
>4,5 и количество отличников.
Абитуриенты. Запись: Ф.И.О., год рождения, какое учебное заведение
окончил, место проживания (город, село). Результаты обработки данных: список абитуриентов,
проживающих не в Уфе и количество окончивших техникум.
Абитуриенты. Запись: Ф.И.О., год окончания школы, средний балл по
аттестату, служба в армии. Результаты обработки данных: список окончивших школу до
1990 года и количество служивших в армии.
Абитуриенты. Запись: Ф.И.О., год рождения, пол, средний балл по
аттестату. Результаты обработки данных: список абитуриентов моложе
18 лет и количество абитуриентов мужского пола.
Абитуриенты. Запись: Ф.И.О., год рождения, средний балл по аттестату,
баллы на вступительных экзаменах (4 экзамена). Результаты обработки данных: список абитуриентов
набравших проходной балл (18) и количество сдавших экзамены без троек.
Абитуриенты. Запись: Ф.И.О., пол, средний балл по аттестату, баллы на
вступительных экзаменах (4 экзамена). Результаты обработки данных: список абитуриентов со
средним баллом по аттестату >4,75 и количество сдавших экзамены
только на «отлично».
Студенты. Запись: Ф.И.О., пол, место проживания (дома, в общежитии,
на квартире), получает ли стипендию. Результаты обработки данных: список студентов проживающих
в общежитии и количество получающих стипендию.
Студенты. Запись: Ф.И.О., год рождения, пол, место проживания
(дома, в общежитии, на квартире). Результаты обработки данных: список студентов моложе 18
лет и процент проживающих в общежитии.
Студенты. Запись: Ф.И.О., пол, год рождения, баллы на экзаменах (4
экзамена). Результаты обработки данных: список студентов получивших
на экзаменах 4 и 5 и процент сдавших без троек.
Студенты. Запись: Ф.И.О., год рождения, место проживания (дома, в
общежитии, на квартире), баллы на экзаменах (4 экзамена). Результаты обработки данных: список студентов получивших
на экзаменах 2 и процент сдавших с первого предъявления.
Студенты. Запись: Ф.И.О., пол, баллы на экзаменах (4 экзамена),
получает ли стипендию. Результаты обработки данных: список студентов получающих
стипендию и процент сдавших экзамены на «отлично».
Студенты. Запись: Ф.И.О., пол, год рождения, баллы на экзаменах (4
экзамена). Результаты обработки данных: список студентов старше 18
лет и процент сдавших экзамены на 4 и 5.
Студенты. Запись: Ф.И.О., место проживания (дома, в общежитии, на
квартире), год рождения, баллы на экзаменах (4 экзамена). Результаты обработки данных: список студентов проживающих
в общежитии и процент получивших на экзамене 2.
Студенты. Запись: Ф.И.О., место проживания (дома, в общежитии, на
квартире), баллы на экзаменах (4 экзамена), получает ли стипендию. Результаты обработки данных: список студентов проживающих
в общежитии и получающих стипендию процент сдавших экзамены на отлично.
Студенты. Запись: Ф.И.О., место проживания (дома, в общежитии, на
квартире), пол, баллы на экзаменах (4 экзамена). Результаты обработки данных: список студентов мужского
пола проживающих в общежитии процент сдавших экзамены без троек.
Задание 4. «Текстовые файлы и окна»
Варианты
Написать процедуру для ввода из файла квадратной матрицы
размерности N (N<50). Вывести матрицу в окно на
экране.
Написать процедуру для ввода из файла прямоугольной матрицы
размерности N×M (N<50, M<50).
Вывести матрицу в окно на экране.
Написать процедуру для ввода из окна на экране квадратной матрицы
размерности N (N<50). Записать матрицу в текстовый
файл.
Написать процедуру для ввода из окна на экране прямоугольной
матрицы размерности N×M (N<50, M<30).
Записать матрицу в текстовый файл, и вывести в другое окно на экране
дисплея.
Написать процедуру для ввода из файла квадратной матрицы
размерности N (N<50). Написать функцию вычисления
суммы элементов матрицы на главной диагонали. Вывести матрицу в одно
окно на экране, а вычисленную сумму - в другое.
Написать процедуру для ввода из файла прямоугольной матрицы
размерности N×M (N<40, M<30).
Написать функцию вычисления максимального элемента матрицы. Вывести
матрицу в одно окно на экране, а значение максимального элемента - в
другое.
Написать процедуру для ввода из файла прямоугольной матрицы
размерности N×M (N<40, M<50).
Написать функцию вычисления количества максимальных элементов матрицы.
Вывести матрицу в одно окно на экране, а значение количества
максимальных элементов - в другое.
Написать процедуру для ввода из файла квадратной символьной матрицы
размерности N×N (N<30). Написать функцию
подсчета количества букв латинского алфавита. Вывести матрицу в одно
окно на экране, а значение количества букв латинского алфавита - в
другое.
Написать процедуру для ввода из файла прямоугольной символьной
матрицы размерности N×M (N<30, M<40).
Написать функцию, заменяющую цифры на соответствующие буквы латинского
алфавита. Вывести исходную матрицу в одно окно на экране, а полученную
- в другое.
Написать процедуру для ввода из файла прямоугольной символьной
матрицы размерности N×M (N<20, M<40).
Написать функцию, вычисляющую сумму цифр, встречающихся в матрице.
Вывести исходную матрицу в одно окно на экране, а вычисленную сумму - в
другое.
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна - 76).
Написать процедуру для чтения текста из файла. Написать процедуру,
выводящую текст в окно на экране дисплея (число строк в окне 12, ширина
окна должна определяться автоматически в зависимости от максимальной
длины текстовой строки в файле).
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна должна определяться
автоматически каждый раз в зависимости от максимальной длины текстовой
строки).
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна 76). Предусмотреть
перелистывание текста вперед и назад.
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне определяется по спец. символу в текстовом
файле, ширина окна 76). Предусмотреть перелистывание текста вперед и
назад.
Написать процедуру для ввода из файла квадратной матрицы
размерности N (N<50). Вывести матрицу в окно на
экране.
Написать процедуру для ввода из файла прямоугольной матрицы
размерности N×M (N<50, M<50).
Вывести матрицу в окно на экране.
Написать процедуру для ввода из окна на экране квадратной матрицы
размерности N (N<50). Записать матрицу в текстовый
файл.
Написать процедуру для ввода из окна на экране прямоугольной
матрицы размерности N×M (N<50, M<30).
Записать матрицу в текстовый файл, и вывести в другое окно на экране
дисплея.
Написать процедуру для ввода из файла квадратной матрицы
размерности N (N<50). Написать функцию вычисления
суммы элементов матрицы на главной диагонали. Вывести матрицу в одно
окно на экране, а вычисленную сумму - в другое.
Написать процедуру для ввода из файла прямоугольной матрицы
размерности N×M (N<40, M<30).
Написать функцию вычисления максимального элемента матрицы. Вывести
матрицу в одно окно на экране, а значение максимального элемента - в
другое.
Написать процедуру для ввода из файла прямоугольной матрицы
размерности N×M (N<40, M<50).
Написать функцию вычисления количества максимальных элементов матрицы.
Вывести матрицу в одно окно на экране, а значение количества
максимальных элементов - в другое.
Написать процедуру для ввода из файла квадратной символьной матрицы
размерности N×N (N<30). Написать функцию
подсчета количества букв латинского алфавита. Вывести матрицу в одно
окно на экране, а значение количества букв латинского алфавита - в
другое.
Написать процедуру для ввода из файла прямоугольной символьной
матрицы размерности N×M (N<30, M<40).
Написать функцию, заменяющую цифры на соответствующие буквы латинского
алфавита. Вывести исходную матрицу в одно окно на экране, а полученную
- в другое.
Написать процедуру для ввода из файла прямоугольной символьной
матрицы размерности N×M (N<20, M<40).
Написать функцию, вычисляющую сумму цифр, встречающихся в матрице.
Вывести исходную матрицу в одно окно на экране, а вычисленную сумму - в
другое.
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна - 76).
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна должна определяться
автоматически в зависимости от максимальной длины текстовой строки в
файле).
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна должна определяться
автоматически каждый раз в зависимости от максимальной длины текстовой
строки).
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне 10, ширина окна 76). Предусмотреть
перелистывание текста вперед и назад.
Написать процедуру для чтения текста из файла (количество строк не
более 100). Написать процедуру, выводящую текст в окно на экране
дисплея (число строк в окне определяется по спец. символу в текстовом
файле, ширина окна 76). Предусмотреть перелистывание текста вперед и
назад.
Задание 5. «Графика»
Варианты
Построить график функции Y=3x^2 на
отрезке [-5;5].
Построить график функции Y=\frac{x+3}{х-2}
на отрезке [3;10].
Построить график функции Y=3+\frac{2}{x}+\frac{3}{x^2}
на отрезке [-3;-1].
Построить график функции Y=\frac{1}{x^2-2x+1}
на отрезке [-10;0].
Построить окружность радиуса R=30 c центром в начале
координат по заданному параметрическому представлению X=R\cos{t}; Y=R\sin{t},
где 0≤t≤2π.
Построить эллипс с большой и малой полуосями, равными R1=10
и R2=30 и расположенными параллельно осям координат по заданному
параметрическому представлению X=R1\cos{t}; Y=R2\sin{t}, где 0≤t≤2π.
Построить кардиоиду по заданному параметрическому представлению X=a\cos{t}(1+\cos{t}); Y=a\sin{t}(1+\cos{t}),
где a=15; 0≤t≤2π.
Построить эпициклоиду по заданному параметрическому представлению X=(a+b)\cos{t}-a\cos{\frac{(a+b)t}{a}}; Y=(a+b)\sin{t}-a\sin{\frac{(a+b)t}{a}}, где a=12;
b=5; 0≤t≤2π.
Построить лемнискату по уравнениям в полярных координатах (p
- радиус вектор; f - угол) p=a\sqrt{2\cos{2f}};
при a=5.
Построить спираль вокруг начала координат с N витками и
внешним радиусом R. Начальное направление спирали образует с
осью X угол 0 градусов. Параметрическое представление спирали X=R\cos{t}; Y=R\sin{t};
R=\frac{t}{2}; 0≤t≤2Nπ.
Построить график функции Y=3x^2 на
отрезке [-5;5].
Построить график функции Y=\frac{x+4}{x-3}
на отрезке [4;12].
Построить график функции Y=3+\frac{2}{x}+\frac{3}{x^2}
на отрезке [-3;-1].
Построить график функции Y=\frac{1}{x^2-2x+1}
на отрезке [-10;0].
Построить окружность радиуса R=30 c центром в начале
координат по заданному параметрическому представлению X=R\cos{t}; Y=R\sin{t},
где 0≤t≤2π.
Построить эллипс с большой и малой полуосями, равными R1=10
и R2=30 и расположенными параллельно осям координат по заданному
параметрическому представлению X=R1\cos{t}; Y=R2\sin{t}, где 0≤t≤2π.
Построить кардиоиду по заданному параметрическому представлению X=a\cos{t}(1+\cos{t}); Y=a\sin{t}(1+\cos{t}),
где a=15; 0≤t≤2π.
Построить эпициклоиду по заданному параметрическому представлению X=(a+b)\cos{t}-a\cos{\frac{(a+b)t}{a}}; Y=(a+b)\sin{t}-a\sin{\frac{(a+b)t}{a}}, где a=12;
b=5; 0≤t≤2π.
Построить лемнискату по уравнениям в полярных координатах (p
- радиус вектор; f - угол) p=a\sqrt{2\cos{2f}};
при a=5.
Построить спираль вокруг начала координат с N витками и
внешним радиусом R. Начальное направление спирали образует с
осью X угол 0 градусов. Параметрическое представление спирали X=R\cos{t}; Y=R\sin{t};
R=\frac{t}{2}; 0≤t≤2Nπ.
Построить график функции Y=3x^2 на
отрезке [-5;5].
Построить график функции Y=\frac{x+3}{х-2}
на отрезке [3;10].
Построить график функции Y=3+\frac{2}{x}+\frac{3}{x^2}
на отрезке [-3;-1].
Построить график функции Y=\frac{1}{x^2-2x+1}
на отрезке [-10;0].
Построить окружность радиуса R=30 c центром в начале
координат по заданному параметрическому представлению X=R\cos{t}; Y=R\sin{t},
где 0≤t≤2π.
Построить эллипс с большой и малой полуосями, равными R1=10
и R2=30 и расположенными параллельно осям координат по заданному
параметрическому представлению X=R1\cos{t}; Y=R2\sin{t}, где 0≤t≤2π.
Построить кардиоиду по заданному параметрическому представлению X=a\cos{t}(1+\cos{t}); Y=a\sin{t}(1+\cos{t}),
где a=15; 0≤t≤2π.
Построить эпициклоиду по заданному параметрическому представлению X=(a+b)\cos{t}-a\cos{\frac{(a+b)t}{a}}; Y=(a+b)\sin{t}-a\sin{\frac{(a+b)t}{a}}, где a=12;
b=5; 0≤t≤2π.
Построить лемнискату по уравнениям в полярных координатах (p
- радиус вектор; f - угол) p=a\sqrt{2\cos{2f}};
при a=5.
Построить спираль вокруг начала координат с N витками и
внешним радиусом R. Начальное направление спирали образует с
осью X угол 0 градусов. Параметрическое представление спирали X=R\cos{t}; Y=R\sin{t};
R=\frac{t}{2}; 0≤t≤2Nπ.
Пример выполнения задания 1 «Массивы»
1.1. Постановка задачи
В матрице размера 5×4 найти сумму наибольших значений
элементов ее строк.
1.2. Блок-схема программы
Рис.1. Блок-схема
1.3. Исходные данные для отладки и тестирования программы
В качестве исходных данных выберем матрицу с произвольными
значениями и проверим работу программы. Эти данные можно посмотреть в
рабочем окне программы на рис.2.
1.4. Исходный текст программы
Dim Am(5, 4), s As Double
Dim av() As String
Private Sub Command1_Click()
Picture1.Cls
av = Split(Text1, "/") 'разбивает строку по разделителю и результат записывает в одномерный массив
k = 0
For i = 0 To 5 - 1
StrAm = ""
For j = 0 To 4 - 1
Am(i, j) = Val(av(k))
StrAm = StrAm + " " + Str(Am(i, j))
k = k + 1
Next
Picture1.Print StrAm
Next
End Sub
Private Sub Command2_Click()
s = 0
For i = 0 To 5 - 1
MaxAm = Am(i, 1)
For j = 0 To 4 - 1
If Am(i, j) > MaxAm Then MaxAm = Am(i, j)
Next
s = s + MaxAm
Next
Picture2.Cls
Picture2.Print "Сумма = "; s
End Sub
Private Sub Command3_Click()
End
End Sub
Рис.2. Экранная форма программы
Пример выполнения задания 2 «Процедуры и функции»
2.1. Постановка задачи
Определить функцию, которая подсчитывает количество литер в
текстовом файле (исключая пробелы).
2.2. Блок-схема программы
В примере не приведена.
2.3. Исходные данные для отладки
Кнопка «Прочитать» открывает выбранный файл, выводит его
содержимое в текстовое поле и позволяет выполнить алгоритм подсчета
литер в текстовом файле.
2.4. Исходный текст программы
Dim StrTemp As String
Private Sub Command1_Click()
Picture1.Cls
Open File1.Path + "\" + File1.FileName For Input As #1
S = 0
Text1.Text = ""
Do While Not(EOF(1))
Line Input #1, StrTemp
For i = 1 To Len(StrTemp)
z = Mid(StrTemp, i, 1)
If z <> "" Then S = S + 1
Next i
Text1.Text = Text1.Text + StrTemp + Chr$(13) + Chr$(10)
Loop
Close #1
Picture1.Print "Число литер, исключая пробелы равно "; S
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive ' Выбираем диск
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path ' Выбираем папку
End Sub
Private Sub Command2_Click()
End
End Sub
Рис.3. Результат выполнения программы
Пример выполнения задания 3 «Записи и файлы»
3.1. Постановка задачи
Студенты. Запись: Ф.И.О., пол, год
рождения, баллы на экзаменах (4 экзамена).
Результаты обработки данных: список студентов
старше 18 лет и процент сдавших экзамены на 4 и 5.
3.2. Блок-схема программы
Рис.4. Блок-схема
3.3. Исходный текст программы
Dim st As stud
Dim i, k As Integer
Private Sub Command1_Click
god1 = 2004
st.fio = Text1.Text
st.pol = Text2.Text
st.god = Val(Text3.Text)
st.mat = Val(Text4.Text)
st.istor = Val(Text5.Text)
st.phiz = Val(Text6.Text)
st.inf = Val(Text7.Text)
i = i + 1
If ((god1 - st.god) > 18) Then List1.AddItem(st.fio)
If (st.mat > 3) And (st.istor > 3) And (st.phiz > 3) And (st.inf > 3) Then k = k + 1
Text1.Text = ""
Text2.Text = "м"
Text3.Text = "1980"
Text4.Text = "5"
Text5.Text = "5"
Text6.Text = "5"
Text7.Text = "5"
End Sub
Private Sub Command2_Click()
Text8.Text = i
Text9.Text = k / i * 100
End Sub
Рис.5. Результат выполнения программы
Пример выполнения задания 4 «Текстовые файла и окна»
4.1. Постановка задачи
Написать процедуру для чтения текста из файла (количество
строк не более 100). Написать процедуру, выводящую текст в окно на
экране дисплея (число строк в окне 10, ширина окна должна определяться
автоматически в зависимости от максимальной длины текстовой строки в
файле).
4.2. Блок-схема программы
В примере не приведена.
4.3. Исходный текст программы
Dim StrTemp As String
Private Sub Command1_Click()
file = File1.Path + "\" + File1.FileName
Open file For Input As #1
Do While Not (EOF(1))
Line Input #1, StrTemp
If maxSTR < Len(StrTemp) Then maxSTR = Len(StrTemp)
Loop
Close #1
Text1.Width = maxSTR * 100
Open file For Input As #2
Do While Not (EOF(2))
Line Input #2, StrTemp
Text1.Text = Text1.Text + StrTemp + Chr$(13) + Chr$(10)
Loop
Close #2
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive ' Выбираем диск
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path ' Выбираем папку
End Sub
Private Sub Command2_Click()
End
End Sub
Рис.6. Настройка свойств текстового поля
Для размещения на форме элементов интерфейса программы.
Позволяющих выполнять визуальный поиск файла на дисках и в каталогах ПК
использовано окно выбора компонентов (рис.7).
Рис.7. Окно выбора компонентов интерфейса
Для поиска файла выбирается диск, затем папка на диске и в
ней - текстовый файл. Кнопка «Прочитать» позволяет вывести содержимое
текстового файла в окно программы, ширина которого меняется в
зависимости от максимальной длины строки текста в файле.
Рис.8. Результат выполнения программы
Пример выполнения задания 5 «Графика»
5.1. Постановка задачи
Построить график функции Y=\frac{x+3}{x-2}
на отрезке [3;10].
5.2. Блок-схема программы
Рис.9. Блок-схема программы
5.3. Исходный текст программы
Private Sub Command1_Click
Picture1.Cls
x0 = 2
y0 = 5.5
Picture1.Line (x0, y0) - (x0 + 8, y0)
Picture1.Print "10"
Picture1.Line (x0, y0 - 4) - (x0, y0 + 6)
Picture1.Print "10"
x = 3
y = -(x + 3) / (x - 2) - y0
Picture1.PSet (x, -y - 6)
Picture1.Print "3"
Picture1.PSet (x, -y)
Do While x <= 10
y = -(x + 3) / (x - 2) - y0
Picture1.Line -(x, -y), RGB(30, 100, 200)
x = (x + 0.1)
Loop
End Sub
Private Sub Command2_Click
End
End Sub
Рис.10. Результат выполнения программы
Образец оформления титульного листа пояснительной записки к
контрольной работе
Пользователь, раз уж ты добрался до этой строки, ты нашёл тут что-то
интересное или полезное для себя. Надеюсь, ты просматривал сайт в браузере Firefox,
который один правильно отражает формулы, встречающиеся на страницах. Если тебе понравился
контент, помоги сайту материально. Отключи, пожалуйста, блокираторы рекламы и нажми
на пару баннеров вверху страницы. Это тебе ничего не будет стоить, увидишь ты только
то, что уже искал или ищешь, а сайту ты поможешь оставаться на плаву.
Пользуйся браузерами Yandex, Firefox, Opera, Edge - они
правильно отражают формулы, встречающиеся на страницах, как в
десктопном, так и в мобильном вариантах.
Отключи на минуту блокираторы рекламы и нажми на пару
баннеров на странице. Тебе ничего не будет стоить, а сайту поможешь
материально.