- •Тема 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 разные задачи
Тема 2 Производящие функции и ряды
При построении алгебраических рядов используют так называемые производящие функции. Основным способом решения этого класса задач является порождение множителей с помощью циклических конструкций и, возможно, проверка того, удовлетворяет ли данный член заданному условию или нет.
К подобным задачам относят и проверки различных свойств натуральных чисел, например проверку того, является ли число простым, совершенным, автоморфным и т. д.
Алгоритмы решения для таких задач сходны между собой. Они состоят из трех шагов:
■ ввода и проверки данных;
■ цикла, который порождает множители с проверкой на выполнение какого-либо свойства;
■ вывода результатов.
Например, вывод на экран последовательности следующего вида: может быть организован следующей программой:
PROGRAM ROW;
Var n, I: integer;
F : BOOLEAN;
BEGIN
REPEAT
WRITE('BBEДИTE НАТУРАЛЬНОЕ ЧИСЛО N = ');
READLN (N);
UNTIL N>2;
IF N MOD 2 = 0 THEN F := FALSE
ELSE F := TRUE;
WRITE('S =');
FOR I := 1 TO N-2 DO
IF(NOT F) AND (I MOD 2 = 0)THEN WRITE(l, '*');
ELSE
IF F AND (I MOD 2 <>0) THEN WRITE(I,'*');
WRITELN(N)
END.
Вначале описываются переменные N, I как целые, где N - заданное число, а I - переменная цикла. Вводим вспомогательную логическую переменную (флаг) F, с помощью которой учитываем четность числа N.
Тело программы начинается с ввода целого числа и проверки того, является ли оно натуральным и большим двух:
REPEAT
WRITE('BBEДИTE НАТУРАЛЬНОЕ ЧИСЛО N = ');
READLN (N);
UNTIL N>2;
Оператор REPEAT... требует ввода данных до тех пор, пока пользователь не введет положительное число большее двух.
Флаг F устанавливается в зависимости от четности числа. Для определения четности используется стандартная функция MOD, которая вычисляет остаток от деления
(N MOD 2) числа N на 2.
На втором шаге, в цикле
FOR I := 1 ТО N-2 DO
IF(NOT F) AND (I MOD 2 = 0)THEN WRITE(I,'*')
ELSE
IF F AND (I MOD 2 <>0) THEN WRITE(I,'*');
мы порождаем натуральное число i в интервале от 1 до N-2 и в зависимости от четности числа формируем требуемый ряд, выводя его на экран в одну строку.
По выходе из цикла на экран выводится N как завершающий член ряда и строка закрывается: WRITELN(*', N);
Эту же задачу можно решить по-другому. Тело цикла выглядит следующим образом:
IF N MOD 2=0 THEN
BEGIN
l:=2;
REPEAT
I := 1+2;
WRITE(*', I)
UNTIL I = N-2
END
ELSE
BEGIN
WRITE(1);
I:= 1;
REPEAT
I := I+2;
WRITE(*', I)
UNTIL I = N-2
END;
Несмотря на то что программа выглядит длиннее, в ней не порождаются лишние члены, а в зависимости от четности числа выбирается тот цикл, который необходим. В отличие от первого примера для любого их этих циклов переменная I увеличивается на 2 за каждый проход.
Рассмотрим несколько примеров, использующих метод производящих функций.
Задача 2.1 Дано натуральное число N. Определить, является ли оно простым.
"Число 1 может быть отнесено к простым числам; однако предпочтительно выделять его особо, не относя ни к простым, ни к составным" (М. Я. Выгодский. Справочник по элементарной математике, 1965 г.).
PROGRAM PRG2_1;