- •Основы программирования на турбо паскале методические указания
- •Введение
- •Знакомство со средой программирования Turbo Pascal 7.0
- •Лабораторная работа №1 Структура программы на Паскале. Организация ввода-вывода данных. Использование стандартных функций.
- •Основные стандартные функции
- •Выражения
- •Задания для самостоятельной работы
- •Лабораторная работа №2 Программы разветвляющейся структуры
- •Практические задания
- •Var c: char;
- •I: integer;
- •Практические задания
- •Var a,b,c,X: integer;
- •Var X,y,r:real;
- •Задания для самостоятельной работы
- •Лабораторная работа №3 Программы циклической структуры
- •Практические задания
- •Var X,y,a, x1, x2, h, xmin, ymin, sa: real;
- •Задания для самостоятельной работы
- •Лабораторная работа №4 Работа с массивами и строками
- •1) Тип «массив»
- •Var a: Vector;
- •2) Тип «строка»
- •Var s: String[80];
- •Практические задания
- •Var a: array[1..100] of real;
- •I,j,n: integer;
- •Var a: array [1..10,1..10] of real;
- •I,j,n,m,m1,m2: integer;
- •Var s: string;
- •I: integer;
- •Задания для самостоятельной работы
- •Лабораторная работа №5 Процедуры и функции
- •1) Процедуры
- •Var a: mass;
- •Var I: integer;
- •2) Функции
- •Var a: mass;
- •Практические задания
- •Var a,b,c,s: real;
- •Var p: real;
- •If exist(a,b,c) then
- •Var a,b: vect;
- •Задания для самостоятельной работы
- •Лабораторная работа №6 Типизированные и текстовые файлы
- •Var f: File of real;
- •Var t: text80;
- •1) Типизированные файлы
- •2) Текстовые файлы
- •Практические задания
- •Var n,I,X,xmax: integer;
- •Var I,j,n:integer;
- •Задания для самостоятельной работы
- •Лабораторная работа №7 Графика в Турбо Паскале
- •Практические задания
- •Var gd,gm,n,I: integer;
- •Var I,X,y: integer;
- •Initgraph(gd,gm,'');
- •Задания для самостоятельной работы
- •394026 Воронеж, Московский просп., 14
Практические задания
1. Изучить и запустить программу, определяющую, попало ли введенное пользователем число х в интервал [a, b].
Program Interval;
Var a,b,x: real;
Begin
a:=–5; b:=5;
Write(’x=’); Readln(x);
If (x>=a) and (x<=b) then
writeln(’x принадлежит [a,b]’)
else writeln(’x не принадлежит [a,b]’);
Readln
E
nd.
2. Составить программу, определяющую, попала ли точка с координатами (x, y) внутрь заштрихованной области.
3. С клавиатуры вводятся три целых числа a, b, c. Изучить и запустить программу, которая выводит их на экран в порядке возрастания (использовать наименьшее количество условных операторов).
Program ThreeNumbers;
Var a,b,c,X: integer;
Begin
Write(’a=’); Readln(a);
Write(’b=’); Readln(b);
Write(’c=’); Readln(c);
{Упорядочим сначала два числа a, b – должно быть а < b}
If a>b then begin x:=a; a:=b; b:=x end;
{a и b упорядочены, теперь может быть c < a, c > b или a < c < b}
If c<a then Writeln(c,’ ’,a,’ ’,b)
else If c>b then Writeln(a,’ ’,b,’ ’,c)
else Writeln(a,’ ’,c,’ ’,b);
Readln
End.
4. Изучить и запустить программу, которая вычисляет сумму, разность, произведение или частное двух чисел в зависимости от знака операции +, –, *, / (т.е. простейший калькулятор). Добавить в программу операцию возведения x в степень y.
Program Calc;
Var X,y,r:real;
c:char;
Begin
write('Операнд 1: '); readln(x);
write('Операция : '); readln(c);
write('Операнд 2: '); readln(y);
Case c of
'+': r:=x+y;
'-': r:=x-y;
'*': r:=x*y;
'/': If y<>0 then r:=x/y
else
begin writeln('Деление на 0');exit end;
else
begin writeln('Неверная операция');exit end;
end;
writeln(x:6:3,' ',c,' ',y:6:3,' = ', r:9:6);
readln
End.
Задания для самостоятельной работы
1. Составить программу, определяющую, попала ли точка с координатами (x, y) внутрь заштрихованной области.
а)
б)
в)
г)
2. Составить программу, которая преобразует введенное с клавиатуры целое число от 0 до 15 в шестнадцатеричную систему и выводит результат на экран.
3. Используя оператор варианта, составить программу вычисления площадей геометрических фигур – круга, квадрата, прямоугольника, прямоугольного треугольника, произвольного треугольника.
4. Составить программу, определяющую, можно ли построить треугольник со сторонами a, b, c, а также его форму – равносторонний, равнобедренный или разносторонний; прямоугольный, остроугольный или тупоугольный.
5. Составить программу вычисления действительных корней квадратного уравнения ax2 + bx + c = 0.
6. На клавиатуре вслепую нажимается клавиша. Составить программу, определяющую тип введенного символа – цифра, прописная буква, строчная буква, спецсимвол (использовать оператор варианта).
Лабораторная работа №3 Программы циклической структуры
В Турбо Паскале имеется три оператора цикла:
1) Оператор цикла с параметром For … do. Оператор безусловного цикла имеет следующую структуру:
For i:=N1 to N2 do < тело цикла >;
где i – параметр цикла, который должен быть дискретного типа (целого, символьного и т.д.); N1 – начальное значение параметра цикла; N2 – конечное значение параметра цикла.
Безусловный цикл выполняется заданное число раз. Чтобы прервать выполнение досрочно, необходимо увеличить i до конечного значения (i:=N2), либо использовать процедуру Break, которая прерывает выполнение циклов. Процедура Continue начинает новую итерацию цикла, даже если предыдущая не была завершена.
При программировании может быть использован другой вид оператора For, в котором происходит уменьшение значения переменной:
For i:=N2 downto N1 do < тело цикла >;
2) Оператор цикла с постусловием Repeat … Until. В этом операторе проверка условия выхода из цикла осуществляется после каждого выполнения тела цикла, поэтому тело цикла обязательно выполнится хотя бы один раз:
Repeat
< тело цикла >
Until < условие >;
Цикл выполняется до тех пор, пока условие не станет истинным. Например, при задании длины массива проверка может осуществляться следующим образом:
Repeat
Write(’Введите длину массива N (N<10): ’);
ReadLn(N)
Until (N>0) AND (N<10);
Цикл выполняется до тех пор, пока пользователь не введет положительное число, меньшее 10.
Здесь в теле цикла можно использовать несколько операторов, не заключая их в операторные скобки begin … end.
3) Оператор цикла с предусловием While … do. В этом цикле проверка условия проводится до начала выполнения тела цикла:
While < условие > do < тело цикла >;
Цикл выполняется, пока условие истинно. Как только условие становится ложным, выполнение цикла завершается. Если условие ложно с самого начала, тело цикла не выполнится ни разу. Например, та же проверка вводимой длины массива может быть задана так:
N:=0;
While (N<=0) OR (N>=10) do
begin
Write(’Введите длину массива N: ’);
ReadLn(N)
END;
Обратите внимание, что до первого входа в цикл переменной N уже должно быть присвоено какое-либо значение!
Процедуры Break и Continue могут использоваться в условных циклах так же, как и в цикле For.
