Главная страница

Лабораторная работа Программирование последовательных вычислений Какие разделы включает программа на языке Pascal Как они обозначаются


Скачать 185 Kb.
НазваниеЛабораторная работа Программирование последовательных вычислений Какие разделы включает программа на языке Pascal Как они обозначаются
АнкорInf_Lab_otch_KhTF_2.doc
Дата29.03.2018
Размер185 Kb.
Формат файлаdoc
Имя файлаInf_Lab_otch_KhTF_2.doc
ТипЛабораторная работа
#17340

Лабораторная работа № 1. Программирование последовательных вычислений


Какие разделы включает программа на языке Pascal? Как они обозначаются?

Программа на языке Pascal включает: заголовок программы (Program), раздел описания используемых модулей (Uses), раздел описания меток (Label), раздел описания констант (Const), раздел описания типов данных (Type), раздел описания переменных (Var), раздел описания процедур (Procedure), раздел описания функций (Function), раздел операторов (Begin…End.).

  1. Какие типы данных в языке Pascal являются стандартными? Как они обозначаются?

К стандартным типам данных в языке Pascal относятся: целочисленный тип integer (целые числа), вещественный тип real (действительные числа), логический тип boolean (логические выражения), символьный тип char (отдельные символы), строковый тип string (строки символов).

  1. Какие операторы используются в языке Pascal? Какой вид они имеют и что означают?

В языке Pascal используются следующие операторы (управляющие инструкции): составной оператор begin…end (началоконец), оператор присваивания …:=… (…присвоить…), операторы ввода read(…) (считывать) и readln(…) (считывать до новой строки), операторы вывода write(…) (записывать) и writeln(…) (записывать до новой строки), оператор безусловного перехода goto… (перейти к…), оператор условного перехода (условный оператор) if…then…else… (еслитоиначе…), оператор варианта (выбора) case…of…else…end (в случаеизиначеконец), оператор цикла с предусловием while…do… (покаделать…), оператор цикла с постусловием repeat…until… (повторятьпока…), операторы цикла с параметром for…:=…to…do… (дляотдоделать…) и for…:=…downto…do… (дляотвниз доделать…), оператор присоединения with…do… (сделать…).

  1. Какие операции имеются в языке Pascal? Какой приоритет они имеют? Приведите примеры.

В языке программирования Pascal используются следующие операции: арифметические операции + (сложение);
- (вычитание); (умножение); /(деление); div(целочисленное деление); mod(остаток от деления); операции сравнения =(равно); <>(не равно); >(больше); <(меньше); >=(больше или равно); <=(меньше или равно); логические операции and(логическое «и»); or(логическое «или»); not(логическое «не»).

  1. Какой синтаксис имеют стандартные математические функции и константа ? Приведите примеры.

В языке Pascal используются следующие математические функции и выражения:

Математическая запись

Запись на Паскале

Математическая запись

Запись на Паскале



sin(x)



ln(b)/ln(a)



cos(x)



ln(x)/ln(10)



arctan(x)



sin(x)/cos(x)



abs(x)



cos(x)/sin(x)



ln(x)



sin(sqr(x))



exp(x)



sqr(sin(x))



sqr(x)

Константа

pi



sqrt(x)









exp(bln(a))









exp(1/bln(a))










  1. Как зайти в BorlandPascal и выйти оттуда? Как создать новый файл и закрыть окно?

Пуск  ►(Мой) Компьютер,  Apps (G:),  BP,  BIN,  BP

  1. Как проверить программу на ошибки и запустить её на выполнение? Как просмотреть ответ и сохранить программу?

Проверить программу на ошибки (т.е. сделать компиляцию программы).

Compile ►Compile (Компиляция ►Компилировать) (или [Alt]+[F9]), 

Запустить программу на выполнение

Run ►Run (Выполнение ►Выполнить) (или [Ctrl]+[F9]),

Просмотреть результат, показать преподавателю и записать полученный ответ

Debug ►User Screen (Отладка ►Экран пользователя) (или [Alt]+[F5]), записать информацию, .


  1. Напишите программу к одной из задач дополнительного задания.

Program L1;

Var

X,y,z,alpha:real;

Begin

Read(x);

Alpha:=cos(8/9);

Y:=exp((abs(x)+ln(20)/ln(10))*ln(5))-exp(pi)/(4*exp(1)+abs(exp(ln(alpha) /3)));

