ГДЗ Информатика 10 класс Семакин §25 Организация ввода и вывода данных с использованием фа

Вопросы и задания

1. Сформулируйте правила организации ввода данных из текстового файла.

Для организации ввода данных из текстового файла следует:  • объявить в программе переменную с типом Text (она называется файловой переменной); • связать файловую переменную с файлом внешней памяти, содержащим исходные данные, с помощью оператора Assign; • открыть файл для чтения с помощью процедуры Reset; • осуществить чтение из файла с помощью операторов Read или ReadLn; • закрыть файл с помощью оператора Close.

2. Сформулируйте правила организации вывода данных в текстовый файл.

Запись результатов выполнения программы в текстовый файл позволяет сохранить их для того, чтобы в дальнейшем можно было их просмотреть с помощью текстового редактора, распечатать на принтере, а также использовать в качестве исходных данных для другой программы.  Для организации вывода данных в текстовый файл следует:  • объявить в программе файловую переменную с типом Text; • связать файловую переменную с файлом внешней памяти с помощью оператора Assign; • открыть файл для записи с помощью процедуры Rewrite; • осуществить запись в файл с помощью операторов Write или WriteLn; • закрыть файл с помощью оператора Close.

3. Напишите программу, по которой из текстового файла с именем kvur.txt будут прочитаны три числа а, b, с — коэффициенты квадратного уравнения, затем будут вычислены корни этого уравнения и выведены на экран и в текстовый файл korni.txt.

Var    f:text;    a,b,c,D:real;

Begin Assign(f,'kvur.txt');

Reset(f); ReadLn(f,a,b,c);

Close(f); Assign(f,'korni.txt');

Rewrite(f); D:=b*b-4*a*c;

c:=(-b-Sqrt(D))/(2*a); a:=(-b+Sqrt(D))/(2*a);

if D >= 0 then    Begin    WriteLn(c,' ',a);    

WriteLn(f,c,' ',a)   

 End

else   

 Begin   

 WriteLn('Действительных корней нет.');    

WriteLn(f,'Действительных корней нет.')    

End;

Close(f);

ReadLn;

End.

4. Введите из текстового файла целочисленную матрицу размером 6x8. Переверните матрицу, поменяв 1-ю строку с 6-й строкой, 2-ю строку с 5-й, 3-ю строку с 4-й и запишите полученную матрицу в другой файл.

const

  n = 6;

  m = 8; 

type mas = array[1..n,1..m] of integer;

var

  a : mas;

  i, j : integer;

  f, g : text;

 

procedure change(var z : mas);

var i, j, k, t : integer;

begin

  k := n div 2;

  for i := 1 to k do

    for j := 1 to m do

    begin

      t := a[n-i+1, j];

      a[n-i+1, j] := a[i,j];

      a[i,j] := t     

    end;

end;

 

begin

  assign(f, 'mtrx.txt');

  assign(g, 'mtrx1.txt');

  reset(f);

  writeln('матрица:');

  for i := 1 to n do

  begin

    for j := 1 to m do

    begin

      read(f, a[i,j]);

      write(a[i,j]:4)

    end;

    writeln

  end;

  close(f);

  rewrite(g);

  change(a);

  writeln('новая матрица:');

  for i := 1 to n do

  begin

    for j := 1 to m do

    begin

      write(a[i,j]:4);

      write(g, a[i,j]:4)

    end;

    writeln;

    writeln(g)

  end;

  close(g);

  writeln('копия новой матрицы сохранена а файл!');

  readln   

end.

5. Введите с клавиатуры одномерный числовой массив из 9 элементов. Сверните его в матрицу размером 3x3, разместив первую тройку элементов в 1-й строке матрицы, 2-ю тройку — во второй строке, 3-ю тройку — в третьей строке. Полученную матрицу выведите на экран и в текстовый файл.

Uses crt;

Var A:array[1..3,1..3] of integer; B:array[1..9] of integer;

i,j,k:integer;

Begin

ClrScr; j:=1; k:=1;

For i:=1 to 9 do Readln(B[i]);

For i:=1 to 9 do

 Begin

  A[j,k]:=B[i]; inc(k);

  If k=4 then

   Begin

    inc(j); k:=1;

   End;

 End;

For i:=1 to 3 do

 Begin

  For j:=1 to 3 do Write(A[i,j]:4);

  Writeln;

 End;

Readln;

End.

6. Введите с клавиатуры построчно в двумерный массив числовую матрицу размером 4x4. Разверните ее по столбцам в одномерный массив. Запишите массив в текстовый файл.

program test;

var

a:array[1..4,1..4] of integer;

i,j,x,n:integer;

f:text;

begin

assign(f,'file.txt');

rewrite(f); {Создаем файл для записи}

writeln('Размерность матрицы:');

read(n);

for i:=1 to n do

begin

for j:=1 to n do

begin

 

readln(a[i,j]);{Вручную заполняем матрицу}

end;

end;

 

writeln('Исходная матрица:');

for i:=1 to n do

begin

for j:=1 to n do

begin

 

write(a[i,j]:3);{Выводим двумерную матрицу}

end;

writeln;

end;

writeln;

writeln('Развёрнутая матрица по столбцам:');

for j:=1 to n do

begin                записываем ее в файл}

for i:=1 to n do

begin

write(a[i,j]:3);

write(f,a[i,j]:3);

end;

 

end;

writeln;

writeln('Записываем матрицу в файл file.txt!');

 

close(f);

end.

 

Сообщить о неточной информации
Проверочный код, год рождения Д.И.Менделеева:
В каком задании/вопросе ошибка:
Как должно быть: