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

2)Оператор цикла Паскаля с предусловием

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

Пусть, например, дано вещественное число М. Требуется найти наименьшее целое неотрицательное число k, при котором 3 k> M. Эту задачу можно решить по следующему алгоритму: предварительно положить y=1 и k=0; затем в цикле домножать значение y на 3 и увеличивать значение k на 1 до тех пор, пока текущее значение y впервые окажется больше значения М. На первый взгляд, здесь можно воспользоваться оператором цикла с постусловием:

Пример кода оператора цикла Паскаля с постусловием

y:=1; k:=0; Repeat    y:=y*3;    k:=k+1; Until y> M;

Однако нетрудно убедиться в том, что при M<1 будет получен неправильный результат k=1, тогда как должно быть получено k=0: в этом случае предварительно сформированное значение k=0 является окончательным результатом и действия, предусмотренные в цикле, выполняться не должны.

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

While B do S,

где while (пока), do (делать, выполнять) – служебные слова, В – логическое выражение, S – оператор. Здесь оператор S выполняется ноль или более раз, но перед каждым очередным его выполнением вычисляется значение выражения В, и оператор S выполняется только в том случае, когда значение выражения В true. Выполнение оператора цикла завершается, когда выражение В впервые принимает значение false. Если это значение выражение В принимает при первом же его вычислении, то оператор S не выполнится ни разу.В рассматриваемой нами задаче правильное значение k при любом значении М может быть получено следующим образом:

Пример кода оператора цикла Паскаля с предусловием

y:=1; k:=0; While y<=M do Begin    y:=y*3;    k:=k+1; End;

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

Label m1;

Var i,n:integer; x,y:real;

Begin

Write('Vvedite n');

Read(n);

i:=1;

m1:Write('Vvedite x');

Read(x);

If x<=-3

then y:=abs(2*x-7)

else

if x>0

then y:=exp(-4*x)-7*x

else y:=5*sqr(x+1)+5*(x+2);

write('y=',y:10:3);

i:=i+1;

if i<=n then goto m1;

end.

23 Билет

1. Табличные базы данных (БД): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы работы с ними. Поиск, удаление и сортировка данных в БД. Условия поиска (логические выражения); порядок и ключи сортировки. Что такое база данных и информационная система База данных (БД) — совокупность определенным образом организованной информации на какую-то тему (в рамках не­которой предметной области). Примеры:

база данных книжного фонда библиотеки;

база данных кадрового состава учреждения;

база данных законодательных актов в области уголовного права;

база данных современных эстрадных песен.