Z:=exp(sqr(y)*ln(x))*sqrt(abs(alpha-3.5))+(1-2*sin(sqr(x)))/(3.14+sqr(arctan(y)));

Writeln(Z);

End.

Лабораторная работа № 2. Программирование разветвлений

  1. Что такое алгоритм линейной структуры? Перечислите операторы, реализующие этот алгоритм.

Алгоритм линейной структуры – алгоритм, в котором все действия выполняются последовательно.

Составной оператор, оператор присваивания, операторы ввода, операторы вывода.

  1. Что такое алгоритм разветвляющейся структуры? Перечислите операторы, реализующие этот алгоритм.

Алгоритм разветвляющейся структуры – алгоритм, в котором происходит переход к одной из нескольких ветвей алгоритма или к далеко расположенной части алгоритма.


  1. Какой вид имеют составной оператор и оператор присваивания, а также что они означают?

Составной оператор имеет вид:

begin

Op1;



OpN

end
Оператор присваивания имеет вид:

P:=V


  1. Какой вид имеют операторы ввода и вывода, а также что они означают?

Операторы вывода имеют вид:

write (V1 , … , VN)

writeln (V1 , … , VN)


  1. Какой вид имеет оператор безусловного и условного перехода, а также что они означают?

Оператор безусловного перехода имеет вид:

Goto M


  1. Какой вид имеет оператор варианта и что он означает?

Оператор варианта (или оператор выбора) имеет вид:

case S of

Z1 : Op1;



ZN : OpN

else Op0

end

где case – в случае, of – из, else – иначе, end – конец, S – селектор, Z1 – значение 1-е, ZN – значение N-е, Op1 – оператор 1-й, OpN – оператор N-й, Op0 – оператор 0-й.


  1. Что такое метка, условие и селектор? К каким типам данных относятся эти понятия?

Метка – обозначение строки в программе, отделяемое от программного кода двоеточием.

Селектор – выражение порядкового типа, которое может принимать одно из многих значений.



  1. Напишите, что означает каждая строка в вышеприведённых программах.

Program Lab2a; {Заголовок программы}

Program Lab2b; {Заголовок программы}

Var {раздел описания переменных}

Var a,c:integer; {описание переменных}

a,b,c:real; {описание переменных}

Begin

Begin

read(a); {ввод переменной}

writeln('Введи a,b');

{вывод запроса на ввод}

case a of {оператор варианта}

read(a,b); {ввод переменных}

0: c:=2;

if a>b {условный оператор}

1..10: c:=3;

then c:=(a-b)/(a*b)

-1,11: c:=4

else c:=exp(b*ln(a));

else c:=5

writeln('c=',c:10:3);

{вывод результатов}

end;

End.

writeln(c);{вывод результата}




End.




  1. Напишите программу к одной из задач дополнительного задания.

Вычислить

Program L2;

Var

L,x,b,a:real;

Begin

Read(b,x,a);

If b>2 then y:=sin(0.57)/cos(0.57)*ln(b-2)/ln(10)

Else y:=sqr(sin(x))+abs(exp(a));

Writeln(y)

End.

Лабораторная работа № 3. Программирование циклов

  1. Что такое алгоритм циклической структуры? Перечислите операторы, реализующие этот алгоритм.

Алгоритм циклической структуры – алгоритм, в котором производится многократное повторение однотипных действий.


  1. Что такое цикл? Перечислите составляющие и разновидности циклов.

Цикл – многократно повторяющийся участок алгоритма. Цикл включает заголовок цикла, тело цикла и конец цикла.

Циклы делятся на:

1.  Цикл с предусловием (условие выхода из цикла проверяется в начале перед действиями в теле цикла).

2.  Цикл с постусловием (условие выхода из цикла проверяется в конце после действий в теле цикла).

3.  Цикл с параметром (цикл выполняется фиксированное количество раз, определяемое параметром цикла).


  1. Какой вид имеет оператор цикла с предусловием и что он означает?

.  Оператор цикла с предусловием имеет вид:

while U do Op

где while – пока, do – делать, U – условие, Op – оператор.

Оператор означает, что пока условие U истинное, повторять оператор Op в цикле; как только условие станет ложным, выйти из цикла.


  1. Какой вид имеет оператор цикла с постусловием и что он означает?

Оператор цикла с постусловием имеет вид:

repeat

Op1;



OpN

until U

где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.

