ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.05.2021
Просмотров: 2003
Скачиваний: 8
СОДЕРЖАНИЕ
Матрицы
-
Дано натуральное число n. Получить вещественную матрицу A, для которой
;
-
Дана вещественная матрица A. Получить матрицу A=BC, где
-
Получить вещественную матрицу A размерности 77, первая строка которой задается формулой a1j = 2j+3, (j = 1, ..., 7), вторая строка задается формулой
(j
= 1, ..., 7), а каждая следующая строка есть
сумма двух предыдущих.
-
Дано натуральное число n и вещественная матрица размера nn. Найти среднее арифметическое:
a) каждого из столбцов;
b) каждого из столбцов, имеющих четные номера.
-
Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица A размерности nn, если
-
Дана действительная матрица размера nm, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
-
Даны натуральное число m, числа a1…am и целочисленная квадратная матрица порядка m. Строку с номером i назовем отмеченной, если ai > 0, и неотмеченной в противном случае. Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на –1, положительные — на 1, а нулевые оставить без изменения.
-
См. условие задачи 7. Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.
-
Дана вещественная квадратная матрица порядка N. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
-
Даны вещественные числа x1,…, x8. Получить квадратную матрицу порядка 8, образованную по правилу:
-
Будем называть соседями элемента с индексами i, j некоторой матрицы такие элементы, индексы которых отличатся от i, j не более чем на единицу. Для данной целочисленной матрицы А (aij) размерности mm найти матрицу В, состоящую из нулей и единиц, элемент которой bij равен единице, когда среди соседей aij есть не менее двух совпадающих с aij.
-
Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером N M напечатать индексы всех ее седловых точек.
Выполнить следующие задания, используя процедуры и функции.
-
Для заданной вещественной матрицы определить, образуют ли ее элементы упорядоченную последовательность следующего вида:

