Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объектно-ориентированное программирование.docx
Скачиваний:
20
Добавлен:
31.08.2019
Размер:
112.85 Кб
Скачать
  1. Способы хранения и обработки данных. Связанные списки Использование строковых массивов.

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

Для того чтобы программа заработала, в нём создаётся поток. Любой процесс содержит в себе хотя бы один поток, и именно он отвечает за выполнение кода и получает на это процессорное время. Этим и достигается мнимая параллельность работы программ, или, как её еще называют, псевдопараллельность. Мнимая потому, что реально процессор в каждый момент времени может выполнять только один участок кода. Windows раздаёт процессорное время всем потокам в системе по очереди, тем самым создаётся впечатление, что они работают одновременно. Реально работающие параллельно потоки могут быть только на машинах с двумя и более процессорами.

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

Каждый поток может создать другой поток и т.д. Потоки не могут существовать отдельно от процесса, т.е. каждый поток принадлежит какому-то процессу и этот поток выполняет код, только в адресном пространстве этого процесса. Иными словами, поток не может выполнить код чужого процесса.

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

  1. Потоки.

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

Для того чтобы программа заработала, в нём создаётся поток. Любой процесс содержит в себе хотя бы один поток, и именно он отвечает за выполнение кода и получает на это процессорное время. Этим и достигается мнимая параллельность работы программ, или, как её еще называют, псевдопараллельность. Мнимая потому, что реально процессор в каждый момент времени может выполнять только один участок кода. Windows раздаёт процессорное время всем потокам в системе по очереди, тем самым создаётся впечатление, что они работают одновременно. Реально работающие параллельно потоки могут быть только на машинах с двумя и более процессорами.

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

Каждый поток может создать другой поток и т.д. Потоки не могут существовать отдельно от процесса, т.е. каждый поток принадлежит какому-то процессу и этот поток выполняет код, только в адресном пространстве этого процесса. Иными словами, поток не может выполнить код чужого процесса.

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

  1. Процедуры и функции для преобразования данных.

Преобразование строки символов в числовое значение. 1. Процедура для преобразования строки в числовое значение:Val (Edit.Text: string, R: integer (real), code: integer),где Edit.Text – строка символов, введенная в компонент; R – результатпреобразования процедурой Val (переменная целого либо вещественноготипа); Code – код преобразования процедуры Val (переменная целого типа, равная 0, если преобразование выполнено верно, либо 1, если преобразование невозможно). Например: Val (Edit1.Text, r, code). 2. Функция для преобразования строки в целое число:

StrToInt(Edit.Text: string): integer

<!--[if !supportLineBreakNewLine]-->

<!--[endif]-->

Например: L:=StrToInt(Edit1.Text) 3. Функция для преобразования строки в вещественное число: StrToFloat(Edit.Text: string):real Например: L:=StrToFloat(Edit1.Text) Преобразование числового значения в строку символов 1. Процедура для преобразования числа в строку:Str (R: integer (real), Label.Caption: string), где Label.Caption – строка символов для вывода; R – переменная целого либо вещественного типа; Например:Str(R:6:3, Label.Caption) 2. Функция для преобразования целого числа в строку:IntToStr (K: integer): string Например: Label1.Caption:= ‘Результат’ + IntToStr(K) 3. Функция для преобразования вещественного числа в строку: FloatToStr (K: Extended): string Например: Label1.Caption:= FloatToStr(K) 4. Функция для преобразования вещественного числа в строку в формате: FloatToStrF (K: Extended, F, n,m: byte): string, где F – формат вывода изображения числового значения (ffGeneral – универсальный, ffFixed – с фиксированной точкой (рекомендуемый),

ffExponent – научный, ffNumber – с разделителями групп разрядов, ffCurrency – финансовый), n – ширина поля для вывода числа, m – количество цифр после десятичной точки. Например: Label1.Caption:=’k=’+FloatToStrF(k,ffFixed,6,3) Программа может получить данные из окна ввода или поля редактирования (Edit).