Оператор означает, что повторять операторы Op1 и т.д., … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.


  1. Какой вид имеет оператор цикла с параметром (при увеличении параметра) и что он означает?

.  Оператор цикла с параметром (при увеличении параметра) имеет вид:

for Par := Nz to Kz do Op

где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.

Оператор означает, что для параметра Par , увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.


  1. Какой вид имеет оператор цикла с параметром (при уменьшении параметра) и что он означает?

Оператор цикла с параметром (при уменьшении параметра) имеет вид:

for Par := Nz downto Kz do Op

где for – для, downto – вниз до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.

Оператор означает, что для параметра Par , уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.


  1. Что такое параметр цикла? Может ли он быть целым числом, дробным числом?

Параметр цикла (или счётчик циклов) – переменная порядкового типа, которая изменяется в цикле от начального до конечного значения с каким-либо шагом.


  1. Напишите, что означает каждая строка в вышеприведённых программах.

Program Lab3a; {заголовок программы}

Program Lab3b;

Var {раздел описания переменных}

Var

x,y,xn,xk,dx:real;{описание переменных}

x,y:real;

Begin

Begin

writeln('Введи xn,xk,dx');{вывод запроса на ввод данных}

x:=0;

read(xn,xk,dx);{ввод данных}

Repeat {начало цикла с постусловием}

x:=xn; {запись начального значения}

y:=sin(x)/cos(x); {находим значение функции}

while x<=xk do {начало цикла с предусловием}

writeln(x,y); {выводим результат}

Begin

x:=x+1; увеличиваем значение аргумента

y:=exp(x);{авычисляем значение функции}

until x>10; конец цикла с постусловием

writeln('при x=',x:10:3,' y=',y:10:3); {выводим результат на экран}

End.

x:=x+dx; {находим новое значениеие аргумента}




end;




End.







  1. Напишите программу к одной из задач дополнительного задания.

Вычислить , где с увеличивается от сн до ск с шагом с.

Program Lab3;

Var

С,a,b,R,W,R,сn,сk,dС:real;

Begin

writeln('Введи сn,сk,dс');

read(сn,Сk,dс);

С:=сn;

while c<=ck do

begin

W:=abs(a*b*c)/(exp(3*ln(R))-exp(1))+sqr(pi);

writeln('при C=',C:10:3,' W=',W:10:3);

C:=C+dc;

end;

End.

Лабораторная работа № 4. Программирование задач с одномерными массивами

  1. Объясните понятие массива, его элемента, индекса, размерности? Перечислите виды массивов.

Массив – упорядоченный набор нумерованных величин одинакового типа. Массивы бывают одномерные (вектор-строка, вектор-столбец), двумерные (матрица) и многомерные (тензор).


  1. Как обозначаются и описываются массивы и их элементы? Приведите примеры.

Описание одномерного массива в разделе описания переменных (Var) на языке Pascal имеет вид:

Mas : array [ IMin .. IMax ] of T

где array – массив, of – из, Mas – имя массива, IMinминимальное значение индекса, IMax – максимальное значение индекса, T – тип элементов.


  1. Чем отличается вычисление суммы всех элементов от вычисления суммы части элементов?

Наличием условного оператора

  1. Чем отличается вычисление суммы части элементов от вычисления количества части элементов?

При нахождении суммы добавляются сами элементы а при нахождении количества - 1

  1. Чем отличается вычисление суммы элементов от вычисления произведения элементов?

Математической операцией и начальным значением ячейки (сумма – 0/произведение – 1)

  1. Чем отличается вычисление суммы элементов от вычисления среднего значения элементов?

При нахождении среднего значения сумму в итоге делят на количество элементов

  1. Чем отличается вычисление максимального элемента от вычисления минимального элемента?

Начальным приближением и знаком

  1. Чем отличается ввод элементов от их вывода?

Оператором ввода или вывода

  1. Чем отличается увеличение элементов на какую-либо величину от замены элементов на эту величину?

При увеличении элементов новое значение элемента равно предыдущему плюс число, а при замене – только этому числу

  1. Чем отличается увеличение элементов на какую-либо величину от аналогичного вычисления нового массива?

При увеличении результат присваивается исходной ячейке а при создании нового массива – ячейке этого массива.

  1. Чем отличается вычисление максимального элемента от вычисления его индекса?

Фиксированием его индекса

  1. Почему для перестановки элементов используется три оператора?

Потому что необходимо место для временного хранения содержимого ячейки

  1. Напишите, что означает каждая строка в вышеприведённой программе.

