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

Билет№7

  1. Циклы с пред условиями

//Эта циклическая структура образована словами

// WHILE DO

// (пока) (выполнять)

//

2)

//Схема записи:

// -----------------------------------

// While условие продолжения цикла Do

// оператор <- тело цикла

// -----------------------------------

3)Отличие состоит в том что в цикле с постусловием цикл завершится в случае когда условие станет истинным, в цикле же с предустловием наоборот – ложным.

4)

//=========================

//НАЙТИ СТАРШУЮ ЦИФРУ ЧИСЛА

//=========================

Write('n = '); ReadLn(n); //Ввод значения n

n:=Abs(n); //Взятие по модулю

While n>9 Do //Цикл удаления цифр

n:=n Div 10; //Частное

WriteLn('Result: ',n);

//========================

//ВЫЧИСЛИТЬ НОД ДВУХ ЧИСЕЛ

//========================

Write('n m = '); ReadLn(n,m); //Ввод значений n, m

n:=Abs(n); m:=Abs(m); //Взятие по модулю

While m<>0 Do //Цикл поиска НОД

Begin

p:=n Mod m; //Остаток

n:=m; m:=p; //Обмен значениями

End;

WriteLn('Result: ',n);

ReadLn;

End.

Билет №8:

  1. Порядковые типы данных характеризуются тем что их значения пронумерованы целими числами, эти номера называются кодами. Например все целые типы являются порядковыми, коды совпадают с самим числом, логические данные так же порядковые, т.к. значению False назначен код 0 а True – 1, символьные данные так же порядковые, они занумерованы от 0 до 255, к непорядковым относятся вещественные числа, строки и т.д.

  2. Для каждого порядкового типа можно получить его код, для этого используется функция Ord, например Ord(‘A’) – код буквы А – число 65. Порядковые типы обладают тем свойством что среди данных такого типа имеются первое и последнее, а для любого данного этого типа можно найти предыдущее и последующее. Пусть х – данное такого типа, тогда предыдущее данное возвращается функцией Pred(x); следующее - Succ(x); например Write(Pred(‘A’), Succ(‘A’)); выведет на экран @B.

  3. Эти циклы образуются ключевыми словами for, to(DownTo), Do что означает: Для, по направлению вперёд(назад), выполнить соответственно. В формировании цикла учавствует некоторая переменная порядкового типа, её называют счётчиком цикла (тип любой). Перед выполнением цикла счётчику назначается начальное значение, которое меняется с каждым витком цикла, описание цикла начинается заголовком, например: Var i:integer

Begin

в этом случае счётчик начинается со значением 5 и заканчивается значением 10, всё вместе называется заголовком цикла.

Далее пишется тело цикла в виде 1го оператора и ; перед началом выполнения цикла проверяется непротиворечивость начального и конечного значения счётчика, если будет найдено противоречие то цикл не выполнится, в противном случае счётчику присваивается начальное значение и делается первый виток (т.е. первый раз выполняется тело) по окончанию счётчик изменяет своё значение в заданном направлении, затем проверяется остаётся ли это значение внутри заданного диапазона, если да то тело цикла выполняется повторно и делается новая проверка, если нет то цикл завершается, по окончанию цикла счётчик оказывается за пределом цикла. Примеры:

Var i,n,s:integer; c:char;

Begin (вывести все обыкновенные символы)

Write(‘Result ’);

For c:=’ ‘ To #255 Do

Write(c);

Вывести все делители целого числа:

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

For i=1 To Abs(n) Do

If n Mod i=0 then write(I,’ ‘);

Writeln;

Проверить простоту числа:

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

c:=’Y’;

For i=2 To Trunc(Sqrt(Abs(n))) Do

If n Mod i=0 Then Begin c:=’N’; Break; End;

Writeln(‘Result ‘,c);

//========================================

//ПРОВЕРИТЬ ФОРМУЛУ

// 3 3 3 2

// 1 + 2 + ... + N = (1+2+...+N)

//========================================

Write('n = '); ReadLn(n);

c:='Y';

s:=0;

For i:=1 To n Do

Begin

s:=s+i*i*i;

If 4*s<>sqr(i*(i+1)) Then c:='N'; //Если формула не верна

End;

WriteLn('Result: ',c);

ReadLn;

End.

  1. Не знаю такого 