close

Вход

Забыли?

вход по аккаунту

?

3943 nurbekova j. k praktikum resheniya zadach na delphi 5.0

код для вставкиСкачать
Учебно-методическое пособие
ЭВЕРО
ШвйШШ
ПРАКТИКУМ РЕШЕНИЯ ЗАДАЧ
НА БЕЬРШ 5.0
Учебно-методическое пособие
ЭВЕРО
Алматы 2015
УДК 004.43(075,8)
ББК 32.973-018.1я73
Н 90
Рецензенты:
доктор педагогических наук, профессор Е.Ы. Бидайбековкандидат физико-математических наук Ж.Ж. Жанабеков •
кандидат технических наук, доцент
И.В. Захаров.
Нурбекова Ж.К.
Н ,°
п Г Г ^ Р™
задач на 0 е |Ры 5.0: Учебно-методические
Пособие/ Ж.К. Нурбекова - Алматы: Эверо, 2015.- 108 с.:ил.
978-601-240-573-6
Учебно-методическое пособие подготовлено в соответствии с
программой курса "Языки программирования" для индивидуальной и
амостоятельнои работы студентов
специальностей 0105Информатика, 0301-Математика и физика, 0302-Физика и
информатика, а также полезно для широкого круга читателей
интересующихся
УДК 004.43(075.8)
ББК 32.973-018.1я73
18В$ 978-601-240-573-6
То
р
а
й
гы
с
с
*
т
т
аты нда^ы ПМ У-Д 'Н
академ ик С.Еейсембае*
атындагы гыпыми
К 1Т А П Х А Н А С Ы
, . . Ш
§
| 2| «*•
Визуальное программирование позволило свести проектирование
пользовательского интерфейса к простым и наглядным процедурам,
которые дают возможность за минуты или часы сделать то, на что
ранее уходили месяцы работы. Как это выглядит в Ое1рЫ?
Вы работаете в Интегрированной Среде Разработки (1п1е§га1е(1
(1еуе1ортеп1 епуноптеЩ- ШЕ) Ое1рЫ. Среда предоставляет вам
формы (в приложении их может быть несколько), на которых
размещаются компоненты. Это оконные формы, которые могут быть
невидимыми. На форму с помощью мыши переносятся и размещаются
пиктограммы компонентов, имеющихся в библиотеках Ое1рЫ. С
помощью несложных манипуляций вы можете изменять размеры и
расположение этих компонентов. При этом вы все время в процессе
проектирования видите результат- изображение формы и
расположенных на ней компонентов. Результаты проектирования
можно видеть,
не компилируя программу, немедленно после
выполнения какой-либо операции с помощью мыши.
Самое главное достоинство визуального программирования в
том, что во время проектирования формы и размещения на ней
компонентов Ое1рЫ автоматически формирует коды программы,
включая в нее соответствующие фрагменты, описывающие данный
компонент. Проектирование сводится к размещению компонентов на
форме, заданию некоторых их свойств и написанию, при
необходимости, обработчиков событий.
В данном учебно-методическом пособии мы рассмотрим вопросы
общей организации программы. Программа, которую строит Ое1рЫ в
процессе проектирования вами приложения, основана на модульном
принципе. Принцип модульности очень важен для создания надежных
и относительно легко модифицируемых и сопровождаемых в
приложении. В первой части рассматривается технология
проектирования модулей с использованием основных конструкции
языка. Во второй части раскрывается принцип модульности.
I ЧАСТЬ. ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ С
ИСПОЛЬЗОВАНИЕМ ОСНОВНЫХ КОНСТРУКЦИЙ ЯЗЫКА
Тема1. Основы визуального программирования. Настройка
Ое1рЫ
Программирование на М рЬ]
строится на тесном
взаимодеиствии двух процессов: процесса конструирования
визуального проявления профМммы и процесса написания кода. Для
начала работы в среде необходимо настроить среду. Для этого:
1) Создать основной каталог Р12МАТ С1ШРРА2) В Р12МАТ-С1ШРРА создать подкаталоги для’программьг
Например, РОМ_ 1.
3) Настройка среды Ое1рЫ -для дальнейшего автоматического
сохранения на диске последней версии создаваемой программы:
3.1 1оо18/Епу1гоптеп1 Орйош:
Елшгоптем Орйоп
РЫейе
Р ЕсН!ог$е§.
^
.V •' т' ■
}• Г гогт йаддпес — -г-г—
Й-Щ ^р !в у дпс(
щ^ЗпввШдпс!
Й&С
сотропвп! сарйопв
& ЗКд*гс&^дпег>цп&
| Р Йр* *огтз а&!ё*1
1Д В Д ? <
»* _ *-"Ч' ~*«Г
Ж
^
& Ргб}ес( 0ез)$1ор
Д ’ >
- < \* |^ь ^^В ^Я К 1
-
*
Ое&Морссмшйз—
—
/• ОвбИороп^г
/
*
ш•
г>ъ.
.*Я. .
5™*I |
* » 4^
м***
»
- . !^‘*|% •- •
•*• »
■ —
СотрШпд апй едпп&д— —
- -
1" »
.. ^ т , - - ,
‘ " „ „ д,
ръятц
& }Шф оп раскаде геЬшЮ
Г Мтяше оп гип
Р НкЗе^51дпегз ог»гип
7
Ж
» г*«> • _ , т * Т
*•
’
Г"""*■-
С 0б5кюр апс! дутЬЫз
«в^г* Г у * * * * —
«%* ь ^
] & Ау1о сгва!в Ьгт§
* я
- ~*
^
*■к 4* > ** *
*ОяЙв«еХ I
. ^
; Опйвггв У:
2&вгес*герозйоту
0 »1вс(огу: I
Рис. 1
3.2 В появившемся диалоговом окне
а) выбрать страницу Рге^егепсез;
Аи1озауе Орйопз,
'I
Ь _ ■.
|
-переключатель ЕсМогШез,
-переключатель БезкЮр.
б) щелкнуть мышью по переключателям Е<й1огй1ез и Беек 1ор:
4) для прослеживания хода компиляции, активизировать 8Ьо\у
сотрПег рго§гезз в группе СотрИш§ апс1 гипшп§;
5) выбрать шрифт для комментариев (по умолчанию Бе1рЫ
использует шрифт Соипег Иеху):
5.1 Выбрать страницу Б1$р1ау в строке Ес1Пог Роп1;
5.2 Установить Соипег № \у 8уг;
В главном окне н а ж а т ь |||
и л и (Р9);
6) Задать имя своему модулю:
8ауе
Аз < имя модуля>;
Например: Му_Шк_ 1;
Задается также имя проекта в целом (для ЕХЕ-файла); Имена в Ое1рЫ
состоят из латинских букв, цифр, знака подчеркивания(_).
□ Элементы Программирования на (Ицес* Ра$са1
Ввод данных в программном модуле можно осуществить через
окно ввода, поле ввода диалогового окна или файла.
Ввод данных из окна ввода осуществляется вызовом функции
шриДОох, возвращаемым значением
которой является строка,
введенная пользователем. В общем виде инструкция для ввода данных
с использованием функции шрц1Вох выглядит так!
Переменная:—1при1Вох (Заголовок, Подсказка, Значение);
где
Переменная - имя переменной строкового типа, значение которой из
окна ввода;
Заголовок - текст заголовка окна ввода;
подсказка - текст поясняющего сообщения;
Значение - текст, находящийся в поле ввода в момент появления окна
ввода на экране.
Например, в программе инструкция ввода может выглядеть
следующим образом:
8:=1приШох(,Инструкция '/Введите исходные данные',") ;
Выполняется эта инструкция следующим образом. На экран
выводится окно ввода. Пример окна ввода на Рис.2.
РУКЦИИ
Введите исходные данные
Рис.2
клавиатуре)
окна
и л или е-апсе!, переменная Ь получит значение: введенную строку
если щелчок был на кнопке ОК, или, если щелчок был на кнопке
Сапсе1, предопределенное значение, указанное при вызове функции
шриШох в качестве ее аргумента. Значение функции шриШох
строкового ($1гш§) типа. Для получения значения числового типа,
необходимо введенную строку (изображение числа) преобразовать в
число при помощи соответствующей функции преобразования.
Например, если в программе переменная 1 вещественного (геа1)
типа, то инструкции, обеспечивающие ввод ее значения могут
выглядеть так:
§:=1приШох(",'Введите значение переменной' ")•
1:=8йТоР1оа1(8);
Ввод данных из поля ввода диалогового окна можно
осуществить обращением к свойству Тех* данного поля.
Если Е<Ш1 - это имя поля, предназначенного для ввода
неизвестного, то инструкция ввода значения переменной типа геа1
описывается следующим образом:
А:=8*гТоР1оа1(Е<Ш1.Тех*);
в данной инструкции параметр Тех1 является именем
внутренней переменной, свойства, поля ввода, которая содержит
текст, находящийся в поле.
Результат программы можно вывести в окно сообщения в поле
вывода диалогового окна, файл или на принтер.
Вывод в окно сообщения может осуществить вызовом
процедуры
или функции
8Ьо\уМез8а§е
Ме88а§е01е.
Процедура ЗЬо^Мезза^е позволяет вывести на
диалоговое окно с текстом и одной командной кнопкой
Рис.З
В общем виде инструкция вызова процедуры ЗЬо^Меззаее
выглядит так:
ЗЬо\уМе8за§е(Сообщение);
где Сообщение выражение строкового типа.
Например, на рис.4, приведен вид окна сообщения, полученного
в результате выполнения инструкции
ЗЬо\уМе$8а§е (Правильно!');
Неоходимо отметить, что заголовок окна сообщения, выводимого
процедурой 51кяуМезза§е, совпадает с именем исполняемого файла
приложения.
Функция Мез8а§е01§ позволяет снабдить сообщение одним из
стандартных значков ТУтсктз, например значком "Внимание", задать
количество и тип командных кнопок. На рис. 4 приведен пример окна
сообщения, полученного в результате выполнения инструкции
8:-Ме8за§еВ1§('Ответ неверный!''+# 13
+'Повторите теорию.', т1тГогшаПоп,[шЬОК1,0);
1п!огтаТ|оп
Ответ неверный!
Повторите теорию
значение которого позволяет
кнопки был завершен диалог.
[ виде обращение к функции Ме88а§еБ 1§ выглядит так:
МеззавеШ^Сообщение, Тип,Кнопки, КонтекстСправки)
где,
Сообщение - текст выводимого сообщения.
Тип - вид сообщения (информационные, предупреждающие или
сообщение об ошибке). Тип сообщения задается именованной
константой, определяющий тип сообщения, выводимого функцией
Ме5за§еВ1§.
Например:
М*\Уаппп§
Внимание/черный восклицательный
треугольнике/
Мйп&тайоп
Информация/синяя латинская 1 на фоне
облачка/
МШггог
крест в красном круге/
М*Сиз1о т
Пользовательское, /обычное, сообщение без значка/
МСопйпш&ш Запрос подтверждения /знак вопроса на фоне белогс
облачка/
вид кнопок
----- Ж—
V1
состоять из нескольких разделенных запятыми именованных
констант, записанных в квадратных скобках. Например, чтобы в окне
сообщения были кнопки ОК и Сапсе! список кнопки должен быть
соответствующие
тексты на кнопке:
Сонстанта
МЬУез
на кнопке
N0
ОК
Сапсе1
Не1р
МЬСапсе!
МЬАЬог!
МЪКейу
А Ь ог1
Допускаемые комбинации: тЬ0кСапсе1, тЪУезНоСапсе1 И
тЬАЬойКе1гу1§поге. Параметр контекстСправки определяет номер
экрана справочной системы, который появится при нажатии на
клавишу <Р1> в тот момент, когда окно сообщения находится на
8
экране. Если использование справочной системы не предусмотрено,
то при вызове функции Мезза§еВ1§ в качестве параметра
контекстСправки должен быть указан ноль.
Значение, возвращаемое функцией МеззавеБщ после щелчка на
одной из командных, дает возможность определить кнопку, на
которой был выполнен щелчок. Список констант, идентифицирующих
нажатую кнопку следующий:
Константа
шгАЬоЛ
гпгУез
тгОк
тгНейу
тг]Чо
тгСапсе1
тг1§поге
тгАН
Диалог завершен щелчком на кнопке
АЬоЛ
Уев
Ок
Яейу
N0
Сапсе1
1§поге
АН
Рассмотрим вывод в поле диалогового окна. Часть диалогового
окна, предназначенная для вывода информации, называется полем
вывода или полем метки. У каждого поля вывода есть имя. Для того,
чтобы в поле вывода появился текст, достаточно присвоить значение
свойству Сарйоп этого поля. Например, если ЬаЬе11 — это имя поля
вывода диалогового окна программы, то для вывода текста " Ответ
правильный ", достаточно записать:
ЬаЬе11.Сарйоп:=1Ответ правильный
Свойство Сарйоп поля метки можно рассматривать как
переменную символьного типа. Поэтому, для ввода в это поле
значение числового типа, исходное значение необходимо предвари­
тельно преобразовать в строку символов, например, при помощи
функции Р1оа1То81г или 1п1ТоЗй\
В системе программирования Ое1рЫ основная работа
программиста заключается в разработке подпрограмм. Организация
взаимодействия разработанных подпрограмм выполняется системой
Бе1рЫ.
На языке 01уес1 Разса1 основной программной единицей является
подпрограмма. Различают два вида подпрограмм: процедуры и
функции. Процедура и функция выполняют некоторую часть общей,
решаемой всей программой задачи. Отличие функции от процедуры
заключается в том, что с именем функции связано значение, поэтому
имя функции можно использовать в выражениях.
Рассмотрим структуру процедуры.
Процедура начинается заголовком, за которым следуют
описания констант, описания типов, описания переменных
инструкций.
Форма записи процедуры в общем виде:
Ргосеёиге Имя { СписокПараметров};
соп8( { описание констант};
1уре { описание типов ):
описание переменных
Ье§ш
исполняемые инструкции
епё;
процедуры
имя процедуры. Если у процедуры есть параметры
указываются после имени процедуры в скобках. Завершается
заголовок процедуры символом "точка с запятой".
Если в процедуре используются именованные константы, то они
объявляются в разделе объявления констант, который начинается
словом СОШ1.
За разделом констант следует раздел описания типов
начинающийся, словом 1уре. После раздела описания типов следует
раздел описания переменных, в котором объявляются все переменные
используемые в программе. Раздел описания переменных начинается
словом уаг. За разделом описания переменных следует раздел
инструкций. Раздел инструкций начинается словом Ъевш и
заканчивается словом епё, за которым следует символ "точка с
запятой ‘ Р«деле инструкции находятся исполняемые инструкции
процедуры.
О
Л
п
л
т
/
ч
т
*
"
I
)
____ ________________
Рассмотрим структуру функции. Функция начинается
заголовком, за которым следуют разделы: описания констант
описания типов, описания переменных и раздел инструкций.
Форма записи функции в общем виде:
Рипсйоп Имя (СписокПараметров): Тип;
сопз! { описание констант} 5
1уре { описание типов };
уаг { описание переменных };
Ье§&
{ исполняемые инструкции }•
еш1;
Заголовок функции начинается словом Рипсйоп, за которым
следует имя функции. После имени функции, в скобках, указывается
список параметров, за которым через двоеточие указывается тип
значения функции. Завершается заголовок функции символом "точка
с запятой . За заголовком функции следуют разделы: описания
констант, типов, инструкций.
В разделе инструкций помимо переменных, перечисленных в
разделе объявления переменных, можно использовать переменную
ге$и11. По завершении выполнения инструкций функции значение этой
переменной становится значением функции. Поэтому среди
инструкции функции обязательно должна быть инструкция,
присваивающая переменной ге$и1( значение. Как правило, эта
инструкция является последней исполняемой инструкцией функции.
Относительно записи инструкций программы: несколько
инструкций в одной строке допускается, однако обычно каждую
инструкцию программы пишут на отдельной строке. Некоторые
инструкции записывают в несколько строк, при этом для выделения
структуры инструкции используют отступы. Длинные выражения
также могут быть записаны в несколько строк. Разорвать выражение,
перенести оставшуюся часть на следующую строку можно
практически в любом месте. Нельзя разрывать имена переменных,
числовые и строковые константы, а также составные операторы,
например оператор присваивания.
В текст программы можно включать комментарии.
Комментарий - это текст, заключенный в фигурные скобки или
следующий за двумя подряд наклонными черточками до конца
строки. Комментарий обычно располагают на отдельной строке, в
этом случае он заключается в фигурные скобки, или после
инструкции, в этом случае перед комментарием ставятся две
наклонные черты.
ПАМЯТКА.
* Процесс создания Ое1рЫ- программы разбивается на две фазы:
фазу конструирования формы и фазу копирования.
* Конструирование формы осуществляется с помощью выбора
компонентов из палитры и размещения их на форме.
* Программист может перемещать любой размещенный на форме
компонент и изменять его размеры с помощью мыши.
* Чтобы придать компоненту нужные свойства, используется
страница Ргорегйез Инспектора объектов.
* Чтобы компонент мог откликнуться на то или
программист должен создать обработчик события
имя на странице Еуеп1з Инспектор
события оформляется в виде процедуры
представляет собой имя класса
для формы
быть произвольной. Если БефЫ автоматически формирует
заготовку для обработчика, то вторая часть имени представляет
собой объединение имени компонента и имени события без
предлога Оп.
* Тело процедуры ограничено словами Ье§ш ...епё и с о с т о и т и з
отдельных предложений (операторов) языка СИуес! Ра5са1. В конце
каждого предложения ставится точка с запятой.
♦ Свойства компонента могут изменяться внутри работающей
программы.
Тема2. Программирование алгоритмов линейной структуры
Пример!. Даны натуральные числа х и у. Вычислить сумму Xи у,
Решение.
1. Установим на форму компоненты следующим образом (Рис.5.):
Компоненты
Е(М : ТесШ;
Е(Ш2: ТесШ
ЬаЬе11: Т1аЬе1
ЬаЬе12: Т1аЬе1
ЬаЬе13: Т1аЬе1
М ето 1: ТМегпо
Изменения в объекте инспектора
Техт: пусто
Техт: пусто
'Поп: «введите
«введите
'Поп: «Рез
вычисления
1лпез: пусто
2 Дважды щелкнув на кнопке «вычислить сумму» переходите в окно
программ
3 Находясь в процедуре обработки нажатия кнопки «вычислить
сумму» составим код для данного примера (Модуль 1). Процедур;
ТРогт2.ВиНоп1ГННг
*
Модуль 1:
ишШ1;
ш1егГасе //Открытый интерфейс модуля
{Список подключаемых модулей}
изез
АУЫохуз, Мезза§ез, 8узШ1§, С1аззез, ОгарЫсз, СоШго1з, Рогтз,
01а1о§з,
’
ЗиЮг1з;
{Объявление класса формы}
1уре
ТРопп2 = с1азз(ТРопп)
Ес1Ш: ТЕ<й1;
Е<Ш2: ТЕсШ;
Вийоп 1: ТБийоп;
ЬаЬеИ: ТЪаЬе1;
ЬаЬе12: ТЬаЪе1;
Мето1: ТМето;
ЬаЬе13: ТЬаЬе1;
ргосеёиге Вийоп 1СИск(8еш!ег: Т01уес1);
рпуа1е //Закрытый раздел класса
{ Сюда могут помещаться объявления переменных, функции и
процедур влючаемых в класс формы, но не доступных для других
модулей}
введите значение х:
значение у
вычислить сумму
Реэууыет вычисления
Рис. 5
риЬНс // Открытый раздел класса
{Сюда могут помещаться объявления переменных, функции и
модулей} ВКЛЮЧаемых в 101300 формы и доступных для других
еп<1;
уаг
Рогш2: ТРоггп2;
{Сюда могут помещаться объявления типов, констант, переменных
функции и процедур, к которым будет доступ из других модулей, но
которые не включаются в класс формы}
йпр1етеп1айоп //реализация Модуля
{$К*ЛЭРМ}
{Сюда могут помещаться предложения изез, объявления ТИПОВ
„
констант, переменных, функции и процедур, к которым не будет
доступа из других модулей. Тут же должны был, реализации всех
объявленных в разделе интерфейс функции и процедур, а также могут
быть реализации любых дополнительных, не объявленных ранее
функции и процедур.}
ргосеДиге ТРогт2.Вийоп1СНск (Зепёег: ТО^ес1);
гаг х,у:т1е%ег;
// раздел описания переменных
х,у описаны как целые
Ъе§т
//начало процедуры
ес/и1.5е(/осш;
//фокус ввода устанавливается на компоненту с
именем есИИ
х: -81г1оМ(е<1И1. Тех1); //переменной х присваивается значение,
полученное после преобразования текста
введенного в есИИ (функция зМоШ преобразует
значение аргумента в строку/текст)
У: зМоШ(е<И12. Тех(); //беременной у присваивается значение,
полученное после преобразования
введенного в ес#г2
тето1. С1еаг;
поля
ипе$Л<М(тПо$гг (х+у))
значения
суммы после ее преобразования
(функция тМо$1г преобразует зн
аргумента
епё;
епё.
Задание1. Даны действительные числа К, К2. Найти площадь кольца
К».
Задание2. Даны натуральные числа х, р. Найти значение функции
У=х3+рх2+р х+7
в узловых точках х: 1,2,3,4,5,...10 при р=0,5.
Пример!. Даны три натуральных чисел х,у и р. Найта наибольшее ИЗ
заданных чисел.
Решение.
1. Установим на форму компоненты следующим образом
Компоненты
ЕёП 1: Те<&:
ЕсШ2: ТесШ
ЕсШЗ: Те(Ц{
ЬаЬе11:
Т1аЬе1:
ЬаЬе12:
Т1аЪе1;
ЬаЬе13:
Т1аЬе1:
Изк&нения
_______
| Техт: п у с т о
Техт: пусто______
Сарйоп: «введите значение х.»
значение
«введите
пусто
4 Дважды щелкнув на кнопке «вычислить сумму» переходи в окно
программ
5 Находясь в процедуре обработки нажатия кнопки «вычислить
пшх» составим код для данного примера (Модуль 2). Процедур
ТРогт2.Ви«оп1Г11г1г
^
Модуль 2:
иш1 Ш ;
ш1ег&се
шее
№ ёо \у з, Мезза^ез, ЗузШ1з, С1аззез, СгарЫсз, Соп1го1з, Рогтз
О тю ^з, 8МС1г1з;
*уре
ТРогт2 = с1азз(ТРогт)
ЕЛИ: ТЕМ;
ЕсШ2: ТЕ<НС;
Ви«оп1: ТВиИоп;
ЬаЬе11: ТЪаЬе1;
ЬаЬе12: ТЪаЪе!;
Мегпо 1: ТМето;
ЬаЬе13: ТТаЪе!;
ргосеёиге ВиПоп 1СНск(8еп«1ег: ТО^ес1);
рпуа1е
{ Рпуа!е ёес1агайоп8 }
риЬНс
{ РиЬНс с1ес1агайоп5}
епё;
уаг
Рогш2: ТРогт2;
1т р 1етеп 1айоп
{$К *.ОРМ}
ргосейиге ТРогт2.Ви«оп1СНск (Зепдег: ТЩес*);
х>агх>У' Р- ^ е8ег>Н раздел описания переменных: переменные х,у, р
описаны как целые
Ье§т
//начало процедуры
&Ш1.веф)сив,
//фокус ввода устанавливается на компоненту с
именем есИ(1
х. —в1Пот1(едИ1. Тех1); //переменной х присваивается значение,
полученное после преобразования текста
введенного в едШ (функция вШот1 преобразует
значение аргумента в строку/текст)
У- ~ з*г1оШ(ес1И2. Тех1); /беременной у присваивается значение
полученное после преобразования текста
введенного в е<Их2
р. —5Мо1п1(е(Л(3. Тех1); /беременной р присваивается значение,
полученное после преобразования текста
введенного в еЛИЗ
тето1.С1еаг;
//очистка поля вывода тето1
1/ х>у 1кеп тах:=х еке ток:—
у;
//нахождение наибольшего из
первых двух чисел
1/ р > тах (Иеп тах: -р; //если значение р больше , чем найденного
нашего максимума, то за максимум берется р
тето!.Ыпез,АсМ(тПо5(г (тах));
//вывод в поле тето1 значения
наибольшего из трех заданных чисел, после
преобразования его в текст(функция тП051г
преобразует
значение
аргумента
в
строку/текст)
епё;
■р
1
'
17
| а
ты
н
д
а
^
ыпм
у-дщ
академик С.Еейг смбаоЕ
|
атындагы гылыми
I
к 1Тапханасы
Пример2. Используя структуру “Ветвление” составить модуль
диалога по схеме выбор среди альтернативного предложений
иш(1Л;
Решение. Установим на форме компоненты следующим образом:
Компоненты
Ка&оСгоир 1:
ТгасНоСгоир;
Изменения в объекте инспектора
Петз. ЗИтп^з: красный, желтый
зеленый.
СарНоп: «Светофор».
Кас1юВиПоп1: | Сарйоп: «Яеё»
ТгасПоВийоп:___________
Ка(ИоВи«оп2: | Сарйоп: «Уе11о\у»
ТгайюВиИоп:
ЯасИоВиПопЗ: | Сарйоп: «Сгееп»
ТгасЛоВийоп:_________
ЬаЬеП: Т1аЬе1; I СаоПогг «»
ЬаЬе12: Т1аЬе1: | Сарйоп: «»
Вийоп!
«
ппа»
Вийоп2
Сарйоп: «Радиокнопки»
Рота!
Со1ог: 81Адиа
Модуль 3
ш1егГасе
изез
МпЛпга, Ме$$а@е8, ЗузШ Ь, С1а53е8, СгарЫга, СопйоЬ, Рошв
01а1о§8, ЗШСйк, Ех1Согк;
1уре
ТРогт1 = с1а88(ТРопп)
КаЛоСгоир 1: ТКаёюСгоир;
КасНоВийоп1: ТКасИоВийоп;
Ра<1юВийоп2: ТКаёюВийоп;
КаёюВийопЗ: ТЯасНоВийоп;
ЬаЬеИ: ТЪаЬе!;
ЬаЬе12: ТЬаЬе1;
Вийоп1: ТВийоп;
Вийоп2: ТВийоп;
ргосеёиге Вийоп 1СНск(8епёег: ТО^ес1);
ргосеёиге Вийоп2СНск(8епёег: ТО^ес1);
рпуа1е
{ Рпуа*е ёес1агайопз}
риЬИс
{ РиЬНс ёес1агайош}
епё:
уаг
Рогш1: ТРогт1;
1т р 1етеп 1а(юп
{$К * ОРМ}
ргосеёиге ТРогт1.Вийоп1СИск(8епс1ег: ТОЫесП;
Ъе§ш
КаёюОгоир 1. йетшёех о - 1
(Ьеп
ЬаЬе11.Сарйоп—ЯаШоСгоир 1.Петз.31пп§5[КаёюОгоир 1.кетшёех];
//условие выбора пункта, индекс которого соответствует номеру
строки Иеттс1ех
епс1;
ргосеёиге ТРогт1.Вийоп2СНск(8епдег: ТО^есГ);
Ье^ш
1ГК.аёюВийоп 1.СЬескеё=1гие Аеп
ЬаЪе12.Сар1юп:=Ка<НоВийоп 1.Сарйоп; //условие выбора
первого пункта, т.е. ЯасИоВиПоп1
Ка(1юВ1топ2.СЬеске(1=1гие Шел
ЬаЬе12.Сарйоп:=КжНоВиПоп2.Сарйоп; //условие выбора
первого пункта, т.е. ЯасНоВиПоп2
1ГКаё1оВи«опЗ.СЬеске(1=1гие Шел
ЬаЬе12.Сар1юп.-ЯаёюВийопЗ.Сарйоп; //условие выбора
первого пункта, т.е. КасИоВиПопЗ
еп<1;
епд.
Зад айне 1. Дано квадратное уравнение ах2 + &с+с=о. Найти корни
уравнения при следующих значениях а Ь с'
а-ят(2)+5; Ь=а*+соз(0.9)+1'• с= т 2а+со52Ъ.
Задание2. Даны цифры 1,2,3. Вывести на экран словесное выражение
цифр, соответствующее введенному значению переменной р.
Тема 4. Программирование алгоритмов циклической структуры
натуральных чисел в поле Мето 1 и
[ентов последовательности до
эзуя цикл Кеоеаи ГТпН1
Решение.
1. Установим на форму компоненты следующим образом:
Компоненты
ЕсМ: Те(Ш;
ЬаЬе11: Т1аЬе1:
М ето!
Изменения в объекте
инспекто
Техт: пусто
Сарйоп: «введите значение п:»
1лпе$: пусто
2 . Дважды щелкнув на кнопке, переходите в окно кода программ
3. Находясь в процедуре
обработки нажатия соответствующей
= ■
0Д * “ ДаННОГО п<’име'и
3). процедур
Модуль 3:
иш1 Щ ;
тГегГасе
изез
у й к к т з , Меззадез, 5узШ1з, С1аззез, ОгарЫсз, Соп1го1з, Рогшз
Бтю ^з,
ЗЙСМз;
1уре
ТРопп2 = с1а8з(ТРогт)
Е Ш : ТЕМ;
ВиПоп1: ТВийоп;
ЬаЬеП: ТЬаЬе!;
Мето1: ТМето;
ргосеёиге ВиПоп 1СИск(Зепс1ег: ТО^ес1);
рпуа1е
{ Рпуа1е ёес1агайопз}
риЬНс
{ РиЪЦс ёес1ага(юпз}
епё;
уаг
Рогш2: ТРопп2;
1т р 1ешеп1а11оп
{$Я * ОРМ}
ргосеёиге ТРогт2.Вийоп1СИск (Зепёег: ТОЬдес!);
\аг п,з,1.т 1е§ег;
// раздел описания переменных: переменные
п,з, / описаны как целые
Ье§ш
//начало процедуры
еЛШ .зефсиз;
//фокус ввода устанавливается на компоненту
с именем &Ш1
тето 1. С1еаг;
//очистка поля вывода тето 1
КересА
Мето1.1тез. аМ(тио$ 1г( 1));
1 :4 + 1 ;
11пШ /;=7 0;
ЯереШ
п:-$тот1(е^И1 .Тех1); //переменной п присваивается значение,
полученное после преобразования текста
введенного в есИ(1 (функция зМот( преобразует
значение аргумента в строку/текст)
I / п < > 0 (Иеп з:= з +п;
ПпШ п:-0;
т
е
т
о
Ш
ш
х
А
М
О
ш
ш
,
(
,
»
;
/
/
Ь
ы
в
о
д
в
п
о
л
е
т
е
т
о
/
з
и
а
1
|
е
1
1
и
я
после преобразования его в текст(функция
т пш г преобразует значение аргумента в
строку/текст)
епа;
епё.
Л
' ‘
Ш ЧИСМ’
> заданном
Задание2. Найти заданное число в массиве,
о Строки
™“<
!
^
5
ь
Г
р
З
~
:
—длинная строка;
*
3. ^ЫеЗйтп^ ~ широкая строка;
4. РСЬаг- нуль-терминальная строка
Для вышеназванных типов общим являегея
строка трактуется
символов в котором может меняться
81пп§ [N1 - от 0 до N
то, что каждая
количество
- от 0 до 2 Гбайт
8Ьоп81пп§ -эквивалентен 8{гш§ [255]
Нуль-терминальные строки - ограничиваются символом #0
длина ограничивается доступной памятью.
основываюдомися ш (Я Ж ™ “ вместнм0<:™ <= компонентами,
т а е 81пп§.
нологии введены широкие т и п ы \Мёе81гш§ идентичны по свойствам со сттюками
и с ^ ь з у е ^ Х н % Вд аТ си м в о ^ ПреДСТаМения ка^ ого символа
Примеры:
^
’*•
_
Уаг
^
" V
- • Г--Ч МЩ
5: ЗЙШЙ250],. т и т до 250 сншолов
8тах: 8Ьой81гшкс
-стптгя
т»п»*
символов.
-строка, длина которого до 255
82. \№с!е8й т§ ;
. широкая строка.
Длинная строка.
Р 8 : РсЬаг;
строку.
апау
до 1000 символов.
8: 8йтп§ [250];
-ссылка
на
нуль-терминальную
оГсЬаг; - нуль-терминальная строка длиной
После вьшолнения программы:
8
переменная:
1 2 3
10 11 12 13 14 15
1)
1байт
1 2 3
10 11 12 13 14 15
1байт
По схеме можно определить, что была замена буквы "а" на "и".
Код программы, осуществляющую замену приведен ниже:
ргосеёиге
уаг
8 : 5*пп§[250]:
Ье$ш
8 := ‘Строка символов’;
8 [6]:= *‘и’; // Символы в строке нумеруются, начиная с 1.
ЬаЬе11.Сар1юп:=8; // выводится ‘Строки символов’.
еш1;
Рассмотрим механизм работы с памятью при объявлении
длинной строки 81.
Компилятор для строки 81 выделит переменной 4 байта,
достаточные для размещения номера той ячейки памяти, начиная с
которой будет фактически располагаться символьная строка, т.е. 81
23
строку
уазателями
ссылки называются
ргоседиге
уаг
81, 881: 81лп§:
Ье§т
81:= ‘Строка си
881:= 81;
V
51 [7]:= ‘с’;//С ]
строке нумеруются
ЬаЬе! 1.Сар1юп:-81; // выводится ‘Это строка
епй;
Программа определит длину цепочки символов
‘Строка
символов’, обратится к ядру ОС с требованием выделить для нее
участок памяти длиной 15+5=20 байт;
уаг шип - §1гте;
*
1. определяется мера строки;
2. обращается к ядру ОС с требованием - выделить участок
памяти.
Рассмотрим примеры.
Пример 1.
Дан текст. Необходимо определить количество предложений в
заданном тексте.
Признаком конца предложений является сочетание символов
конца предложения (точка, вопросительный знак, восклицательный
знак) и пробел (пустое пространство). Чтобы применить данный
признак необходимо увеличить текст, добавив в конце пробел.
Модуль:
или ко1_ргес11;
ииегГасе
шее
Шшс1о\У8, Ме88а§ез, 8у8Ш1з, Уапапй, С1аз8е8, СгарЫсз
Соп*го18, Р огпз8, 01а1о§8, 8кЮг1з;
1уре
ТРогш1 = с1а$8(ТРопп)
ЕЛИ: ТЕ(Ш;
Вийоп 1: ТВийоп;
ЬаЬе11: ТЪаЬе1;
ргосеёиге Вийоп 1СИск(8еп<1ег: ТОЬ]ес1);
рпуа1е
{ Рпуа1е (1ес1агайоп$}
риЬНс
{ РиЬНс (1ес1агаПоп8 }
епс1;
уаг
Рогш1: ТРогт1;
1шр1етеп 1айоп
{$К *.(Шп}
ргосеёиге ТРогт1.Вийоп1СИск(8еп<1ег: ТО^ес1);
уаг 8:8йш§;
к,гш1е§ег;
Ъе§ш
к:=0; //счетчик предложений
8:=е(1й1.1ех1+'//исходный текст
Гог 1:= 1 1о 1еп§Ш($)-1 йо
X ((8[1]=’.’) ОГ(8(1]='?') ОГ(8[1]='!')) аП(1 (8[1+1]='')
Леп к:=к+1; //проверка условии конца предложения
1аЬе11.Сарйоп:=тйо8й(к); // вывод результата
епё;
еай.
Пример 2.
Составить код программы для нахождения самого длинного
симметричного слова в заданном предложении.
Решение:
Модуль:
ипй 81ттей $1оуо;
ийегГасе
изез
\Уга<|0Ш5 Ме88а8е8, ЗувШ в, УапапВ, С1аие8; ОгарЫсз, Сомгок
Рогтз, Э 1а1о§8, 8кЮг1в;
1уре
ТРогт1 = с1а$8(ТРопп)
ЕсИИ: ТЕШ*;
у
..ж &фщЩ М ’ 1
*
ВиПоп 1: ТВиИоп;
Мешо1: ТМето;
ргосеёиге ВиПоп1СНск(8еш1ег: Т01уес1);
рпуа*е
{ Рпуа!е ёес1агаПопз }
риЬНс
{РиЬНс ёес1агайоп5 }
епй;
уаг
Рогт1: ТРогт!;
«т и
кот
пошел на ток с фуннуф и
икхё*
й
I
'
1т р 1ететайоп
{$К *.<Шп}
ргосейиге ТРогт1.ВиПоп1СИск(8еп<1ег: ТОЬд'ес*);
уаг 8,88Д8котое:81пп§;
ду,\ур: аггау[ 1..20]оГ зШпд;
к,1о,1,кк,тах_ё 1,с11:т 1е§ег;
Ье§т
к:=1;
1:=2 ;
8:=' ’+еШЦ ,1ех1+'
\уЫ1е 1< - 1еп§Л(з) с!о I/наполнение массива слов
Ье^ш
X № 1 ] - 1 ог (8 [1 ]о' ’) Шел
Ье§ш
\у[к]:=’^:=1;
гереа(
\у[к]:=^[к]+8[)];
ипШ з[}}='
к:=к+1;
епё;
епё;
тах_<11:=1еп§!Ь(\у[ 1]);_
1 ^ Щпоиск симметричных и максимальных по длине слов
Ъе§т
8
8
:=
\
у
р
];м
ф
[1
]:=
";ё
!:=
1
е
п
8
1
Ь
(8
8
);
Гог^:=1еп§1Ь(88) скпуто 1 с!о
уф[1]:=мф[1]+$зЦ];
Й“(^[ 1]=\ф[1])апс! (тах_<11<=<Ц) Леп
18котое:=>ур[1];
еп(1;
т е т о 1.1лпе$.асЫ^зкотое);
епф
еш!
Задания:
1. Найти количество знаков препинаний в заданной строке
'^ана стРока- В первом предложении заданной строки I
количество слов.
3. Дан текст. В заданном тексте найти 3-е слово.
4. Дан текст. В заданном тексте получить последнее сл<
обратном порядке
КОТ
-4 -*
ТОК
Дан текст. В заданном тексте заменил
сЫМ
► сЫ1ёгеп.
а Задачи для начинающих
Программирование элементарных алгоритмов (фрагменты
модулей)
1. Даны действительные числа х,у. Написать программный фрагмент
для получения значения тах(х,у)?
1Г х>уЛеп
>уп1е1п(‘х-тах’)
еке
\т1е1п(‘у-тах’).
2. Даны действительные числа х,у,г. Написать программный фрагмент
для нахождения максимального значения из суммы и произведения
заданных чисел?
1Г(х+у+г)>( х*у*г) Шеп
у т 1е1п (‘(х+у+2)-тах ’)
еке
>ш1е!п (‘(х*у*г)-тах
3. Найти произведение четных элементов массива В. Написать
программный фрагмент.
Р:=0;
^
Рог 1:=1 1о п с1о
Ве@т
1ГЬ[1] ш о <1 2=0 Леп Р:=Р*Ь[1];
Епс1:
4. Написать программный фрагмент для вычисления суммы
10
5
Iм4^1+
I к*к
'
8:=0 ;
Гог 1:=11о 10 <1о
Гог к:=1 (о 5 ёо
8:=1/(1+к*к)+5;
5Г Г Р_Н ГНаписать
программны»
Тп и то п г щ
.....-_ _
фрагмент для вычисления
натуральное
суммы
*
8:=0 ;
Гог 11—1 (о п ёо
з:=8+а[1];
6. Дано натуральное число п. Вычислить значения функции
у=х
Зх + 2
ЛГ~х ~
'- \
Для х= 1,1.1,1.2,..., 1+0.1п.
Ъе§ш х:=0;
Гог 1.-1 (о п <1о
Ье§ш х:= 1+0 . 1*1;
У:=(8дг(х)-3 *х+2)/зцп(2 *3ехр(х)-1);
т е т о 1.1ше8.аёё(тПо 81г(х), тПоз1г(у) );
епё.
7 Даны натуральное число п , символы з,,
Подсчитать
сим в*0 ’Р*^ °реДИ символов встречается символ ' + ' и сколько раз
ТРогт!
•
„
,
в
--------------------------------------0
------------- у
а.
81пп§
Ъе§ш 1:=0; 11:=0;
Гог 1. - 1 1о 1еп§1Ь(е<Ш1Лех1) ёо Ъе§ш
И сору(еёк1 .1ех1,1,1)='+' Деп 1:=Н 1;
1Гсору(еёй1ЛехЦ,1>='*' Шеп И:=П+1;
её1Шех1:=ЬйТо8*г(1);
еёйЗЛех1:=1п1То81г(11);
;;
епё;епё;епё;
п
|м , 0 адйарвнм» щ ^ Г Н ~ ||Г ||П Ш 1 1 (М Г 1 |||^ щ 1шТТ *
ЧИ0Л° “ ’ символы *■ .•••.*«• Подсчитать общее
ело вхождении символов + , - , * в последовательность 8,
ргосеёиге ТРогт1.Н21СКск(8епёег: ТСИуес!);
уаг *,1:ш1е§ег;
8:8(пп§;
Ье§ш *:=0; Й :=0;
Гог к»1 ю 1епё1Ь(еёк1.1ех1) ёо
верп
1Г(сору(е(1к1Лех1,1,1)='+') ог (сору(еёй1 Лех1д, 1)='+') 0г
(сору(еёП 1ЛехМ, 1)='*') Шеп |;=н-1;
г:=ш1ТоЗй- (I); еёй4.1ех1:=г;
епё;епё:епё.
9. Написать фрагмент программы для нахождения минимального
элемента вектора О (10):
ш:=ё(1);
Гог к=11о 10 ёо
»Гё(1)<т Шеп
т:=ё( 1);
10. Написать фрагмент программы для нахождения суммы
Г=±х,
У:=0;
Гог к*=11о п ёо
У:=У+х[1];
И. Написать фрагмент программы для нахождения максимального
элемента среди элементов главной диагонали массива А (5 5У
М:=А[1,1];
’
Гог 1:=11о 5 ёо
1ГА[ц 1]>М Леп М:= Ар, 1];
12. Написать фрагмент программы для нахождения количество
—
ельных элементов среди элементов первой строки матрицы
к:=0;
Гог к:=11о 10 ёо
1Гс[1, к]<0 Аеп к:=к+1;
13. Написать фрагмент
будет решена задача:
> /х;л = 1,3
У—I
дс2; я = 4
х ;л = 5 ,6 ,7 ,8
сазе п оГ
1, 3: у:=8яй(х);
4: у:=зяг(х);
5 .. 8: у:=х
епё;
14. Написать код программы для нахождения членов, которые при
делении на 7 дают остаток 1,2 или 5*
У
ч
еёк1 .зейосиз;
Гог 1:=1 *о п ёо
Ъе§ш
Й‘ (ар] шоё 7=1) ог (а[1] тос! 7=2) ог (а[1] т о ё 7=5) Шел
еши Лех1:=ар];
епё;
15. Написать код программы для отвечающий на вопрос: имеются ли в
последовательности 2 идущих подряд нулевых члена.
еёй1 .зейосиз;
Гог 1:=1 ю п ёо
Ъе§ш
И (а[1]=0) апё (а[1+1]=0) Леп еёк1.1ех1:-да';
епё; епё.
16. Написать код программы, который чертит эллипс, в охватываемом
^ямоутольиике, заполнил
внутреннее пространство эллипса
Ъе§т
сапуаз.реп.со1ог:=0 ;
сапуаз.реп.мё1Ь:=5;
сапуаз.еШрзе( 100; 100; 150; 150);
епё;
17. Написать код программы, который чертит прямоугольник
Ъе§ш
сапуаз.реп.со1ог:=$РР;
сапуаз .реп.\йёШ:=$РР00;
сапуаз.гес1ап§1е( 100; 100; 150; 150);
18. Написать код программы , который осуществляет эллипс в
движении.
СОП81 п=100;
$1ер=5;
уаг У ,х 1 , х2, у1, у2:ш1е§ег;
Ье§ш
х1:=10; у1:=10;
х2:=100; у2:=100;
1:= 0 ;
\уЫ1е 1<п ёо Ъе§т
сапуаз .реп.со1ог:=$Ш)000;
сапуаз.еШр8е(х 1,у 1,х2,у2);
з1еер(40);
сапуаз.реп.со1ог:=$ШГ;
сапуа8.еШр8е(х 1,у 1,х2,у2);
х1:=х1+81ер; у1:=у1;
х2:=х2+81ер; у2:=у2;
кЧ+1;
епё;
19. Составить фрагмент программы, который рисует треугольник
красным цветом.
Ъе§т
сапуаз.Реп.Со1ог: =$РР;
сапуа8.Ро1уШе([Ройй(100,100), РоЫ(150,100),
Рош1(80,170), Рот1(100,100)]);
епё;
20. Написать фрагмент программы, который считает количество
членов массива, являющихся нечётными числами.
$:=0;
Гог к=1 Го п ёо
Ье§т
1Г а[1] т о ё 2 =1 Шел
$:=з+1;епё;епё.
21. Написать фрагмент программы, который находит все пифагоровы
тройки.
зз
Ье§ш
Гог а:=11о п ёо
Гог Ь:=а 1о п ёо
Гог с:=Ъ № п ёо
Ье§ш
1Г(зчг(а)+здг(Ь))=5яг(с) Шеп
т е т о 1 1ше8Л ёё('а= ^ 1пйоз1г(а)+^Ь=Чтйо81|^)+^с=Ч тйо 81г(с));
22. Написать фрагмент программы, который осуществляет поиск
простых чисел больше либо равно 2.
Ье§ш
т е т о 1.С1еаг;
Гог^=2 1опёо
Ье§ш к:=1гие;
&г Г.—2 1о^ 1 ёо Ье§т
1Г а т о ё 1- 0) (Ьеп к:=Га1зе;
епё;
1Г к 1Ьеп т е т о 1.1шез.аёё(шПо81гО));
епё;
; ’ ^
23. Написать фрагмент программы, который вычислит сумму четных
элементов массива В с нечетными номерами.
^
8 :=0;
Рог 1:=11о п ёо
Ве§ш
1Г(Ь[1]шоё 2=0) апё (1 шоё 2<>0) Шеп з:=з+ЬП1Епё;
11г
24. Написать фрагмент программы, который вычислит сумму.
10
8.- 0 ;
Гог 1:= 1 1о 10 ёо
81. - 0;
Гог к:=1 (о 5 ёо
81.-81 +зцг(1-к);
8:=8+Н*81;
I/=1'Те-*)2;
^=1
25. Написать фрагмент программы, который рисует ромб
закрашенный красным цветом.
’
сапуаз.Реп.Со1ог: = $рр;
сапуаз.Реп.МёЛ: =5;
[ 1 2 5 1 Щ 'Уе°П(Р0Ш' 50'15°)'Р от'П 75,200],Рот.[1 50,300],Рош1
Рош*[150,150]); епё;
Рекурсия. Факториал
Составить код программы, который вычисляет факториал числа
находящегося в поле ввода. Для вычисления использовать
рекурсивную функцию.
иш1 ГасЮг;
ийег&се
шея
\Ушёомгс, Мез8аёез, ЗузШ Ь, С1а58ез, СгарЫсв, Соп1го18, Рогшз,
Ошю^з,
ЗМОгк;
1уре
^
ТРопп1 = с1а88(ТРогт)
ЬаЬе11: ТЬаЬе1;
ЕёМ:ТЕёй;
Вийоп 1: ТВийоп;
ЬаЬе12: ТЬаЬе1;
ргосеёиге Вийоп 1СИск(5епёег: ТО^ес1);
рпуа(е
{ Рпуа1е ёес1агайоп8}
риЬНс
{ РиЬНс ёескгаПопз }
епё;
уаг
Рогт!: ТРогт!;
1т р 1етеп 1айоп
{$К. *.БРМ}
йшсйоп \
Ье§т
1Гк=1
51
Леп &с1опа1:= 1 »
еке Гас1опа1:=к * ГасЮпа1(к-1);
епё;
ргосеёиге ТРогт1.ВиПоп1СНск(8епёег: ТОЫесОуаг
к.иПедег; // число, факториал которого надо вычислить
1:ш(е@ег; // значение факториала числа к
Ье§т
к:=81гТо1ш(Еёй1.ТехО;
Г:=Гас1опа1(к);
1аЪе12.сар1юп:-Факториал числа'+ ЕсШ1.Тех1
+' равен ’+1п1То81г(*);
епё;
епё.
Простое число
Составить код программы, который проверяет, является ли
простым, число, введенное в поле Вёй1.
чш1 рг_сЫ§1о;
1п1егГасе
//
■ ! ' 1‘
изез
Ш Ь п Ы 0Ш ’ Ме§8а8е8’ 8уяШ18’ С1а88е8> ОгарЫсз, Сотго1з, Ропш
1уре
ТРопп 1 = с1а§з(ТРогт)
ВиПоп 1: ТВиПоп;
ЬаЬе11: ТЬаЬе1;
Еёк1: ТЕёП;
ЬаЬе12: ТЪаЪе!;
ргосеёиге ВиПоп 1СИск(8епёег: ТОЫес*)рпуа1е
{ Рпуа*е ёес1агайопз }
риЬНс
{ РиЬНс ёес1агайоп5 }
епё;
уаг
Рогт1: ТРогт1;
(
тзр)етепШ 1оп
{$К *.ОРМ}
ргосеёиге ТРопп1.Ви«оп1СНск(8епёег: ТОЫес*У
уаг
’
п: т1е§ег; // проверяемое число
ё: ш1е§ег; // делитель
г: ш1е§ег; //остаток от деления п на ё
Ье§ш
п:=8йТо1п1(ЕёШ Лех1);
*=
// первоначально деление на два
гереа*
г := п т о ё ё;
»Гг о 0 // если п не разделилось нацело на ё
Л епё := ё + 1;
1ШЙ1 г —0; //повторять пока не найдено число на п делится без
остатка
1аЬе12.сарПоп:=Еёи1.1ех1;
1Гё = п
1Ьеп 1аЬе12.сарПоп:-1аЬе12.сарПоп + 1- простое число.'
е1зе 1аЬе12.сарйоп:=1аЬе12.сарпоп + ' - обычное число.';
епё;
епё.
Работа с массивами
Поиск в массиве
Задан массив А. Найти заданный образец п в массиве. Поиск в
массиве осуществить перебором элементов массива.
ипй рснзк;
ЫегГасе
и§ез
^тё0Ч У 8
51ёОг1з;
ЗузШ к, С1аз8е8, ОгарЫсз, СоШгок, Ропга
В1а1оез,
хуре
V
ТРогт1 = с1а88(ТРогт)
ЬаЪе11: ТЬаЬе1;
ЬаЬе12: ТЪаЬе1;
Вийоп 1: ТВийоп;
Еёй2: ТЕёй;
ргосеёиге Вийоп 1СИск(8епёег: Т
0
1
у
е
с
1
У
рлуаХе
’
{ Рпуа1е ёес1агаПопз }
риЬНс
{ РиЬНс ёес1агайоп8 }
епё;
уаг
Рогт1: ТРогт!;
йпр1етепШюп
{$К * ОРМ }
{ п о и с к в массиве перебором }
ргосеёиге ТРогт1.Вийоп1СИск(8епёег: ТОЫесОСОП81
л
812Е=10;
а:аггау[1..812Е] оГ ййе§ег; // массив
п:пйе§ег;
// образец для поиска
йипё:Ьоо1еап; // ТЯЦЕ - совпадение образца с элементом массива
I:т1е§ег;
// индекс
8:81пп§;
Ъе§ш
ввод массива
Гог к»11о 812Е ёо
Ьееш
8:=1приЛох('шрШ т а 881У',",");
а[1]:=8йТо1п1(5);
епё;
// ввод образца для поиска
п:=8йТоЬп(еШ12,1ех1);
// поиск в массиве
Гоипё:=РАЬ8Е;
к=1;
гереа!
1Га[1]=п
Леп &ипё:=ТК.ЦЕ
е1зе с Ф 1 ;
чпй! (1 > 812Е) ог (Гоипё = ТК.ЦЕ);
1ГГоипё
1Ьеп 8Ьо\уМе58аее('Совпадение с элементом номер '
+1п1То81г(1)+#13+'Поиск успешен.')
еке ЗЬодуМе88а§е('Совпадений с образцом нет ')•
епё;
’
епё.
Бинарный поиск в массиве
осуществляющий
в заданном упорядоченном массиве. Идея бинарного поиска
заключается в том, выбирается средний (по номеру) элемент
упорядоченного, например, по возрастанию, массива, и с этим
элементом сравнивается образец. Если средний элемент совпадает с
образцом, то задача решена. Определяется часть массива, где имеется
образец, и поиск проводят в этой части, выделяя новый средний
элемент.
иш( Ыпагп_ро1зк;
ЫегГасе
изез
Мпёо\У8. Мея$
1уре
ТРопп1 = с1а88(ТРогт)
ЬаЬе11: ТЪаЬе!;
8у8Ш1з, С1а88в8, СгарЫсз, СоШгоЬ, Ропш
Б1а1о88, ЗиЮ(г1$;
Е<ш1: ТЕсШ;
ЬаЬе12: ТЬаЬе1;
ВиПоп 1: ТВиПоп;
Е<Ш: ТЕёй;
ЬаЪе13: ТЬаЬе1;
СЬескВох1: ТСЬескВох;
ргосеёиге ВиПоп 1СИск (Зепёег: Т01уес1);
§5- Бинарный поиск в массиве
Массив
Образец
«в
ВЫВОДИТЬПРОТОКОЛ
1,
I
А ,|тТ> (т
Г-(•‘ Ж
1.аЬе13
.**»■
ь й 'г 'К я ?
1
*
г
^
»
Ч :- •
ъшШшт
ЙЙШШ
:
Ш ЬаЬеО
р»-угг— — * ^■*г г п ш п а к я я
Рис. 8
рпуа1е
{ Рпуа1е <1ес1агайоп5}
риЬНс
{РиЬНс ёесЬгайопз }
епё;
уаг
Р$пп1: ТРогт1;
Ьпр1етепШюп
{$К *.БРМ}
4
// Функция возвращает подстроку с указанным номером
РипсПоп <Зе1$иЪ81гЗ(з1:§{пп§; Ч строка
п. йПе^ег)
// номер подстроки
:81ппе;
уаг
рлп1е§ег;
1:т1ееег;
Ъе§т
Рог И 1о п-1 до
Ъе§ш
р:=ро8(' ',81);
81:=сору(з1,р+1,Ьепе1Ъ($1)-р);
//если в начале оставшейся части строки есть пробелы, то удалим
их
луЫ1е (ро8(' ',з1)= 1)апё (1еп^1Ь(81)>0) ёо
ёе1е1е(81,1,1);
епё;
р:=ро8(' ',81);
ёГ р о О
Леп ге8и11:=сору(81,1,р-1)
е1зе ге8и11:=81;
епё;
// Бинарный поиск в массиве
ргосеёиге ТРогт1 .ВиПоп! СИск(8епёег: ТО^ес1);
СОП31
812Е=10;
уаг
а:аггау[1..812Е] оГш(е§ег;
оЬгш1е§ег;
// образец для поиска
уегЬ:т1е§ег; // верхняя граница поиска
шг: ш(е§ег; // нижняя граница поиска
8геё:ш*е§ег; //номер среднего элемента
Гоипё:Ъоо1еап; // ТК.ЦЕ - совпадение образца с элементом массива
п:т(е§ег; // число сравнений с образцом
1:ш1е§ег;
Ъе§т
// ввод массива
Гог к=1 ю 812Е ёо
а[1]:=8йгТо1п!(Се18иЬ81гЗ(Её111Лех1,1));
оЪг:=8йТо1п1(Её112.1ех1);
уегЬ:=1;
п1г:=812Е;
п:=0;
Гошм1:=РАЬ8Е;
1аЬе13.сарйоп:-';
^ СЬескВох 1.81а1е = сЬСЬескеё
Шеп ЬаЬе13 .сарйоп:='уегЬ'+#9+'ш2'#9'5гесГ# 13;
// бинарный поиск в массиве
гереа!
^
8геё:=Тшпс((ш2-уегЬ)/2)+уегЬ;
К СЬескВох 1.СЬескеё
Шеп ЬаЬе13.сарйоп:=1аЬе13 .сарйоп
+1п4То81г(уегЬ)+#9
+1п1То8й(ш2)+#9
+1п1То8*г(згес1)+#13;
п:=п+1;
а[8ге<1] = оЬг
’
Шеп 1оип(1:=ТКЦЕ
е1зе
оЬг < а[згеё]
Леп шг:=8геё-1
е18е уегЬ:=8геё+1;
ипй! (уегЬ > ш г) ог Гоипё;
Гоипс!
Шеп 1аЬе13.сарйоп:=1аЬе13.сарйоп
+'Совпадение с элементом номер'
+ 1п1То81г(8геё)+# 13'Выполнено '
+ 1п1То81г(п)+' сравнений.'
е1зе 1аЬе13.сарйоп:=1аЬе13 .сарйоп
+'Образец в массиве не найден '•
епё;
‘’
еп&
Задачи для продолжающих
Сортировка массива обменом
Дан массив. Составить код программы, который проводит
сортировку массива обменом.
Р
проводит
Идея сортировки массива обменом: Каждый элемент массива,
начиная с первого, сравнивается со следующим и если он больтГ ™
>
элементы меняются местами. Таким образом, элементы с меныпим
значением продвигаются к началу массива, а элементы с большим
значением- к концу массива.
ипй вой;
хШег&се
ш
Мпёошз, Мезза8ез, 8узШ18, С1аззез, СгарЫсз, СоШго1з, Рогтз,
01а1о§8, 8иЮг1з;
1уре
ТРогт1 = с1азз(ТРогт)
ЬаЬе11: ТЬаЬе1;
ЬаЬе12: ТЬаЬе1;
Вийоп 1: ТВийоп;
ЬаЬеВ: ТЪаЪе!;
ргосеёиге ВиПоп1СИск(5епёег: ТОЫес!)рпуа1е
{ Рпуа1е ёес1агайопз}
риЬНс
{ РиЬНс ёес1агаНопз}
епё;
уаг
Рогш1: ТРогт1;
йпр1етепШюп
{$К *.ОРМ}
ргосеёиге ТРогт1.ВиПоп1СНск(8епёег: ТО^ес1);
СОПЯ*
812Е=5;
уаг
а: аггау[ 1..812Е] оГ ш(е§ег;
клте^ег;
// текущий элемент массива
1:т(е^ег;
// индес для ввода и вывода массива
сЬап@её:Ьоо1еап; // ТЬШЕ, если в текущем цикле были обмены
ЬиГ:ш(е$ег; // буфер для обмена элементов массива
#
•
з: з1пп§;
Ье§ш
// ввод массива
Гог к=П о 812Е ёо
Ье§ш
з:=триЛох('шрШ тазз1у',",");
а[1]:=81гТо1т(з);
епё;
V
1аЬе12.сарйоп:=";
*М й
// сортировка массива
гереа!
сЬап§её:=РАЬ8Е;
Гог к:=1 го 812Е-1 ёо
Ье§т
Н а[к] > а[к+1]
Шеп Ье§т
II обменяем к-ый и к+1-ый элементы
ЬиГ:=а[к];
а[к]:=а[к+1];
а[к+1]:=ЬиГ;
сЬап§её:=ТКЦЕ;
епё;
епё;
// вывод массива
Гог И *о 812Е ёо
ЬаЬе12.сарйоп:=1аЬе12.сарйоп+' '+1п1Тоз1г(а[Л);
ЬаЬе12.сарйоп:=1аЬе12 .сарйоп+# 13;
ипШ по1 сЬап§её;
^
'
^ЬаЬе12.сар1юп~1аЬе12.сарЙоп+#1З+’Массив отсортирован. ’
едё.
Сортировка массива прямым выбором
Дан массив из десяти целых чисел. Создайте код сортировки
Сорта^овка
° брабатывающий событие нажатия
кнопки
Идея сортировки прямого выбора: просматривая массив от
первого элемента, находится минимальный элемент и помещается на
место первого элемента, а первый на место минимального. Затем,
массив просматривается от второго элемента, а второй на место
минимального... и так до предпоследнего элемента
ипй рпаш зой;
ййегГасе
изев
\Уйкктз, Ме88а§е$, ЗузШ к, С1а88е8, ОгарЫсз, Сопйо1з, Рогшз,
Э1а1о§8, 81с1С1г1з;
1уре
ТРогт1 = с1азз(ТРогт)
ЬаЬе11: ТЬаЬе1;
ЬаЬе12: ТЬаЬе1;
Вийоп 1: ТВийоп;
ЬаЬе13: ТЬаЬе1;
ргосеёиге Вийоп 1СИск(8епёег: ТО^ес!);
рпуайе
{ Рпуа1е ёес1агайоп8 }
риЬНс
{ РиЬНс ёес1агайоп8}
епё;
уаг
Рогт1: ТРогт1;
1шр1етеп1айоп
{$К *.ОРМ}
ргосеёиге ТРогт!.Вийоп 1СНск(8епёег: ТОЪуесг);
СОП51
812Е=10;
уаг
а:аггау[ 1..812Е] оГ ш(е$ег;
пип:ш(е§ег; // номер минимального элемента в части
массива от 1до верхней границы массива
рШедег; //номер эл-та, сравниваемого с минимальным
ЬиГ:т1е§ег; // буфер, используемый при обмене эл-тов массива
1,к :т 1е§ег;
згзйтпе;
Ье§ш
Гог 11= 1 1о 8К Е ёо
Ъе§ш
ч
з.-шри&ох('шри1 тазз 1у',",");
а[1]:=8ЬТо1п1(з);
епё;
1аЬе12.сарйоп.-";
Гог 11= 1 1о 812Е-1 ёо
Ъе§т
/ / ПОИСК минимального
а[812Е]
Гог.|Н+14о 812Е ёо
НГаЦ] < а[тш ]
Шеп гшп.-];
поменяем местами а[пй
ЬиГ:=а[1];
ар]:= а[тт];
а[тт]:=ЬиГ;
// вывод массива
Гогк:=1 *о 812Е ёо
ЬаЬе12.сарйоп:-1аЬе12.сарйоп+' '+1тТ оз 1г(а[к1);
ЬаЬе12.сарйоп:=1аЬе12.сарйоп+#13;
епё;
е
п
с
1
СаР‘гаП:=1аЬе12СаР,'ОП+#13+'МаССИВОТСОр™рован
/1
епё.
\
ч
Работа с двумерными массивами. Вывод таблицы в Мпп<;(,п<].
Задание. Получить двумерный массив, главные и побочные
диагонали
которого
соответственно
равны
последовательней
НР.ЧРтииу и и о т т ^
______
««хулшц/иш
четных чисел, остальные элементы г ________
форме компоненты следующим образок
ходная форма и форма после обработки
события
Компоненты
8ШпсСп<11
ВнВ(п 1
Изменения в объекте инспектора
р1хеёСо18: О
Р1хе<1Яо\У8: О
Яо\уСоип1: 10
Со1Соип1: 10 ________
Сарйоп: "Заполнение"
Рис. 9
Модуль:
ипк III;
«йегГасе
изез
у тёо\У5, Мезза^ез, 8узЩ1в, С1аззез, ОгарЫсз, Сопйок, Рогтз
От1о§з, ЗиЮЫв, ВиПопз, Слёз;
*уре
ТРогт1 = с1азз(ТРопп)
8йтп§Спё1: Т31гш§Спё;
В1®ш 1: ТВйВт;
ргосеёиге ВйВш 1СИск(8епёег: ТО^ес*);
рпуа!е
’
{Рпуа1е ёес1агайопз}
риЬНс
{РиЬНс ёес1агайопз}
епё;
-
уаг
Рогта!: ТРогт!;
1шр1етеп 1а11оп
{$К *.БРМ}
ргосеёиге ТРогт 1.ВйВш1СИск(8епёег: ТОЫесОУАК. у : ШТЕСЕК;
Ье§ш
РОК. 1:=0 ТО 5 ЭО \
3
,
РОК 1:=0 ТО 5 БО
ВЕС1Ы
СеИзЦ,1] :=1КГТ08ТК(2 *1+ 1)
заполнение элементов главной диагонали сетки
е!$е
Ье§ш
1Г(]=5-1) Шеп
Се11зЦ,1]:=1ЩТ08ТК(2*1+2)
заполнение элементов побочной диагонали сетки
^
еке
Зй-т^О пё 1 СеШЩ ] :=Ш ТТ08ТК/0)
заполнение элементов, не принадлежащих главной и )
диагоналям сетки ЗМпоПпН!
епё:
ЕШ
епё;
епё.
Найти максимальное из чисел, встречающихся
матрице
Решение.
Модуль:
йиегГасе
шее
Ш'п<*0"5' М и м 8 « . ЗуаШЫ, Уапапв, СЛаает, СгарЫсз, СоШгоЬ,
Р оп т,
Спёз, 81ёОг 1з;
1уре
ТЕогт1 = с1а85(ТРогт)
Ви«оп1: ТВиПоп;
ЬаЬе11: ТЪаЬе!;
ЬаЬе12: ТЬаЬе1;
31пп§Опё 1: ТЗйтп^Спё;
ЬаЬеВ: ТЬаЬе1;
ргосеёиге ВиПоп 1СНск(8епёег: ТСЛуес*);
рпуа(е
{ Рпуа1е ёес1агаПопз}
риЬИс
{ РиЬНс ёес1агайоп8}
епё;
Щ
уаг
Рогт1: ТРогт!;
{$К ,*.(Шп}
ргосеёиге ТРогш 1 ВиПоп 1СПск(Зепёег: Т01уес1);
соп8( п=3;
уаг и,у,к,1:т1е§ег;
тах,р:геа1;
а:аггау[0..п,0..п] оГгеа!;
с:аггау[1..п*п] оГгеа1;
з:зЬ*т§;
Гог^0ш пД1М
сЬРИЦЫ(СЛучаЙНОе заполнение матрицы)
Гог]:=01о п-1 ёо
Ье^т
I
а[У]:=гапёот(10);
8Ъгт§Спё1.сеНз^^ПоаПозЦ-ЭДу]);
епё;
//отбор повторяющихся элементов
н:=1;с[1]:=0;
Гог^ = 0 1о п-1 ёо
Гог 1.=0 Юп-1 ёо
Гог 1:=0 (о п-1 ёо
Гог к:=0 !оп-1 ёо
Ье§ш
X (а[У]=а[1,к])апё((к>Ь)ог(]ок))
(Ьеп
Ье§ш
н:=и+1 ;с[н]:=а[у ];
епё;
епё;
//нахождение
максимального элемента
элементов
среди
повторяющихся
шах:=с[2];
Гог г= 2 1о н ёо
1Гср]>=тах Шеп тах:=с[1];
1аЬе12.Сарйоп:=ЯоаПоз1г(тах);
епё;
епё.
Задание.
Дана матрица. Составить код программы, который печатает элементы
матрицы по спирали.
Решение:
Для составления модели виток спирали разделяется на четыре
участка: слева на право, вертикальный сверху вниз, горизонтальный
справа налево, вертикальный снизу вверх. Каждый участок
заполняется отдельно и применяется скатывание одного участка на
другой.
Модуль:
иш( зрйа!;
ш(егГасе
изе$
\Уш ёо^8, Ме88а§е§, ЗузОШв, УапаШз, С1
Ропщ , Б1а1оё8, С лёз, ЗДСЫа;
1уре
ТРогт1 = с1а88(ТРогт)
ВиПоп 1: ТВиНоп;
8Птп§Спё1: ТЗНшёСпё;
ЕёП 1: ТЕёН;
ргосеёиге ВиПоп 1СИск(8епёег: ТО^ес1);
рпуа1е
{ Рпуа1е ёес1агаНоп8}
риЬНс
{ РиЬНс ёес1агаНоп8 }
епё;
уаг
Рогш1: ТРоггп!;
йпр1етеп 1айоп
{$К *.ёйп}
ргосеёиге ТРогш 1.ВиПоп 1С1к
сопз1п1=19;
уаг у,к,п:йПе§ег;
а:аггау[ 1.^ 1,1. .N1 ] оГ ш1е§ег;
ШпсПоп §о: Ьоо1еап;
Ъе§ш
§о:=Га18е;
# к<=п*п Шел
Ь е§ т
а[у ]“ к;
к:=к+1;
ео:=Пие
епё;
епё;
Ъе§ш
п;=8тош1(еёп1,1ех1);
к:=1 Ц:=1 у :=1;
гереа!
^Ы1е §о апё (1+ ^п + 1) ёо
Ье§т
к:=к-1;
епё;
дуЫ1е §о апё(1<^) ёо
Ъе§т
Ё*4И?
к:=к-1;
епё;
^Ы1е ^0 апё (1+)>п+1)ёо
Ье§ш
• ____■
|
лчМ ;
к:=к-1;
епё;
Р о гт !
ше
*
«■ ■ к Н
!> Ч ч 5
1
1
5
5
”
^
4
#в
Щ5 ..... .....
24
* • *>••
8
• “• у
1
%•
6
ш
» »■
6
•
■
ям » м
7
** •
1
* %►
-»
9
4
4
1
—
* ‘ "V 44% * » ш
7
■чЖ
К •» . ■ 4
•V. V (V •* *•
••
3
I
3
3
# И Ч ‘
-
!
—
№
*
Ж
■
ч
ВиНоп1
х
ш
*
*
.
;
ч Л
Я г| Г
II,
Рис. 12
мп1е §о апё 0>>И ) ёо
Ье§ш
гМ -1;
к:=к-1;
епё;
ипй! к=п*п;
Гог 1:= 1 1о п ёо
Гог ]:=11о п ёо
3*пп§Опё1.Се1180,1]:=тПо81г(а[У]);
епё;
*
епё.
Задши ., Среди строк заданной целочнсденной матрицы, содержащих
строку с максимальной суммой
1 программы.
Решение:
М одуль:
ипй 81г_шах_песЬ;
V
ш(егГасе
и$ез
М еиаве», 5 у з № , Уапапй, СЫ зез, ОгарЫсз
р0ГШ8
1уре
Т Р огт 1 = с1а88(ТРогт)
81гш§Спё 1: Т 81пп§Спё;
8рееёВиПоп1: Т8рееёВийоп;
ЬаЬеП: ТЬаЬе1;
ЕёШ : ТЕёк;
ЬаЬе12: ТЬаЬе1;
ЬаЬе13: ТЪаЪе!;
-----------------------
ргосеёиге 8рееёВиПоп 1СИск(8епёег: ТОЫесОрпуа1е
{ Рпуа1е ёес1агайоп8}
риЬНс
{ РиЬНс ёес1агайоп8}
епё;
уаг
Рогт1: Т Р о г т !;
1т р 1етепШ юп
{$Я *.ёйп}
44
уаг а:аггау[ 1.. 10,1.. 10] оГ ийееег;
1и>п,П81г^с,шах:ш1е§ег;
8.аггау[1..10] оГт1е§ег;
51:зШп§;
Ь е§т
п:=8Мош1(еёк1.1ех1); Иввод разы
Гог 1:=11о п ёо
Гог ^ .-1 1о п ёо
Ь е§т
81:=1при1Ьох('МА881У,",");//ввод
8йтп§Спё1 .се118[),1].- 51;
а[У]:=51Лош1(8*);
епё;
тах:=0; пз1г~0;
Гог И (о п ёо
Ье§ш к:=0; 8р]:=0;
Гог^=1 (о п ёо
2<Х)
матрицы
Ь е^т
к:=к+1;
епё;
и к=п Леп
Ъ е§т
8[1]:= 0 ;
Гог к:=1 ю п ёо IIцикл опредления суммы и максимального среди
сумм
Ь е§т
8[1]:=8[1]+аЬ8(а[1,к]);
епё;
1
Г та х < = [ ] Шеп
8
1
Ье&т
та х:= 8[ 1];
^
“
'
’■!
пз1г:=1;
епё;
епё;
1аЬе13.сарйоп:=тПо81г(п81г);
г
епё;
■
епё;
епё.
Задание. Найти все натуральные числа, непревосходящие заданного
п, и делящиеся на каждую из своих цифр. Составить код программы.
Рис. 14
56
ипй сЫ$1о_с1е1;
ш1егГасе
Ш65
АУшёомк, Мезза^ез, 8узШ1з, УапаШз, С1аззез, ОгарЫсз, Сопйок,
гогтз,
В1а1о§8, 81ёС 1Й8;
1уре
Т Р огт 1 = с1азз(ТРогт)
ЕёШ .ТЕёН;
ВиНоп1: ТВиИоп;
Меню 1: Т М ето;
ЬаЬе11: ТЬаЬе1;
ргосеёиге Вийоп 1СИск(8епёег: ТС%ес1);
рпуа1е
{ Рпуа1е ёес1ага*юпз}
риЬНс
{ РиЬНс ёес1агайопз }
епё;
уаг
Рогш1: Т Р о гт 1;
шзр1етепШюп
{$ К * ёйп}
ргосеёиге Т Р о гт 1.Ви«оп1СНск(8епёег: ТО ^ес!);
уаг 8:8(пп^;
п,к,1,],1:ш1е§ег;
Ь е§т т е т о 1.с 1еаг;
п:=8Шот1(еёк1.1сх1)",//ввод данного числа
Гог ^ = 1 1о п ёо Нполучим последовательность натуральных чисел
Ь е§т
8:=т«081г(|);
1:= 0;
Гог 1:= 1 1о 1еп§1Ь(з)ёо //определение цифр заданного числа
Ьееш
к:=зЫот1(з[1]);
цифр к<>° АбП ^
т0<1 к=°^ Л е“ ,:=1+1; 11проверка на делимость
епё;
1= 1еп21Ь(8) Леп
Ь еет
т е т о 1Х т е з. Аёё(шПо81г()));
епё;
епё; епё;
^
епё.
Записи
3аПИСИ ~ ЭТ0 СТрукхура данных, состоящая из фиксированного
а компонентов, называемых полями записи, которые могут быть
различного типа. Чтобы можно было ссылаться на тот и Г „ной
компонент записи, поля именуются.
Структура объявления типа:
<имя
тип 1 поля
тип 2 поля
тип п поля
епё;
Пример:
§1иёеп1 = гесогё
п: пПееег;
йо: 81лп§ [20];
ОК: ш1е§ег;
епё;
уаг
1аЬ: аггау[1...30] оГ 8 шёеп1;
Доступ к каждому из компонентов можно получить
селектор (составное имя):
Имя переменной. Имя поляНапример,
ТаВД.Йо.
Для упрощения доступа к полям записи используется оператор
присоединения иуЙЬ:
<переменная> ёо <оператор>;
ёо -ключевые слова,
<переменная>- имя переменной типа запись, за которым может
следовать список, т.е. вложенное поле.
Например:
\№{Ь(аЬ[1] ёо
Ве^ш
К:=$1йот1(еёй1 Лех1);
Рю:= есШ2.<ех1;
Е)г:= еёНЗ Лех1;
Сг:=5Мош1(её1Шех1);
Епё;
ОЬ)ес* Разса! допускает использование записи с вариантными полями.
Например,
Туре
Р=гесогё
№ипе:81пп§;
Сазе Ьу1е оГ
0: (Р1асе1 :з1гш§[25]);
I: (Соип1гу:$1пп§[25])
епё;
Необходимо помнить то, что в записи возможна только одна
вариантная часть, которая располагается после фиксированных полей.
Особенность использования вариативных полей в том, что для всех
вариантов выделяется в памяти одна и та же область.
Задание.
Для группы студентов получить на экране результаты сессии, т.е.
получить в поле вывода таблицу следующего видя-
№
Оценки
ФИО
1
Модуль
5(иёеп( - гесогё
п: Ыевег;
Средний
балл
2
3
1
4
Яо: 81пп§ [20];
Ьа11:аггау[1..4] йПе^ег;
с_Ьа11: геа!;
епё;
уаг к ,у : ш1е§ег;
1аЬ: аггау[ 1... 20] оГ Зшёеп1;
Ь е§т
к:
8Мот((шри(Ъох( ‘Данные 'количество студентов
Гог 1:= 1 1о к ёо
1аЬ[1] ёо
Ъ е§т с_Ьа11:=0;
Гог.|:=1 Ю 4 ёо
Данные
анные , Фамилия и имя студента
7
Ьа11ф :=8тот1(триЛох(‘ ,,т«о81гО )+,предметы’ ))
Ьа11+Ьа11[]]
епё;
с_Ьа11:=с_Ьа11/4;
епё;
Мето1.1ше8.аёё(‘_______ __
»у
6
Гог п*=11о к ёо
1аЬ[Л ёо
Ь е§т
”
"
а
л
л
~
М ето1.1те8.аёё(‘ |’,тйо81г(п), йо :20 Т )*
Гог ]~ 1 ю 4 ёо
Мето1.1те8.аёё(Ьа11:2);
М е т о 1.Нпе8.аёё(‘ |’,с_Ьа1:4, ’|’);
Епё;
•••
Работа с файлами
п
*Л
ЭТ0
Г 316”
структура
данных,
представляющая
собой
элементов одного типа. Количество элементов
п ^ ш о й * 2 , ^ “ “ ™ “ ° ФаЙЛ М0ЖН0 Раса“ Ч > ™ «ь
массив
. ” ИНЫ НеОГраничен“ ого размера. Файл должен быть
описания
Обявление файла:
Имя: Й1е оГ Тип элементов;
Кез. Ше оГ сЬаг; //файл символов
кое?: Ше оГ геа1; //файл вещественных чисел
Г: Я1е оГ ш1е§ег; //файл целых чисел
Имя: ТехйРйе;
Где Имя - имя файловой переменной, показывает, что это текстовый
файл.
•
Объявление
файловой переменной
задает только
тип
компонентов файла. Чтобы программа могла выводить данные в файл
или считывать данные из файла, необходимо указать конкретный
файл, т.е. задать имя файла. Имя файла задается вызовом процедуры
А 8м§пр11е, связывающий файловую переменную с конкретным
файлом.
Форма записи:
Пример:
А881ёпР11е(Г, Имя файла :8*ппе).
А 881§пРПе(Г, ‘а:/гезиИ.Ш’).
Непосредственно вывод в текстовый файл осуществляется при
помощи инструкции \уп1е или \ш1е1п.
Форма записи:
^п1е(файловая переменная, список вывода)
^п*е1п(файловая переменная, список вывода)
^ Где файловая переменная- это переменная, идентифицирующая
файл, в который выполняется вывод.
Список вывода - это разделенные запятыми имена переменных,
значения которых надо вывести в файл. Помимо имен переменных в
список вывода можно включать строковые константы.
Различие дуп1е или \УгПе1п: после вывода всех значений,
указанных в списке вывода, записывает в файл символ “новая строка” .
Добавление в файл
Создать модуль, позволяющий создать новый файл или
замещение существующего файла, а также добавление элементов в
существующий файл.
иш{ \\т_;
пПег&се
Мпёо\У8
8увШ18, С1а88в8, СгарЫсз, Соп1гок
Э1а1о§8,
81ёОг18;
Чфе
ТРогт1 = с1а88(ТРопп)
Вийоп2: ТВиМоп;
Вийоп 1: ТВиИоп;
ЬаЬе11: ТЬаЬе1;
^
ргосеёиге Вийоп 1СИск(8епёег: ТОЬ]ес*);
ргосеёиге Вийоп2СИск(8епёег: ТО ^ес!);
рпуа1е
{ Рпуа1е ёес1ага1юп8}
риЬНс
{ РиЬНс ёес1агайопз }
епё:
/
уаг
Рогш1: Т Р о г т !;
йпр1етепШюп
{$К. * Э Р М }
//создание нового или замещение существующего файла
ргосеёиге ТРогт1.ВиПоп1СИск(8епёег: ТОЫесО*
уаг
Г:Тех1РИе;
гт1е§ег;
Ье§ш
А 881§пРПе(Г,1с :\зй1ёеШ\*ез1.М ');
&е\угйе(Г);
Гог 1:= 1 1о 3 ёо
ДУп(е1п(Г,''Строка 'Д);
С1озеРПе({);
епё;
//добавление в существующий файл
ргосеёиге Т Р о гт 1.Ви«оп2СИск(8епёег: ТОЪдес*);
Р
уаг
Г:Тех1РНе;
1:ш1е§ег;
Ье§ш
А 8818пРИе(Г,' с:\зШёеп1\1е8их1');
Аррепёф;
Гог 1:=3 Ю 5 ёо
\ш1е1п(Г,'Строка ',1);
СккеРПеф;
епё;
епё.
Сохранение записей в файле
Составить модуль, который осуществляет
(фамилия, имя студентов) в файле.
*
сохранение
записей
пИеНасе
иже
\УтёочУ8, Ме85а§ез, 8узШ к, С1а88е8, СгарЫсз, СоШпЯз, Рогтз,
ЕЙа1ор,
ЗЬКЗДв;
1уре
Т Р о гт 1 = с1аз8(Т Рогт)
ЬаЬе11: ТЬаЬе!;
ЬаЬе12: ТЪаЬе1;
Е ё!и : ТЕёП;
ЕёН2: ТЕёй;
ВиПоп 1: ТВиПоп;
ргосеёиге РогтАсПуа1е(8епёег: ТОЬ]ес1);
ргосеёиге РогшС1о8е(8епёег: ТОЬ^ес*; уаг АсПоп: ТС1о8еАсПоп);
ргосеёиге ВиПоп 1СНск(Зепёег: ТОфесг);
рпуа(е
{ Рпуа1е ёес1ага(юп8}
риЬНс
{ РиЬНс ёес1ага(юп8}
епё;
регзоп = гесогё
Г п а т е :§1пп§[30];
1_пате:з 1гш§[20 ];
епё;
уаг
Ропп1: Т Р о гт 1;
СШе оГ регеоп;
1тр1етеп1аИоп
-
{$К *.Э РМ }
ргосеёиге ТРогт1.РогтАсйуа1е(8епёег: ТСИуес*);
Ье§ш
А881§пРИе(Г,'а:\рег8оп.ёЬ');
К е\т1е({);
епё;
ргосеёиге
Т Р огт 1.РогтС1о8е(8епёег:
ТС1озеАсйоп);
/
ТОЪ)ес1;
уаг
Ъе§ш
СкмеРйеф;
епё;
ргосеёиге Т Р о гт 1.ВиПоп1СНск(8епёег: ТОЫесО'
уаг
81иёеп1:рег80п;
Ъе§ш
АУ1Й1 8*иёеп{ ёо
Ь е§т
Г_пате:=ЕёИ1.1ех1;
1_пате:=Её112.1ех1;
\уп1е(Г,81иёеп1); \
епё;
\
епё;
епё.
. ,ч.., а >.
а*
Асйоп
Составить модуль, который при наличии текстового файла по
указанной пути осуществить чтение записей из файла.
Модуль:
шШ Ш М ;
ийегГасе
шее
ЗузШ к Турез, С1аззез, ОСгарЫсз, ОСотгоЬ, дРогтпз, ОЁЙаЬез,
С^ашСшз;
1уре
Т Р огт 1 = с1а5з(ТРогт)
Вийоп 1: ТВийоп;
М ето1: ТМ ето;
ргосеёиге ВиПоп 1СНск(8епёег: ТО^ес*);
рпуа1е
{ Рпуа1е ёес1ага1юпз }
риЬНс
{ РиЬНс ёес1агаПопз}
епё;
уаг
Рогт1: Т Р огт 1;
йпр1етеп(а(юп
{$К *.х6п}
ргосеёиге ТРогт1.ВиПоп1СНск(Зепёег: ТО ^ес 1);
уаг
Г:Тех1РИе;
г пиетет;
с:5(пп^;
Ъе§т
А8318пр11е(Г,'ё:\1е51.1х1');
гезе1(Л ;
\уЫ1е по1 еоГ(*) ёо
Ье§т
геаё1п(Г,с);
тегао 1.Ыпез.А ёё(с);
епё;
С1о8еРёе(П;
епё;
епё.
Работа с динамическими объектами
Динамические структуры данных. Списки. Кольца.
Две
программировании данные можно пазпетг
основные группы: данные статической
структуры, данные
структуры
Линейной
структуры
Кольцевой
структуры
Разветвленной
структуры
Многосвязный
линейный список
Многосвязный
линейный список
Графы
Двоичные
(бинарные)
Многосвязный
линейный список
\
Данные
структуры
это данные, внутреннее
строение которых формируется по какому-либо закону
изменяться
во
время
выполнения
могут динамически
программы согласно закону
закона
данным данамической структуры относят файлы'
динамические
В Разса1 программе для размещения данных в О З У
используются два вида памяти статическая и динамическая. Объем и
структура статической памяти формирует
компиляции
программы (т.е. определяется при создании) и ограничивается
размером сегмента (64 Кбайт), что не всегда приемлемо%>и решении
задач, данные которых имеют сложную динамическую структуру и
большой объем. Для размещения такого рода данных формируется
динамическая память, которая выделяется либо уничтожается
непосредственно
в процессе работы программы. Для работы с
динамически памятью используются переменные - указатели
(ссылочные переменные), которые располагаются в статической
области памяти и указывают на размещение динамических данных в
ОЗУ. Указатели в Паскале делятся
на типизированные и не
типизированные. Для объявления типизированных указателей
используют символ, который размещается непосредственно перед
типом данных, например:
Уаг
______________________________________________________________________
____________
/
Т
*
*
^
~
А
и
ш
1
Ш
1
Л
Ш
Ш
Рш1:±ш1е§ег; {Рт1 -указатель на тип т1е§ег}
При объявлении не типизированных указателей используется
артный тип РОШТЕК. наппимепУаг
РОШТЕК
указатель на любой тип}
Нетипизированные указатели на связаны с конкретным типом
данных, поэтому их удобно использовать для динамического
размещения данных, структура и тип которых меняется в ходе
выполнения программы.
{ля выделения динамической памяти используется процедура
пе\у(<указатель>), которая создает область в динамической памяти и
ее адрес заносит в указатель. Например:
уаг
ОЗУ:
рШ: р от!;
•
•
Ь еет
•
•
пе^ (той);
•
•
•
епё.
Статическая
память:
•
•
рп1:
Динамическая
память:
ЮР5:1А87
указатель ни на что не указывал
таких
случаях
---- -- ^ „ влЛ переменной - указателю присваивается ш1 (нулевой
указатель), например: рт:=ш1
^нулевой
Для формирования
сложной
г XX'
формиру
в процессе выполнения (гипйте), создаются такие
структуры
Щ
тШ
Ш
Ш
Т:т
/9
•
Списки
связанную пос пе
данных’ пРеДставляющая собой логически
связанную последовательность записей - элементов списка Первый
элемент списка называется голова, а последний - хвост.
Ж
ж
7
Г
ш1
Кольцо
г содержит ссылку на
первый. Вхождением в кольцо называется
указатель
на
первый
элемент.
Деревья
связанная структура данных, где каждый
другие
Рассмотрим динамическую структуру —кольцо.
В динамической памяти создается структура
кольцо,
элементы которого являются перемени]
типа
описывающие данные об элементах списка(имя
цсовый номер, указатель на следующего элемента).
пате:
пит:
1ех1:
пате:
п
ц т .в
ниш
пате:
пит:
1ех1:
Х сх Х :
инамические переменные
программы, которая вычислит сумму
динамические
ипйёуаг ;
йПегГасе
изев
Ш тёош з, Мезза§ез, ЗузЦГШз, С1аззез, СгарЫсз, Соп1го1з, Рогтз,
01а1о§з, 5(ёС(г18;
1уре
ТРогт1 = с1а88(ТРогт)
ЕсШ .ТЕёй;
Ы\\2: ТЕ М ;
ВиПоп 1: ТВиПоп;
ЬаЬе11: ТЬаЬе1;
ргосеёиге Ви«оп!СИск(8епёег: Т01уес1);
рпуа1е
{ Рпуа1е ёес1агаИопз }
риЬНс
{ РиЬНс ёес!ага1юпз }
епё:
уаг
Р о г т !: Т Р о гт !;
1т р 1ешеп1айоп
{$К * О РМ }
ргосеёиге Т Р о гт 1.ВиПоп 1СНск(8епёег: ТОЫесОуаг
л
Ьеё!пР2,РЗЛт1е8еГ;
1
1
указатели на ПеРеменные типа ши^ег
// создадим динамические переменные типа ш1ееег
педу(р1)6
пе\у(р2)
пе\у(рЗ)
р 1л :=8йТо1п1(Еёп1.Тех 1);
р2л:=81гТо1т(Еёй2.ТехО;
рЗл :=р1/Ч-р2л;
8Ьо\уМе88а§е('Сумма введеных чисел равна ’+ЫТо81г(рЗЛ));
И уничтожим динамические переменные
ё18ро8е(р 1)
ё 18ро 8е(р 2 )
ё 18ро 8е(рЗ)
епё;
епё.
Динамический список. Пример1
Создать код программы, позволяющий создать список студентов
с „ е м
фамилии и имени. Предусмотреть в п р о г р а 1 е Т б ы т „и
добавления в список и просмотра списка
Н
сооытии
ипйсШзИ :
№ Ы о" 8’ М е88а8е8, Зуййщ , С Ь м е* СгарЫсз, СоШюЬ, Гош »,
01а1о8з, ЗШСй-к;
1уре
ТРогт 1 ® с!а88(ТРогт)
ЬаЬе! 1: ТЬаЬе1;
ЬаЬе12: ТЪаЬе!;
ВиПоп 1: ТВиПоп;
Ви«оп2: ТВиПоп;
ЬаЬе13: ТЪаЬе!;
Е ёМ : ТЕёй;
Е Л Й : ТЕёИ;
ЬаЬе14: ТЬаЬе1;
ргосеёиге Вийоп 1СНск(Зепёег: ТО^ес1);
ргосеёиге Вийоп2СИск(8епёег: ТО ^ес!);
рпуйе
{ Рпуа!е ёес1агайопз}
риЬНс
{ РиЬНс ёес1ага(10П8}
епё;
уаг
Рогт1: ТРогт1;
1т р 1етеп 1айоп
{$К * О РМ }
1уре
ТР 81иёеп1= лТ 8 шёеп1; //указатель на тип Т8Шс1еп1
ТЗшёеп! = гесогё
Г п ате:81пп§[20]; //фамилия
1_пате: 8Шп§[20]; // имя
пех4: ТР 81иёеп1; //следующий элемент списка
епё;
уаг
Ьеаё: ТР8шёеп1; //начало (голова) списка
ргосеёиге ТРогт1 .ВиПоп 1СНск(Зепёег: ТОЬдес*);
уаг
|
сигг: ТРЗ*иёеп*; //новый, текущий элемент списка
Ье§ш
пе^(сигг), //создание нового элемента списка
сипЛГпате.-ЕсНИ .Тех*;
си п ^ Л п ате:=Её1*2.Тех*;
//добавление в начало списка
сиггА.пех*:=Ьеаё;
Ьеаё:=сигг;
Её1*1.1ех*:=";
Е(И*2.1ех*:—';
|
епё;
•} Д и н а м и ч е с к и й
список
Чтобы добавить элемент в
введите имя и Фамилию, »
щелкните на кнопке Добае
1_аЬе13: ТЬаЬе!
Фамилия
Чтобы просмотре
на кнопке Список
список, щелкните
Рис. 15.
ргосеёиге ТРогш1 .Ви**оп2СНск(8епёег: ТОЫес*У
уаг
сигг. ТР8*иёеп*; //текущий элемент списка
плп*е§ег; //длина (кол-во элементов) списка
8*.8*пп§; // строковое представление списка
Ье§ш
п:=0;
8*:=”;
сшт:=Ьеаё;
^Ы1е сигг о
Ь ев т
М Ь ёо
п:=п+1;
з1:=з1+сиггл Т_пате+' ,+сштА.1_пате+# 13;
сигг:=сштл.пех1;
епё;
ПО
О
Леп 8ЬошМе88а§е('Список:'+# 13+81)
е1зе ЗЬошМе88а§е('В списке нет элементов.1);
епё;
епё.
Динамический список. Пример2
Составить код программы, позволяющий создавать список
студентов с указанием фамилии и имени. В программе предусмотреть
событие добавление и удаление элементов списка, а тюке просмотр
списка.
*
II"Динамический список
Чтобы добавить элемент в список,
введите ийя и Фамилию, затем
щелкните ка кнопке Добавить.
Фамилия
Добавить
Удалить
Чтобы просмотреть список* щелкните
на кнопке Список
Список
Рис. 16.
иш1
ийег&се
ш
М п ёоад, Мезза^ез, 8увШ1в, С1аззе8, ОгарЫсз, Соп1го18, Рогшз,
Ш а1о§$, З и Ю гк ;
<УРе
Т Р огт 1 = с1а88(ТРогт)
ЬаЬе11: ТЬаЬе1;
ЬаЬе12: ТЬаЬе1;
Вийоп 1: ТВийоп;
Вийоп2 : ТВийоп;
ЬаЬе13: ТЬаЬе1;
ЕсШ1: ТЕёй;
ЕёИ2: ТЕёН;
ЬаЬе14: ТЬаЬе1;
ВийопЗ: ТВийоп;
V
ргосеёиге Вийоп 1СНск(8 епёег: ТСЛуес!);
ргосеёиге Вийоп2СИск(Зепёег: ТСЙдесЛ);
ргосеёиге РогтАсЙуа 1е ( 8 епёег: ТОЪдесг);
ргосеёиге ВийопЗСНск(Зепёег: ТОЬдес*);’
рпуа1е
{ Рпуа1е ёес1агайоп8 }
риЬНс
{ РиЬНс ёес1агайоп8 }
епё;
уаг
Р о гт 1: Т Р о гт !;
йпр!етепШюп
{$К *.Б РМ }
1уре
ТР 8 й1ёеп1=лТ 8й1ёеп1; //указатель на тип Т 8 ш ёет
Т 81иёеп1 = гесогё
Г_пате:81пп§[20]; //фамилия
и 1_п ате:8йтп§[201; / / и м я
пех1: ТР 8 шёеп1;
епё;
// следующий элемент списка
уаг
Ьеаё. ТР 8 шёеп1; // начало (голова) списка
ргосеёиге ТРогт!.Вийоп!СНск(Зепёег: Т О ^ес 1);
текущий
Рге" 1гЬшаеШ; //предыдущий
Ье§ш
пе\у(поёе); // создание нового элемента списка
поёеЛ * а а ш н Ш Ш эв.
поёел .1_паше:=Е(Ш2.Тех1;
//добавление узла в список
// сначала найдем подходящее место в списке для
сшт:=Ьеаё;
рге:*№ Ь;
{ Внимание!
если приведенное ниже условие заменить
на (поёе. Г_паше>сиггА.Г_пате)апё(сигг<>МЬ)
то при добавлении первого узла возникает ошибка времени
выполнения, так как сигг - N11, и, следовательно,
переменной сшт.Лпате нет!
В используемом варианте условия ошибка не возникает, так как
сначала ™ ------------------ — случае
^Ы1е (сигг о
Ье§1п
МЬ)апс1(по<1е.Г паше > сигг*
текущего
рге:= сигг;
сшт.=сштЛ.пех*; //к следующему узлу
епс1;
♦1Г рге = Щ Ь
гЬеп
Ь е§т
начало
поёеА.пех1:=Ьеас1;
=по<1е
епё
е!зе
Ъе§ш
перед сигг
с1:=рге
=поёе
епё;
Е<ш1.1ех1:=";
ЕёЮ Лех!:-';
епё;
,
^
;,л
ргосеёиге Т Р огт 1.Ви«оп2СПск(8епёег: ТО^ес1);
уаг
1
4,
сигг: ТР8шёеп1; //текущий элемент списка
п.ш1е§ег; //длина (кол-во элементов) списка
з1:5{пп §; //строковое представление списка
Ь е§т
>
п:=0;
81:=";
сигг:=Ьеаё;
дуЫ1е сигг о Ы1Ь ёо
Ье^Ш
п:=п+1;
1
1 ъЬяхт
^
8!:=81+сиггЛ.Г_пате+"+сиггЛ.1_пате+#13;
сшт—сипЛпех*;
епё;
1Гп о 0
■
.
/
^
Леп 8Ьо\уМе88а§е('Список: '+# 13+ 81)
еЬе 8ЬодуМе88а§е('В списке нет элементов.')’
епё;
ргосеёиге ТРогт1.РогтАсЙуа1е(8епёег: Т 0 Ъ)ес1);
Ъе§ш
Ъеаё:=МЬ;
епё;
ргосеёиге ТРогш1 .ВиИопЗСНск(8епёег: Т О ^ ес!);
уаг
сигпТР81иёеп1; //текущий, проверяемый узел
рге: ТР 81иёеп1; // предыдущий узел
#ипё:Ъоо1еап; // Т1ШЕ - узел, который надо удалить есть в списке
Ъе§ш
ИГЬеаё = Ы1Ь
Леп Ме88а§е01§('Список пустой! ',т1Еггог, [тЬО к] ,0)
е!зе
Ье§ш
сигг:=Ьеаё;
рге:=Ы1Ь;
Гоипё:=РАЬ8Е;
//найти узел, который надо удалить
Ш 1е (сигг о Щ ) апс1 (по1 Гоипё) ёо
Ье§ш
# (еиггЛ Гпаше = ЕёШ .Тех!) апё (сш тМ п ате = Еён2.ТехО
Шеп &ипё:-Т1Ш Е //нужный узел найден
е!зе //к следующему узлу
Ье§ш
рге:=сигг;
сигп^ипЛпехг;
епё;
епё;
Гоипё
Шеп
Ъ е§т //удаляем узел
И рге = М Ь
Леп Ьеаё.-сипЛпех* //удаляем первый узел списка
еке ргеЛ.пех1:=сшт.пех1;
ё18ро8е(сшт);
Е ёМ .Т ех !:-';
Еёй1.Тех1:=";
епё
е1ве //узла, который надо удалить, в списке нет
Ме88а§е01§('Узел'+# 13
+'Имя:Ч-Еёк1.Тех1+#13
+'Фамилия: '+Её|12.Тех1+# 13
+'в списке не найден.'
,п«Еггог,[тЬОк],0)
епё;
епё;
епё.
□ Пример создания компьютерной обучающей программы
Рассмотрим
создание
обучающей
программы
с
мультимедийными возможностями, которая состоит из шести
модулей-уроков по теории вероятностей и математической статистике
и
позволяет
экспериментально
изучать
поведение
частоты
наступления случайного события в независимых испытаниях. А также
раскрывает содержательный смысл понятия вероятность и вводит
понятие случайная величина.
На
форма с компонентами
показана окно программы во время выполнения
Т эор й я % Прак т й *а
?
гпр: ТМесйаР1ауег
МЫпМепиТ: ТМЫпМепи
Программа туралы
М одуль:
ипй т а т ;
ш
АУшёохуз, Мезза^ез, 8узШ1з, Скззез, СгарЫсз, Соп1го1з Рогтз,
0131088, 81ёСп1з, ВиПопз, МР1ауег;
1уре
Т Р огт 1 = с1а$з(ТРогт)
ВЬеззоп 1: ТВиПоп;
ВЬеззоп2: ТВиПоп;
ВЬеззопЗ: ТВиПоп;
ВЬеззоп4: ТВиПоп;
ЕхН: ТВиПоп;
ВЬеззоп5: ТВиПоп;
ВЬеззопб: ТВиПоп;
ВНе1р: ТВиПоп;
ВАЬои1: ТВиПоп;
т р : ТМесИаР1ауег;
ргосеёиге ВЬеззоп 1СИск(Зепёег: Т0^ес1);
ргосеёиге ВЬеззоп2СНск(8епёег: ТО Ъ ]е«);
ргосеёиге ЕхПСИск(8епёег: ТСЙуес*);
ргосеёиге ВЬеззопЗС11ск(8епёег: Т0Ь]ес1);
ргосеёиге ВЬеззоп4С11ск(8епёег: ТСИдесф
ргосеёиге РогтРаш1(8епёег: Т0Ь)ес1);
ргосеёиге ВЬе88оп5СНск(8епёег: Т0Ь^ес1);
ргосеёиге ВЬе880п6СИск(Зепёег: ТО^есг);
ргосеёиге ВАЬои1СИск(8епёег: ТОЬ]ес*);
ргосеёиге РогтАсйуа1е(8епёег: Т0Ьдес1);
ргосеёиге ВНе1рСНск(8епёег: ТО^ес*);
ргосеёиге Рогш8Ьо\у(8епёег: Т0Ь|ес1);
ргосеёиге РогтСгеа1е(8епёег: Т0Ьдес1);
рпуа1е
{ Рпуа1е ёес1агаПопз }
риЬНс
{ РиЫю ёес 1ага(10П8 }
епё;
уаг
Рогт1: ТРогт1;
р:1опет(;
{$К * Ш М }116881’ 1Ле883, 1Лвю4»1Лвю5*ЦЬм6, иаЬ,Ше1р
ргосеёиге ТРогт 1.ВЬеззоп1СНск(8епёег: ТОЫесО'
Ъе§т
Рогт1.Ш ёе;
АррИса1юп.Сгеа1еРогт(ТЬе88оп1, Ье 88оп 1);
Ьез80п1.8Ь0\у;М
,
у
ж
*
тр .р 11еК ате:='1е880п 1р.ш у';
тр.Ореп;
тр.р!ау;
епё;
ргосеёиге ТРогт 1Жеззоп2СИск(8епёег: ТОЫесОЬ е §т
У,1
Рогт1.Ш ёе;
I
АррНсайоп.Сгеа1еРогт(ТЬез 80п2 , Ьеззоп2 );
Ье88оп2.8ЬоАу;
тр.РИеКате:='1ез80п2р.\уау';
тр.ореп;
тр.Р1ау;
епё;
ргосеёиге ТРогт1 .ЕхйСНск(8епёег: Т О ^ей );
уаг
8е1:т1е§ег;
Ье§ш
с1озе;
епё;
■
ргосеёиге ТРогт1 .ВЬе5зопЗСНск(Зепёег: ТОЫес!)Рогт1.Ш ёе;
АррНсайоп.Сгеа1еРогт(ТЬе88опЗ, ЬеззопЗ);
ЬеззопЗ.ЗЬо\у;
тр.РПеКате:-1е880пЗр.\уау';
тр.ореп;
тр.Р1ау;
епё;
ргосеёиге Т Р о гт 1.ВЬе880п4СИск(8епёег: ТОЬ)ес1);
Ье§ш
Рогт1 .№ёе;
АррИсайоп.Сгеа1еРогт(ТЬе 88оп4 , Ье 88оп4 );
Ье880п4.5Ь0\у;
епё;
Щ
ргосеёиге ТРогт 1.РогтРаш*(8епёег:
ТОДесЕ);
уаг
Ь:ТВ1йпар;
Ье§ш
Ь:=1Ыйпар.сгеа1е;
Ъ.1оаёРготРПе('з11.Ьтр');
сапуаз.Е>га\у(ОДЪ);
ВЬе880п 1.Сарйоп :='1 Сабак
ВЬе88оп2.Сарйоп:-2 Сабак;
В Ье 88оп3.Сарйоп :-3 Сабак';
ВЬе880п4.Сарйоп:='4 Сабак;
ВЬе880п5.СарЙ0п:='5 Сабак
ВЬе88оп6 .Сарйоп:- 6 Сабак;
ВАЬоШ.Сарйоп:—Программа хуралы';
ВНе1р.Сарйоп:-Кемек';
Ехк.Сарйоп:-Шыгу';
Р огт 1.Сарйоп:—Жишк пен Ыктималдык';
епё;
ргосеёиге Т Р огт 1.ВЬе&8оп5СНск(8епёег: Т 01уес 1);
Ье@ш
Рогт1.№ ёе;
А р р Н с а Й 0 п .С г е а {е р 0 г т (Т Ъ е 8 8 0 п 5 , Ь е 8 8 о п 5 );
Ье88оп5.8Ьо\у;
епё;
ргосеёиге Т Р о гт 1.ВЬе88оп6СНск(8епёег: Т01уес1);
Ь е§т
Рогт1.Н1ёе;
АррИсаЙ0п.Сгеа1ер0гт (Т Ь е 880п6, Ьеззопб);
Ьез80п6 .8 Ь0\у;
епё;
ргосеёиге Т Р огт 1.ВАЪои1СНск(Зепёег: ТОЫесОЬ е§т
Рогт1.Н1ёе;
аЬ.8Ьо\у;
епё:
ргосеёиге Т Р огт 1.РогтАс1:1уа1е(8епёег ТОЫесгУ
уаг
,
2:ш1е§ег;
V'4
Ье§ш
г:=1;
т р .У 181Ые:=Га1зе;
епё;
|
ргосеёиге ТРопп 1.ВНе1рСНск(8еш1ег: ТОЫесЛЬе§ш
Ропп1.Нк1е;
АррИсайоп. Сгеа1еРогт(ТЬе1р, Ье1р);
Ье1р.зЬо\у;
епё;
ргосеёиге Т Р огт 1.Рогт$Ьо\у(8епёег: ТОЫес1У
Ъе§ш
тр.РПеКате.-газф .ууау';
тр.Ореп;
# р=1 Леп тр.Р1ау е1зе тр .С Ь зе:
епё;
ргосеёиге Т Р огт 1.РогтСгеа1е(Зепёег ТОЫесО*
Ье§ш
3 л
р:=1;
епё;
епё.
ипй иаЬ;
т1егГасе
изез
Й
1уре
Й
Г
ТаЬ = с1а8в(ТРогт)
5“
с,аие8- 0гарЫс5-
Ро™
АВОк: ТВиПоп;
А М ето 1: ТМ ето;
ргосеёиге АВОкСИск(8епёег: ТОЬ)ес1);
ргосеёиге РогтСгеа*е(8епёег: ТОДес();
рпуа(е
{ Рпуа1е ёес1агайопз}
риЬНс
{ РиЬНс ёес1ага(юп$}
епё;
уаг
аЬ: ТаЬ;
ппр1етеп(аПоп
изез т а т ;
{$& *.О РМ }
ргосеёиге ТаЬ.АВОкСИск(8епёег: ТОДес*);
Ье§т
Рогт1.8Ьо\у;
Мёе;
епё;
ргосеёиге ТаЬ.РогтСгеа1е(8епёег: ТСНуес*);
Ъ е§т
АМ еш о1.(ех(:- Бул окытушы программа эксперимент туршде
кездейсок окыйга мен ыктималдыгын жене жишпн бш п тусшуге
мумкщщк беред1.';
АВОк.Сарйоп:='Шыуу';
епё;
епё.
иш1 иаЬои(;
ш(егГасе
изез )УшёоАУ8, ЗузШ1з, С1аззез, ОгарЫсз, Рогтз, Сотго1з, 8гёС1г1з
ВиПопз, Е х 1С1г1з;
’
*уре
ТАЬоиШох = с1азз(ТРогш)
Рапе11: ТРапе1;
Рго§гат1соп: Т1та§е;
РгоёисШ ате: ТЬаЬе1;
Уегаоп: ТЪаЬе1;
Соруп§Ь1: ТЪаЬе!;
С о т т е п 1$: ТЪаЬе!;
ОКВийоп: ТВийоп;
ргосеёиге РогтСгеа 1е ( 8 епёег: ТОЫес!)рпуа1е
{ Рпуа1е ёес!ага1юп8 }
риЬНс
|
{ РиЬНс ёес1агайоп8 }
епё;
уаг
АЬоиШох: ТАЬоиШох;
Ш1р1етеп 1а110п
{$К *.О РМ }
ргосеёиге ТАЬои®ох.РогтСгеа 1е ( 8 епёег ТОЫесОуаг
”
а:ш1е§ег;
Ъ е§т
а:= 1;
епё;
епё.
иш1 иш12;
ш(егГасе
изез
8у8Ш '5’ С1а88е8’ СгарЫс5- Соп,гок- * > " “ •
*уре
Теггог = с1а88(ТРопп)
Х аЬе 11: ТЬаЬе1;
рпуа1е
ч
{ Рпуа 1е ёес1ага(юп8}
риЬНс
{ РиЬНс ёес1агайоп8}
епё;
уаг
еггог: Теггог;
1шр1етеп(айоп
{$К *.ОРМ }
епё.
ипП ШезГогт;
ш1егГасе
изез
М е88а8е8> ЯуЛМ Ь, С Ь я м , ОгарЫсз, Соп(го1з Рогтз
Ош1о§з, 81ёСн 1з, Ех1Сп1з, МР1ауег;
1уре
ТЬеззопРогт = с1азз(Т Р огт)
ЬеззопТех1: ТМ ето;
Мепи: ТВиПоп;
РгоЬе: ТВиПоп;
Алзшег: ТЕёй;
Тппег1: ТТйпег;
т р : ТМеё1аР1ауег;
ргосеёиге МепиСНск(8епёег: ТСЙуес1);
ргосеёиге РогтРаш1(8епёег: ТО ^ес 1);>
ргосеёиге §г;
ргосеёиге Т1тег1Т1тег(8епёег: ТО ^ес 1);
ргосеёиге РгоЬеСИск(8епёег: ТО ^ес!);
ргосеёиге РогтСгеа1е(8епёег: ТО^ес1);
ргосеёиге АпзлуегКеуБо\уп(8епёег: ТОЫес1; уаг Кеу Шогё
8ЫЙ: Т8ЬШ8Ше);
рпуаЕе
{ РпуаЕе ёес1агаНопз}
М10: ВООЬЕАЫ;
риЬНс
{ РиЬНс ёес1агаиопз}
епё;
уаг
ЬеззопРогт: ТЪеззопРогт;
х:геа1;
йпр1етеп(аНоп
изез т а т ;
С0П 8(
х1=44;
у1=133;
у2=141;
з1ер=25;
{$К * О РМ }
ргосеёиге ТЪеззопРогт.^г;
уаг
х,К: т!е§ег;
8А У Е Р О Ш ":ТР01ЧТ;
Ъ е§т
мнШ сапуаз ёо Ъ е§т
ЬгизЬ.Со1ог:=13560052; ^
реп.со1ог:=16732497;
реп.8*у!е:= рз8оПё;
р е п .\ у 1 ё ± := 5 ;
гоипёКес1( 17,12,310,250,20,20);
реп.со1ог:=0;
реп.\У1ё1Ь:=5;
тоуеТо(22,137);
1теТо(304,137);
с а п у а з.р е п .\ у 1ё 1Ь := 2 ;
{т о у е Т о(150,17);}
х:=0;
К:=0;
8А У Е РО Н Т-РО Ы Т;
Р(ЖТ.812Е:=10;
дуЫ1е х<=250 ёо
Ъ е§т
тоуе1о(х+х1,у1);
1ше1о(х+х 1,у2);
х:=х+з1ер;
Гот.Со1ог:=100;
# к=5 Й1еп &п1.со1ог:=250;
ТЕХТ01ГГ (Х +7,У2+2 ,'0, '+ЕМТТ08ТК /К )) •
К := К + 1;
епё;
РОЫ Т:=8АУЕ_РОЫ Т;
епё;
епё;
ргосеёиге ТЬез8опРогт.МепиСНск(8епёег: ТОЫес*)Ье§т
1 п с (р );
Роггп1.8Ьо\у;
л
Ке1еазе;
шр.Оозе;
епё;
ргосеёиге ТЬеззопРогт.РогтРат!(8епёег: ТОЫес!){уаг
Ь:ТЬюпар;}
Ье§ш
{Ь: =ТЫ1тар.сгеа1е;
Ь.ЬоаёРготр11е('зрасе.Ьтр');
сапуаз.1)гаш(0,0,Ь);
{Е)га\у соогёта1е Нпез}
Мепи.Сарйоп:='Мв31р';
РгоЬе.Сарйопг-Сынау1;
епё;
ргосеёиге ТЬеззопРогт.Т1тег1Т1тег(8епёег: ТОЫес{)‘
Ье^ш
пи§:=по1( 1т § );
ЙГпи§ (Ьеп
сапуаз.реп.со1ог:=255
е1зе
сапуаз.реп.со1ог:=0;
сапуаз.еШрзе(х 1+з1ер*5-3 ,(у 1+у2) ё]у 2,х1+з1ер*5+3,(у1+у2) ё!у 2+3 V
епё;
ргосеёиге ТЬеззопРогш.РгоЬеСНск(8епёег: ТСИуесЕ);
уаг
а,х2:ш(е§ег;
Ъе§т
сапуаз .реп.со1ог:=0;
сапуаз .реп.\У1ёШ:=5;
сапуаз.шоуеТо(22,137);
сапуаз.1теТо(304,137);
Капёопиге;
х:=гапёот(1000000)/1000000;
х2:=гоипё(х*з1ер* 10000) ё1у 1000;
сапуаз.Реп.со1ог:=$ГГО0;
сапуаз.реп.мё1Ь:=3;
сапуаз .еШрзе(х 1+х2,(у 1+у2) ё 1У 2-1,х1+х2+3,(у1+у2) ё 1У 2+2);
епё;
ргосеёиге ТЬе88опРогт.РоппСгеа1е(8 епёег: ТОЫесО*
Ье^т
тр.У181Ые:=Га18е;
Апз\уег.11рёа1е;
ЬеззопТехМлпез.АёёС);
\У1ёЛ:=567;
Ье1§Ь1:=375;
епё;
к.
'
ргосеёиге ТЪе88опРогт.Ап8^егКеуОо\уп(8епёег: Т 01уес 1; уаг Кеу:
8ЫЙ: Т 8 ЬШ81а!е);
уаг
а: ш1е§ег;
Ь е§т
а:=1;
епё;
епё.
I
ипй и1е881;
ййег&се
изе§
№шао«8, Ме55а8е5, ЗузШ к, С1аяе5, СтарЬка, СотгоЬ, Ролш,
131а1о§8,ЦЬезРогт;
1уре
ТЪеззоп 1 = с1а88(ТЪе88опРогт)
ргосеёиге РгоЬеСИск(8епёег: ТО ^ес*);
ргосеёиге РогтСгеа1е(Зепёег: Т О ^ ес!);
рпуа1е
{ Рпуа1е ёес1агайопз }
риЪНс
{ РиЬНс ёес1ага(юпз }
епё;
уаг
Ьеззоп 1: ТЬеззоп 1;
Ш1р1етеп1айоп
{$К ♦.О РМ }
ргосеёиге ТЬеззоп1.РогтСгеа1е(8епёег: Т О ^ ес!);
V
Ъ е§т
1пЬеп 1её
кездейС0К окыйганы
кездейсок
саны бар
тецс1зд1кпен калаи беруге болатындыгын
туану кажет
')•
^ к
Г б у Г к
е ^ ( 'К 0М Ш ' Т
м е п м е н ^ р Г е д Т 'Г
Ь е8 8 0 п Т ех1 .Ь ш е5 .А (1 < К '
Са" '
РД е С ЬМ ауЛар “ В д о в е л ! . С ы н а у
*
Кездейс0^
ке
X -0 < = X < = 1 т е Нс 1 з д ,п „ к а н а га тта н д ы р а т ы н
кездейсок сан.1);
<=0,5 болса, онда
алады
бакылаймыз
Ьеззоп 1.Сарйоп:-1 Сабак';
епё;
нуктес! калай взгерепндшн
ргосеёиге ТЪеззоп 1.РгоЬеСИск(5епёег: ТОЫесО’
Ъе§ш
шЬегкеё;
х<=0.5 Шеп
Ап8\уег.1ех!:-"А" окыйгасы болды'
е1зе Ап8^ег.1ех1:="'А" окыйгасы болтан жок';
епё;
епё.
ипй и1езз2;
йКегГасе
шее
\Ушёош«, Мезза^ез, 8у8Ш1з, С1аззез, ОгарЫсз, Соп*го1з, Рогшз
01а1о§з, иЬв&пп, 81ёШ з;
В ^ В вЦ
1уре
ТЪеззоп2 = с1а88(ТЬез8опРогш)
ргосеёиге РгоЪеСНск(8епёег: ТО ^ес!);
ргосеёиге РоптСгеа1е(8епёег: Т01уес1);
ргосеёиге АшууегКеу1)о\га(8епёег: ТСЛуес*; уаг Кеу: \Уогё8ЬШ: Т 8 ЫЛ81а1е);
рпуа!е
{ Рпуа1е ёес1ага1юп8 }
риЬНс
{ РиЬНс с1ес1агаПопз }
епё:
уаг
Ье88оп2: ТЬез 80п2 ;
Соип*ег:ш1е§ег;
к:т1е§ег;
8:81ппе;
^
1тр1етепШюп
изез шат,иуе82,ипо2;
{$К *.Э Р М }
ргосеёиге ТЬе88оп2.РгоЬеСНск(Зепёег: ТОЫесО1
Ье^ш
шЬегкеё;
шс(Соип1ег);
1Г Соип1ег = 10 Шел
Ь е§т
РгоЬе.ЕпаЫеё.-Раке;
Ап8дуег.ЕпаЫеё:=Тгие;
Апз\уег.8е1Роси8;
епё;
з1г(х:3:2,8);
ЬеззопТехШ пез.А ёёф ;
К х<=0.5 Шел шс(к);
епё;
ТЬе88оп2.РогшСгеа1е(8епёег
Ье§ш
шЬегкеё;
к:=0;
Соип1ег:=0;
Апз\уег. ЕпаЫеё:=
Ье88опТех1.4ех1:=(!
темендепдей
:т болды?');
сенгенше
Ье88опТех1.Не1§Ь1:=200;
Ьеззоп2.С а р й о п 2 Саб;
епё;
»
/
/
/
Рс
^
т
с
^
с
88°
^
АП5^
егКеу0о^
(8епс1ег:
ТОЬ^ес4;
уагКеу:
\Уогё;
Ьпш: Тапш аШ е);
уаг
I : ЬПе^ег;
Соёе:цйе§ег;
з2,зЗ:81пп§;
Ъе§ш
шЬеп(её;
# Кеу = укгеШ ш Аеп
Ьер
Уа1(Ап8\уег.Тех1,1, Соёе);
{ Еггог ёилп§ сопуегзюп 1о ш1е§ег? }
ЙГсоёе о 0 Леп
Ъе§ш
{ АррНсайоп.Сгеа1еРогт(Теггог, еггог);
еггог. зЬо\у; }
Ме88а§е01§('Еггог а1 розШоп:' + 1пЯоЗ*г(Соёе), пй\Уагтпе
[тЬО к], 0)
епё
еке
Ье§ш
1Г 1=к Шеп
Ьерп
АррИсайоп.Сгеа1еРогт(Туез, уез);
уе8.зЬо\у;
{М еззаееО^СЖ АРАЙСЬЩ ', тМ агш п§, [тЬ О К ],
епё
е1зе
Ь е^т
АррНсайоп. Сгеа1еРогт(Тпо, по);
по.зЪош;
0)}
{МеззадеВ^СДурыс емес. кайтала', пИЕггог, [шЬОК],
епё;
епё;
0);}
епё;
еп<1;
епё.
о ^ ес 1 Ье550пЗ: ТЪеззопЗ
Ьей = 266
Тор = 68
ВогёеНсодо = []
\
Вогёег8!у1е = ЬзТооМгаёоту
СЦепШе1§;Ы = 348
СНеп1>У1ёЙ1 = 536
Со1ог = сШшРасе
Рот.СЬагее! = АЫ31_СНАК5ЕТ
Рот.Со1ог = с1\Мше
РопШ ещЫ = -16
Р оп Ш ате = Т 1т е 8 Ка*'
Роп(.$!у1е = []
01ёСгеа1е0гёег = Тгие
Р|хе1$Рег1псЬ = 96
Тех1Не1йЬ1 = 19
окуес! Е(Ш 1: ТЕёй
ЬеЛ = 24
Тор = 312
ДрёШ = 105
Не1§Ь{ = 27
Рот.СЬагее! = АЫ 81СН АЯЗЕТ
Рот.Со1ог = с1ШЫ1е
Роп(.Не1^Ь( = -16
Р о п !^ а т е = Т х тез Каг'
Роп1.8*у1е = (]
РагетСо1ог = Тгие
Рагеп1Роп1 = Ра15е
ТаЬОгёег = 0
епё
оЬ)ес1 Её!12: ТЕёй
Ь е й = 144
Тор = 312
ТОЛЬ = 89
Не1§Ы = 27
Роп1.СЬаг$е1 = АЫ81 СНАЯ8ЕТ
Рот.Со1ог = с1\УЪйе
РопШ ефП = -16
РопШ ате = 'П т е з Каг'
Роп1.81у1е = []
Рагеп*Со1ог = Тгие
Рагеп1Роп1 = Ра1зе
ТаЪОгёег = 1
епё
епё
иш( 1Лезз4;
йПегГасе
шее
№ Ы ° « , М екаем , ЗуаШ а, СЬкаеа, СгарЫга, СотигоЬ, Ропш,
ОюЬёЗ, 31ёС*г1з;
1уре
ТЪе88оп4 = с1а58(ТРогт)
Ь41еззопТех*: ТМ ето;
Ь4Мепи: ТВиПоп;
Ь4РгоЬе: ТВиПоп;
Еёк1: ТЕёй;
УЕ8: ТКаёюВиПоп;
N 0: ТКаёюВиКоп;
С0ММЕЫТ8: ТМ ето;
ргосеёиге РогтСгеа1е(8епёег: Т0Ь)ес1);
ргосеёиге Ь4РгоЬеСНск(Зепёеп ТО ^ес!);
ргосеёиге УЕ8СНск(§епёег: ТСНуес!);
ргосеёиге ШСНск(8епёег: ТСИуей);
ргосеёиге Ь4МепиСИск(8епёег: Т0^ес1);
рпуа(е
{ Рпуа(е ёес1агайопз }
риЬНс
{ РиЬНс ёес1ага110П8}
епё;
сопз*
Ш М =1 ;
уаг
Ьез50п4: ТЬеззоп4;
Соип(ег:ш(е@ег;
а:аггау[0. .№ Ж ]оГ з^пп^;
апв; аггау [0..КЦМ1 оГЬоо!еап;
сопит: аггау [0 ..Ш М ] оГз1пп§;
йпр1етеп1а1юп
изез тат,ипо2,ипо5;
{$К *.О РМ }
Р огтСгеа*е( 8 епёег
Ъ е§т
Ьез зоп4.Сарйоп:='4 Сабак'Г
Ь4Мепи.Сарйоп:-Мв31р';
Ь4РгоЪе.Сарйоп:=' Сынау’;
а[0]:=' бесшпп сьшауда';
а[1]:~ сегш тш сынауда';
с о т т з [0 ]:= 'А окыйгасы болды, себеб! 4 сьгааудан кейш т = 2
5 сынаудан кейш т = 3 болды.';
с о т п в [1 ]:- 'А окыйгасы болтан жок, себеб! 7 жёне 8 сынаудан кейш
т МЭН1езгерген ж ок.;
ап8[0]:=Т1ШЕ;
ап8[1]~РАЬ8Е;
СОДШ ЕЫ Т8.УшЫ е:=РАЬ8Е;
М1.е85опТехМехЬ=С Ецщ сьшаудын саны ескен сайын окыйганы»
,7 , ™
Г ? ■ Т Й * 1Чфалы гУсшштерщпд,тексерщддер.’);
1 ^ ^ т “ ! ^ Ше8^
Ш =0А1’2'3'3'4-4'5’6-7-7-7.8.8 болса.');
Ь4Ье8$опТех11лпез.А<М( А - окыйгасы келеи сьгшп™ бодцы
еёШ .Тех1:=а[0];
Сошйег
епё;
ргосеёиге ТЬеззоп4 Х4РгоЬеСНск(8епёег: ТОЫесОЬе§ш {1 }
тЬегйеё
И апз[соитег] о
уез.СЬескеё 1Ьеп
Ь е§т
АррИсайоп.Сгеа1еРогтСШо5, N05);
Мо5.зЬо\у;
{Мез8аёе01§('С1з тапсырманы орындай алмадыцыз'
>асынан кайтала!',тШггог, [тЪС)К],0);}
с о т т е п й .У181Ые:= 1ше;
соттеп18.1те8.с1еаг;
сотш еп1з.1тез.аёё(соттз[соипГег]);
епё
соттеп15.У181Ые:=Га18е;
И сошиег < пит
(Ьеп
Ь е § т {3 }
тс(Соип1ег);
еёп1 .Тех1:=а[соип1ег];
епё {3 }
еЬе
Ъе§ш
Ь4РгоЪе.ЕпаЫеё:=Га18е;
епё;
УЕ8.СЬескеё:=РАЬ8Е;
Ш .СЪескеё:=РА1,8Е;
Ь4РК.0ВЕ .ЕпаЫеё :=Р АЬ8Е;
епё;
ргосеёиге 1Ъе880п4.УЕ8СИск(8епёег: Т01уес1);
Ъерп
Ь4РгоЬе.ЕпаЫеё:=ТКЦЕ;
епё;
ргосеёиге ТЬе88оп4.ЫОСИск(8епёег: ТОЫесО;
Ье^ш
Ь4РгоЬе.ЕпаЫеё:=ТКЦЕ;
епё;
ргосеёиге ТЪе880п4.Ь4МепиСИск(8епёег: ТО ^ес 1);
Ье^ш
Рогт1.8Ьо\у;
Ке1еазе;
епё;
епё.
иш( и1е555;
т1ег&се
шее
\Утёо^8, Мезза^ез, 8у8Ш1з, СЛаззез, СгарЫсз, Сотго1з, Рогтз,
0]а1о§8, и1езГогт, 81ёС1г1»;
1уре
ТЬеззоп5 - с1а$8(1Ъез8опРогт)
Е т: ТЕёй;
Еп: ТЕс&;
Е тп: ТЕН
ргосеёиге РгоЬеСНск(8 епёег: Т(Муес1);
РогтСгеа 1е ( 8 епёег
рпуа1е
{ Рпуа1е ёес1ага!юп8}
риЬНс
{ РиЬНс ёес1ага1юпз }
епё;
уаг
Ьеззоп5: ТЬеззоп 5;
т , т 1,Соитег:ш 1е§ег;
нпр1етеп 1а1юп
изез т а т ;
{$К *.О РМ }
ргосеёиге ТЬеззоп 5.РогтСгеа 1е(8 епёег
Ь е§т
шЬегкеё;
Ьез8оп5.Сар1юп:-5 Сабак';
ЬеззопТехМех!:— Б ул жеоде кезлейгл
окыиганын жиш1п
ж иш кп зерттейшз.
болу ЖИ1Л1П - щ/п
эркашан');
А ё ё ('0<= т/п
болу
мундагы, п- сынау
Ье88опТех1Хшез.Аёё(' т/п —жишктщ
капай езгерет1нд1гш бакылайсызлап 'V
зацдылык
ЬеззопТех1.8сго11Ваг8:=ззУеШса!;
СоиШег
Апз\уег
т := 0 ;
епё;
ргосеёиге ТХеззоп 5.РгоЬеС11ск(8 епёег: ТОЫесО'
уаг
\у.геа1;
82,з1,8:з1пп8;
Ье§ш
тЬегйеё;
онда епщандай
II Сошлет <= 14 йеп
Ье§ш
шс(Соип1ег);
х>0.51Ьеп
Ье@ш
Аш^егЛех!: - "А " окыйгасы болтан жок';
з1г(Со1т(ег,51);
еп.Тсх1:- п - + 81;
§1г ( ш ,5 );
ет.Т ех 1:=,т = '+ 5;
етп.У181Ые:=Га1зе;
епё
е!зе
Ье§ш
етп .У 181Ые:=1гие;
Ап5тег.1ех1:-"А" окыйгасы болды';
т : = т + 1;
8й(т,8);
ет .Т е х *:-т = '+ з;
5*г(Соитег,81);
еп.Тех1:=|п=,+з 1;
т/Соип1ег;
з11(\у:3:2,з2);
етп.Тех 1:=*т/п= ’+з2 ;
епё;
епё
е!зе
РгоЬе.ЕпаЫеё:=Ра18е;
епё;
епё.
ши( Шеззб;
т1егГасе
изез
АУшёошз, Мезза^ез, ЗузШ1з, С1аззез, СгарЫсз, СоптЯз, Рогтз,
Э1а1о@з,
51ёС*г1з, Ех(С(г1з, МР1ауег;
1уре
ТЬеззопб - с1азз(ТРогт)
Мепи: ТВиПоп;
РгоЬе: ТВиПоп;
Ь61ез$опТех1: Т М ето;
Е ёМ : ТЕёН;
М 12: ТЕёк;
ЕёИЗ: ТЕёй;
ЕёП4: ТЕёН;
ЕёН5: ТЕёН;
ЕёПб: ТЕсИг;
Е(Ш7: ТЕ М ;
Рша1: ТВийоп;
М ето1: Т М ето;
Еёй8: ТЕёй;
Еёк9: ТЕёй;
ЕёШО: ТЕёН;
Еёп1 1: ТЕёй;
Еёй12: ТЕёИ;
ЕёШЗ: ТЕёП;
ЕёШ4: ТЕёк;
т р 1: ТМесНаР1ауег;
>
ргосеёиге МепиСНск(8епёег: ТОЬ]ес1);
ргосеёиге РогтСгеа!е(Зепёег: Т О ^ес 1);
ргосеёиге РгоЬеСИск(8епёег: Т О ^ ес!);
ргосеёиге Рша1СНск(8епёег: ТО^ес1);
ргосеёиге РогтРаш1(8епёег: ТСЙуесе);
рпуа1е
{ Рпуа1е ёеЫагаНопз}
риЬНс
{ РиЬНс ёес1агайопз }
епё;
СОП81
]Ш М =2;
V
Ьезаопб: ТЪеззопб;
п,т,Соип1ег: ш1е§ег;
х:геа1;
\
\
а:аггау[О..ЫЦМ] оГ ш(е§ег;
Ь:аггау[О..МЦМ] оГз 1лп§;
йпр1етеп(а(1оп
изез т а т ;
{$ К * О РМ }
ргосеёиге ТЬез8оп6 .МепиСНск(8епёег ТОЫесОЪе§т
Рогт1.8Ьо\у;
Ке1еазе;
епё;
1иге ТЬеззопб.Р огтСгеа 1е( 8 епёег: ТОЫесО
Ье§ш
тр1 .У1яЫе:={а18е;
Ье 880п6 .Сарйоп:- 6 Сабак';
Рта1.Сарйоп:='Соны';
Мепи.Сарйоп:-Мез1р';
РгоЬе.Сарйоп:- Сынау';
М ет о 1Хшез. Аёё('Сонымен, сынау саны ескен сайын, кездейсок
окыиганын
Аёё('т/п, ягни
езгередо, офак п ескен сайын зандыльщ» пайда бола бастайды: ягни
ЖИ1Л1К кандайда б1р турактыга жуыктайды.’);
т ^ е™ ^ Г 8Ас1с1(,БуЛ сан ' карастырыльт
ЬЩ ТИМАЛДЫ РЫ болып табылялы 'V
Метпо1Хше8.Аёё('Ыктималдык
отырган
ОК^ЛЙРА
Р(А)=т/п, Р (А )- А окыйгасыньщ болу ыктамалдыгы; ш- окыйга саны; п- сынау саны. ')■
М ето1 Х ш е8 .А ёё('О сы лай
формуласы:
613
ЬЩ ТИ М АД Ц Ы КТЬЩ
СТАТИ СТИ КАЛЬЩ АНЫ1ТАМАСЫН аддьщ.'У
кеп
с ы н а у л а р д а г ы ж и 1Л 1к те р д 1
ке зд е й со к о к ы й га н ь щ ь щ ти м а л д ы гы ж а !
угым енпзшед!
Каз1р кездейсок окыйгалардын ертурл!
топтамаларын
а[0]:=1000;
а[1]:=10000;
а[2]:=100000;
Ь[0]:='1000 сь
окыйганьщ болу
Ь [1 ]:-'10000 сынаулардагы кездейсок окыйганьщ болу жиш п.';
Ь [ 2 ] 100000 сынаулардагы кездейсок окыйганьщ бол> Ж И 1Л 1П
Соип1ег:=0;
Капёогш ге
епс1;
ргосеёиге ТЬе88оп6.РгоЬеС11ск(8еп<1ег: ТОкуес*);
уаг
$8,89,810,811,$12,813,814 :8й1п§;
^:геа1;
Ье^ш
т:=0;
1ГСоитег <= Ш М Шел
Ь е § т {3 }
Ь61е88опТех1.Тех1:=Ъ[СоиШег];
Гог п:=11о а[Соип1ег] ёо
Ъе§ш {2 }
х:=тапёош;
1Г х<=0.5 Шел т с (т );
1Гптоё 100 = 0Л еп
Ъе§ш
\у:=т/п;
з1фу: 1:8,8);
1Гп = 2*(а[Соип1ег] ё!У 10) Шел
Ь е§т
еёй1 .Тех1:=з;
8й<п,88);
её118.Тех1:^Й= ’+з8;
епё;
1Гп = 4*(а[Соип1ег] ё1у 10) Шеп
Ь е§т
еёй2.Тех1:=$;
81г(п,89);
её119.Тех1:='п= '+89;
епё;
1Гп = 6*(а[Соип1ег] ё1у 10) Леп
Ъе§ш
еёйЗ.Тех1:=8;
8(г(п,810);
/ еёШ 0.Тех1:='п='+ 810;
епё;
1Гп = 7*(а[СошПег] ё 1У 10) Леп
Ь е§т
еёй4.Тех1:=$;
81г(п,811);
еёй11.Тех1:='п= '+811;
епё;
1Гп = 8*(а[Соип1ег] ё!у 10) Леп
Ь еет
еёк5.Тех1:=8;
51г( п ,512);
еёШ 2.Тех1:-п= '+812;
епё;
1Гп = 9*(а[Сошйег] ё1у 10) 1Ьеп
Ъе§ш
еёй 6 .Тех 1:= 8 ;
8й(п,813);
её1ПЗ.Тех1:='п= '+813;
епё;
# п = 10*(а[Соип*ег] ё|у 10) Шеп
Ъ е§т
её117.Тех1:=8;
81г(п,814);
еёй14.Тех1:—п= '+814;
епё;
епё;
епё; {2 }
шс(Соип1ег);
епё {3 }
е1$е
Ье§ш
РгоЬе.ЕпаЫеё:=&18е;
Рша1.У181Ые:=1гие;
епё;
*'*
епё;
ргосеёиге ТЬе8зоп6.Рта1СНск(§епёег: ТОЫесО;
Ье$$ш
Мегпо 1.У181Ые:=1гие;
РгоЬе.У 181Ые:=Га18е;
Ь61е88опТех1.У181Ые:=Га18е;
Еёк1 .У181Ые:=Га18е;
Еёп2.У181Ые:=Га18е;
Её113.У181Ые:=Га18е;
Её114.У181Ые:=Га18е;
Её115.У181Ые:=Га18е;
Е ёй 6 .У 181Ые:=Га18е;
Её1!7.У181Ые:=Га18е;
Рша1.У181Ые:=Га18е;
Нс11(8.V 181Ые:=Ла18е;
ЕсИ19.У181Ые:=Га1$е;
ЕёП10.У181Ые:=Га18е;
Е ё М 1.У181Ые:=Га18е;
Еёй12.У181Ые:=Га18е;
Еёй 13.V 181Ые:=Га18е;
ЕёМ4.У1$1Ые:=Га18е;
1пуайс1а1е;
^
гар 1.РПеЫате:-йпа1р.\уау';
тр1.ореп;
тр1.Р1ау;
епё;
ргосеёиге ТЬе88оп6.РогтРат1(5епёег: ТОЬуес!);
уаг
Ь:ТВйтар;
Ъе§ш
1 Г М е т о 1 .У 1 8 1 Ы е
Ъе§1п
= Тгие Ш еп
Ь := 1Ы 1т а р .с г е а 1е ;
Ь .1 о а ё Р г о т р 1 1 е ('§ 1 1 .Ъ т р ');
с а п у а 8 .0 гаду(0 , 0 ,Ь );
еп ё;
еп ё;
епё.
иш 1 Ш о 5 ;
ш (е гГ а се
изез
«ГшЛпга, М еиаеез, ЗуйЛШ , Оаюга, СгарЬю$, СоШгок, Рош в
ш аю р,
ч
81ёС1г18;
1уре
Т1Чо5 - с1а88(ТРогт)
Ьпо: ТВийоп;
15ЬаЬе11: ТЬаЬе1;
ргосеёиге ЬпоСИск(Зепёег: ТОЬдес1);
ргосеёиге РогтРаш1(8епёег: ТО^есг);
рпуа1е
{ Рпуа!е ёес1агайоп8}
риЬНс
{ РиЬНс ёес1ага(юп8}
епё;
уаг
N05: ТИо5;
1т р 1етепШ юп
и8е81Ле$$4, т я т ;
{$К *.О РМ }
ргосеёиге ТОо5.ЬпоСИск(8епёег: Т0^ес1);
Ь е§т
по5.№ёе;
Ьез8оп4.8Ьо\у;
с1ове;
епё;
ргосеёиге 'Шо5.РоппРаш1(8епёег: ТО ^ес!);
Ь е§т
Ьпо. Сарйоп.-'Жарайды';
151аЬе11.Сарйоп~'Сабакты кайтала.';
епё;
епё.
^
юз
СПИСОК Л И ТЕ РА ТУ РЫ
1.
2.
ОЕЬРШ 3. Программирование
ВНУ-Санкт-Петербур
программированию. -М
3. Касьянов В.Н, Сабельфельд В.К. Сборник заданий по практикуму
на ЭВМ.: М.:Наука, 1978,224с.
IЧ А СТЬ. ТЕХНОЛО Г И Я П РОГРАМ М И РОВАН И Я С
ИСПОЛЬЗОВАНИЕМ ОСНОВНЫ Х КОНСТРУКЦ И Й ЯЗЫКА
4
Тема1. Основы визуального программирования. Настройка 2 *
□
Элементы Программирования на ОЫес! Разса!
4
Тема 2. Программирование алгоритмов линейной структуры
5
12
Тема 3. Программирование алгоритмов разветвленной структуры___ 16
Тема 4. Программирование алгоритмов циклической стпжтьпи
С
Строки
ЧАСТЬ. П РАК ТИ К УМ РЕШ ЕНИЯ ЗАДАЧ __________________
□
[ля начинающих
_
.
Рекурсия. Факториал_____
Простое число____ Работа с массивами
Поиск в массиве
Бинарный поиск в массиве
.37
37
39
Задачи для продолжающие
Сортировка массива обменом
прямым
гаоота с двумерными
Записи
файлами _
ше в файл
файле
файла
Работа с динамическими объектами
Динамические переменные
Динамический список. Пример!
Динамичес
СП И СОК ЛИТЕРА ТУРЫ
29
29
алгоритмов /фрагменты модулей/ 29
□
□
20
22
42
42
44
46
58
60
61
63
65
66
69
70
73
обучающей программы
77
100
НА БЕЬРН! 5.0
У чебно-методическое пособие
Бумага офсетная Формат
носТь 80гр/м2. Белизна 95
стр. 6.25. Объем: 108 стр
ЭВЕРО
Подготовлено к изданию и отпечатано
в издательстве «Э веро»
РК, Алматы, ул. Байтурсынова, 22
тел.: 8 (727) 233 83 89,233 83 43
233 80 45,233 80 42
е-таЛ: еуего08@таП.га
Документ
Категория
Без категории
Просмотров
2
Размер файла
4 815 Кб
Теги
resheniy, nurbekova, zadachi, 3943, delphi, praktiku
1/--страниц
Пожаловаться на содержимое документа