ЛАБОРАТОРНАЯ РАБОТА № 1 (8 часов)
ЛАБОРАТОРНАЯ РАБОТА № 1 (8 часов)
ТЕМА: « Работа в среде Турбо Паскаль »
Необходимые технические средства:
Персональный компьютер Пентиум-4.
Необходимые программные средства:
Система программирования Турбо Паскаль.
Цель работы: Обучить студентов навыкам работы в среде Турбо Паскаль, набору, отладке и запуску программ, сохранению файлов на диске, чтению файлов с диска.
ЗАДАНИЕ:
Ознакомиться с основными командами Турбо Паскаль, ввести программу, отладить ее и получить результат. Программу сохранить на диске.
Варианты к заданию
1. Составить программу для вычисления высот треугольника со сторонами a, b, c используя формулы:
ha=; hb=; hc=, где p=(a+b+c)/2.
Программа имеет вид
PROGRAM HTR(INPUT,OUTPUT);
VAR A,B,C,P,T,HA,HB,HC:REAL;
BEGIN
READ(A,B,C);
P:=(A+B+C)/2;
T:=2*SQRT(P*(P-A)*(P-B)*(P-C));
HA:=T/A;
HB:=T/B;
HC:=T/C;
WRITELN(‘HA=’,HA);
WRITELN(‘HB=’,HB);
WRITELN(‘HC=’,HC);
END.
2. Составить программу для вычисления значений функции
Z=x3/y, где y=sin nx + 0,5.
PROGRAM USL(INPUT,OUTPUT);
VAR N:INTEGER;
X,Y,Z:REAL;
BEGIN
READ(N,X);
Y:=SIN(N*X)+O.5;
IF Y=0 THEN WRITE(‘Y=0’)
ELSE BEGIN
Z:=X*X*X/Y;
WRITE(‘Z=’,Z);
END
END.
3. Составить программу для вычисления значения функции
PROGRAM UCL(INPUT,OUTPUT);
VAR X,A,B,Z:REAL;
BEGIN
READ(X,A,B);
IF X<=A THEN Z:=SIN(X)
ELSE IF X>B THEN Z:=SIN(X)/COS(X)
ELSE Z:=COS(X);
WRITELN(Z)
END.
4. Вычислить и вывести на печать значения функции y=при значениях x, изменяющихся от 0 до 3 с шагом 0,1.
PROGRAM TABULFUN(INPUT,OUTPUT);
LABEL 50;
VAR A,X,Y:REAL;
BEGIN
READ(A);
X:=0;
50:Y:=(A*A*A)/(SQR(A)+X*X;
WRITELN(X,Y);
X:=X+0.1;
IF X<=3.01 THEN GOTO 50;
END.
5. Составить программу для вычисления значения членов бесконечного ряда
x, … до члена ряда .
PROGRAM RYD(INPUT,OUTPUT);
VAR X,Y,EPS:REAL;
N:INTEGER;
BEGIN
READ(X,EPS);
N:=1;
Y:=1;
REPEAT
Y:=Y*X/N;
WRITELN(Y);
N:=N+1;
UNTIL Y<EPS
END.
6. Составить программу для вычисления функции , если x изменяется одновременно с yi от начального значения a с шагом h. Значения yi являются элементами массива (y1,y2,…,y20).
PROGRAM FUNC(INPUT,OUTPUT);
CONST N=20;
VAR X,H,A,Z:REAL;
I:INTEGER;
Y:ARRAY[1..N] OF REAL;
BEGIN
READ(H,A);
X:=A;
FOR I:=1 TO N DO
BEGIN
READ (Y[I]);
Z:=(X+Y[I])/(X-Y[I]);
WRITELN(Z);
X:=X+H
END
END.
7. Составить программу для вычисления и запоминания функции , где xi – элементы массива (x1,x2, …, x50).
PROGRAM MASZ(INPUT,OUTPUT);
CONST NM=50;
VAR I,N:INTEGER;
X,Z:ARRAY[1..NM] OF REAL;
BEGIN
READ(N);
FOR I:=1 TO N DO
BEGIN
READ (X[I]);
Z[I]:=SQRT((SQR(X[I])+1)/I);
END;
FOR I:=1 TO N DO
WRITE(Z[I]);
END.
8. Переписать элементы целочисленного массива M(M1,M2,…,M40), кратные пяти, подряд в массив M5. Если такие элементы отсутствуют, то выдать соответствующее сообщение.
PROGRAM KRA5 (INPUT,OUTPUT);
CONST NM=40;
VAR K,I,N:INTEGER;
M,M5:ARRAY[1..NM] OF INTEGER;
BEGIN
READ(N);
K:=0;
FOR I:=1 TO N DO
BEGIN
READ (M[I]);
IF M[I] DIV 5*5=M[I] THEN
BEGIN
K:=K+1;
M5[K]:=M[I];
END;
END;
IF K=0 THEN WRITELN(‘ЭЛЕМЕНТОВ КРАТНЫХ 5 НЕТ’)
ELSE
FOR I:=1 TO K DO WRITE(M5[I]:8)
X:=X+H
END.
9. Составить программу для вычисления , где xi – элемент массива (x1,x2,…,x20).
PROGRAM SUMMA(INPUT,OUTPUT);
CONST NM=20;
VAR N,I:INTEGER;
Z:REAL;
X:ARRAY[1..NM] OF REAL;
BEGIN
READ(N);
Z:=0;
FOR I:=1 TO N DO
BEGIN
READ (X[I]);
Z:=Z+SQR(X[I])/I
END;
WRITELN(‘СУММА Z=’,Z)
END.
10. Составить программу для вычисления суммы членов ряда … с точностью до члена ряда, меньшего e.
PROGRAM RYD(INPUT,OUTPUT);
VAR Y,Z,X,EPS:REAL;
N:INTEGER;
BEGIN
READ(X,EPS);
Y:=1;
Z:=1;
N:=1;
REPEAT
Y:=Y*(-X*X/(2*N+(2*N+(2*N-1))));
Z:=Z+Y;
N:=N+1
UNTIL Y<EPS;
WRITE(Z)
END.
11. Составить программу для вычисления полинома y=2x8-x6+4x5-5x2+6x+1, используя формулу Горнера.
PROGRAM POLINOM(INPUT,OUTPUT);
CONST M=9;
VAR MD,I:INTEGER;
X,Y:REAL;
A:ARRAY[1..M] OF REAL;
BEGIN
READ(MD);
FOR I:=1 TO MD DO
READ (A[I]);
Y:=A[1];
FOR I:=2 TO MD DO
Y:=Y*X+A[I];
WRITE(Y)
END.
12. Составить программу для нахождения экстремального значения функции при изменении аргумента x от xнач=0 до xкон=4 с шагом h.
PROGRAM EXTREM (INPUT,OUTPUT);
LABEL 10;
VAR A,B,C,H,X,XN,XK,Y,YM:REAL;
I,N,K:INTEGER;
BEGIN
READ(A,B,C,H,XN,XK);
K:=TRUNC((XK-XN)/H)+1;
IF C>0 THEN N:=1 ELSE N:=-1;
YM:=N*1E19;
X:=XN;
FOR I:=1 TO K DO
BEGIN
Y:=ABS(A)*EXP(B*X+C*X*X);
IF N*Y<N*YM THEN YM:=Y ELSE GOTO 10;
X:=X+H
END;
10:WRITE(YM,Y)
END.
13. Составить программу для нахождения наибольшего значения элемента массива (x1,x2,…,x40) и его порядкового номера.
PROGRAM MAX (INPUT,OUTPUT);
CONST N=40;
VAR XMAX:REAL;
I,ND,NMAX:INTEGER;
X:ARRAY [1..N] OF REAL;
BEGIN
READ(ND);
FOR I:=1 TO ND DO
READ(X[I]);
XMAX:=X[1];
NMAX:=1;
FOR I:=2 TO ND DO
IF X[I]>XMAX THEN BEGIN
XMAX:=X[I];
NMAX:=I;
END;
WRITELN(‘Xmax=’,XMAX);
WRITELN(‘Nmax=’,NMAX)
END.
14. Составить программу для вычисления наименьшего положительного корня уравнения x-tgx=0 с точностью до e=10-5.
PROGRAM COR (INPUT,OUTPUT);
CONST PI=3.141592653;
VAR X0,X1,X2,EPS:REAL;
BEGIN
READ(X0,EPS);
REPEAT
X1:=ARCTAN(X0)+PI;
X0:=X1;
X2:=X1;
UNTIL ABS(X2-X1) < EPS;
WRITE(X1,X2)
END.
15. Составить программу для вычисления суммы положительных элементов каждой строки матрицы А(10х8).
PROGRAM SUMSTR (INPUT,OUTPUT);
CONST NM=10;
MM=8;
VAR SUM:REAL;
N,M,I,J:INTEGER;
A:ARRAY [1..NM,1..MM] OF REAL;
ASTR:ARRAY [1..NM] OF REAL;
BEGIN
READLN(N,M);
FOR I:=1 TO N DO
FOR J:=1 TO M DO
READ(A[I,J]);
FOR I:=1 TO N DO
BEGIN
SUM:=0;
FOR J:=1 TO M DO
IF A[I,J]>0 THEN SUM:=SUM+A[I,J];
ASTR[I]:=SUM
END;
FOR I:=1 TO N DO WRITE (ASTR[I]);
END.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Программы, написанные на языке Паскаль, очень удобно редактировать в среде Турбо Паскаль.
Основное меню системы Турбо Паскаль:
Пункты меню
Назначение пункта меню
File
Работа с файлами: «Открыть», «Запись», «Печать», «Выход».
Edit
Редактирование файла, копирование, удаление
Search
Поиск фрагмента текст файла
Run
Управление программой, режимами компилятора и редактора связей
Complile
Компиляция программы, но не выполнение ее
Debug
Задает режим выполнения программы, отображения результатов ее работы на этапе отметки
Options
Задание параметров обработки
Window
Работа в окнах
Help
Помощь
Функциональные клавиши
Клавиши
Назначение
F1
Помощь
F2
Записать текст на диск
F3
Считать файл с диска в окно редактора
F4
Используется при отметке: начать (продолжить) исполнение программы и остановиться перед исполнением той строки, на которой стоит курсор
F5
Распахнуть окно на весь экран
F6
Сделать активным следующее окно
F7
Используется при отладке: выполнить следующую строку программы, если в строке есть обращение к процедуре (функции), войти в эту процедуру и остановить перед исполнением 1-го ее оператора
F8
Используется при отладке: выполнить следующую строку программы, если в строке есть обращение к процедуре (функции), исполнить ее и не прослеживать ее работу
F9
Компиляция программы
F10
Войти в основное меню
Ctrl+F9
Выполнить прогон программы:
1) компиляция; 2) загрузить ПО; 3) выполнить; 4) вернуться в среду Турбо-Паскал
Alt+F5
Смена окна редактора на окно выводы результатов счета
Работа с блоком:
Сtrl+K,B
Пометить начало блока.
Сtrl+K,K
Пометить конец блока.
Сtrl+K,Y
Стереть блок.
Сtrl+K,C
Копировать блок.
Сtrl+K,V
Переместить блок.
Сtrl+K,P
Напечатать блок.
Сtrl+K,W
Записать блок в дисковой файл.
Сtrl+K,R
Считать блок из дискового файла.
Порядок выполнения работы:
1. Набрать программу в среде Турбо-Паскаль.
2. Сохранить программу в памяти компьютера.
3. Отладить программу (найти синтаксические и логические ошибки в программе и исправить их).
4. Запустить программу.
5. Ввести исходные данные.
6. Переписать результаты.
7. Провести анализ полученного решения.
8. Оформить лабораторную работу.
Вопросы для проверки:
1. Как загружается среда Турбо Паскаль?
2. Какие функции выполняют пункты меню Турбо Паскаль?
3. Как выполняется компиляция программы?
4. Как запускается программа?
5. Как сохранить файл на диске?
6. Как загрузить нужный файл с диска?
7. Как выйти из среды Турбо Паскаль?
Автор: Ташходжаев Султанмурат Акмалович