- •Тема I Основные понятия языка pascal 7.0
- •1.1. Алфавит и структура программы
- •Алфавит
- •Структура программы
- •I, j : integer;
- •1.2. Структура данных
- •Простые типы данных
- •Структурированные типы данных
- •Указатели
- •Процедурные типы
- •Объекты
- •Преобразование типов данных
- •1.3. Операторы языка
- •Простые операторы
- •Структурированные операторы
- •1.4. Процедуры ввода-вывода
- •Var I, j : integer;
- •Практические задания
- •Тема 2 Производящие функции и ряды
- •Var n, I: integer;
- •Var I, n, f : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j : integer;
- •Var I, n, sum : integer;
- •Var I, n, m, к : integer;
- •If flag then
- •Var I, n, m, k, nod : integer;
- •Var I, n, m, k, nod, nok : integer;
- •Var n, r, m : integer;
- •Var n, r, м, к, I : integer;
- •If f then writeln('число', n, ' he палиндром')
- •Var X, y, z:real; I, n : integer;
- •Var X, y, z : real;
- •Var X,y. Z, е : real;
- •I: integer;
- •Var X, y, z, e : real;
- •I: integer;
- •Var X, y, z : real;
- •Практические задания
- •Тема 3 Обработка числовых последовательностей
- •Var n, X, sum, I: integer;
- •Var n, X, к, I: integer;
- •Var n, X, max, I: integer;
- •Var n, X, max, I: integer;
- •Var X, min1, min2 : integer;
- •Var old, new : real;
- •If f then
- •Var old, new : real; к : integer;
- •Var old, new, f : real;
- •Var old, new : real;
- •If f then
- •Var old, new : real;
- •If f then
- •Var poroda : string;
- •I, к, n : integer;
- •Var pol : string;
- •I, к, n : integer;
- •Практические задания
- •Тема 4 Символьные переменные и строки
- •Var I: char;
- •Var I: char;
- •Var I, l : char;
- •Var str: string;
- •If not(str[I] in m) then write(str[I])
- •Var str : string;
- •If not(str[I] in m) then write(str[I]);
- •Var str : string;
- •If (str[I] - '!') then write(V)
- •Var str : string;
- •Var str : string;
- •Тема 5 Обработка строк
- •Var str, wrd : string;
- •I, l : integer;
- •Var s1, str : string;
- •I: integer;
- •Var s1, str: string;
- •Var s1: string;
- •Var s1 : string;
- •Var s1 : string;
- •X : char;
- •Var s1 : string;
- •Var м, к, I, j : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, l : integer;
- •1234567890 Ааааааа .
- •Var I, l : integer;
- •If f then writeln('палиндром')
- •1234567890 Ааааааа .
- •Практические задания
- •Тема 6 Одномерные массивы
- •Var mas : array[1..M] of integer;
- •I, max, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, new, n : integer;
- •Var mas : array[1..M] of integer;
- •I, j, k, new, n : integer;
- •Var mas : array[1..M] of real;
- •I, n : integer;
- •Var mas : array[1..M) of real;
- •I: integer;
- •Var mas, num2, num5 : array[1..M] of integer;
- •Практические задания
- •Тема 2 Двумерные массивы
- •Var a : array[1..T, 1..S] of integer;
- •Var а : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of char;
- •Var a : array[1..T, 1..T] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Практические задания
- •Тема 8 Работа с файлами
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var Fl : text;
- •X: char;
- •International
- •Var f1 : text;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •I: integer;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Тема 9 Процедуры и функции
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var s : string;
- •Var I: integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var n : longint;
- •Var s : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Var I : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, X, d, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Практические задания
- •Тема 10 Работа с текстом. Модуль crt
- •Var I: char;
- •Var I:integer;
- •Var X, I: integer;
- •Var I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Практические задания
- •Тема 11 Графика. Модуль Graph
- •Initgraph(driver, mode,' ');
- •Var driver, mode : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode, X, y : integer ;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y, I: integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t, y0 : integer ;
- •Var driver, mode, X, y, I, t, xo : integer;
- •Var driver, mode, X, y, r : integer;
- •Var driver, mode, X, y, x1, y1, r : integer;
- •Var driver, mode, X, y, r, I: integer ;
- •Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
- •Var driver, mode, X, y, r : integer;
- •Практические задания
- •Тема I 3 Разные задачи
- •Var f1:file of nn;
- •I:integer;
- •Var I:integer;
- •Var I, min,max:integer;
- •Var I,j:integer;
- •Var I,j:integer;
- •In_metr;
- •I,n:integer;
- •Var I:integer;
- •If I in s1 then
- •Приложение Зарезервированные слова borland pascal 7.0
- •Литература
- •Оглавление
- •1.1. Алфавит и структура программы
- •Тема 13 разные задачи
Var X,y. Z, е : real;
I: integer;
BEGIN
REPEAT
WRITE('BBEДИTE ПЕРЕМЕННУЮ РЯДА X, |X|<1 X = ');
READLN(X);
WRITE('ВВЕДИТЕ ТОЧНОСТЬ ВЫЧИСЛЕНИЯ Е = ');
READLN(E);
UNTIL (ABS (X) <1) AND (E < 1 ) AND (E <= X);
Y :- 1; Z := 1; I:= 2;
REPEAT
Z:= Z*X;
Y:= Y+Z/l;
I:=I+1
UNTIL ABS (Z/(l - 1)) < E;
WRITELN('ИСКОМАЯ СУММА РЯДА Y = ', Y);
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим точность вычисления Е и переменную X;
- в цикле порождаем очередной член ряда и прибавляем его к сумме Y;
- выводим результат.
Переменные:
X - переменная ряда;
Z - вспомогательная переменная;
I - переменная цикла;
Y - сумма ряда;
Е - точность вычисления.
Задача 2.14 Найти сумму знакопеременного ряда Y= 1+ Х2/2! – Х4/3! + Х6/4! –... при
|Х | <= 1. Расчет продолжать до тех пор, пока приращение | y | будет больше заданной точности е, е < = | Х |.
PROGRAM PRG2_14;
Var X, y, z, e : real;
I: integer;
BEGIN
REPEAT
WRITE('BBEДИTE ПЕРЕМЕННУЮ РЯДА X, |X|<= 1 X = ');
READLN(X);
WRITE('BBEДИTE ТОЧНОСТЬ ВЫЧИСЛЕНИЯ Е =' );
READLN(E);
UNTIL (ABS (X) <= 1) AND (E < 1 ) AND (E <= X);
Y := 1; Z := 1;l := 2;
REPEAT
Z := (Z*X*X)/I; IF I MOD 2 = 0 THEN Y := Y+Z
ELSE Y := Y- Z;
I := I+1
UNTIL ABS (Z) <= E;
WRITELN('ИСКОМАЯ СУММА РЯДА Y = ', Y);
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим точность вычисления Е и переменную X;
- в цикле порождаем очередной член ряда и прибавляем его
к сумме Y или вычитаем его из суммы, в зависимости от его номера;
- выводим результат.
Переменные:
X - переменная ряда;
Z - вспомогательная переменная;
I - переменная цикла;
Y - сумма ряда;
Е - точность вычисления.
Задача 2.15 Найти сумму первых N членов ряда Y = 1– 1/X + 2/Х2 – 3/Х3 +... при > 1.
PROGRAM PRG2_15;
Var X, y, z : real;
N, I: INTEGER;
BEGIN
REPEAT
WRITE('BBEДИTE ПЕРЕМЕННУЮ РЯДА X, |X| >1 X = ');
READLN(X);
WRITE('BBEДИTE ЧИСЛО ЧЛЕНОВ РЯДА N = ');
READLN(N);
UNTIL (ABS (X) >1) AND (N > 0);
Y := 1; Z := 1;
FOR I := 1 TO N-1 DO
BEGIN
Z := Z*X;
IF I MOD 2 = 0 THEN Y := Y + I/Z
ELSE Y := Y-l/Z
END;
WRITELN('CYMMA ПЕРВЫХ N ЧЛЕНОВ РЯДА Y = ', Y);
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим точность вычисления Е и переменную X;
- в цикле порождаем очередной член ряда и прибавляем его к сумме Y или вычитаем его из суммы, в зависимости от его номера;
- выводим результат.
Переменные:
X - переменная ряда;
Z- вспомогательная переменная;
I - переменная цикла;
Y - сумма ряда;
N - количество членов ряда.
Практические задания
1. Вывести на экран все простые трехзначные числа.
2. Дано натуральное число. Вывести на экран все его делители, меньшие чем оно само, через запятую.
3. Найти сумму первых N членов знакопеременного ряда
Y = 1 – Х/(Х + 1) + Х3/(Х + I)2 - Х5/(Х + 1)3 +...
Тема 3 Обработка числовых последовательностей
Обработка числовых последовательностей всегда основывается на использовании оператора цикла. Это может быть безусловный цикл FOR I := N1 ТО N2 DO
<тело цикла>;
где I - переменная цикла, которая должна быть перечисляемого типа (целая, символьная и т. д.); N1 - начальное значение переменной цикла; N2 - конечное значение переменной цикла.
Безусловный цикл выполняется заданное число раз. Чтобы прервать выполнение досрочно, необходимо увеличить I до конечного значения (I := N2) либо использовать оператор BREAK.
В языке PASCAL предлагаются к использованию циклы, исполнение которых зависит от какого-либо условия. Таких циклов два:
С постусловием С предусловием
REPEAT WHILE <условие> DO
<тело цикла>; <тело цикла>
UNTIL <условие>;
В цикле с постусловием сначала выполняется тело цикло, а только потом проверяется условие. Например, проверка на то, чтобы задать длину последовательности, осуществляется следующим образом:
REPEAT
WRITE('ВВЕДИТЕ ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N = ');
READLN (N);
UNTIL N >0;
Цикл выполняется до тех пор, пока пользователь не введет положительное число.
Для цикла с предусловием проверка проводится до начала очередной итерации:
READLN(N);
WHILE N<= 0 DO
BEGIN
WRITE('BBEДИTE ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N = ');
READLN (N);
END;
Алгоритмы для обработки последовательностей обычно относятся к одному из двух типов;
- поиск;
- проверка условий.
Для последовательностей характерно, что в каждый момент времени нам доступен только один элемент последовательности. Поэтому все алгоритмы строятся с учетом однократного последовательного просмотра.
Рассмотрим несколько программ. В каждой из них одновременно рассматривается только очередной член последовательности, без учета всех остальных. Алгоритмы для решения таких задач называются алгоритмами с линейным поиском.
Задача 3.1 Вводится последовательность из N целых чисел. Найти сумму всех отрицательных чисел.
PROGRAM PRG3_1;