02. Линейный алгоритм
Любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование).
Линейный алгоритм (следование) образуется командами, выполняемыми однократно в той последовательности, в которой они записаны.
Программа на языке Pascal
3. Начало блока операторов
- Определить, что является исходными данными, какие будут у них типы. Выбрать имена переменных.
- Определить, что является искомыми результатами, какие будут у них типы. Выбрать имена переменных.
- Определить, какие формулы связывают исходные данные с результатами.
- Если нужны промежуточные данные, определить их типы и выбрать имена вспомогательных переменных.
- Описать все используемые переменные.
- Записать алгоритм, который должен включать:
- ввод всех исходных данных;
- вычисления;
- вывод результатов.
- INPUT — оператор ввода данных с клавиатуры. Данные задаются в виде переменных. Переменная – это величина, значение которой может меняться в процессе выполнения программы. Для обозначения переменной используются их имена (идентификаторы) – последовательность до 40 латинских букв и цифр, начинающаяся с буквы. Данные могут быть следующих основных типов:
- целые INTEGER (Y%) – 2 байта в памяти (от -32768 до 32767),
- длинные целые LONG (Y&) – 4 байта (от -2 31 до 2 31 -1),
- вещественные SINGLE (Y) – 6 знаков после , -4 байта (от -3.4Е+38 до 3.4Е+38),
- вещественные удвоенной точности DOUBLE (Y#) -16 знаков после ,– 8 байт (от -Е+308 до Е+308),
- символьные STRING (Y$) – последовательность символов до 32767 символов длиной.
Для ввода данных в языке Pascal используются процедуры
read(переменные); например, read(a, b, c);
readln(переменные); например, readln(a, b, c);
Для вывода данных в языке Pascal используются процедуры
write(выражения); например, write(‘a =’, a, ‘b + c =’, b + c);
writeln(выражения); например, writeln(‘a =’, a, ‘b + c =’, b + c);
Процедуры readln и writeln отличаются от read и write тем, что после ввода/вывода производят перевод строки.
В языке программирования Pascal имеется 6 арифметических операции и несколько встроенных функций. Обратите внимание, что существуют довольно строгие ограничения на использование арифметических операций с разными типами данных.
4. Линейная алгоритмическая структура. Типовые примеры
Линейным называется алгоритм, блоки которого расположены последовательно один за другим, нет условий и повторений.
Покажем общую структуру линейного алгоритма в виде блок-схемы.
О сновной принцип программирования заключается в том,что обрабатывать можно только те данные, которые находятся в определенных областях оперативной памяти компьютера. Длятого чтобы поместить исходные данные в оперативную память используются операторы ввода данных.
Для реализации процесса обработки данных используется оператор присваивания.
Результат вычислений помещается в область S оперативной памяти. Чтобы вывести результат из памяти на экран монитора необходимо использовать оператор вывода.
Операторы ввода данных:
Например: INPUT a,b или INPUT “Введите два числа”;a,b
Оператор присваивания может быть использован как для ввода данных (Например: a=3 : b=4), так для вычисления выражений. (Например: S=a*b). Оператор присваивания вычисляет выражение, расположенное справа от символа присваивания (=) и результат присваивается переменной, расположенной слева от символа присваивания. При записи арифметического выражения используются арифметические операции и функции. Приоритет выполнения арифметических операций сохраняется. Функции можно использовать стандартные (встроенные) COS(X), SQR(X) … и задаваемые самим пользователем. (Например: Y=3*SQR(X)^2)
Для вывода данных используется оператор PRINT.
Например: PRINT S или PRINT “Площадь”;S или PRINT a,b,S
Для окончания программы используется оператор END. В начале программы можно использовать оператор очистки экрана – CLS.
Пример линейной программы вычисления площади прямоугольника и ее алгоритм в виде блок-схемы:
INPUT “Введите две стороны прямоугольника”; a,b
5. Циклические алгоритмические структуры. Основные операторы ветвления. Типовые примеры
Алгоритм называется циклическим, если содержит участок, повторяющийся один или много раз. Циклы бывают с определённым количеством, неопределённым числом вычислений.
Оператор цикла с параметром:
Оператор цикла с предусловием:
DO WHILE условие продолжения вычислений (UNTIL условие прекращения вычислений)
Оператор цикла с постусловием:
LOOP WHILE условие продолжения вычислений (UNTIL условие прекращения вычислений)
7. Файлы и файловая система. Имена файлов. Каталоги.
Файлом называется информация, хранящаяся на внешнем носителе и объединенная общим именем. Слово File до появления PC обозначала обыкновенную папку. Каждый файл занимает определенный фрагмент внешней памяти. При удалении файла удаляется только имя и информация внутри файла, а не слот памяти, в котором находится файл.
Практически во всех операционных системах имя файла состоит из двух частей — собственно имени и расширения. Расширение, как правило, указывает на то, какого рода информация хранится в данном файле.
Файловая система — это функциональная часть операционной системы, обеспечивающая выполнение операций над файлами. Файловая система позволяет работать с файлами и директориями (каталогами) независимо от их содержимого, размера, типа и т. д.
Вся совокупность файлов на диске и взаимосвязей между ними называется файловой структурой. Развитые операционные системы имеют иерархическую — многоуровневую файловую структуру, организованную в виде дерева. Каталог — это поименнованная совокупность файлов и подкаталогов (т.е. вложенных каталогов). Каталог самого верхнего уровня называется корневым. Он не вложен ни в какие другие каталоги. В каталоге хранится информация о файлах и подкаталогах — имя, размер, дата и время последнего обновления и т.п. Путь к файлу — это последовательность, состоящая из имен каталогов, которые необходимо пройти, перемещаясь по дереву каталогов, начиная от текущего каталога, чтобы добраться до каталога, в котором непосредственно хранится файл. Полное имя файла — это последовательно записанные имя дисковода, путь к файлу от корневого каталога и имя файла. Например, C:\fin.com. Или: C:\CLASS_9A\HTML\example1.htm
Линейная алгоритмическая структура. Типовые примеры
Линейным называется алгоритм, блоки которого расположены последовательно один за другим, нет условий и повторений.
Покажем общую структуру линейного алгоритма в виде блок-схемы.
Основной принцип программирования заключается в том, что обрабатывать можно только те данные, которые находятся в определенных областях оперативной памяти компьютера. Для того чтобы поместить исходные данные в оперативную память используются операторы ввода данных.
Для реализации процесса обработки данных используется оператор присваивания.
Результат вычислений помещается в область S оперативной памяти. Чтобы вывести результат из памяти на экран монитора необходимо использовать оператор вывода.
Операторы ввода данных:
1. INPUT — оператор ввода данных с клавиатуры. Данные задаются в виде переменных. Переменная – это величина, значение которой может меняться в процессе выполнения программы. Для обозначения переменной используются их имена (идентификаторы) – последовательность до 40 латинских букв и цифр, начинающаяся с буквы. Данные могут быть следующих основных типов:
· целые INTEGER (Y%) – 2 байта в памяти (от -32768 до 32767),
· длинные целые LONG (Y&) – 4 байта (от -2 31 до 2 31 -1),
· вещественные SINGLE (Y) – 6 знаков после , -4 байта (от -3.4Е+38 до 3.4Е+38),
· вещественные удвоенной точности DOUBLE (Y#) -16 знаков после ,– 8 байт (от -Е+308 до Е+308),
· символьные STRING (Y$) – последовательность символов до 32767 символов длиной.
Например: INPUT a,b или INPUT “Введите два числа”;a,b
2. DATA, READ – операторы ввода данных из блока памяти. Например: DATA 3,4 : READ a,b
Оператор присваивания может быть использован как для ввода данных (Например: a=3 : b=4), так для вычисления выражений. (Например: S=a*b). Оператор присваивания вычисляет выражение, расположенное справа от символа присваивания (=) и результат присваивается переменной, расположенной слева от символа присваивания. При записи арифметического выражения используются арифметические операции и функции. Приоритет выполнения арифметических операций сохраняется. Функции можно использовать стандартные (встроенные) COS(X), SQR(X) … и задаваемые самим пользователем. (Например: Y=3*SQR(X)^2)
Для вывода данных используется оператор PRINT.
Например: PRINT S или PRINT “Площадь”;S или PRINT a,b,S
Для окончания программы используется оператор END. В начале программы можно использовать оператор очистки экрана – CLS.
Пример линейной программы вычисления площади прямоугольника и ее алгоритм в виде блок-схемы:
INPUT “Введите две стороны прямоугольника”; a,b
Разветвляющая алгоритмическая структура. Основные операторы циклов. Типовые примеры
Алгоритм называется разветвляющимся, если содержит хотя бы одно условие, в результате которого обеспечивается переход на один из двух возможных вариантов решения задачи. Ветвление может быть полным (действия и после да и после нет) и неполным (в случае если нет – ничего не происходит).
Пример разветвляющегося алгоритма – алгоритм решения квадратного уравнения. Появление условия при решении этой задачи связано с отсутствием корней при отрицательном дискриминанте. Рассмотрим блок-схему этого алгоритма:
Для данной алгоритмической структуры характерно, что в любой момент времени её реализации осуществляется обработка только по какой-либо одной из ветвей.
Для описания разветвляющегося алгоритма существуют операторы:
блочной структуры:
линейной структуры:
IF условие THEN блок 1 ELSE блок 2
Обе структуры могут быть использованы как в полной форме так и в усеченной – без блока ELSE.
При работе условного оператора сначала проверяется выполнение условия. Если условие выполняется (истинное), то реализуется блок 1, в противном случае – блок 2. Условие – это логическое выражение, использующее операции сравнения (=, =, <>) и логические операции (AND, OR).
Программа решения квадратного уравнения с использованием условного оператора имеет вид:
X1=(-b+SQR(d))/(2*a) : X2=(-b-SQR(d))/(2*a) : PRINT X1,X2
2. выбора (выражением может быть список через запятую 1,3,4 диапазон значений 1 TO 9; операция сравнения IS >=).