Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на прг.docx
Скачиваний:
17
Добавлен:
04.08.2019
Размер:
41.01 Кб
Скачать

Б15) оператор выбора. Пример.

Если при решении задачи нужно выбирать одно действие из нескольких возможных, то используют, как сказано выше, множественный выбор. Для его реализации существует в PASCALе оператор выбора CASE.

Формат записи оператора:

Case < выражение-селектор> of

<Список 1>: A1 ;

<Список n>: An;

[ Else An+1 ]

end;

A1 , … , An+1 – простые или составные операторы.

Списки состоят из констант выбора (константа может быть одна).

Оператор Case работает так: сначала вычисляется значение выражения-селектор, затем оно сравнивается с каждым списком и при совпадении значений выполняется соответствующий оператор, если совпадения не произошло, то выполняется оператор, стоящий за словом Else. Выражение-селектор должно относиться либо к целочисленному, либо к булевскому, либо к символьному типу.

Б16) цикл с параметром

Формат оператора: Блок-схема оператора:

For i := N1 to N2 do A;

For i := N1 downto N2 do A;

I - переменная

N1 – начальная

N2 – конечная

A – простой или составной оператор

Переменная i пробегает все значения от N1 до N2, при этом для каждого значения i выполняется тело цикла A, в случае to значение i увеличивается на 1, а в случае downto значение i уменьшается на 1.

Б17) основные алгоритмы: нахождение суммы, макс, подсчёт количества по заданному условию.

Накопление суммы:

1. Исходные данные

N – количество чисел

A – переменная для обозначения ввода

2. Результат

S – сумма чисел

3. Метод решения задачи

Составляем рекуррентное соотношение

Sk=Sk-1+a1S0=0

Используя её сделали последовательное суммирование наличия с k=1 и до k=N.

Program summa;

Uses crt;

Var n, i:integer; a, s:real;

Begin Clrscr;

S:=0;

Write(‘Введите число N=’); Readln(n);

For i:=1 to N do begin

Write(,’число =’); Readln(a);

S:=s+a; end;

Writeln(сумма’=,s:6:2);

Textcolor(15+16);

Goto(25;25); Write(‘Нажмите любую клавишу’);

ReadKey;

End.

Нахождение наибольшего элемента:

1. Исходные данные.

N – количество чисел

A – переменная для обозначения ввода

2. Результат

Max=большее из чисел

3.Метод решения задачи.

Сравниваем два числа, запоминаем большее, каждый раз сравниваем выбранное число со следующим и запоминаем большее, перебирая все числа.

Program demo;

Uses crt;

Var n,a,I,max:integer;

Begin Clrscr;

Write(‘n=’); Readln(n);

Readln(‘a’,max);

For i:=1 to n do begin

Write(‘a=’); Readln(a);

If a>max then max:=a; end;

ReadKey;

End.

Подсчёт количества значений:

Задача: Требуется подсчитать количество цифр в десятичной записи числа заданного случайным образом.

1. Исходные данные. N

2. Результат. S – количество цифр

3. Метод. Пошаговое деление N на 10, до тех пор пока в результате не получится 0.

K=N – вспомогательная переменная.

Program shet;

Uses crt;

Var n,k:longint; s:integer;

Begin Clrscr;

Randomize;

N:=1000+Random(100 000);

K:=N;

While k<>0 do begin

K:=K div10;

Inc(s); end;

Writeln(s,’цифр’);

ReadKey;

End.

Б18) цикл с условием. Пример использования

Существуют 2 цикла с условием: с предусловием (Пока) и с постусловием (До).

Формат оператора: Блок-схема оператора:

Цикл с постусловием(До).

Для записи такого цикла в Pascal имеется оператор Repeat.

Repeat A until B

A – простой или составной оператор

B – выражение булевского типа

(Нач. присваивание->тело цикла->условие)

Цикл с предусловием(Пока).

Для записи такого цикла в Pascal имеется оператор While.

While B do A

A – простой или составной оператор

B – выражение булевского типа

(Нач. присваивание->условие->тело цикла).

Б19) оператор выбора. Пример использования

Если при решении задачи нужно выбирать одно действие из нескольких возможных, то используют, как сказано выше, множественный выбор. Для его реализации существует в PASCALе оператор выбора CASE.

Формат записи оператора:

Case < выражение-селектор> of

<Список 1>: A1 ;

<Список n>: An;

[ Else An+1 ]

end;

A1 , … , An+1 – простые или составные операторы.

Списки состоят из констант выбора (константа может быть одна).

Оператор Case работает так: сначала вычисляется значение выражения-селектор, затем оно сравнивается с каждым списком и при совпадении значений выполняется соответствующий оператор, если совпадения не произошло, то выполняется оператор, стоящий за словом Else. Выражение-селектор должно относиться либо к целочисленному, либо к булевскому, либо к символьному типу.

Б20) метод нисходящего программирования. Подпрограммы.

Процесс разбиения задачи на подзадачи до тех пор, пока не получатся самостоятельные фрагменты алгоритма подпрограммы называются методом несходящего программирования (метод по шаговой детализации).

Подпрограмма - обособленная оформленная в виде отдельной алгоритмической конструкции, часть программы.

Различают 2 вида подпрограмм: процедуры и функции.

Процедура – независимая именованная часть программы, которую можно вызывать по имени для выполнения действий.

Функция – аналогично процедуре и отличается от неё тем, что возвращает в основную программу единственный результат.

Б21) процедуры и функции

Процедура – независимая именованная часть программы, которую можно вызывать по имени для выполнения действий.

Процедура имеет структуры программы, описание процедуры включает в себя заголовок и тело процедуры.

Procedure <имя> (формальные параметры);

[Const]

[Type]

[Var]

Begin

<операторы>

End;

Обращение к подпрограмме – процедуре осуществляется путём указания её имени и списка фактических параметров в круглых скобках.

Функция – аналогично процедуре и отличается от неё тем, что возвращает в основную программу единственный результат.

Обращение к функции аналогично обращению к стандартной функции.

Function <имя> (формальные параметры);

[Const]

[Type]

[Var]

Begin

<операторы>

End;