Program Lab4;

Var

A:array[1..100] of real; описание массива

i,n:integer;

s:real;

Begin

writeln('Введи n');

read(n);ввод количества элементов массива

s:=0; обнуленеие ячейки

writeln('Введи массив A');

for i:=1 to n do цикл поиска суммы элементов

begin

read(A[i]);ввод элемента массива

s:=s+A[i];суммирование

end;

writeln('s=',s:10:3);вывод результата

End.




  1. Напишите программу к одной из задач дополнительного задания.

Дан массив A(n). Найти сумму и количество элементов, равных среднему значению.


Program Lab4;

Var

A:array[1..100] of real;

i,n,k:integer;

s,C:real;

Begin

writeln('Введи n');

read(n);

s:=0;

writeln('Введи массив A');

for i:=1 to n do

begin

read(A[i]);

s:=s+A[i];

end;

s:=s/n;

c:=0;

k:=0;

for i:=1 to n do

if A[i]=S then

begin

C:=C+A[i];

K:=K+1;

end;
writeln('C=',C:10:3, 'K=',K:10:3);

End.

Лабораторная работа № 5. Программирование задач с двумерными массивами

  1. Объясните понятие двумерного массива, его элемента, индекса? Как обозначаются двумерные массивы?

Двумерный массив (матрица) – одномерный массив, элементы которого также являются одномерными массивами.

  1. Как описываются двумерные массивы и обозначаются их элементы? Приведите примеры.

Описание двумерного массива в разделе описания переменных (var) на языке Pascal имеет вид:

Mas : array [ IMin .. IMax , JMin .. JMax ] of T

  1. Какие особенности у элементов на главной и побочной диагонали в квадратных матрицах?

I=j – главная, i+j - побочная

  1. Чем отличается вычисление характеристик двумерного массива от таких же характеристик одномерного массива?

Наличием двойного цикла

  1. Чем отличаются операции с двумерными массивами от таких же операций с одномерными массивами?

Наличием двойного цикла

  1. Чем отличается вычисление характеристик массива по строкам от аналогичного вычисления по столбцам?

Параметрами массива

  1. Напишите, что означает каждая строка в вышеприведённой программе.

Program lab5;

Var

A: array [1..10,1..15] of real;описание массива

i, j, m, n: integer; s, p, min, max: real;

Begin

writeln('Введи m,n'); read(m,n);ввод размерности массива

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]); ввод элементов двумерного массива

s:=0; p:=1; min:=A[1,1]; max:=A[1,1];задание начальных значений

for i:=1 to m do for j:=1 to n do

begin

s:=s+A[i,j]; p:=p*A[i,j];поиск суммы и произведения элементов

if A[i,j]
if A[i,j]>max then max:=A[i,j]; поиск максимального элемента

end;

writeln('s=',s:10:3,' p=',p:10:3,

' min=',min:10:3,' max=',max:10:3);вывод результата

End.



  1. Напишите программу к одной из задач дополнительного задания.

Дан массив B(m, n). Найти сумму положительных элементов и количество элементов в диапазоне от 10 до 20.

Program lab5;

Var

A: array [1..10,1..15] of real;

i, j, m, n,k: integer; s: real;

Begin

writeln('Введи m,n'); read(m,n);

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

s:=0; k:=1

for i:=1 to m do

for j:=1 to n do

begin

