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

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

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

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

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

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

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

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

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

begin

Op1;

OpN

end

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

P:=V

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

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

write (V1 , … , VN)

writeln (V1 , … , VN)

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

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

Goto M

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

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

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-й.

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

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

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

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

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.

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

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

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.

SPN : TN

end;

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

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

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

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

Zap . Pole

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

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

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

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

with Zap do Op

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

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

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

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<j then A[i,j]:=0;замена на нули элементов выше главной диагонали 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.  
 
 
 

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

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

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.

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

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

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

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

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

3. Какие операторы используются в языке 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… (с…делать…).

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

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

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

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

Математическая запись Запись на Паскале Математическая запись Запись на Паскале
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru sin(x) Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru ln(b)/ln(a)
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru cos(x) Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru ln(x)/ln(10)
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru arctan(x) Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru sin(x)/cos(x)
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru abs(x) Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru cos(x)/sin(x)
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru ln(x) Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru sin(sqr(x))
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru exp(x) Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru sqr(sin(x))
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru sqr(x) Константа Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru pi
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru sqrt(x)    
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru exp(b*ln(a))    
Лабораторная работа № 1. Программирование последовательных вычислений - student2.ru exp(1/b*ln(a))    

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

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

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

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

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

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

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

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

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

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

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.


Наши рекомендации