1-й
семестр
|
Неделя
|
Тема
|
Примеры заданий
|
1
|
Знакомство с системой
программирования Delphi (консольный
режим). Структура программы. Основные
стандартные типы данных. Оператор
присваивания. Выражения. Процедуры
ввода - вывода. Разработка программ
линейной структуры.
|
-
Ввести два целых числа. Вывести
результаты выполнения над ними 6-и
арифметических действий (+ , - , * , / ,
DIV, MOD).
-
Ввести символ. Определить его код по
таблице ASCII. Используя
значение кода в качестве величины
радиуса, вычислить длину окружности,
площадь круга и объем шара.
-
Ввести целое пятизначное число.
Вычислить кубический корень из
произведения чисел, соответствующих
его значащим цифрам.
-
Определить площадь треугольника по
заданным координатам его вершин и
его углы.
-
По заданным коэффициентам a1,a2,b1,b2
и правым частям c1,c2
найти решение системы двух линейных
уравнений в предположении, что ее
определитель не равен 0.
-
Присвоить символьным переменным с1,
с2, с3 соответственно левую, среднюю
и правую цифры целого трехзначного
числа k.
-
Определить площадь и периметр
правильного n – угольника,
вписанного в окружность радиуса R
и описанного около нее. Сравнить
полученные данные с площадью круга
и длиной окружности радиуса R.
-
Треугольник в пространстве задан
координатами своих вершин A(x,y,z),
B(u, v,
w), C(r,
p, q). Найти
периметр и площадь треугольника.
Определить скалярное произведение
векторов
.
-
Задано
пятизначное число a.
Проверить, является ли оно палиндромом.
|
2
|
Операторы:
условный, составной и выбора. Логические
операции. Разработка программ
разветвляющейся структуры.
|
-
Ввести три числа. Определить и вывести
наименьшее из них. Если оно отрицательное,
то возвести его в квадрат и вывести.
-
Вычислить значения y
по одной из формул:
при
x<=0;
при 0<x<=1;
y = lg(x)
при x>1.
-
Разработать программу, которая для
двух введенных чисел позволяет
выполнять одно из четырех арифметических
действий (использовать оператор
выбора).
-
Определить площадь закрашенных
участков, если точка с координатами
x,y
располагается внутри них.
-
Написать программу, имитирующую
работу калькулятора. Калькулятор
должен иметь арифметическую и
функциональную часть. Работа
калькулятора осуществляется следующим
образом. Вводится вещественное число
а. Вводится знак арифметической
операции (+,-,*,/) или буква F.
Если введен знак операции, то вводится
значение вещественной переменной b
и выполняется нужная операция. Если
же введен символ функциональной части
F, то должна вводиться
первая буква вычисляемой функции,
например s или S
соответствуют функции Sin(a).
-
Записать выражение x=a
b
c с помощью условных
операторов. В этом выражении x,
a, b, c
– логические переменные. Операции
OR и AND не
использовать.
-
Даны три точки
.
Определить, расположены ли они на
одной прямой. Если нет, то вычислить
угол
.
-
Дано
натуральное число n<101,
являющееся возрастом человека в
годах. Вывести для этого числа надпись
«год», «года» или «лет». Например, 2
года, 56 лет, 34 года и т.д.
|
3
|
Операторы цикла (с
известным и неизвестным числом
повторений). Разработка программ
циклической структуры.
|
-
Протабулировать функцию y=x*
sin(x)
в диапазоне изменения х от А до
В с шагом Н (A,B
и H вводятся с
клавиатуры). Использовать разные
операторы цикла.
-
Вычислить факториал введённого целого
числа. Использовать разные операторы
цикла.
-
Вычислить сумму членов ряда
с
точностью до члена ряда по абсолютной
величине, меньшего ε (ε – малое вводимое
число).
-
Вводится целое n и
вещественные числа x1,y1
, x2,y2,
… , xn,
yn
. Рассматривая пары xi,yi
как координаты точки на плоскости,
определить минимальный радиус круга
с центром в начале координат, в котором
разместятся все введенные точки.
-
Найти так называемое «машинное
эпсилон» для разных типов вещественных
данных Delphi (single
и т.д.), т.е. найти такое минимальное
не равное нулю число, которое после
прибавления его к 1.0 еще дает результат,
отличный от 1.0
-
Получить
таблицу значений
для x, изменяющегося
в диапазоне
с
шагом
.
|
4
|
РУБЕЖНЫЙ
КОНТРОЛЬ
|
Операторы,
выражения, программы различной
структуры – 10(6) баллов.
|
5
|
Использование типовых
приемов программирования на примере
обработки одномерных массивов (ввод,
вывод, преобразование, создание,
вычисление суммы и произведения,
максимума и минимума, сортировка,
поиск элементов и т.д.).
|
-
Ввести массив из целых чисел A[N],
где N<=10 – размерность
массива (вводятся по запросу). Найти
сумму и произведение его элементов,
а также максимальный элемент. Вывести
на экран массив и найденные значения.
-
Ввести массив из целых чисел A[N],
где N<=10 – размерность
массива. Из его отрицательных элементов
создать другой массив. Вывести на
экран оба массива. Если отрицательных
элементов нет, вывести соответствующее
сообщение.
-
В массиве А после каждого
отрицательного элемента вставить
элемент с заданным значением.
-
В массиве А поставить элемент с
максимальным значением перед элементом
с минимальным значением. Порядок
следования остальных элементов не
должен меняться (в упрощенном варианте
можно поставить этот элемент на первое
или на последнее место).
-
В одномерном массиве целых чисел
найти наибольший и наименьший элементы
и поменять их местами.
-
Упорядочить одномерный массив целых
чисел по возрастанию суммы цифр
каждого числа.
-
Заданы
два упорядоченных по возрастанию
массива целых чисел с числом элементов
n1 и n2.
Слить их в один (третий) массив, также
упорядоченный по возрастанию.
|
6
|
Разработка и отладка
приложений для решения типовых задач
(обработка одномерных и двумерных
массивов, обработка числовых рядов,
вычисление интегралов т.п.).
|
-
Ввести массив из целых чисел A[N,M],
где N<=10, M<=20
– размерности массива (вводятся по
запросу). Вывести массив в виде матрицы.
Создать и вывести массив из элементов
матрицы, которые больше среднего
значения элементов матрицы.
-
Ввести массив из целых чисел A[N,M],
где N<=10, M<=20
– размерности массива (вводятся по
запросу). Вывести массив в виде матрицы.
Вывести отдельно столбец матрицы,
произведение элементов которого
минимально.
-
Ввести массив из целых чисел A[N,N],
где N<=10 – размерность
массива (вводится по запросу). Вывести
массив в виде матрицы. Вывести отдельно
элементы матрицы, расположенные над
главной диагональю.
-
Получить матрицу В из матрицы А
путем удаления k-го
столбца.
-
Расположить столбцы матрицы в порядке
возрастания значений элементов k-ой
строки.
-
Передвинуть на одну позицию по часовой
стрелке элементы матрицы, расположенные
в первой строке и в верхней части
главной и побочной диагоналей.
-
Найти наибольший и наименьший элементы
под (над) главной (побочной) диагоналями
матрицы, включая (не включая) элементы
самой диагонали.
-
Заполнить
квадратную матрицу последовательными
натуральными числами, начиная с 1 до
n*n, совершая
обход по спирали от верхнего левого
угла к центру матрицы.
|
7
|
Организация
подпрограмм. Функции.
|
-
Ввести два массива из целых чисел
A1[N1] и
A2[N2] , где
N1<=10, а N2<=5
– размерности массивов (вводятся по
запросу). Определить минимальный
элемент которого из них больше.
Использовать функцию.
-
Разработать функцию, определяющую
площадь треугольника по координатам
его вершин. Использовать её в программе
для вычисления площади выпуклого
5-угольника (координаты его вершин
вводятся).
-
Разработать функцию, определяющую
максимальный элемент побочной
диагонали квадратной целочисленной
матрицы. Использовать её в программе
для обработки двух введённых массивов
А1[3,3] и А2[4,4]. Вывести массивы в виде
матриц и найденные элементы.
-
Вывести на экран таблицу значений
функции
для x, изменяющегося
в диапазоне
с
шагом
.
Функция оформляется в виде
подпрограммы-функции.
-
Задан массив, элементами которого
являются произвольные целые числа
(положительные и отрицательные).
Преобразовать их, изменив порядок
следования цифр в их значениях на
обратный. Использовать функцию.
-
В массиве целых чисел найти элемент
с наибольшей суммой цифр, используя
функцию для отыскания суммы цифр
числа.
-
На плоскости заданы n
точек. Найти треугольник, имеющий
наибольшую площадь из всех треугольников,
которые можно построить на этих
точках. Использовать функцию.
8. Заполнить случайным образом матрицу
размером n x
m последовательными
без повторений числами Фибоначчи
|
8
|
РУБЕЖНЫЙ
КОНТРОЛЬ
|
Одномерные
и двумерные числовые массивы – 20(12)
баллов.
|
9
|
Процедуры. Параметры
подпрограмм.
|
-
Ввести массив из целых чисел A[N],
где N<=10 – размерность
массива (вводятся по запросу). С помощью
одной процедуры найти в нём максимальный
и минимальный элементы, а с помощью
другой – упорядочить по убыванию.
Вывести исходный, упорядоченный
массивы и найденные элементы.
-
Разработать процедуру, вычисляющую
корни х1 и х2
квадратного уравнения ах2+вх+с=0
для введённых значений коэффициентов
а, в и с (а≠0 и дискриминант
положителен). Использовать её в
программе для двух введённых наборов
коэффициентов а1, в1,
с1 и а2, в2,
с2.
-
Разработать процедуру, меняющую
местами k-ю и m-ю
строки целочисленной матрицы (k
и m вводятся
по запросу). Использовать её в программе
для обработки двух введённых массивов
А1[3,4] и А2[4,3]. Вывести исходные и
преобразованные массивы в виде матриц.
Для ввода и вывода массивов использовать
процедуры.
-
Составить процедуру для перемещения
элементов квадратной матрицы,
расположенных в первом столбце, первой
строке и на побочной диагонали, на
одну позицию против часовой стрелки.
Использовать разработанную процедуру
для перемещения указанных элементов
на k позиций.
-
Составить функцию, которая представлена
в виде функционального ряда
Составить процедуру для решения
методом половинного деления уравнения
-
Составить процедуру для
вычисления определенного интеграла
по формуле трапеций с автоматическим
выбором шага. Применить процедуру
для вычисления интегралов
и
.
7.
Найти матрицу
,
если степень матрицы определяется
по формуле
|
10
|
Работа с символьными
и строковыми данными (поиск, замена,
удаление, вставка символов в строках,
преобразование строк) с использованием
подпрограмм.
|
-
Ввести строку из букв. Поменять все
буквы «а» на букву «А» и вывести.
Вывести строку в обратном порядке.
Упорядочить буквы в строке по алфавиту
и вывести.
-
Ввести простое предложение (без знаков
препинания внутри, слова разделены
одним пробелом, в конце строки один
из знаков – «.», «!», «?»). Подсчитать
количество слов начинающихся и
заканчивающихся на одинаковую букву.
Использовать подпрограмму.
-
Ввести простое предложение. Заменить
в нём одно из слов (по запросу) на новое
и вывести. Если запрашиваемого слова
нет, вывести соответствующее сообщение.
Использовать подпрограмму.
-
Определить строчную букву латинского
алфавита, которая чаще всего встречается
в строке произвольной длины.
-
Строка произвольной длины состоит
из слов, отделенных друг от друга
пробелом. Записать эти слова в массив
строк так, чтобы каждое слово являлось
элементом массива. Упорядочить
элементы полученного массива по
алфавиту.
-
Преобразовать строку произвольной
длины, удалив в ней все повторения
строчных букв латинского алфавита.
-
Строка произвольной длины состоит
из слов, отделенных друг от друга
пробелом. Записать эти слова в новую
строку, изменив порядок их следования
на обратный.
-
Написать процедуру, которая помещает
первые вхождения букв в заданной
строке в другую строку. Написать
программу, в которой процедура
применяется для обработки строк,
вводимых пользователем.
-
Сделать
бегущую на экране строку.
|
11
|
Работа с записями.
Обработка массивов записей с
использованием подпрограмм.
|
-
Ввести массив записей (не более 20-и)
с полями – «фамилия», «оценка». Вывести
на экран. Упорядочить массив по
алфавиту и вывести. Определить средний
балл.
-
Ввести массив записей (не более 5-и) с
полями – «наименование продукта»,
«цена», «количество» и «срок годности».
Вывести на экран. По введённой дате
вывести список испорченных продуктов
и подсчитать убыток. Если нет испорченных
продуктов, вывести соответствующее
сообщение. Использовать подпрограмму.
-
Ввести массив записей (не более 10-и)
с полями – «фамилия сотрудника»,
«стаж работы», «оклад». Вывести на
экран. Вывести в алфавитном порядке
данные тех сотрудников, чей оклад
ниже среднего по предприятию. Тому
из малооплачиваемых, чей стаж
максимальный, увеличить оклад в 2
раза. Вывести обновленный список всех
сотрудников. Использовать подпрограмму.
-
Задан массив записей, которые содержат
фамилию человека, год рождения и пол.
Переписать в новый массив фамилии
лиц мужского пола 1982 – 1984 года рождения.
-
Задан массив записей, полями которых
являются координаты точки. Определить
площадь минимального круга с центром
в ближайшей к началу координат точке,
в котором расположатся все заданные
точки.
-
Задан массив записей, которые содержат
фамилию человека и рост. Расположить
их по росту. Не нарушая упорядоченности
внести в упорядоченный список лиц,
данные которых вводятся с клавиатуры
по дополнительному запросу. Найти
человека, рост которого наиболее
близок к среднему росту представленных
в списке.
-
Создать массив записей с полями:
фамилия студента, баллы за экзамен
по 4-м дисциплинам. Выдать фамилию
студента, средний балл которого
наиболее близок к среднему баллу
группы.
-
Создать
массив записей с полями: фамилия,
специальность. Выдать специальность,
по которой имеется наибольшее
количество сотрудников.
|
12
|
РУБЕЖНЫЙ
КОНТРОЛЬ
|
Обработка
строк и записей – 20(12) баллов.
|
13
|
Типизированные
файлы. Процедуры и функции для создания
и обработки файлов.
|
-
Создать
типизированный файл из нескольких
целых чисел. Вывести его содержимое
на экран. Заменить один из элементов
файла (по запросу его номера) на новый.
Вывести содержимое изменённого файла.
-
Создать
типизированный файл, элементы которого
– значения функции
на интервале изменения x
от А
до В
с шагом Н
(А<B,
А>0
и Н
– вводятся по запросу). Вывести
содержимое файла на экран. Переписать
из него во второй типизированный
файл элементы, начиная с N-го
по M-й
(N
и M
– вводятся по запросу). Вычислить
значение среднего арифметического
этих элементов и записать его в конец
второго файла, содержимое которого
вывести на экран. Использовать
подпрограмму.
-
Создать
типизированный файл записей (поля –
«марка автомобиля» и его «цена»).
Переписать из него в другой типизированный
файл записи в порядке возрастания
цены. Вывести на экран содержимое
обоих файлов. Использовать подпрограмму.
-
В файле вещественного типа после
компонента с максимальным значением
поставить новый компонент с заданным
значением.
-
В файле вещественного типа упорядочить
все компоненты по возрастанию их
значений.
-
Результаты предварительных соревнований
по бегу содержатся в виде записей в
типизированном файле. Полями являются
фамилия спортсмена и его результат
(время забега). Удалить из файла
спортсменов с результатами ниже
квалификационного.
-
В типизированный файл поместить
информацию о сотрудниках организации
в виде: фамилия, год рождения. Удалить
из файла юбиляров (возраст оканчивается
на 0 или 5), дописав их в конец файла в
том же порядке, в каком они представлены
в файле. Задачу решить с использованием
хотя бы одной процедуры.
-
В типизированном файле содержатся
квадратные матрицы размером 2 x
2. Просматривая попарно все матрицы,
найти такие две матрицы, определитель
произведения которых имеет наибольшее
значение.
-
Упорядочить
типизированный файл фамилий по
алфавиту. Вспомогательный массив не
использовать.
|
14
|
Текстовые файлы и
их особенности. Использование текстовых
файлов для ввода – вывода числовых
данных.
|
-
Создать
текстовый файл из нескольких строк
символов. Вывести его содержимое на
экран. В строке под номером k
(по
запросу) подсчитать количество цифр.
Полученное значение записать в конец
файла и вывести содержимое изменённого
файла на экран.
-
Создать
с помощью текстового редактора
(например, «Блокнот») файл, содержащий
несколько чисел.
Разработать программу, которая выводит
на экран содержимое файла и вычисляет
значение среднего арифметического
чисел из этого файла.
Использовать подпрограмму.
-
Записать
в первый текстовый
файл несколько записей (поля – название
горы и её высота). Переписать из первого
во второй текстовый
файл записи о горах, высота которых
больше 3000 м. Найти в текстовом файле
гору с минимальной высотой.
Использовать подпрограмму.
-
В файле задан текст. Записать этот
текст в другой файл, выполнив контекстную
замену слова. Заменяемое и заменяющее
слова вводятся с клавиатуры.
-
Создать в файле текст, содержащий
несколько предложений, которые
заканчиваются точкой. Переписать
этот текст в другой файл, отформатировав
его так, чтобы в каждой строке нового
файла либо содержалось n
символов, если в ней отсутствует
точка, либо она заканчивалась бы
точкой.
-
Текстовый
файл представляет собой совокупность
строк, состоящих из слов. Слова отделены
друг от друга пробелом. Переписать
этот текст в другой, поменяв местами
первое слово каждой строки с последним.
(Определить строку, в которой наибольшее
количество заглавных букв).
-
В текстовый файл поместить информацию
о сотрудниках организации в виде:
фамилия, год рождения. Переписать в
конец файла в алфавитном порядке
фамилии юбиляров (возраст оканчивается
на 0 или 5) и их возраст в заданном
пользователем году
-
Создать n текстовых
файлов с разным количеством строк.
Вывести на экран их имена в порядке
возрастания количества строк в
файлах.
-
В текстовом файле находятся две
квадратные матрицы с их размерами в
строго заданном виде:
Размер матриц
3
Матрица 1
Матрица 2
3 4 5
2 0 3
2 5 0
3 5 1
1 2 4
4 1 8
Найти
произведение матриц, и результат
дописать в тот же файл, снабдив
заголовком «Произведение матриц 1 и
2».
|
15
|
Создание
модулей пользователя. Структура
модуля. Использование подпрограмм по
работе с файлами и данными
структурированного типа в составе
модуля.
|
-
Разработать функцию, вычисляющую
произведение четных элементов
одномерного числового массива, и
процедуру, сортирующую этот массив
по возрастанию, и поместить их модуль.
Использовать этот модуль в программе,
обрабатывающей два массива А1[4] и
А2[5].
-
Разработать программу, определяющую
что длиннее: гипербола y=1/x
или парабола y=x2
в диапазоне изменения x
от A до B
с шагом H (В>A,
H<B-A).
Вычисление длины линии реализовать
в подпрограмме, которую поместить в
модуль. Использовать процедурный
тип.
-
Разработать программу, содержащую
меню из четырёх пунктов:
-
Создание типизированного файла
записей (фамилия, номер телефона).
-
Вывод содержимого файла на экран.
-
Изменение номера у абонента с заданной
фамилией (по запросу).
-
Завершение работы.
Первые три пункта реализовать в
процедурах, которые поместить в модуль.
-
Найти площадь криволинейного
треугольника, образованного в
результате пересечения трех функций.
Для отладки программы выбрать следующие
три функции:
и рассмотреть треугольник в первом
квадранте. Для решения задачи создать
и поместить в модуль процедуры
вычисления интеграла (методом трапеций)
и корня трансцендентного уравнения
(методом половинного деления). В
процедурах использовать процедурный
тип.
-
Создать текстовый файл, который
содержит n матриц
заданных размеров. Расположить в
текстовом файле матрицы в порядке
возрастания содержащихся в них
количеств простых чисел. Для решения
задачи использованный типизированный
файл матриц. Разместить в модуле
процедуру для упорядочения одномерных
массивов и функцию булевского типа
для определения является ли целое
число простым.
-
Сформировать
текстовый файл, содержащий несколько
предложений. Найти числа
- палиндромы и дописать их в конец
файла. Для решения задачи разработать
процедуру разделения строки на слова,
функцию, определяющую, является ли
слово числом и функцию, определяющую
палиндром. Все подпрограммы поместить
в модуль.
|
16
|
РУБЕЖНЫЙ
КОНТРОЛЬ
|
Обработка
файлов. Модули – 20(12) баллов.
|
17
|
ЗАЧЕТ
|