- •14 Июня 2011, протокол №
- •Введение
- •Распределение времени на изучение дисциплины
- •Программа дисциплины
- •Раздел 1. Основы алгоритмизации. Понятие алгоритма. Форма записи алгоритма. Типы структур в алгоритмах. Линейные алгоритмы. Разветвляющиеся алгоритмы. Циклические алгоритмы. Схемы алгоритмов
- •Раздел 2. Система программирования Паскаль
- •1.2 Данные
- •1.3 Типы данных
- •1.3.1 Скалярные типы данных
- •1.3.2 Структурированные типы данных
- •1.4 Выражения и операции
- •Порядок выполнения операций
- •2 Структура программы
- •Комментарии
- •3 Операторы
- •3.1 Простые операторы
- •3.2 Процедуры ввода-вывода
- •3.3 Структурные операторы
- •4 Встроенные (стандартные) процедуры и функции
- •5 Примеры программ
- •5 .1. Вычислить периметр и площадь треугольника по трем сторонам a1,a2,a3.
- •Программа
- •5.8 Пример использования оператора цикла for
- •Члены прогрессии
- •5.9 Пример использования оператора цикла while
- •5.10 Пример использования оператора цикла repeat
- •6. Массивы
- •6.1 Массивы. Определение, описание типа
- •6.2 Действия над массивами
- •6.3 Действия над элементами массива
- •6.4 Инициализация массива
- •6.5 Ввод и вывод элементов массива
- •6.6 Примеры программ
- •7. Двумерные массивы
- •7.2. Описание двумерных массивов
- •7.3. Примеры программ
- •Домашняя контрольная работа по предмету "Программирование" Общие указания
- •Вариант 5
- •Вариант 7
- •Вариант 8
- •Литература
- •Программа, методические указания и контрольные задания
Программа
PROGRAM E31;
VAR N:INTEGER; {номер дня недели}
BEGIN
WRITELN('введите номер дня недели');
READ(N);
CASE N OF
1: WRITELN('понедельник - monday');
2: WRITELN('вторник - tuesday');
3: WRITELN('среда - wednesday');
4: WRITELN('четверг - thursday');
5: WRITELN('пятница - friday');
6: WRITELN('суббота - saturday');
7: WRITELN('воскресенье - sunday');
END
END.
Результат выполнения программы:
введите номер дня недели:
5
пятница - friday
5.8 Пример использования оператора цикла for
Составить программу вычисления K первых членов арифметической прогрессии, заданных рекуррентной формулой An+1 = An + 2, где A1=5, K=6.
Введем обозначения: X - член арифметической прогрессии An, K - количество членов прогрессии, N - параметр цикла.
Исходными данными задачи являются: значение первого члена арифметической прогрессии X и количество членов прогрессии - переменная K. Выходные данные - вычисленные значения членов арифметической прогрессии, начиная со второго и до последнего. Члены арифметической прогрессии вычисляются по рекуррентной формуле суммы X=X+2 в разделе операторов программы. Вычисление суммы повторяется оператором цикла FOR до тех пор, пока переменная цикла N не станет больше K.
Схема алгоритма решения задачи представлена на рис.4.
Программа:
PROGRAM PRIM1
{ раздел описания переменных }
VAR N, {параметр цикла}
K:INTEGER; {количество членов прогрессии}
X:REAL; {член прогрессии}
{раздел операторов}
BEGIN
X:=5.0; {первый член прогрессии}
K:=6;
WRITELN(' ':8,'Члены прогрессии');
WRITELN(' ':20,'X=',X:6:2);
FOR N:=2 TO K DO {начало цикла}
BEGIN
X:=X+2; {вычисление членов прогрессии}
WRITELN(' ':20,'X=',X:6:2)
END {конец цикла}
END.
Результат выполнения программы:
Члены прогрессии
X= 5.00
X= 7.00
X= 9.00
X=11.00
X=13.00
X=15.00
Пояснение к программе. Операторы вычисления переменной и вывода ее на экран дисплея образуют составной оператор, который повторяется оператором цикла FOR до тех пор, пока значение переменной N не станет больше K. После этого управление передается на оператор END. Программа заканчивает работу.
5.9 Пример использования оператора цикла while
Составить программу вычисления произведения m членов арифметической прогрессии, если известны значения первого члена a и разности арифметической прогрессии h, где m=50, a1=2.14, h=1.13.
Введем обозначения: A - член арифметической прогрессии a; H- разность арифметической прогрессии h; M - количество членов арифметической прогрессии m; Р - произведение членов арифметической прогрессии; I - переменная цикла. Исходными данными для решения задачи являются: первый член арифметической прогрессии - переменная A; разность арифметической прогрессии - константа H; количество членов арифметической прогрессии - переменная M.
PROGRAM PRIM2;
{раздел описания констант}
CONST
H=1.13;
{раздел описания переменных}
VAR
I, {параметр цикла}
M:INTEGER; {количество членов прогрессии}
A, {член прогрессии}
P:REAL; {произведение членов прогрессии}
BEGIN
WRITELN('Введите M=20, A=2.14');
READLN(M,A);
I:=0;
P:=1.0;
WHILE I<=M DO {начало цикла}
BEGIN
I:=I+1;
P:=P*A;
A:=A+H;
END; {конец цикла}
WRITELN(' ':20,'Произведение P=',P);
END.
Результат выполнения программы:
Введите M=20, A=2.14
20 2.14
Произведение P=1.095992E+22
Пояснение к программе. Операторы вычисления переменных A, P и I организованы в составной оператор и вместе с оператором цикла WHILE образуют тело цикла. Вычисление этих переменных повторяется, пока выполняется условие I<=M. В противном случае управление из тела цикла передается на оператор вывода WRITELN и программа заканчивает работу.
