
- •С Кафедра моп эвм истема программирования Borland Pascal Методическая разработка к лабораторным работам фавт
- •Интерфейс системы
- •Меню и команды
- •Пункт File
- •Пункт Edit
- •Пункт Search
- •Пункт Run
- •Пункт Compile
- •Пункт Debug
- •Пункт Options
- •Пункт Window
- •Пункт Help
- •Страница Compiler Options окна свойств проекта
- •??? Страница Directories окна свойств проекта
- •??? Страница Preferences окна свойств проекта
- •Файлы проекта
- •Основные приемы работы в системе Паскаль Создание новой программы
- •Работа с уже созданной программой
- •Использование средств отладки
- •Пошаговое выполнение программы
- •Просмотр значений переменных
- •Использование точек останова
- •Порядок выполнения работы
- •If f then writeln('существует');
- •Var описание_переменных;
- •If условие then оператор1 else оператор2
- •Пример выполнения
- •Варианты заданий
- •Контрольные вопросы
- •Оператор цикла с убывающим параметром
- •Контрольные вопросы
- •Var список_имен_массивов: array [тип_индекса1,тип_индекса2...] of базовый_тип;
- •Варианты заданий
- •Контрольные вопросы
- •Var список_имен_переменных:string[максимальная_длина_строки];
- •Var список_имен_переменных:string;
- •Пример выполнения
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 6. Использование процедур Основные сведения
- •Пример выполнения
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 7. Использование функций Основные сведения
- •Пример выполнения
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 8. Работа с текстовыми файлами Основные сведения
- •Var имя_файловой_переменной : text;
- •Пример выполнения
- •I : integer; {счетчик символов текущей строки выходного файла}
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 9. Работа с типизированными файлами и записями Основные сведения
- •Var имя_файловой_переменной : file of тип_записи_файла;
- •Var имя_переменной_записи:имя_типа_записи;
- •Пример выполнения
- •ICurs: integer {курс }
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 10. Использование данных ссылочного типа Основные сведения
- •Пример выполнения
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа 11. Создание и использование модулей Основные сведения
- •Пример выполнения
- •Варианты заданий
- •Контрольные вопросы
- •Литература
- •Содержание
If условие then оператор1 else оператор2
оператор1 выполняется при истинности условия, а оператор2 – в противном случае. Часть else может отсутствовать.
Оператор варианта:
case выражение do
набор_значений1: оператор1;
набор_значений2: оператор2;
. . .
набор_значенийN: операторN;
else оператор
end
Вычисляется выражение и его значение сравнивается с наборами значений. Если оно содержится в одном из наборов, выполняется соответствующий оператор. В противном случае выполняется оператор else-части. else-часть может отсутствовать.
Ввод данных с клавиатуры
readln(имя_переменной1,имя_переменной2,...)
Переменным присваиваются значения, набираемые на клавиатуре. Ввод продолжается до тех пор, пока не будет введено значение последней переменной списка. Разделитель между вводимыми значениями – пробел.
Вывод данных на экран:
writeln(выражение1,выражение2,...)
Значения выражений вычисляются и выводятся последовательно в текущую строку экрана. После вывода всех значений курсор переводится в начало следующей строки.
Пример выполнения
Даны действительные числа a, b, c (a<>0). Выяснить, имеет ли уравнение ax2+bx+c=0 действительные корни. Если имеет, найти их, если нет, выдать сообщение.
program Primer;
var A,B,C,D:real;
begin
writeln('введите через пробел A,B,C');
readln(A,B,C);
D:=B*B-4*A*C;
if D<0 then writeln('корней нет (D=',D,')');
if D=0 then writeln('корень:',-B/(2*A));
if D>0 then writeln('корни:', (-B+sqrt(D))/(2*A), ',',(-B-sqrt(D))/(2*A));
end.
Варианты заданий
Во всех заданиях задано вещественное x. Необходимо вычислить
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Контрольные вопросы
Можно ли выполнять операцию деления (/) над переменными целого типа ?
Какого типа будет результат выражения 15/4 ?
Какие из приведенных ниже записей вещественных чисел являются неправильными и почему?
7.
–6.1
0.0
.456
0Е–2
0.1Е–5
–5.3Е4
2,1
+2.3Е+3
–71
0.31
.0
Какие из приведенных ниже записей являются правильными с точки зрения языка ПАСКАЛЬ?
'А'<'С'
'1'>'9'
FALSE <TRUE
'А'<'В' AND 1<2
'0' OR '9'
'1'+'9'
1>'9'
(D'>'G') AND (1<2)
Какие из приведенных ниже выражений являются правильными, определить для них тип результата:
I*I+J*J+2*K/2 |
X<Y |
SIN(X)+2*COS(Y)+Z |
I+SQRT(J) |
если известно, что I,J,K:INTEGER; X,Y,Z:REAL; A,B:BOOLEAN ?
Какие из приведенных ниже операторов присваивания являются правильными:
X:=Y+SIN(SIN(Z)); |
A:=(X<Y)OR B AND(I<>J); |
X:=I+J-B; |
I:=I+K/J; |
если известно, что I,J,K:INTEGER; X,Y,Z:REAL; A,B:BOOLEAN ?
Записать приведенные ниже высказывания в виде выражений:
а) значение А принадлежит интервалу (8,33);
б) значение А не принадлежит отрезку [-2,0];
в) значение А принадлежит одному из отрезков: [-5,-4], [0,2];
г) точка с координатами (X, Y) лежит внутри круга с центром в начале координат и радиусом 2.3.
Булевской переменной B присвоить значение TRUE, если значения переменных X и Y равны, FALSE – в противном случае.
Лабораторная работа 3. Программы с использованием циклов
Основные сведения
Оператор цикла с предусловием
while условие do оператор
Сначала проверяется условие и в случае истинности выполняется оператор, после чего снова проверяется условие и так до тех пор, пока условие не станет ложным. При изначальной ложности условия оператор ни разу не выполняется.
Оператор цикла с постусловием
repeat
оператор1;
оператор2;
. . .
операторN
end
Сначала выполняется последовательность операторов, а затем проверяется условие. Если оно ложно, то снова выполняется последовательность операторов, и так до тех пор, пока условие не станет истинным. Независимо от изначальной истинности условия последовательность операторов выполняется хотя бы один раз.
Оператор цикла с возрастающим параметром
for параметр:=начальное_значение to конечное_значение do оператор
Параметру присваивается начальное значение, после чего проверяется, не превосходит ли он конечного значения. Если превосходит, выполнение цикла завершается. Если нет, выполняется оператор и параметр наращивается на 1, после чего он снова сравнивается с конечным значением и так до тех пор, пока параметр не получит значение, превышающее конечное. При изначальной ситуации, когда начальное значение больше конечного, оператор ни разу не выполняется.