Конечно, вся эта информация может храниться и на бума­ге (например, книжный каталог библиотеки). Но современ­ным средством хранения и обработки баз данных является, безусловно, компьютер. В дальнейшем мы будем иметь в виду только компьютерные БД. Базы данных бывают фактографическими и докумен­тальными . В фактографических БД содержатся краткие сведения об описываемых объектах, представленные в строго определен­ном формате. Из приведенных выше примеров две первые БД, скорее всего, будут организованы как фактографические. В БД библиотеки хранятся библиографические сведения о каждой книге: год издания, автор, название и пр. Разумеет­ся, текст книги в ней содержаться не будет. В БД отдела кад­ров учреждения хранятся анкетные данные о сотрудниках: фамилия, имя, отчество, год и место рождения и т. д. Базы данных в третьем и четвертом примерах наверняка будут организованы как документальные. Первая из них бу­дет включать в себя тексты законов; вторая — тексты и ноты песен; биографическую и творческую справочную информа­цию о композиторах, поэтах, исполнителях; звуковые записи и видеоклипы. Следовательно, документальная БД со­держит обширную информацию самого разного типа: тексто­вую, графическую, звуковую, мультимедийную. Современные информационные технологии постепенно стирают границу между фактографическими и документаль­ными БД. Существуют средства, позволяющие легко под­ключать любой документ (текстовый, графический, звуко­вой) к фактографической базе данных. Сама по себе база данных не может обслужить запросы пользователя на поиск и обработку информации. БД — это только «информационный склад». Обслуживание пользова­теля осуществляет информационная система. Информационная система — это совокупность базы данных и всего комплекса аппаратно-программных средств для ее хранения, изменения и поиска информации, для взаимодействия с пользователем. Примерами информационных систем являются системы продажи билетов на пассажирские поезда и самолеты. WWW — это тоже пример глобальной информационной си­стемы. База данных — организованная совокупность данных, предназначенная для длительного хранения во внешней памяти компьютера и постоянного применения. Для хранения БД может использоваться как один компью­тер, так и множество взаимосвязанных компьютеров. В пер­вом случае база данных называетсяцентрализованной. Если различные части одной базы данных хранятся на множестве компьютеров, объединенных между собой сетью, то такая БД называется распределеннойбазой данных. Очевидно, информацию в Интернете, объединенную «пау­тиной» WWW, можно рассматривать как распределенную базу данных. Распределенные БД создаются также и в локальных сетях. Реляционные базы данных Информация в базах данных может быть организована по-разному. Чаще всего используется табличный способ. Реляционные базы данных имеют табличную форму организации. В реляционных БД строка таблицы называется записью, а столбец — полем. В общем виде это выглядит так:  В реляционной базе данных не должно быть совпадающих записей. Первичный ключ БД Разные поля отличаются именами. А чем отличаются друг от друга разные записи? Записи различаются значения­ми ключей. Первичным ключом в базе данных называют поле (или совокупность полей), значение которого не повторяется у разных записей. В БД «Домашняя библиотека» разные книги могут иметь одного автора, могут совпадать названия книг, год издания, полка. Но инвентарный номер у каждой книги свой (поле НОМЕР). Он-то и является первичным ключом для записей в этой базе данных. Первичным ключом в БД «Погода» явля­ется поле ДЕНЬ, так как его значение не повторяется в раз­ных записях. Не всегда удается определить одно поле в качестве ключа. Пусть, например, в базе данных, которая хранится в компью­тере управления образованием области, содержатся сведения о всех средних школах районных центров (табл. 1.)

Город

Номер школы

Директор

Адрес

Телефон

Крюков

1

Иванов А.П.

Пушкина, 5

12-35

Шадринск

1

Строев С.С.

Лесная, 14

4-23-11

Шадринск

2

Иванов А.П.

Мира, 34

4-33-24

В такой таблице у разных записей не могут совпасть толь­ко одновременно два поля ГОРОД и НОМЕР ШКОЛЫ. Эти два поля вместе образуют составной ключ: ГОРОД-НОМЕР ШКОЛЫ. Составной ключ может состоять и более чем из двух полей. Типы полей.С каждым полем связано еще одно очень важное свойст­во — тип поля. Тип поля определяет множество значений, которые может принимать данное поле в различных записях. В реляционных базах данных используются четыре основ­ных типа поля:

числовой;

символьный;

дата;

логический.

Числовой тип имеют поля, значения в которых могут быть только числами. Например, в БД «Погода» три поля числового типа: ТЕМПЕРАТУРА, ДАВЛЕНИЕ, ВЛАЖНОСТЬ. Символьный тип имеют поля, в которых будут хранить­ся символьные последовательности (слова, тексты, коды и т. п.). Примерами символьных полей являются поля АВТОР и НАЗВАНИЕ в БД «Домашняя библиотека»; поле ТЕЛЕФОН в БД «Школы». Тип «дата» имеют поля, содержащие календарные даты в форме «день/месяц/год» (в некоторых случаях использует­ся американская форма: месяц/день/год). Тип «дата» имеет поле ДЕНЬ в БД «Погода». Логический тип имеют поля, которые могут принимать всего два значения: «да», «нет» или «истина», «ложь», или (по-английски) «true», «false». Если двоичную матрицу представить в виде реляционной БД, то ее по­лям, содержащим значения «О» или «1», удобно поставить в соответствие логический тип. Итак, значения, находящиеся в полях, — это некоторые величины определенных типов. От типа величины зависят те действия, которые можно с ней производить. Например, с числовыми величинами можно выполнять арифметические операции, а с символьными и логически­ми — нельзя. Назначение СУБД Уже много раз говорилось о том, что любую работу компьютер выполняет под управлением программ. Значит, и для работы с базами данных требуется специальное про­граммное обеспечение. Такое программное обеспечение на­зывается системой управления базами данных или сокра­щенно СУБД. Программное обеспечение, предназначенное для работы с базами данных, называется системой управления базами данных (СУБД). Системы, работающие с реляционными базами данных, называются реляционными СУБД. С помощью реляционной СУБД можно работать как с однотабличной базой данных, так и с базой, состоящей из множества связанных между со­бой таблиц. Мы рассматривали на практике только однотабличные базы данных в СУБД Access 2007. С помощью СУБД вы будете создавать таблицы и сохра­нять их на магнитном диске в виде файлов. Каждый файл имеет свое имя. Если вы сами создаете таблицу и сохраняете ее в файле, то сами вы и придумываете имя для файла. Если же вы хотите работать с уже готовой базой, то вы должны уз­нать, в файле с каким именем, на каком диске и в каком ка­талоге она хранится.