if A[i,j]>0 then s:=s+A[i,j

if (A[i,j]>10) and (A[i,j]<20) then k:=k+1;

end;

writeln('s=',s:10:3,' k=',k:10:3);

End.

Лабораторная работа № 6. Программирование процедур и функций

  1. Что такое подпрограмма? Перечислите виды подпрограмм.

Подпрограмма – именованный блок операторов, отдельно выделенный в составе программы и не зависящий от других её частей. Подпрограммы бывают 2-х видов:

1.  Подпрограмма-функция – это подпрограмма для вычисления функции, которая возвращает какое-либо значение.

2.  Подпрограмма-процедура – это подпрограмма для выполнения действий, которая не возвращает никаких значений.


  1. Какие элементы входят в описание подпрограммы?

Как правило, описание подпрограммы включает заголовок, разделы описаний и раздел операторов, начинающийся словом begin, а заканчивающийся словом end и точкой с запятой (;).


  1. Что такое формальные и фактические параметры? Чем они отличаются?

Формальные параметры – переменные, которые объявляются в заголовке подпрограммы.

Фактические параметры – переменные или значения, которые подставляются вместо формальных параметров в момент конкретного вызова подпрограммы.


  1. Что такое параметры-значения и параметры-переменные? Чем они отличаются?

Параметры-значения – параметры, значения которых передаются в подпрограмму в момент её вызова.

Параметры-переменные – параметры со словом var, значения которых могут использоваться после выполнения подпрограммы.


  1. Что такое локальные и глобальные параметры? Чем они отличаются?

Локальные переменные – переменные, используемые только внутри подпрограммы.

Глобальные переменные – переменные, которые могут использоваться в любом месте основной программы,
в т.ч. и в подпрограмме.


  1. Какой вид имеет заголовок описания функции? Что это означает?

Заголовок описания функции имеет вид:

function Func ( FormPar1 : T1 , … ) : T ;

Это означает, что задаётся подпрограмма-функция с именем Func, зависящая от формальных параметров FormPar1 типа T1 и т.д., а также вычисляющая значение типа T.


  1. Какой вид имеет вызов функции? Что это означает?

Вызов функции из основной программы или другой подпрограммы имеет вид:

Func ( FaktPar1 , … )

Это означает, что вычисляется значение функции Func, зависящей от фактических параметров FaktPar1 и т.д., причём вызов функции может осуществляться в составе выражения.


  1. Какой вид имеет заголовок описания процедуры? Что это означает?

Заголовок описания процедуры имеет вид:

procedure Proc ( FormPar1 : T1 , … ) ;

Это означает, что задаётся подпрограмма-процедура с именем Proc, зависящая от формальных параметров FormPar1 типа T1 и т.д., а также выполняющая какие-либо действия.

  1. Какой вид имеет вызов процедуры? Что это означает?

Вызов процедуры из основной программы или другой подпрограммы имеет вид:

Proc ( FaktPar1 , … );

Это означает, что выполняются действия в теле процедуры Proc, зависящей от фактических параметров FaktPar1 и т.д., причём вызов процедуры не может осуществляться в составе выражения.


  1. Напишите, что означает каждая строка в вышеприведённых программах.

Program Lab6a;

Var

A:array[0..100] of real; описание массива

B,C,x:real; описание переменных

i,n:integer;

Function Step(a,b:real):real; заголовок функции

begin

Step:=exp(b*ln(a)); функция

end;

Begin

writeln('Введи n,x'); read(n,x); ввод размернгости массива и переменной Х

writeln('Введи массив A');

for i:=0 to n do read(A[i]); ввод массива

B:=Step(2.1,5)+Step(7,0.3); вычисление В при помощи функции Step

C:=0;

for i:=0 to n do C:=C+A[i]*Step(x,i);

writeln('B=',B:10:3,' C=',C:10:3);

End.

Program Lab6b;

Const m=3; n=4; описание констант

Type TT=array [1..m,1..n] of real; описание массива

Var A:TT; i,j:integer; s,p:real;

Procedure SumPro(B:TT; m,n:integer; var s,p:real); заголовок процедуры

var i,j:integer;

begin процедура поиска суммы и произведения отрицательных элементов

s:=0; p:=1;

for i:=1 to m do

for j:=1 to n do

if B[i,j]<0 then

begin

s:=s+B[i,j];

p:=p*B[i,j];

end;

end;

Begin

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]); ввод массива

SumPro(A,3,4,s,p);вызов процедуры

writeln(s,p); вывод результата

End.




  1. Напишите программу к одной из задач дополнительного задания.

Вычислить с использованием подпрограммы-функции вычисления тангенса.

Program Lab6a;

Var

X,y,z:real;

Function tg(a:real):real;

begin

tg:=sin(a)/cos(a);

end;

Begin

writeln('Введи X,Y'); read(x,y);

z:=tg(x)+tg(y);

writeln('z=',z:10:3);

End.

Лабораторная работа № 7. Программирование структурных типов данных

  1. Что такое файл? Какие бывают виды файлов и как они обозначаются?

Файлы – упорядоченные наборы данных различного типа, хранящиеся в памяти.