-
В квадратной матрице определить количество строк
a) упорядоченных по возрастанию;
b) упорядоченных по убыванию;
c) состоящих из равных элементов;
d) неупорядоченных.
Использовать функцию, определяющую свойство каждой строки.
-
Задано конечное множество имен жителей некоторого города, причем для каждого из жителей перечислены имена его детей. Жители А и Б называются родственниками, если:
либо А — ребенок Б
либо Б — ребенок А
либо существует некий В такой, что А является родственником В, а В является родственником Б.
Перечислить все пары жителей города, которые являются родственниками.
-
В матрице А(nn) определить количество строк, элементы которой образуют арифметическую прогрессию. Использовать подпрограмму проверки строки.
-
В заданной матрице А(nn) найти максимум из всех минимальных элементов матрицы по столбцам.
-
В заданной матрице А(nn) найти минимум всех сумм абсолютных величин элементов матрицы по столбцам. Для нахождения суммы абсолютных величин столбца использовать функцию.
-
Подсчитать количество строк матрицы А(nn), элементы которых образуют монотонную последовательность. Для определения монотонности использовать процедуру.
-
Уплотнить матрицу А(nn) влево и вверх. Для выявления нулевых строк и столбцов и столбцов использовать подпрограмму.
-
Матрица А(nn) просматривается сверху вниз про строкам. Найти скалярное произведение строки и столбца, соответствующих строке с первым найденным отрицательным элементом и последним нулевым.
-
Упорядочить строки матрицы A(m, n) по неубыванию суммы элементов строк.
-
Упорядочить строки матрицы A(m, n) по неубыванию их евклидовых норм.
-
Упорядочить строки матрицы A(m, n) по неубыванию количества их нечетных элементов.
-
Упорядочить строки матрицы A(m, n) по неубыванию сумм цифр элементов строк.
-
Проверить, есть ли в матрице А(nn) строки, не содержащие более двух отрицательных элементов.
-
Дана матрица А(nn). Построить вектор, каждый элемент которого содержит наименьший по абсолютной величине элемент строки.
-
Составить программу поиска минимального элемента, расположенного под главной диагональю, и максимального элемента, расположенного над главной диагональю заданной вещественной матрицы А(nn).
-
Заполнить квадратную матрицу N×N следующим образом: элементы, расположенные на главной диагонали, принять равными 1; выше главной диагонали — сумме индексов; ниже — их разности.
-
Заполнить квадратную матрицу N×N единицами и нулями в шахматном порядке, начиная с верхнего левого угла.
-
Дана матрица N×M. Определить сумму элементов, кратных 3, и количество отрицательных элементов.
-
Задана квадратная матрица N×N. Определить, где больше четных элементов: выше или ниже главной диагонали.
-
Дана квадратная целочисленная матрица N×N. Найти суммы элементов строк, имеющих четные элементы на главной диагонали.
-
Даны две квадратных матрицы A(N×N) и B(M×M). Определить сумму элементов, расположенных на главных диагоналях.
-
Дана матрица N×M. Определить четные элементы, имеющие нечетную сумму индексов. Показать индексы этих элементов.
-
Задана квадратная матрица N×N. Найти суммы элементов тех строк, у которых элементы, расположенные на главной диагонали, равны нулю.
-
Дана действительная квадратная матрица N×N. Найти максимальный элемент на главной диагонали и вывести строку, в которой он находится.
-
Задана квадратная матрица N×N. Найти номер столбца К и строки L с максимальным произведением. Сформировать вектор В (2n), нечетные элементы которого равны сумме, а четные — разности элементов К-го столбца и L-й строки матрицы.
-
В матрице A(N×M) найти строку с максимальной суммой элементов и строку с минимальной суммой элементов. Далее сформировать вектор B(2×M), элементы которого чередовались бы с элементами максимальной и минимальной строк.
-
Дана действительная квадратная матрица N×N. Требуется переставить строки матрицы по возрастанию первых элементов строк.
-
Дана действительная квадратная матрица N×N. Требуется преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.
-
Задана прямоугольная матрица A(N×M). Найти k — номер строки с максимальной суммой элементов. Далее сформировать матрицу B(N×M), каждый элемент строки которой равнялся бы элементу соответствующей строки матрицы А, деленному на соответствующий элемент k-й строки.
-
Дана квадратная матрица A(N×N). За один просмотр элементов матрицы A(N×N) сформировать вектор С(N), каждый j-й элемент которого равен произведению элементов j-го столбца исходной матрицы, и вектор D(N), каждый j-й элемент которого равен сумме соответствующей строки матрицы А.
-
Задана квадратная матрица A(N×N). Найти k — номер столбца с максимальной суммой элементов и номер строки l c минимальной суммой элементов, а также элемент с минимальным значением в матрице А. Далее сформировать вектор Р(N), каждый элемент которого равен разности соответствующих элементов k-столбца и l‑строки, деленной на минимальный элемент матрицы А.
-
Задана квадратная матрица A(5×5). Сформировать вектор x(5), каждый элемент которого равен наибольшему значению элементов соответствующей строки исходной матрицы. Вычислить x1x5+ x2x4+ x3x3+ x4x2+ x5x1.
-
В данной целочисленной квадратной матрице A(N×N) указать индексы всех элементов, имеющих наибольшее значение.
-
Даны две прямоугольные матрицы A(N×M) и B(N×M). Найти матрицу C(N×M), элементы которой равны сумме соответствующих элементов матриц А и В, после чего произвести транспонирование полученной матрицы С.
-
Дана квадратная матрица A(N×N). За один просмотр найти строку с минимальной суммой элементов и строку с максимальной суммой элементов и образовать произведение этих строк.
Множества
-
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=(Х1 Х2) (Х2\ Х3), из которого выделить подмножество нечетных чисел. На экран вывести исходные и полученное множества. Значения элементов исходных множеств ввести с клавиатуры.
-
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=(Х1 Х2) (Х2 × Х3) и вывести на экран его мощность. Проверить, есть ли в множестве Y числа, делящиеся на 6 без остатка. Значения элементов исходных множеств ввести с клавиатуры.
-
Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1..100. Из данных множеств выделить соответственно подмножества М1 чисел, делящихся на 3 без остатка, и N1 чисел, делящихся на 2 без остатка. На печать вывести мощность и значения элементов множества MN= М1 N1.
-
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 100...200. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=( Х1 Х2) (Х1 Х3). На печать вывести множества Х1, Х2, Х3 и Y.
-
Даны три множества Х1= {1,2,3,...,20}, Х2= {10,20,30,...,30} и Х3= {1,3,5,...,19,21}. Сформировать множество Y= (Х1 Х2) (Х1 Х3) (Х2 Х3), из которого выделить подмножество Y1 чисел, делящихся на 4 без остатка. На печать вывести множество Y и мощность множества Y1. Исходные множества ввести с клавиатуры.
-
Даны три множества Х1= {1,2,3,...,20}, Х2= {10,20,...,190,200} и Х3= {10,11,12,...40}.
Сформировать множество Y= (Х2 Х3)\(( Х1 Х2) (Х1 Х3)) и множество Y1, состоящее из элементов Y, деленных на 2. Если полученное в результате деления число не целое, то округлить его до ближайшего целого. На печать вывести Y и Y1. Исходные множества ввести с клавиатуры.
-
Даны три множества Х1= {2,4,6,8,10}, Х2= {1,2,3,4,5} и Х3= {2,3,5,7,8}. Сформировать множество Y= (Х2\ Х3) (Х1\ Х3). На печать вывести Y и его мощность. Исходные множества описать как типизированные константы.
-
Разработать программу для определения, какому алфавиту (латинскому или русскому) принадлежит введенный с клавиатуры символ. На печать вывести введенный символ с комментарием, например, НАБРАН СИМВОЛ "А" НА РУССКОМ РЕГИСТРЕ.
Структуры
-
Дано
type
имя = (Аня, Валя, Женя, Петя,
Саша, Таня, Шура, Юра);
данные = struct {
пол : (муж, жен);
рост : 140..200
};
группа = array [имя] of данные;
Описать функцию СредРост(ГР), определяющую средний рост женщин из группы ГР.
-
Даны: структура, описывающая рациональное число
struct rac
{
int chisl;
unsigned int znam;
};
и массив из 20 таких структур. Описать логическую функцию Equal(a, b), сравнивающую два рациональных числа a и b.
-
Даны комплексное число z (пара вещественных чисел) и вещественное число > 0. Вычислить с точностью значение следующей комплексной функции:
3.1 sh z = z + z3 / 3! + z5 / 5! + … + z2n+1 / (2n + 1)! + …;
3.2 ch z = z + z2 / 2! + z4 / 4! + … + z2n / (2n)! + …;
3.3 sin z = z – z3 / 3! + z5 / 5! – …+ (–1)nz2n+1 / (2n + 1)! + …;
3.4 cos z = z – z2 / 2! + z4 / 4! – … + (–1)nz2n / (2n)! + …;
3.5 ln (1 + z) = z – z2 / 2 + z3 / 3 – … + (–1)n-1zn / n + … (| z | < 1);
3.6 arctg z = z – z3 /3 + z5 /5 –…+ (–1)nz2n+1 /(2n + 1) +… (| z | < 1).
-
Даны: структура, описывающая вещественное число
struct numb
{
bool sign;
float mant;
int order;
};
и массив из таких структур.
Описать:
4.1 функцию MaxNeg(C) для нахождения максимального отрицательного числа из списка чисел С;
4.2 функцию MaxDi(C) для нахождения максимального порядка числа из списка вещественных чисел С;
-
Даны: структуры
struct decart
{
float x, y;
};
и
struct polar
{
float r, fi;
};
( r 0, - < fi )
Описать процедуру ДП(d, p), преобразующую координаты точки на плоскости из декартовых d в полярные p, и ПД(p,d), выполняющую обратное преобразование.
-
Дана структура
struct Date
{ unsigned short day, month, year;}
и перечисление
enum DayOfWeek {mn, td, wd, thd, fd, std, sd};
Считая, что все даты даются по григорианскому календарю (по «новому стилю»), описать:
6.1 функцию ПослЧисло(d), вычисляющую количество дней в том месяце, которому принадлежит дата d;
6.2 логическую функцию ВернаяДата(d), проверяющую правильность даты d;
6.3 функцию ЧислоДней(d), подсчитывающую, сколько дней прошло от 1 января 1-го года нашей эры до даты d;
6.4 функцию ДН(d) для определения дня недели, на который приходится дата d (учесть, что 1 января 1‑го года нашей эры было понедельником);
6.5 функцию Пятница13(d), которая определяет количество дней до даты d, которые были пятницами 13-ого числа.
Файлы
Текстовые файлы
-
Дан текстовый файл. Вывести количество содержащихся в нем символов и строк (маркеры концов строк eoln и конца файла eof при подсчете количества символов не учитывать).
-
Дана строка S и текстовый файл. Добавить строку S в начало1|конец2 файла.
-
Дан текстовый файл. Удалить из него первую1|последнюю2 строку.
-
Даны два текстовых файла с именами Name1 и Name2. Создать новый текстовый файл с именем Name3, являющийся объединением содержимого файлов Name1 и Name2 (в указанном порядке).
-
Даны два текстовых файла с именами Name1 и Name2. Добавить в конец файла Name1 содержимое файла Name2.
-
Дан текстовый файл, содержащий более трех строк. Удалить из него три последние строки.
-
Дано число k (< 10) и текстовый файл, содержащий более k строк. Удалить из файла первые1|последние2 k строк.
-
Дано число k (< 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного файла.
-
Дано число k и текстовый файл. Удалить из файла строку с номером k (строки нумеруются от 0). Если строки с таким номером нет, то оставить файл без изменений.
-
Дано число k и текстовый файл. Вставить пустую строку перед1|после2 строки с номером k (строки нумеруются от 0). Если строки с таким номером нет, то оставить файл без изменений.
-
Дан текстовый файл. Удалить из него пустые строки.
-
Дана строка S и текстовый файл. Заменить в файле все пустые строки на строку S.
-
Дан текстовый файл. Заменить в нем все подряд идущие пробелы на один пробел.
-
Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять его по [правому краю]1|центру2, добавив в начало каждой непустой строки необходимое количество пробелов (ширину текста считать равной 50). Строки нечетной длины перед центрированием дополнять слева пробелом.
-
Дан текстовый файл, содержащий текст, выровненный по левому краю. Абзацы текста разделяются одной пустой строкой. Выровнять текст по ширине (то есть и по левому, и по правому краю), увеличив в каждой непустой строке (кроме последних строк абзацев) количество пробелов между словами, начиная с первого1|последнего2 пробела в строке (ширину текста считать равной 50).
-
Дан текстовый файл. Найти количество абзацев в тексте, если абзацы отделяются друг от друга одной или несколькими пустыми строками.
-
Дан текстовый файл. Найти количество абзацев в тексте, если каждый абзац начинается с красной строки (5 пробелов). Пустые строки между абзацами не учитывать.
-
Дан текстовый файл. Абзацы выделяются в нем с помощью красной строки (5 пробелов), а пустых строк нет. Вставить между соседними абзацами по пустой строке.
-
Дан текстовый файл. Создать новый файл, содержащий все знаки препинания, встретившиеся в текстовом файле (в том же порядке).
-
Дан текстовый файл. Вывести первое1|последнее2 слово текста наибольшей длины (с учетом знаков препинания, расположенных в начале и в конце слов).
-
Дано целое число N и текстовый файл. Создать новый файл, содержащий все слова длины N из исходного файла (знаки препинания, расположенные в начале и в конце слов, не учитывать). Если исходный файл не содержит слов длины N, оставить результирующий файл пустым.
-
Дан символ C (прописная русская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся1|оканчивающиеся2 этой буквой (как прописной, так и строчной). Знаки препинания, расположенные в начале и в конце слов, не учитывать. Если исходный файл не содержит подходящих слов, оставить результирующий файл пустым.
-
Дано число N и текстовый файл. Удалить из файла абзац с номером N (абзацы отделяются друг от друга одной или несколькими пустыми строками и нумеруются от 1). Пустые строки, предшествующие и следующие за удаляемым абзацем, не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений.
-
Дано число N и текстовый файл. Удалить из файла абзац с номером N (абзацы выделяются с помощью красной строки (5 пробелов) и нумеруются от 1). Пустые строки между абзацами не учитывать и не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений.
-
Дан текстовый файл, каждая строка которого изображает целое число, дополненное слева и справа несколькими пробелами. Вывести сумму этих чисел и их количество.
-
Дан текстовый файл, каждая строка которого изображает целое или вещественное число, дополненное слева и справа несколькими пробелами (вещественные числа имеют ненулевую дробную часть). Вывести сумму целых1|вещественных2 чисел и их количество.
-
Дан текстовый файл, каждая строка которого содержит изображения нескольких вещественных чисел, разделенных пробелами. Создать файл вещественных чисел, содержащий эти числа в том же порядке.
-
Даны два текстовых файла с именами Name1 и Name2. Добавить в начало1|конец2 каждой строки файла Name1 соответствующую строку файла Name2. Если файл Name2 короче файла Name1, то оставшиеся строки файла Name1 не изменять.
-
Дан текстовый файл NameT и файл целых чисел NameN. Добавить в начало1|конец2 каждой строки файла NameT изображение соответствующего числа из файла NameN. Если файл NameN короче файла NameT, то оставшиеся строки файла NameT не изменять.
-
Дан текстовый файл с именем NameT. В каждой его строке первые 60 позиций отводятся под текст, а оставшаяся часть — под вещественное число. Создать два файла: строковый файл с именем NameS, содержащий текстовую часть исходного файла, и файл вещественных чисел с именем NameR, содержащий числа из исходного файла.
-
Даны два файла целых чисел одного размера с именами Name1 и Name2. Создать текстовый файл с именем NameT, содержащий изображения этих чисел, расположенные в два столбца шириной по 30 символов: первый содержит числа из файла Name1, второй — из файла Name2. В начале и конце каждой строки текстового файла ввести разделитель " | " (код 124). Числа выравниваются по левому1|правому2 краю столбца.
-
Даны вещественные числа A, B и целое число N. Создать текстовый файл, содержащий таблицу значений функции f(x) = [sin(x)]1|[cos(x)]2|[exp(x)]3 на промежутке [A, B] с шагом
(B–A)/N. Таблица состоит из двух столбцов: с аргументами x (10 позиций, из них 3 под дробную часть) и со значениями f(x) (15 позиций, из них 8 под дробную часть). Столбцы выравниваются по правому краю и разделяются 10 пробелами. -
Дан текстовый файл с именем NameT, содержащий таблицу из трех столбцов вещественных чисел. Ширина столбцов таблицы и способ их выравнивания являются произвольными. Специальных символов-разделителей таблица не содержит. Создать файлы вещественных чисел с именами Name1, Name2 и Name3, каждый из которых содержит числа из соответствующего столбца таблицы.
-
Дан текстовый файл, представляющий собой таблицу, состоящую из трех столбцов с целыми числами. В начале и в конце каждой строки таблицы, а также между ее столбцами располагается символ-разделитель. Ширина столбцов таблицы и способ их выравнивания являются произвольными. Создать файл целых чисел, содержащий сумму чисел из каждой строки исходной таблицы.
-
Дан текстовый файл. Создать новый файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без повторений). Символы располагать в порядке [возрастания их кодов]1|[убывания их кодов]2|[их первого появления в тексте]3.
-
Дан текстовый файл с именем NameT. Подсчитать число повторений в нем строчных русских букв ("а"—"я") и создать строковый файл с именем NameS, элементы которого имеют вид: «<буква>—<число повторений данной буквы>». Буквы, отсутствующие в тексте, в файл не включать. Строки упорядочить по [возрастанию кодов букв]1|[убыванию числа повторений букв, а при равном числе повторений — по возрастанию кодов букв]2.
-
Дано целое число N и текстовый файл с именем Name1, содержащий один абзац текста, выровненный по левому краю. Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по левому1|правому2 краю. Пробелы в конце строк удалить. Сохранить отформатированный текст в новом текстовом файле с именем Name2.
-
Дано целое число N и текстовый файл Name1, содержащий текст, выровненный по левому краю. Абзацы текста отделяются друг от друга одной пустой строкой. Отформатировать текст так, чтобы его ширина не превосходила N позиций, и выровнять текст по левому1|правому2 краю, сохранив деление на абзацы. Пробелы в конце строк удалить. Сохранить отформатированный текст в новом текстовом файле Name2.
-
Дана строка K, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на i-й позиции строки, на букву того же регистра, расположенную в алфавите на K[i]-м месте после шифруемой буквы (символы строки K также перебираются циклически: для i = 11 снова используется смещение K[1] и т.д.). Букву ‘ё’ в алфавите не учитывать, знаки препинания и пробелы не изменять.
-
Дана строка S1 и файл с русским текстом, зашифрованным по правилу, описанному в задании 39. Строка S1 представляет собой первую расшифрованную строку текста. Расшифровать остальные строки и заменить в файле зашифрованный текст на расшифрованный. Если информации для расшифровки недостаточно, то исходный файл не изменять.
-
Прочитать текстовый файл. На отдельной форме вывести информацию о количестве слов, состоящих из одного символа, двух символов и т.д.
-
Прочитать текстовый файл. На отдельной форме вывести словарь, используемых слов с указанием частоты их использования.
-
Прочитать текстовый файл. На отдельной форме вывести текст, из которого удалены незначащие пробелы.
-
Прочитать текстовый файл. На отдельной форме вывести этот же текст, но в котором каждое новое предложение написано с новой строки (предложения заканчиваются точкой).
-
Прочитать текстовый файл. Реализовать функцию замены одного слова на другое.
-
Написать программу для кодирования и декодирования текстового файла с помощью слова-пароля.
-
Прочитать текстовый файл. На отдельной форме вывести текст, в котором все слова из латинских символов и цифр выделены другим цветом.
-
Прочитать текстовый файл. На отдельной форме вывести тот же текст, но в котором все числа записаны словами.
-
В текстовом файле записан английский /немецкий текст. Необходимо выделять сплошной фрагмент текста и определять, все ли буквы латинского алфавита в нём задействованы, отметить незадействованные.
-
Прочитать текстовый файл, в котором хранятся статьи уголовного кодекса. Разбить весь текст на отдельные статьи, если известно, что признаком начала статьи является предложение, состоящее из слова <Статья>, за которым следует номер статьи с точкой, написанное в начале строки.
-
Прочитать текстовый файл, в котором хранятся одна статья уголовного кодекса. Разбить эту статью на пункты, если известно, что признаком начала пункта является предложение, состоящее из номера пункта с точкой, написанное в начале строки.
-
Прочитать текстовый файл, в котором хранятся одна статья уголовного кодекса, состоящая из одного единственного пункта. Отделить от этой статьи санкцию, если известно, что она начинается со слов <наказывается> или <наказываются>.
-
Описать функцию getInt(Name, k) целого типа, возвращающую k-й элемент файла целых чисел с именем Name (элементы нумеруются от 0). Если файл не существует или не содержит k-го элемента, то функция возвращает 0. С помощью этой функции вывести пять элементов данного файла с указанными номерами.
-
Описать функцию getLine(Name, k) строкового типа, возвращающую k-ю строку текстового файла с именем Name (строки нумеруются от 0). Если файл не существует или не содержит k-й строки, то функция возвращает пустую строку. С помощью этой функции вывести пять строк данного файла с указанными номерами.
-
Описать функцию IntFileSize(Name) целого типа, возвращающую размер файла целых чисел с именем Name. Если файл не существует, то функция возвращает –1. С помощью этой функции определить размер трех файлов с данными именами.
-
Описать функцию TextSize(Name) целого типа, возвращающую число строк в текстовом файле с именем Name. Если файл не существует, то функция возвращает –1. С помощью этой функции определить размер трех файлов с данными именами.
-
Описать процедуру InvertIntFile(Name), меняющую порядок следования элементов файла целого типа с именем Name на противоположный. Если файл не существует или содержит менее двух элементов, то процедура не выполняет никаких действий. Обработать с помощью этой процедуры три файла с данными именами.
-
Описать процедуру SplitIntFile(Name0, k, Name1, Name2), копирующую первые k (>= 0) элементов существующего файла целых чисел с именем Name0 в файл Name1, а остальные элементы — в файл Name2 (прежнее содержимое результирующих файлов стирается). Один из результирующих файлов может оказаться пустым. Применить эту процедуру к файлу Name0, используя указанные значения Name1, Name2 и k.
-
Описать процедуру SplitText(Name0, k, Name1, Name2), копирующую первые k (>= 0) строк существующего текстового файла с именем Name0 в файл Name1, а остальные элементы — в файл Name2 (прежнее содержимое результирующих файлов стирается). Один из результирующих файлов может оказаться пустым. Применить эту процедуру к файлу Name0, используя указанные значения Name1, Name2 и k.
-
Описать процедуру ConcatFile(NameA, NameB, NameAB), позволяющую объединить содержимое двух двоичных файлов NameA и NameB одного и того же типа в новом файле NameAB. Использовать процедуры BlockRead и BlockWrite. Применить эту процедуру к парам исходных файлов Name1—Name2, Name1—Name3 и Name2—Name3, создав файлы с именами Name12, Name13, Name23.
-
Описать процедуру StringFileToText(Name)1 или TextToStringFile(Name)2, преобразующую [двоичный строковый]1 или текстовый2 файл с именем Name в текстовый1 или [двоичный строковый]2 файл с тем же именем. Используя эту процедуру, преобразовать два данных строковых1|текстовых2 файла с именами Name1 и Name2 в текстовые1|строковые2.
-
Описать процедуру CodeText(Name, k), шифрующую текстовый файл с именем Name, выполняя циклическую замену каждой русской буквы на букву, расположенную в алфавите на k-й позиции после исходной (0 < k < 11). Например, при k = 3 "А" перейдет в "Г", "а" — в "г", "Я" — в "В". Букву "ё" в алфавите не учитывать, прочие символы файла не изменять. Используя эту процедуру и зная k, зашифровать1|расшифровать2 данный файл.
-
Дан текстовый файл, содержащий целые числа. Найти максимальное число в каждой строке файла. Найденные числа записать в новый текстовый файл по одному в строке.
-
Дан текстовый файл, содержащий строки. Создать новый текстовый файл, в каждой строке которого записать два числа: количество запятых и количество точек в соответствующей строке исходного файла.
-
Дан текстовый файл, содержащий целые числа. Найти количество отрицательных чисел в каждой строке файла. Найденные числа записать в новый текстовый файл по одному в строке.
-
Дан текстовый файл, в первой строке которого записаны два числа n и m (m>n), а в следующих строках — прямоугольная таблица целых чисел размером n×m. Заполнить целочисленный массив размером n×m числами из этой таблицы. В каждой строке массива удалить элемент, номер которого равен номеру соответствующей строки. Полученный массив записать в новый текстовый файл.
-
Дан текстовый файл, содержащий целые числа, количество которых кратно 3. Записать в новый текстовый файл все числа исходного файла по три числа в строке.
Типизированные и нетипизированные файлы
-
Дана строка S. Если S является допустимым именем файла, то вывести True и создать файл с этим именем. Если файл с именем S создать нельзя, то вывести False.
-
Даны имена четырех файлов. Вывести количество файлов с указанными именами, которые имеются в текущем каталоге.
-
Дано имя файла целых чисел. Вывести количество его элементов. Если файла с таким именем не существует, то вывести –1.
-
Дано число k и файл, содержащий ненулевые целые числа. Вывести элемент файла с номером k (элементы файла нумеруются от нуля). Если такой элемент отсутствует, то вывести 0.
-
Дан файл целых чисел, содержащий не менее четырех элементов. Вывести его нулевой, первый, предпоследний и последний элементы.
-
Даны имена двух файлов вещественных чисел. Известно, что один из них существует и содержит не менее двух элементов, а другой в текущем каталоге отсутствует. Создать отсутствующий файл и записать в него нулевой и последний элементы существующего файла.
-
Дан файл целых чисел. Вывести количество содержащихся в нем серий (то есть наборов последовательно расположенных одинаковых элементов).
-
Дан файл вещественных чисел. Найти количество его локальных минимумов1|максимумов2|экстремумов3.
-
Дан файл вещественных чисел. Найти количество его участков убывания1|возрастания2|монотонности3.
-
Даны два файла произвольного типа. С помощью процедуры Rename поменять местами их содержимое.
-
Дан файл произвольного типа. С помощью процедур BlockRead и BlockWrite создать его копию с новым именем.
-
Дано целое число N (< 5) и N файлов одного и того же типа с именами Name1, ..., Name5. С помощью процедур BlockRead и BlockWrite объединить содержимое этих файлов (в указанном порядке) в новом файле с именем Name0.
-
Даны два файла одного и того же типа. С помощью процедур BlockRead и BlockWrite добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого.
-
Даны три файла одного и того же типа, но разного размера. С помощью процедур BlockRead и BlockWrite заменить содержимое самого длинного1|короткого2 файла на содержимое самого короткого1|длинного2.
-
Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке.
-
Даны три файла целых чисел одинакового размера с именами NameA, NameB и NameC. Создать новый файл с именем NameD, в котором чередовались бы элементы исходных файлов с одним и тем же номером: A0, B0, C0, A1, B1, C1, A2, B2, C2, ... .
-
Даны четыре файла целых чисел разного размера с именами NameA, NameB, NameC и NameD. Создать новый файл с именем NameE, в котором чередовались бы элементы исходных файлов с одним и тем же номером (как в задании 16). "Лишние" элементы более длинных файлов в результирующий файл не записывать.
-
Дан файл вещественных чисел с именем Name1. Создать два новых файла с именами Name2 и Name3, первый из которых содержит элементы исходного файла с четными номерами (0, 2, 4, ...), а второй — с нечетными (1, 3, 5, ...).
-
Дан файл, содержащий ненулевые целые числа. Создать новый файл, содержащий только положительные1|отрицательные2|четные3|нечетные4 числа исходного файла (в том же порядке).
-
Дан файл целых чисел. Создать новый файл, содержащий длины всех серий исходного файла.
-
Дан файл вещественных чисел. Создать файл целых чисел, содержащий длины всех убывающих1|возрастающих2|монотонных3 последовательностей его элементов.
-
Дан файл вещественных чисел. Заменить в нем все элементы на их квадраты.
-
Дан файл вещественных чисел. Заменить в файле каждый элемент, кроме начального и последнего, на его среднее арифметическое с предыдущим и последующим элементом.
-
Дан файл целых чисел с элементами A(i), i = 0, ..., N–1 (N — размер файла). Заменить исходное расположение его элементов на следующее: A(0), A(N–1), A(1), A(N–2), A(2), ... .
-
Дан файл целых чисел. Если его размер меньше 50, то дополнить его нулями до 50 элементов; если его размер больше 50, то урезать его до 50 элементов.
-
Дан файл целых чисел. Удалить в нем все положительные1|отрицательные2|четные3|нечетные4 числа.
-
Дан файл целых чисел. Продублировать в нем все числа, принадлежащие диапазону 5..10.
-
Дан файл, содержащий ненулевые целые числа. Заменить в нем все положительные1|отрицательные2|четные3|нечетные4 числа двумя нулями.
-
Дан файл вещественных чисел. Поменять в нем местами минимальный и максимальный элементы.
-
Даны два файла вещественных чисел с именами Name1 и Name2, элементы которых упорядочены по возрастанию1|убыванию2. Объединить эти файлы в новый файл с именем Name3, сохранив упорядоченность элементов.
-
Даны два целых числа i и j и файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Вывести элемент матрицы, расположенный в i-й строке и j-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент отсутствует, то вывести 0.
-
Даны два целых числа i и j и файл вещественных чисел, содержащий элементы прямоугольной матрицы (по строкам), причем начальный элемент файла содержит количество столбцов матрицы. Вывести элемент матрицы, расположенный в i-й строке и j-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент отсутствует, то вывести 0.
-
Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать файл, содержащий элементы матрицы, транспонированной к исходной.
-
Дан файл вещественных чисел, содержащий элементы прямоугольной матрицы (по строкам), причем начальный элемент файла содержит количество столбцов матрицы. Создать новый файл той же структуры, содержащий матрицу, транспонированную к исходной.
-
Даны два файла вещественных чисел с именами NameA и NameB, содержащие элементы квадратных матриц A и B (по строкам). Создать новый файл с именем NameC, содержащий элементы произведения A·B. Если матрицы A и B нельзя перемножать, то оставить файл NameC пустым.
-
Даны два файла вещественных чисел с именами NameA и NameB, содержащие элементы прямоугольных матриц A и B (по строкам), причем начальный элемент каждого файла содержит количество столбцов соответствующей матрицы. Создать файл той же структуры с именем NameC, содержащий произведение A·B. Если матрицы A и B нельзя перемножать, то оставить файл NameC пустым.
-
Дан файл вещественных чисел, содержащий элементы [верхней треугольной]1|[нижней треугольной]2|трехдиагональной3 матрицы (по строкам). Создать новый файл, содержащий элементы ненулевой части данной матрицы (по строкам).
-
Даны два целых числа i и j и файл вещественных чисел, содержащий ненулевую часть [верхней треугольной]1|[нижней треугольной]2|трехдиагональной3 матрицы (по строкам). Вывести порядок матрицы и ее элемент, расположенный в i-й строке и j-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент находится в нулевой части матрицы, то вывести 0; если элемент отсутствует, то вывести –1.
-
Дан файл вещественных чисел, содержащий ненулевую часть [верхней треугольной]1|[нижней треугольной]2|трехдиагональной3 матрицы (по строкам). Создать новый файл, содержащий все элементы данной матрицы (по строкам).
-
Даны два файла вещественных чисел с именами NameA и NameB, содержащие ненулевые части [верхних треугольных]1|[нижних треугольных]2 матриц A и B (по строкам). Создать новый файл с именем NameC, содержащий ненулевую часть произведения A·B исходных матриц (по строкам). Если матрицы A и B нельзя перемножать, то оставить файл NameC пустым.
-
Дано целое число N (< 5) и N файлов целых чисел разного размера с именами Name1,..., Name. Объединить их содержимое в новом файле целых чисел с именем Name0, используя следующий формат: в начальном элементе файла Name0 хранится число N, в следующих N элементах хранятся размеры исходных файлов, а затем последовательно размещаются данные из каждого исходного файла.
-
Дан файл целых чисел, содержащий данные из нескольких (не более четырех) файлов в формате, описанном в задании 41. Восстановить файлы, использованные при создании исходного файла, присвоив им имена вида «<n>.tst», где <n> — порядковый номер файла (n = 1, 2, ...).
-
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные после первого1|последнего2 символа пробела, включая и сам этот пробел.
-
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные перед первым1|последним2 символом пробела, включая и сам этот пробел.
-
Дан символьный файл. Упорядочить его элементы по возрастанию1|убыванию2 их кодов.
-
Дано число k и строковый файл с именем Name1, содержащий непустые строки. Создать два новых файла: строковый с именем Name2, содержащий первые1|последние2 k символов каждой строки исходного файла (если строка короче k символов, то она сохраняется целиком), и символьный с именем Name3, содержащий k-й символ каждой строки (если строка короче k, то в файл Name3 записывается пробел).
-
Дан строковый файл, содержащий непустые строки. Создать новый файл, содержащий все строки исходного файла наименьшей1|наибольшей2 длины (в том же порядке).
-
Дан строковый файл с именем NameS, содержащий даты в формате "день/месяц/год", причем под день и месяц отводится по две позиции, а под год — четыре. Создать файлы целых чисел с именами Name1 и Name2, содержащие соответственно значения [дней и месяцев]1|[дней и лет]2|[месяцев и лет]3 для дат из исходного строкового файла (в том же порядке).
-
Дан строковый файл, содержащий даты в формате "день/месяц/год", причем под день и месяц отводится по две позиции, а под год — четыре. Вывести строку, содержащую самую раннюю1|позднюю2 весеннюю3|летнюю4|осеннюю5|зимнюю6 дату. Если даты с требуемым временем года в файле отсутствуют, то вывести дату "01/01/1900".
-
Дан строковый файл, содержащий даты в формате "день/месяц/год", причем под день и месяц отводится по две позиции, а под год — четыре. Создать новый строковый файл, в котором даты из исходного файла располагались бы в порядке возрастания1|убывания2.