2) Оператор цикла с параметром. Привести фрагмент программы.

Оператор цикла с параметром

Оператор цикла с параметром организует выполнение одного оператора заранее известное количество раз.

Структура оператора

Существуют два варианта оператора

Вариант первый

For i:=<start> to <finish> do <оператор>;

Вариант  второй

For i:=<start> downto <finish> do <оператор>;

В этих структурах:

i — параметр цикла;

<start> — начальное значение параметра;

<finish> — конечное значение параметра;

<оператор> — тело цикла;

Тип переменной цикла i и значений <start > и <finish> должен быть порядковым!

Порядок выполнения оператора:1.      Вычисляются и запоминаются начальное — start, и конечное — finish, значения параметра цикла. Start и finish могут быть представлены в виде конкретного значения (в этом случае нет необходимости в вычислениях) или в виде выражения, значение которого вычисляется в начале выполнения цикла.параметром; второй вариант — с убывающим параметром.

Если при первой же проверке, параметр цикла не будет удовлетворять условий пункта 3, то тело цикла не выполниться ни разу.

Телом цикла может быть только один оператор. для того, чтобы в теле цикла с параметром выполнить несколько операторов, их необходимо  объеденить операторными скобками Begin и End.

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

BreakЧасто говорят, что первый вариант оператора цикла с параметром — цикл с возрастающим2.      Параметру цикла i присваивается значение start.

3.      Значение параметра цикла i сравнивается со значением finish. Оператор "тело цикла" будет выполняться при выполнении следующего условия:            первый вариант оператора: i<=finish;            второй вариант оператора: i>=finish; В противном случае происходит прекращение выполнения циклического оператора.

4.      Параметру цикла присваивается:            первый вариант оператора: следующее большее значение;            второй вариант оператора: следующее меньшее значение.

5.      Выполняется пункт 3 данной схемы.зволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода.

Continue

Процедура Continue может использоваться во всех операторах цикла. Она позволяет перейти к "началу" цикла или к следующему выполнению тела цикла, даже если выполнение тела тела цикла не завершено. Другими словами, эта процедура позволяет прекратить выполнение тела цикла. При этом выполнение самого циклического оператора не прекращается.

Примеры применения

Вычислить сумму S=1+1/2+1/3+…+1/50.

Procedure TForm1.Button1Click(Sender:TObject);

Var i:Integer;

      s:Real;

Begin

s:=0;

For i:=1 to 50 do s:=s+1/I;Процедура Break может использоваться во всех циклических операторах. Эта процедура поLabelN.Caption:=FloatToStr(s);

End;

Label m1;

Var n,i:integer;x,y:real;

Begin

Write('Vvedite n');

Read(n);

i:=1;

m1:Write('Vvedite x');

Read(x);

If x<1

then y:=sin(x)+2

else

If x>5

then y:=sin(x)/cos(x)

else y:=cos(x)-2;

write('y=',y:0:3);

i:=i+1;

If i<=n then goto m1

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]