
- •1)Этапы решения задачи на эвм
- •2)Определение понятия алгоритм. Свойства алгоритма.
- •3) Исполнитель алгоритма. Понятие среды и системы команд исполнителя.
- •4)Формы записи алгоритма. Элементы блок-схемы
- •5) Типы алгоритмов
- •6)Базовые структуры ветвления
- •7) Понятие цикла. Типы циклов. Блок-схемы циклических структур
- •Цикл while - цикл с предусловием
- •Цикл repeat - цикл с постусловием
- •8)Понятие языка программирования
- •9)История языков программирования
- •10) Язык программирования высокого уровня (япву) Pascal
- •11) Простые типы данных в япву Pascal
- •12) Структура программы на языке Pascal
- •13)Стандартные функции. Назначение и технология использования в япву Pascal
- •14) Процедуры считывания данных с клавиатуры и вывода данных на экран. Форматированный вывод
- •15) Использование логических выражений в условиях операторов Pascal –программы
- •17) Составной оператор. Операторные скобки
- •18) Оператор выбора в полной и сокращённой форме Операторы выбора/ if...Else
- •19) Оператор цикла с предусловием
- •20) Оператор цикла с постусловием
- •Var a: array[1..10] of real- ввод
- •45 Assign - Назначает файловой переменной имя внешнего файла.
- •46. Процедура Reset( var f ) открывает логический файл f для последую-
- •47.)Append - Открывает существующий файл для продолжения записи в файл.
- •48)Разновидности файлов в Паскаль – программе.
- •49 Билет. Как построены текстовые файлы? Каким образом они описываются?
20) Оператор цикла с постусловием
Рассмотрим теперь математическую задачу. Пусть нам необходимо вычислить сумму первых членов гармонического ряда, удовлетворяющих условию 1/i>= e, где 0< e<1, а i=1,2,3…...Эту задачу можно решить по следующему алгоритму: положить предварительно y=0 и i=0, а затем в цикле увеличивать i на 1, к значению y добавлять очередное слагаемое 1/ i до тех пор, пока текущее значение 1/ i впервые окажется больше заданного значения 0< e<1.
Очевидно, что число повторений этого цикла заранее не известно. В подобного рода случаях мы можем лишь сформулировать условие, при выполнении которого процесс добавления к сумме очередного слагаемого должен завершиться.
Для задания таких вычислительных процессов и служит оператор цикла Паскаля с постусловием. Этот оператор имеет вид:
Repeat S1; S2;…; Si until B,
где repeat (повторять) и until (до) – служебные слова, через Si обозначен любой оператор Паскаля, а через В – логическое выражение.
При выполнении этого оператора цикла последовательность операторов, находящихся между словами repeat и until, выполнится один или более раз. Этот процесс завершается, когда после очередного выполнения заданной последовательности операторов логическое выражение В примет (впервые) значение true. Таким образом, с помощью логического выражения В задается условие завершения выполнения оператора цикла. Поскольку в данном случае проверка условия производится после выполнения последовательности операторов (тела цикла), этот оператор цикла и называется оператором цикла с постусловием.
С использованием этого вида оператора цикла Паскаля задача о суммировании первых членов гармонического ряда, удовлетворяющих заданному условию, может быть реализована следующим образом:
Пример кода оператора цикла Паскаля с постусловием
readln(e); i:=0; y:=0; Repeat i:=i+1; y:=y+1/i; Until 1/i<e;
Заметим, что оператор цикла с постусловием является более общим, чем оператор цикла с параметром — любой циклический процесс, задаваемый с помощью цикла с параметром можно представить в виде цикла с постусловием. Обратное утверждение неверно.
21) Оператор цикла со счетчиком
Оператор цикла со счетчиком Оператор цикла со счетчиком выполняет последовательность операторов определенное число раз. Такую конструкцию называют циклом, а многократно выполняющиеся операторы - телом цикла. Синтаксис оператора следующий: For счетчик = начЗначение То конЗначение [Step шаг] операторы Next [счетчик] где счетчик - параметр цикла - переменная, которая будет "считать" количество выполнений цикла. начЗначение - начальное значение счетчика; конЗначение - конечное значение счетчика; шаг - величина, на которую изменяется счетчик; шаг изменения счетчика может быть как положительным, так и отрицательным; если шаг равен 1, то его можно не указывать; операторы - оператор или несколько операторов, выполняющихся в цикле. Счетчику присваивается начальное значение (начЗначение). Начальное значение счетчика сравнивается с конечным значением (конЗначение) счетчика. Если значение счетчика не превышает конЗначение, выполняются операторы тела цикла. В противном случае управление переходит к следующему за Next оператору. Пример. Заданы натуральные числа от 1 до n. Вывести удвоенные произведения этих чисел. Private Sub Command1_Click() Dim n, i As Integer n = InputBox("Введите значение n") For i = 1 To n Step 1 n = i * 2 Print n 'На форму выводятся все значения n Next i End Sub
№ 22 Подпрограммы-процедуры. Описание, обращение.
Структура процедуры имеет следующий вид:
Procedure <имя процедуры>(формальные параметры); Var (локальные переменные) begin . . . end; |
Процедура вызывается по имени:
<имя процедуры> (фактические параметры);
Значение каждого фактического параметра при вызове процедуры передаётся формальному параметру. Временно управление передаётся процедуре. После завершения работы процедуры управление возвращается в основную программу.
Каждый формальный параметр указывается вместе со своим типом. Соответствующий ему фактический параметр указывается без типа. Между формальными и фактическими параметрами должно быть соответствие по количеству параметров, по их типу и порядку следования.
№ 23 Подпрограммы-функции. Описание, обращение
функция оформляется аналогично процедуре. Отличительные особенности функции: она имеет только один результат выполнения (но может иметь несколько входных параметров); результат обозначается именем функции и передаётся в основную программу.
Функция оформляется в следующем виде:
Function <имя функции>(формальные параметры): тип значения функции; Var . . . Begin . . . End ; |
Вызывается функция по её имени с указанием фактических параметров.
Вызов функции можно делать непосредственно внутри выражения. При вызове функции тип не указывается.
Функции - это процедуры особого вида, результатом работы которых является некоторое значение, подобное переменной.
Функция, как и процедура, может иметь список параметров, следующих за именем функции в круглых скобках. Но если имя процедуры используется только для ее вызова, то с именем функции связывается ее значение.
№ 24 Параметры подпрограмм (формальные, фактические, локальные, глобальные)
Формальные параметры — это идентификаторы входных данных для подпрограммы. Если формальные параметры получают конкретные значения, то они называются фактическими. Формальные параметры могут получить конкретные значения только в той программе, где производится обращение к данному модулю-подпрограмме. Если переменная или константа описана в основной программе, она считается глобальной, и ее могут использовать любые процедуры и функции данной программы. Переменные, описанные внутри подпрограммы, называются локальными и могут быть использованы только внутри данной подпрограммы. Локальные переменные могут быть описаны как в заголовке подпрограммы, так и в разделе описания переменных. При совпадении имен глобальных и локальных переменных, локальные определения в пределах своего действия отменяют действия глобальных, и эти переменные никак не связаны между собой.
№ 25 Соответствие между формальными и фактическими параметрами.
В отличие от формальных, фактические параметры являются реальными объектами программы. Их значения либо являются исходными для выполнения операторов тела процедуры в данном конкретном обращении, либо должны быть получены при выполнении указанной процедуры.
№ 26 Что такое структура данных? Какие структуры используются в Pascal?
Структура данных — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике.
№ 27 Определить понятия: строка, длина строки, пустая строка. Идентификация символов в строке.
Строка – это последовательность символов. Длина строки – это количество символов в строке. Длина строки может быть в диапазоне от 0 до 255 символов. Символы внутри строки индексируются с единицы. Каждый отдельный символ идентифицируется именем строки с индесом. Перейдём непосредственно к программированию. Для работы с символами и строками существуют соответствующие типы данных:
Char - один символ (т.е. 1 байт);
String - строка символов, текст (N байт).
Официально строки вмещают лишь 255 символов, однако в Delphi в строку можно записать гораздо больше. Для хранения больших текстов и текстов со специальными символами существуют специальные типы данных AnsiString и WideString (последний, кстати, двухбайтовый, т.е. для Юникода).
Для задания текстовых значений в Pascal используются одинарные кавычки (не двойные!). Т.е. когда вы хотите присвоить строковой переменной какое-либо значение, следует сделать это так:
s:='text';
Символы указываются аналогично, только в кавычках присутствует один-единственный символ.
Если вы хотите жёстко ограничить длину текста, хранимого в строковой переменной, можно сделать это следующим образом:
var s: string[10];
В скобках указывается максимальная длина строки.
№ 28 Строковые константы. Описание строки в разделе констант
Строковая константа – это последовательность символов, заключенная в апострофы.
№ 29 Строковые переменные. Описание строки в разделе переменных
Строковые величины могут быть константами и переменными. Особенностью строки в Turbo Pascal является то, что с ней можно работать как с массивом символов, с одной стороны, и как с единым объектом, — с другой. За счет этого обработка строк достаточно гибка и удобна. Строковая константа есть последовательность символов, заключенная в апострофы. Например: 'информатика', ‘4356’. Строковая переменная описывается в разделе описания переменных следующим образом: var <идентификатор> : string [<максимальная длина строки>]; Например: var m : string [10]. Параметр длины может и не указываться в описании. В таком случае подразумевается, что он равен максимальной величине — 255. Например: var s : string. Строковая переменная занимает в памяти на 1 байт больше, чем указанная в описании длина. Дело в том, что один (нулевой) байт содержит значение текущей длины строки. Если строковой переменной не присвоено никакого значения, то ее текущая длина равна нулю. По мере заполнения строки символами ее текущая длина возрастает, но она не должна превышать максимальной по описанию величины. Символы внутри строки индексируются (нумеруются) от единицы. Каждый отдельный символ идентифицируется именем строки с индексом, заключенным в квадратные скобки. Например: b [5], v [i], s [k+l]. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания. Тип string и стандартный тип char совместимы.
Строковая переменная описывается в разделе описания переменных.
Var Имя: string [Длина];
Var s: string [12]
Параметр длины может не указываться в описании.
№30 Операции над строковыми данными.
Сцепление
- Под сцеплением понимается последовательное объединение нескольких строк.
Отношения
№31 Назначение строковых функций: Val, Str,
Str- описывает количество символов
Val- конвертирует числовые строки в целое число или число с плавающей запятой
№32 Назначение строковых функций: Copy, Insert, Delete
Copy –выделяет из строки S подстроку длиной N символов
Insert-выполняет вставку строки S1 в строку S2 начиная с позиции
Delete- удаляет N символов из строки S, начиная с позиции
№33 Назначение строковых функций: Concat, Pos, Length
Concat- соединяет несколько строк в одну
Pos- возвращает позицию , начиная с которой в строке S2 располагается строка S1
Length (строковая переменная) - определяет текущую длину строки
№34 Назначение функций Ord, Chr
Ord- определяет порядковый номер символа
Chr(i)- определяет символ с порядковым номером i
№35 Понятие массива данных. Что такое индекс элемента? Что такое размерность массива? Что такое размер массива?
Массив – это упорядоченная совокупность конечного числа данных одного типа
Индекс массива - это компонент массива. В качестве индекса можно использовать арифметические выражения
Размерность массива - количество индексов, необходимое для однозначного доступа к элементу массива
Размер массива - задаётся пользователем в объявление переменных
№36 Как объявляются векторы (одномерные массивы)? Как обращаться к элементам вектора?
(ОСУЩЕСТВЛЯЕТСЯ В ЦИКЛЕ!!!)