§25 ГДЗ Семакин 10 класс (Информатика)
2. Сформулируйте правила организации вывода данных в текстовый файл.
3. Напишите программу, по которой из текстового файла с именем kvur.txt будут прочитаны три числа а, b, с — коэффициенты квадратного уравнения, затем будут вычислены корни этого уравнения и выведены на экран и в текстовый файл korni.txt.4. Введите из текстового файла целочисленную матрицу размером 6×8. Переверните матрицу, поменяв 1-ю строку с 6-й строкой, 2-ю строку с 5-й, 3-ю строку с 4-й и запишите полученную матрицу в другой файл.
5. Введите с клавиатуры одномерный числовой массив из 9 элементов. Сверните его в матрицу размером 3×3, разместив первую тройку элементов в 1-й строке матрицы, 2-ю тройку — во второй строке, 3-ю тройку — в третьей строке. Полученную матрицу выведите на экран и в текстовый файл.
6. Введите с клавиатуры построчно в двумерный массив числовую матрицу размером 4×4. Разверните ее по столбцам в одномерный массив. Запишите массив в текстовый файл.
1. При вводе данных из текстового файла в Pascal нужно:
- объявить файловую переменную типа Text;
- связать её с файлом с помощью Assign;
- открыть файл для чтения процедурой Reset;
- считывать данные операторами Read или ReadLn;
- закрыть файл процедурой Close.
2. При выводе данных в текстовый файл нужно:
- объявить файловую переменную типа Text;
- связать её с файлом с помощью Assign;
- открыть файл для записи процедурой Rewrite;
- записывать данные операторами Write или WriteLn;
- закрыть файл процедурой Close.
3. Программа для чтения коэффициентов квадратного уравнения из файла kvur.txt, вычисления корней и вывода результата на экран и в файл korni.txt:
program Test;
var
f, g: text;
a, b, c, D: real;
begin
Assign(f, ‘kvur.txt’);
Reset(f);
ReadLn(f, a, b, c);
Close(f);Assign(g, ‘korni.txt’);
Rewrite(g);D := b*b — 4*a*c;
if D >= 0 then
begin
WriteLn(‘Действительные корни:’);
WriteLn(((-b + Sqrt(D)) / (2*a)):0:2);
WriteLn(((-b — Sqrt(D)) / (2*a)):0:2);WriteLn(g, ‘Действительные корни:’);
WriteLn(g, ((-b + Sqrt(D)) / (2*a)):0:2);
WriteLn(g, ((-b — Sqrt(D)) / (2*a)):0:2);
end
else
begin
WriteLn(‘Действительных корней нет.’);
WriteLn(g, ‘Действительных корней нет.’);
end;Close(g);
end.
4. Для переворота матрицы $$6 \times 8$$ меняем местами строки: 1-ю с 6-й, 2-ю с 5-й, 3-ю с 4-й. Удобно сделать это процедурой обмена строк.
program Test;
const
n = 6;
m = 8;
type
mas = array[1..n, 1..m] of integer;
var
a: mas;
i, j, t: integer;
f, g: text;procedure Change(var z: mas);
var
i, j, k: integer;
begin
k := n div 2;
for i := 1 to k do
for j := 1 to m do
begin
t := z[n — i + 1, j];
z[n — i + 1, j] := z[i, j];
z[i, j] := t;
end;
end;begin
Assign(f, ‘mtrx.txt’);
Assign(g, ‘mtrx1.txt’);
Reset(f);
for i := 1 to n do
for j := 1 to m do
Read(f, a[i, j]);
Close(f);Rewrite(g);
Change(a);
for i := 1 to n do
begin
for j := 1 to m do
Write(g, a[i, j]:4);
WriteLn(g);
end;
Close(g);
end.
5. Одномерный массив из 9 элементов сворачиваем в матрицу $$3 \times 3$$ по строкам: первые 3 элемента — первая строка, следующие 3 — вторая, последние 3 — третья.
program Test;
var
a: array[1..9] of integer;
b: array[1..3, 1..3] of integer;
i, j, k: integer;
begin
for i := 1 to 9 do
Read(a[i]);k := 1;
for i := 1 to 3 do
for j := 1 to 3 do
begin
b[i, j] := a[k];
Inc(k);
end;for i := 1 to 3 do
begin
for j := 1 to 3 do
Write(b[i, j]:4);
WriteLn;
end;
end.
6. При разворачивании матрицы $$4 \times 4$$ по столбцам в одномерный массив элементы берутся последовательно по столбцам: сначала весь 1-й столбец, затем 2-й, 3-й и 4-й.
program Test;
var
a: array[1..4, 1..4] of integer;
b: array[1..16] of integer;
i, j, k: integer;
f: text;
begin
Assign(f, ‘file.txt’);
Rewrite(f);for i := 1 to 4 do
for j := 1 to 4 do
Read(a[i, j]);k := 1;
for j := 1 to 4 do
for i := 1 to 4 do
begin
b[k] := a[i, j];
Inc(k);
end;for k := 1 to 16 do
Write(f, b[k]:3);Close(f);
end.