- •Паскаль для школьника
- •Часть II
- •I. Введение
- •2. Алфавит языка
- •3. Типы данных (простые)
- •3.1. Целые типы
- •3.2. Действительный (вещественный) тип Real
- •3.3. Символьный тип Char
- •3.4. Логический тип Boolean
- •3.5.Строковый тип String
- •4.Выражения
- •4.1. Константы
- •4.2. Переменные
- •4.3. Стандартные функции
- •4.4. Знаки операций
- •4.5. Круглые скобки
- •5.Структура программы
- •5.1.Раздел описания меток
- •5.2.Раздел определения констант
- •5.3.Раздел описания типов
- •5.4,Раздел описания переменных
- •5.5.Раздел описания процедур и функций (Рассмотрим ниже)
- •5.6. Раздел операторов
- •6. Программирование линейных алгоритмов
- •6.1. Оператор присваивания
- •6.2.Операторы ввода-вывода
- •6.3. Оператор вывода
- •6.4. Оператор ввода
- •7. Программирование разветвляющихся алгоритмов
- •7.1.Условный оператор
- •7.2.Использование составного оператора
- •7.3.Использование составных логических условий (связки "и"; "или").
- •Оператор варианта
- •7.5. Опера тор перехода
- •8.Программирование циклических алгоритмов
- •8.1.Цикл с постусловием («До»)
- •8.2. Оператор цикла с предусловием «Пока»
- •8.3. Цикл с параметром
- •9.Массивы (структурный тип).
- •9.1. Таблицы и табличные величины
- •9.2. Описание массива (в разделе Var)
- •9.1. Одномерные массивы
- •9.4. Нахождение максимального элемента массива
- •9.5.Сортировка одномерного массива
- •9.6.Решение задач, используя одномерные массивы.
- •9.7. Двумерные массивы
- •10. Подпрограммы.
- •10.1. Описание процедур
- •10.2.Формальные параметры - переменные
- •10.3. Формальные параметры -значения
- •10.4.Описание функций
7.5. Опера тор перехода
Оператор перехода имеет вид: Goto M;
М - метка. Все метки должны быть описаны в разделе описания меток;
В рассмотренных выше программах операторы выполнялись в том порядке, в каком они были записаны. Изменить этот порядок можно с помощью оператора перехода. Он прерывает естественную последовательность операторов: следом за ним выполняется оператор, помеченный указанной меткой.
Оператор Goto Met; передает управление на оператор с меткой Met. (Нельзя передавать управления во внутрь структурных операторов)
Пусть программа содержит последовательность операторов:
Х:=2; А:=Х; Goto Met;
1 :A:=A*2; В:=А; Met:Writeln(B);
В этом случае сначала выполняются операторы Х:=2; А:=X; затем следует переход к оператору, помеченному меткой Met т.е. к оператору Writeln(B);
Пример 1.
Даны 3 различных отрицательных числа. Найти предыдущее и следующее значение максимального из этих чисел.
Решение:
Program Vetl;
Label 1;
Var A,B,C: Integer;
Begin
1:Writeln(‘Введите отрицательные числа');
Readln(A.B,C);
If (A>0) or (B>0) or (C>0) Then Goto 1;
{далее задачу решаем самостоятельно}
End;
8.Программирование циклических алгоритмов
В Паскале существуют 3 оператора цикла:
8.1.Цикл с постусловием («До»)
Repeat
Ml;
М2;
:
Mk;
Until N;
Блок - схема
Repeat
- повторять;
Until -до;
Ml, M2,..., Mk - группа операторов, они называются операторами тела цикла.
N - выражение, имеющее логическое значение (условие выхода из цикла)
Выполняется:
Выполняются операторы Ml, М2,..., Mk;
Вычисляется значение N;
Если N - True, то оператор цикла заканчивает свою работу, иначе перейти к пункту 1
Среди операторов тела цикла, обязательно должен присутствовать оператор, изменяющий значение выражения N;
Пример 1.
Найти произведение от1 до 10.
Решение:
Program Ci1;
Var K: Integer;
P: Real;
Begin
K:=0; P:=1;
Repeat
K:=K+1;
P:P*K
Until K=10
Writeln (‘P=’,P:10:5);
End.
Задачи:
Даны числа от 1 до N. Найти: а) сумму всех чисел; б) произведение всех чисел; в) среднее арифметическое.
Вычислить сумму всех двузначных чисел.
Вычислить сумму чисел: S=1+3+5+…+R, где R – нечетное.
Вычислить произведение чисел: Р=2*4*6*…* R, где R – четное.
Найти значение функции у=х2 при х=1,3,5,…,15.
Найти значения функции Т=(р2+15) при р=2,4,6,…,20.
8.2. Оператор цикла с предусловием «Пока»
While N do M;
Блок-схема
While - пока;
Do - выполнять;
N - выражение, имеющее логическое значение (условие входа в цикл);
М - любой оператор в единственном числе. Если по смыслу задачи надо повторять группу операторов, то их надо превратить в один составной оператор (заключить в операторные скобки). Этот оператор или группа операторов называется телом цикла;
Выполняется:
Вычисляется значение N;
Если N - True, то выполняется оператор М (группа операторов), иначе оператор цикла заканчивает свою работу;
Перейти к пункту 1.
Среди операторов тела цикла обязательно должен присутствовать оператор, изменяющий значение выражения N;
Пример 1.
Дины числа от 1 до N (N - четное). Найти: S=
Решение:
Program Cil;
Var K,N: Integer;
S:Real;
Begin
Writeln (‘Введите четное число');
Readln(N);
K:=0; S:=0;
While K<N do
Begin
K:=K+2;
S: =S+l/K;
End;
Writeln (‘S=’,S);
End.
Задачи:
Даны числа от 1 до N. Найти:
,Даны числа от 1 до N (N - нечетное). Найти:
Найти значение X: X=(l*3*5*...*N)/(l+3+5+...+N) (N нечетное).
Даны числа от 1 до N. Вычислять:
,
вплоть до слагаемого, меньшего заданного
Е (Е<1)Вычислить сумму чисел: S=K+(K+1)+(K+2)+(K+3)+…+(K+N); (K<N)
Вычислить среднее арифметическое чисел: K,K+1,K+2,… K+N; (K<N)
Вычислить произведение чисел: P=N*(N+1)*(N+2)*(N+3)*…*(N+R); (N<R)
Вычислить: P=1+(1*2)+(1*2*3)+(1*2*3*…*R).
Вычислить: P=1*(1+2)*(1+2+3)*(1+2+3+…+R).
Найти значения функции M=N2-N при N={2,4,6,…,T} (T - четное).
Найти значения функции X=Y2*(Y2-Y)/Y при Y={N*1,N*2,…,N*M} (N<M).
