Вопросы и задания
1. Сформулируйте правила организации ввода данных из текстового файла.
Правила организации ввода данных из текстового файла:
Открыть текстовый файл для чтения. Проверить, успешно ли открыт файл, иначе выйти с ошибкой. Прочитать данные из файла, используя соответствующие операторы или функции в зависимости от языка программирования. Обрабатывать данные, как необходимо, например, конвертировать строки в числа или выполнить другие преобразования. Закрыть файл после завершения чтения.
2. Сформулируйте правила организации вывода данных в текстовый файл.
Правила организации вывода данных в текстовый файл:
Открыть текстовый файл для записи. Проверить, успешно ли открыт файл, иначе выйти с ошибкой. Записывать данные в файл, используя соответствующие операторы или функции в зависимости от языка программирования. Закрыть файл после завершения записи.
3. Напишите программу, по которой из текстового файла с именем kvur.txt будут прочитаны три числа а, b, с — коэффициенты квадратного уравнения, затем будут вычислены корни этого уравнения и выведены на экран и в текстовый файл korni.txt.
program QuadraticEquation;
var a, b, c, D, x1, x2: real; inputFile, outputFile: text;
begin assign(inputFile, 'kvur.txt'); reset(inputFile);
assign(outputFile, 'korni.txt'); rewrite(outputFile);
readln(inputFile, a, b, c);
D := b * b - 4 * a * c;
if D > 0 then begin x1 := (-b + sqrt(D)) / (2 * a); x2 := (-b - sqrt(D)) / (2 * a); writeln('Корни уравнения: ', x1:0:2, ' и ', x2:0:2); writeln(outputFile, 'Корни уравнения: ', x1:0:2, ' и ', x2:0:2); end else if D = 0 then begin x1 := -b / (2 * a); writeln('Уравнение имеет один корень: ', x1:0:2); writeln(outputFile, 'Уравнение имеет один корень: ', x1:0:2); end else begin writeln('Уравнение не имеет действительных корней.'); writeln(outputFile, 'Уравнение не имеет действительных корней.'); end;
close(inputFile); close(outputFile); end.
4. Введите из текстового файла целочисленную матрицу размером 6x8. Переверните матрицу, поменяв 1-ю строку с 6-й строкой, 2-ю строку с 5-й, 3-ю строку с 4-й и запишите полученную матрицу в другой файл.
program MatrixTranspose;
var inputMatrixFile, outputMatrixFile: text; matrix: array [1..6, 1..8] of integer; i, j: integer;
begin assign(inputMatrixFile, 'inputMatrix.txt'); reset(inputMatrixFile);
assign(outputMatrixFile, 'outputMatrix.txt'); rewrite(outputMatrixFile);
for i := 1 to 6 do for j := 1 to 8 do read(inputMatrixFile, matrix[i, j]);
for i := 1 to 3 do begin for j := 1 to 8 do begin write(outputMatrixFile, matrix[7 - i, j], ' '); write(matrix[7 - i, j], ' '); end; writeln(outputMatrixFile); writeln; end;
close(inputMatrixFile); close(outputMatrixFile); end.
5. Введите с клавиатуры одномерный числовой массив из 9 элементов. Сверните его в матрицу размером 3x3, разместив первую тройку элементов в 1-й строке матрицы, 2-ю тройку — во второй строке, 3-ю тройку — в третьей строке. Полученную матрицу выведите на экран и в текстовый файл.
program ConvertToMatrix;
var inputArray: array [1..9] of integer; matrix: array [1..3, 1..3] of integer; i, j: integer;
begin writeln('Введите 9 элементов одномерного массива:'); for i := 1 to 9 do begin write('Элемент ', i, ': '); readln(inputArray[i]); end;
writeln('Матрица:'); for i := 1 to 3 do begin for j := 1 to 3 do begin matrix[i, j] := inputArray[(i - 1) * 3 + j]; write(matrix[i, j], ' '); end; writeln; end;
writeln('Запись матрицы в файл...'); // Запись в файл можно выполнить аналогично предыдущему примеру.
readln; end.
6. Введите с клавиатуры построчно в двумерный массив числовую матрицу размером 4x4. Разверните ее по столбцам в одномерный массив. Запишите массив в текстовый файл.
program MatrixToTextFile;
var matrix: array [1..4, 1..4] of integer; i, j: integer; outputFile: text;
begin writeln('Введите матрицу 4x4:'); for i := 1 to 4 do for j := 1 to 4 do read(matrix[i, j]);
assign(outputFile, 'outputMatrix.txt'); rewrite(outputFile);
writeln(outputFile, 'Матрица:'); for i := 1 to 4 do begin for j := 1 to 4 do write(outputFile, matrix[i, j]:4, ' '); writeln(outputFile); end;
close(outputFile); writeln('Матрица записана в файл outputMatrix.txt.');