В языке Pascal файлы бывают:

  • Текстовые (типа Text).

  • Типизированные (типа File of …).

  • Нетипизированные (типа File).

  • Над текстовыми файлами обычно применяются следующие стандартные процедуры:

  • Assign(FP,F) – связывание файловой переменной FP с именем файла F.

  • Reset(FP) – открытие файла, связанного с файловой переменной FP, для чтения.

  • ReWrite(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с удалением старых.

  • Append(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с добавлением к старым.

  • Close(FP) – закрытие файла, связанного с файловой переменной FP.

  • Read(FP,P1,…) – ввод значений переменных P1, … из файла, связанного с файловой переменной FP.

  • ReadLn(FP,P1,…) – ввод значений переменных P1, … из файла, связанного с файловой переменной FP, и перевод указателя в файле на новую строку.

  • Write(FP,V1,…) – вывод значений выражений V1, … в файл, связанный с файловой переменной FP.

  • WriteLn(FP,V1,…) – вывод значений выражений V1, … в файл, связанный с файловой переменной FP, и перевод указателя в файле на новую строку.




  1. Какие процедуры применяются для связи файловой переменной с именем файла и для закрытия файла?

Assign – для связи

Close - закрыть

  1. Какие процедуры применяются для открытия файла?

Для чтения – reset

Для записи – rewrite

  1. Какие процедуры применяются для ввода данных из файла?

Read, Readln

  1. Какие процедуры применяются для вывода данных в файл?

  2. Write, Writeln

  3. Что такое запись и поле?

Запись – неупорядоченный набор величин разных типов, называемых полями.

Поле – именованная величина, являющаяся частью записи.

  1. Какой вид имеет описание записи и что это означает?

Описание записи в разделе описания переменных (Var) на языке Pascal имеет вид:

Zap : record

SP1 : T1;



SPN : TN

end;

где record – запись, end – конец описания записи, Zap – имя записи, SP1 – список полей 1-й, SPN – список полей
N-й, T1 – тип полей в 1-м списке, TN – тип полей в N-м списке.

Это означает, что переменная Zap является записью, включающей поля в списке SP1 типа T1 … поля в списке SPN типа TN.


  1. Какой вид имеет доступ к полю записи и что это означает?

Доступ к полю записи имеет вид:

Zap . Pole

где Zap – имя записи, Pole – имя поля.

Это означает доступ к полю Pole записи Zap.


  1. Какой вид имеет оператор присоединения и что он означает?

Оператор присоединения имеет вид:

withZapdoOp

где with – с, do – делать, Zap – имя записи, Op – оператор.

Это означает, что с полями записи Zap выполнять оператор Op.


  1. Напишите, что означает каждая строка в вышеприведённых программах.

Program Lab7b;

Var

A:array[1..3,1..3] of real; описание массива

i,j:integer;

f1,f2:text;описание файловых переменных

Begin

assign(f1,'Lab7a.txt');подключение файла исходных данных

assign(f2,'Lab7c.txt'); подключение файла результатов

reset(f1); rewrite(f2);открытие файлов

for i:=1 to 3 do

for j:=1 to 3 do

read(f1,A[i,j]);ввод массива

for i:=1 to 3 do

for j:=1 to 3 do

if i
writeln(f2,'Массив A');вывод массива в файл

for i:=1 to 3 do

begin

for j:=1 to 3 do

write(f2,A[i,j]:10:3);

writeln(f2,'');

end;

close(f1); close(f2);закрытие файлов

readln;

End.

Program Lab7d;

Var

student:record описание записи

fam:string[10]; описание полей записи

god:integer;

ball:real;

end;

stip:real;

Begin

with student do

readln(fam,god,ball);ввод полей записи

if student.ball=5 then stip:=1000 else stip:=0;

writeln('Стипендия – ',stip:5:1,' рублей');

End.




  1. Напишите программу к одной из задач дополнительного задания.

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

Program Lab7b;

Var

A:array[1..3,1..3] of real;

i,j:integer;

f1,f2:text;

Begin

assign(f1,'Lab7a.txt');

assign(f2,'Lab7c.txt');

reset(f1); rewrite(f2);

for i:=1 to 3 do

for j:=1 to 3 do

read(f1,A[i,j]);

s:=0;

for i:=1 to 3 do

for j:=1 to 3 do

begin

S:=s+a[I,j];

if i=j then A[i,j]:=0;

end;

writeln(f2,’s=’,s);

writeln(f2,'Массив A');

for i:=1 to 3 do

begin

for j:=1 to 3 do

write(f2,A[i,j]:10:3);

writeln(f2,'');

end;

close(f1); close(f2);

readln;

End.


написать администратору сайта