Работа в среде Турбо-Паскаля
Работа с блоками
Отметить блок текста можно клавишами управления курсором при нажатой клавише <Shift>.
Скопировать отмеченный блок можно клавишами <Ctrl>+K+C или за два шага <Ctrl>+<Ins> - скопировать блок в буфер, <Shift>+<Ins> - выдать блок из буфера.
Переместить отмеченный блок можно клавишами <Ctrl>+K+V или за два шага <Shift>+<Del> - забрать блок в буфер, удалив его из текста, <Shift>+<Ins> - выдать блок из буфера.
Удалить отмеченный блок можно клавишами <Ctrl>+<Del> или <Ctrl>+K+Y.
Пример
Описать переменные: gf, d4 – целого типа, lq – вещественного, joke – байтового, с1, с2 – символьного. С помощью оператора ввода ввести эти переменные. С помощью оператора вывода вывести их в формате «имя=значение»
Var
gf,d4:integer;
lq:real;
joke:byte;
c1,c2:char;
Begin
writeln(’Ввести переменные’);
read(gf,d4);
read(lq);
read(joke);
read(c1,c2);
writeln(’gf=’,gf);
writeln(’d4=’,d4);
writeln(’lq=’,lq:7:4);
writeln(’c1=’,c1);
writeln(’c2=’,c2)
end.
Практическая часть
Задание на лабораторную работу
В приведенных ниже заданиях необходимо:
1. описать все указанные переменные;
2. с помощью оператора ввода задать значения этих переменных;
3. с помощью оператора вывода вывести значения этих переменных на экран в формате "<имя переменной> = <значение>", например, X=3.5
4. Оформить отчет. Туда записать
а) тему,
б) цель,
в) задание,
г) программу,
д) результаты полученные на экране
е) сделать вывод по работе
Вар | Задание |
i1, j1 - целые, g1 - вещественная, b - байтовая, v1, v2 - символьные | |
r1 - целая, g1, h - вещественные, t - байтовая, rq, vc, f - символьные | |
er, t6 - целые, rz - вещественная, b, ra - байтовые, w - символьная | |
bn, kj, yu - целые, q1 - вещественная, b, t - байтовые, my, my1 - символьные | |
mq, hg - целые, g1, rl - вещественные, b, i67 - байтовые, d1, er2 - символьные | |
mo, w2 - целые, w4, ur - вещественные, x, q12 - байтовые, wx, aw - символьные | |
xz, yu - целые, q2, o9 - вещественные, h, ws7 - байтовые, q1, qq2 - символьные | |
bt, g5 - целые, s1, re - вещественные, b, w2q - байтовые, dd, sss - символьные | |
jy, ww - целые, re, t5 - вещественные, v, gfd - байтовые, we, s1d - символьные | |
q1, i8 - целые, e3, re - вещественные, x, e34 - байтовые, wq, r4t - символьные | |
q1, rr - целые, kk, yl - вещественные, f, fdf - байтовые, ep, pp2 - символьные | |
nh, nn - целые, w1, yy - вещественные, j, w24 - байтовые, tt, ttt - символьные | |
vr, yi - целые, lk, as - вещественные, q, sas - байтовые, ry, v5d - символьные | |
w2, u5 - целые, aa, hy - вещественные, x, q12 - байтовые, t5, rfv - символьные | |
n7, gg - целые, g1, w2 - вещественные, x, q12 - байтовые, s3, qqq – символьные |
Лабораторная работа
«Линейный алгоритм. Вычисление по формуле»
Цель: познакомиться с основами языка Паскаль, переменными, структурой программы; научиться составлять простейшие линейные алгоритмы, вычислять по заданным формулам.
Теоретическая часть
Структура линейного алгоритма на языке Паскаль Структура линейного алгоритма на блок-схемах
Program назв_прогр;
Var
Переменная_1:тип;
Переменная_2:тип;
…………………………………………………….
Переменная_n:тип;
Begin
Read(список перем);
Вычисления;
writeln(вывод ответа)
End.
Пример. Найти значение выражения
program familiya;
Var
x,k:integer;
y:real;
Begin
write(‘x=’);read(x);
write(‘k=’);read(k);
y:=sqrt(x+k)/abs(x-1);
writeln(‘y=’,y:6:3)
end.
Задания на лабораторную работу
Написать программу для расчета по формуле согласно своему варианту. К программе начертить блок-схему. Получившиеся листинги программ распечатать или переписать в отчет по лабораторной работе. Кроме того, для выбранных самостоятельно исходных данных получить соответствующие ответы. Компьютерный эксперимент провести 5 раз. Если результатом будут необычные надписи, то их тоже отобразить в отчете.
В отчете указать тему, вариант, записать цель работы, условие по своему варианту, листинги программ, блок-схему алгоритма. Кроме того письменно ответить на вопросы. В конце работы сделать выводы.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Контрольные вопросы
1. Как оформляется оператор вывода на экран?
2. Что можно использовать в качестве оператора вывода? Какой символ используется для разделения элементов списка вывода?
3. Что будет выведено на экран, если в списке вывода записано: число; имя переменной; текст в кавычках; арифметическое выражение?
4. Как сделать, чтобы информация выводилась со следующей строки?
5. Почему перед оператором ввода целесообразно записывать оператор вывода?
6. Как оформляется арифметическое выражение в алгоритмическом языке?
7. Как оформляется оператор присваивания? Как он работает?
Лабораторная работа
«Программирование ветвящихся алгоритмов»
Цель: познакомиться с условным оператором и оператором выбора; научиться составлять простейшие алгоритмы, использующие данные конструкции.
Теоретическая часть
Pascal | |
Условный оператор | If условие then Действие, если условие выполняется Else Действие, если условие не выполняется; |
Оператор выбора | Case выражение of A1: оператор_1; A2,A3: оператор_2; A4..A5: оператор_3; ........... An: оператор_n; Else оператор_n+1 End; |
Если требуется выполнить группу действий, где будет более 1 операции, то эти действия нужно заключить в операторные скобки
Begin
действия
End;
If условие then
Begin
Действия, если условие выполняется
End
Else
Begin
Действия, если условие не выполняется
End;
На блок-схемах условный оператор и оператор выбора обозначаются следующим образом
Пример 1. Из трех вещественных чисел X, Y, Z выбрать наибольшее
Program pr1;
Var
X,y,z,max:real;
Begin
Write (‘Ввести x,y,z: ’);
Readln(x,y,z);
If (x>=y) and (x>=z) then max:=x;
If (y>=x) and (y>=z) then max:=y;
If (z>=x) and (z>=y) then max:=z;
Writeln(‘Максимальное значение =’, max:6:3)
End.
Пример 2. Дано число а. Вычислить f(a), если
0 при x£0,
F(x)= x2–x при 0<x£1,
x2–sin px2 при других х
Program pr2;
Var
x,f:real;
Begin
Write (‘Ввести число: ’);
Readln(x);
If x<=0
Then f:=0
Else
if x<=1 then f:=sqr(x)–x
else f:=sqr(x)–sin(pi*x*x);
Writeln(‘Значение функции F(x) при x=’, x, ‘равно’,F)
End.
Пример 3. Согласно гороскопу, каждому году присвоено имя какого-нибудь животного. Написать программу, которая по номеру года определяет его название, если известно, что начало 12-летнего цикла – 1996 год – год крысы
Program pr3;
Var
year:integer;
Begin
Write (‘Ввести год: ’);
Readln(year);
Caseyearmod12of
0:writeln(‘год обезьяны’);
1:writeln(‘год петуха’);
2:writeln(‘год собаки’);
3:writeln(‘год свиньи’);
4:writeln(‘год крысы’);
5:writeln(‘год коровы’);
6:writeln(‘год тигра’);
7:writeln(‘год зайца’);
8:writeln(‘год дракона’);
9:writeln(‘год змеи’);
10:writeln(‘год лошади’);
11:writeln(‘год овцы’);
End;
End.