- •Алгоритмы, структуры данных и программирование
- •Қасымқанұлы Бөрібай, к.Ф.-м. Н., доцент кафедры высшей математики Костанайского государственного педагогического института
- •Работа №1
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •1 Способ:
- •2 Способ:
- •3 Задачи
- •Работа №2
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •4 Тесты
- •3 Задачи
- •4 Тесты
- •Работа №3
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Примеры решения задач
- •3 Задачи
- •4 Тесты
- •Работа №4
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №5
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №6
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №7
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы.
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №8
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №9
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №10
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №11
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №12
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №13
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №14
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №15
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Контрольные вопросы
- •Ответы к тестовым заданиям
4 Тесты
Истина или ложь?
Каждое из представленных ниже утверждений либо верно, либо нет.
Можно ли использовать в условных операторах при формировании условия логические операторы NOT, AND, OR?
Верно ли, что после зарезервированных слов THEN и ELSE в операторе ветвления может быть указан только один оператор?
В Turbo Pascal предусмотрен единственный условный оператор – IF.
Оператор ветвления позволяет осуществить выбор одной из двух альтернатив.
В качестве констант выбора в операторе CASE могут использоваться только одиночные константы.
В Turbo Pascal допускается вложенность условных операторов.
Используемые в операторе CASE константы выбора являются метками.
В качестве условия в операторе ветвления может быть переменная логического типа.
Оператор выбора имеет полную и сокращенную форму записи.
Результат сравнения в условии оператора ветвления не всегда представляет собой значение логического типа.
Работа №2
Тема: Программирование циклического процесса
Цель: Ознакомиться с операторами повторения и научиться составлять алгоритмы задач с циклическими процессами
1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
Перед тем, как приступить к выполнению лабораторной работы, студенту необходимо ознакомиться со следующим материалом:
с назначением, синтаксисом и особенностью оператора for;
с назначением, синтаксисом и особенностью оператора while;
с назначением, синтаксисом и особенностью оператора repeat;
c синтаксисом и назначением составного оператора;
c синтаксисом и назначением оператора перехода.
2 Пример решения задачи
В
задачах вычислительной математики
часто встречаются обозначения типа
,
и т.д. В первом случае это означает, что
выражение следует просуммировать (m-n)
раз, а во втором случае – выражение
необходимо перемножить (m-n)
раз.
Если процесс, например сложение, не трудоёмок и повторяется не большое, заранее известное количество раз, то можно запрограммировать его в виде линейной схемы, но такие задачи на практике редки. Поэтому для решения задач такого типа используются операторы цикла.
Вычислить факториал заданного числа.
Факториалом
называется произведение всех натуральных
чисел от 1 до заданного числа. В математике
факториал числа n
обозначается следующим образом: n!.
Эту же запись можно представить в виде
.
Представим решение этой задачи четырьмя способами.
Способ 1: использование цикла с возрастающим параметром.
for i=1 to n do
fact:=fact*i;
{в этой строе происходит задание специальному параметру (переменной i) начального (1) и конечного (n) значений. Зарезервированное слово to означает, что параметр i будет постепенно увеличиваться на 1}
{последовательное
домножение результирующего значения
на промежуточное натуральное число
.}
Поскольку изначально значение результата fact неизвестно, его необходимо определить таким образом, чтобы первоначальное значение не повлияло на результат. При операции умножение таким значением является 1.
program factor;
uses crt;
var n,i: integer;
fact: longint; {при вычислении факториала получающиеся значения часто выходят за диапазон типа integer}
begin
writeln(‘введите натуральное число n’);
readln(n);
fact:=1;
for i=1 to n do fact:=fact*i;
writeln(‘Ответ’,n);
end.
Способ 2: использование цикла с убывающим параметром.
for i=n downto 1 do
fact:=fact*i;
{в этой строе происходит задание специальному параметру (переменной i) конечного (n) и начального (1) значений. Зарезервированное слово downto означает, что параметр i будет постепенно уменьшаться на1}
{последовательное домножение результирующего значения на промежуточное натуральное число .}
program factor;
uses crt;
var n,i: integer;
fact: longint;
begin
writeln(‘введите натуральное число n’);
readln(n);
fact:=1;
for i:=n downto 1 do fact:=fact*i;
writeln(‘Ответ’,fact);
end.
Способ 3: использование цикла с предусловием.
while i<=n do
|
{задается условие, в случае истинности которого происходит выполнение оператора цикла и если условие изначально ложно, программа передаст управление на строку, расположенную за циклом.} |
begin |
{поскольку необходимо произвести умножение и перейти к следующему натуральному числу, на которое необходимо домножить переменную fact (результирующее значение), т.е. выполнить два оператора присваивания, а в теле цикла while может быть только один оператор, используется открывающая скобка begin составного оператора}
|
fact:=fact*i; |
{происходит домножение переменной fact на натуральное число} |
i:=i+1; |
{осуществляется переход к следующему натуральному числу} |
end; |
{закрытие тела оператора} |
program factor;
uses crt;
var n,i: integer; fact: longint;
begin clrscr;
writeln(‘введите натуральное число n’); readln(n);
fact:=1; i:=1;
while i<=n do begin fact:=fact*i; i:=i+1; end;
writeln(‘Ответ’,fact);
end.
Способ 4: использование цикла с постусловием.
repeat |
{открывающая скобка составного оператора} |
fact:=fact*i; |
|
i:=i+1; |
|
until i>n; |
{последовательность операторов (тело) выполняется до тех пор пока условие ложно} |
program factor;
uses crt;
var n,i: integer; fact: longint;
begin
clrscr;
writeln(‘введите натуральное число n’);
readln(n);
fact:=1; i:=1;
repeat fact:=fact*i; i:=i+1; until i>n;
writeln(‘Ответ’,n);
end.
