Линейный алгоритм — это алгоритм, команды которого выполняются последовательно друг за другом, сверху вниз. Какие-либо другие переходы (вверх, через несколько команд вниз) отсутствуют.
Программы на языках программирования, включающие только линейные алгоритмы, не содержат условных операторов, циклов и функций. При этом при решении задач могут использоваться все операторы, встроенные в язык функции и процедуры, в том числе генератор случайных чисел.
Задачи на линейные алгоритмы считаются наиболее простыми при обучении программированию. Они появляются сразу при изучении синтаксиса, семантики и возможностей любого языка, в том числе и Pascal.
Примеры задач на линейные алгоритмы и их решений:
Обмен значений переменных С клавиатуры вводятся два числа, каждое из которых присваивается своей переменной. После этого программа должна сама выполнять обмен значений переменных, то есть первой присваивать значение второй, а второй — значение первой; в конце выводить измененные значения переменных на экран.
Линейные программы | Информатика Паскаль #8 | Инфоурок
Сумма и произведение цифр случайного трехзначного числа Сгенерировать случайное трехзначное число. Вывести на экран само число, сумму и произведение его цифр. Случайное трехзначное число, оканчивающееся на 0 Сгенерировать случайное трехзначное число, оканчивающееся на ноль.
Найти позицию букв в алфавите и букву по ее номеру Вводятся две строчные (малые) английские буквы; определить номера этих букв в алфавите, а также количество символов между ними. Определить букву по ее позиции (номеру) в алфавите; номер вводится с клавиатуры. Вывести уравнение прямой, проходящей через две точки По координатам двух точек, которые вводит пользователь, вывести уравнение прямой, проходящей через эти точки.
Источник: pas1.ru
Примеры линейных программ.
В данной статье приводится несколько примеров линейных программ на языке программирования Паскаль.
Пример 3. Рассчитать площадь шара в кв. см. Радиус шара ввести с клавиатуры в миллиметрах.
Пример 4. Осуществить расчеты по формуле:
где ?=arctg(b/a), ?=arctg(d/c), c=n*a, d=m*b.
Поскольку набор символов, используемых в идентификаторах переменных в программе (латиница), не включает традиционные для тригонометрии символы греческого алфавита ?, ?, ?, ?, необходимо составить таблицу имен, которая установит соответствие между идентификаторами переменных и этими символами. В таблице имен мы также зафиксируем промежуточные (рабочие) переменные, упрощающие программирование исходной формулы:
Линейные программы. Решение задач. Ч.1.
Программирование линейных вычислительных процессов очень похоже на вычисления по формулам, которые математик осуществляет на бумаге. Алгоритм таких вычислений, как правило, не составляется в виде блок-схем. Наиболее удобной формой представления такого алгоритма является формульно-словесный способ, при котором действия пронумерованы пунктами 1, 2, 3 и т.д. Каждое действие поясняется словами, формулами и расчетами.
Алгоритм решения этой задачи описан формульно-словесным способом:
1. Ввод с клавиатуры параметров А, В, М, N, ALPHA, BETA.
2. Вычисление аргументов тригонометрических функций по формулам:
где AF и BP промежуточные рабочие переменные, которые в исходной формуле встречаются по два раза в числителе и знаменателе. Следует отметить, что аргументы встроенных функций Sin и Cos в Паскале должны задаваться в радианах. В исходной формуле подразумевается, что углы ?, ?, ?, ? измеряются в радианах. Поэтому углы 15° и 75° градусов подлежат пересчету в радианы, что и сделано в приведенных выше формулах для расчета AF и BP.
3. Последовательное вычисление величин С, D, FI, PSI по формулам:
C = n*a, D = m*b, FI = arctg(b/a), PSI = arctg(d/c).
4. Нахождение значений промежуточных переменных SQAB и SQCD по формулам:
5. Вычисление Y по упрощенной формуле за счет уже выполненных в предыдущих пунктах алгоритма расчетов.
6. Последним пунктом этого алгоритма является вывод найденного значения Y на экран монитора.
PROGRAM PR4;
VAR
ALPHA, BETA, FI, PSI, SQAB, SQCD, AF, BP, А, В, C, D, N, M, Y: REAL;
BEGIN
WRITELN(‘Введите значения А, В, M, N’);
READLN(A, В, M, N);
WRITELN(‘Введите значения АЛЬФА, БЕТТА’);
READLN(ALPHA, BETA);
С := N*A;
D := M*B;
FI := ARCTAN(B/A);
PSI := ARCTAN(D/C);
AF := ALPHA + FI + 15*PI/180;
BP = BETA + PSI + 75*PI/180;
SQAB := SQRT(A*A + B*B);
SQCD := SQRT(C*C + D*D);
Y:=ARCTAN((0.5*SQAB*SIN(AF)+SQCD*SIN(BP))/(SQAB*COS(AF) + SQCD*COS(BP)));
WRITELN(‘Y =’, Y:7:3)
END.
Следует выделить следующие типичные действия программиста при разработке программ такого класса (формализация линейного вычислительного процесса).
1. Формирование таблицы имен. На этом этапе подбираются латинские обозначения (идентификаторы) для отображения в программе математических величин, используемых в формулах. Для некоторых выражений, встречающихся в формулах два и более раза, можно ввести свои идентификаторы (временные переменные). Эти величины рассчитываются один раз перед основной формулой (формулами), что упрощает исходные формулы и ускоряет расчеты.
2. Учитывая последовательный принцип выполнения операторов в программе – друг за другом по мере их написания – необходимо установить порядок расчета формул. Основное требование состоит в том, чтобы при расчете формулы все переменные и параметры были ранее вычислены или введены с клавиатуры. Если формулы можно упростить путем алгебраических преобразований, то это нужно сделать до начала программирования.
3. Все математические величины нужно разбить на две группы: константы и переменные. Константы следует определить в разделе CONST программы, а переменные — в разделе VAR.
4. Проанализировав возможные значения переменных и требуемую точность расчетов, следует определить тип каждой переменной.
5. Требуется проанализировать все переменные из раздела VAR и определить, какие из них вводятся с клавиатуры, а какие вычисляются по ходу программы.
6. Если в тригонометрических функциях в качестве аргументов используются величины в градусах, то необходимо в программе сделать преобразование этих величин в радианы.
7. При выводе результатов расчетов на экран нужно выбрать формат, способ представления результатов (с плавающей или с фиксированной точкой) и задать точность (число значащих чисел).
Пример 5. Осуществить расчеты по формуле:
![]()
Для решения этой задачи следует использовать известные математические преобразова-ния, которые приведут исходную формулу к виду, удобному для программирования. Современный платежный агрегатор net2pay.ru благодаря удобному и интуитивно понятному интерфейсу позволит вести Ваш бизнес в любой точке мира. Эти преобразования описаны в следующей таблице:

PROGRAM PR5;
VAR
X, Y: REAL;
N: INTEGER;
BEGIN
WRITELN(‘Введите значения X, N’);
READLN(X, N);
Y := EXP(LN(ABS(EXP((N+1)*LN(X)) + LN(ABS(X+1))/LN(N)))/N);
WRITELN( Y = ‘, Y:8:4)
END.
Источник: mojainformatika.ru
Программирование линейных алгоритмов на языке Паскаль

В практической работе представлены примеры составления программ линейной структуры на языке программирования Паскаль, даны задания для самостоятельного выполнения.
Картинками
Практическая работа №1 Программирование линейных алгоритмов на языке Паскаль
Цель работы : изучить структуру программы на языке программирования Паскаль, научиться программировать линейные алгоритмы, освоить приемы ввода, редактирования, отладки и выполнения программы.
Краткие теоретические сведения
Алгоритм – конечная последовательность точно определенных действий, приводящих к решению поставленной задачи.
Основой для классификации алгоритмов является порядок выполнения команд. На основании данного признака выделяют три основных типа алгоритмов:
• линейные алгоритмы; разветвленные алгоритмы;
Блок-схема ориентированный граф, указывающий на последовательность операций, приводящую к решению поставленной задачи.
Следование Ветвление Повторение или цикл
Линейный алгоритм – это алгоритм, в котором команды выполняются последовательно друг за другом.
Язык программирования Pascal был создан в 1968 – 1971 году Никлаусом Виртом как учебный язык программирования и назван в честь французского философа и математика XVII в. Блеза Паскаля.
Паскаль язык структурного программирования. Это означает, что для написания программы, необходимо предварительно составить алгоритм ее решения для компьютера.
PascalABC.NET – это система программирования и язык Pascal нового поколения.
Структура программы на языке Паскаль
Тело операторы программы end .
Функции языка Паскаль abs (x) – модуль числа | | srt (x) число х во второй степени 2 sqrt (x) квадратный корень числа sin (x), cos (x) вычисление тригонометрических функций
В разделе описаний наиболее важная часть начинается после служебного слова var
(сокращ. от англ. variable переменная), именно здесь указываются типы переменных в Паскале. Любая переменная в PascalABC.NET имеет определённый тип. Каждый тип, используется для определённых целей и имеет свои уникальные возможности.

Типы данных языка Паскаль integer – целочисленный тип, любое число от
–147483648 до 2147483647. real – вещественный тип, любое число от –1.8∙10 308 до 1.8∙10 308 . string – строковый тип, содержит произвольное количество символов. boolean – логический тип, принимает значения: Истина (True) и Ложь (False).
Переменная – это величина, имеющая имя, тип и значение. Значение переменной может быть изменено во время работы программы. Данные хранятся в переменных, которые имеют свои идентификаторы (имена), например, идентификаторы X или Y, или более длинные идентификаторы переменных number1, counter и т.п. Идентификаторы состоят из буквы, за которой могут следовать буквы, цифры или символ подчеркивания.
Чтобы задать переменной какое-либо значение используется оператор присваивания. Оператор присваивания в Паскале обозначается как :=, выполняет правую часть выражения и присваивает результат переменной, расположенной в левой части выражения:

Технология работы:
Пример 1. Вычислить сумму двух заданных чисел и вывести результат на экран.
program primer1;
Оператор write (от англ. write) написать или writeln (от англ. write line написать строку) оператор вывода в Паскале, т.е. служит для вывода на экран каких-либо данных (просто текста, результатов выполнения программы, значений переменных и т.п.).
Часто в программе необходимо запрашивать данные (т.е. вводить значения переменных с клавиатуры, а затем использовать эти значения для решения поставленной задачи). Для ввода данных используется оператор ввода read или readln.

Пример 2. Вычислить сумму двух любых чисел и вывести результат на экран.
В первом примере мы присвоили значения переменным непосредственно в тексте программы. Но так как программа пишется для решения множества однотипных задач, то удобнее задавать значения переменным во время ее работы. Для этого применяется команда, которая позволяет ввести данные с клавиатуры. Модифицируем код программы из примера выше.
program primer1;
Ввод значений переменных Х и У будет осуществляться по запросу работающей программы. В этот момент нужно будет с клавиатуры ввести два числа через пробел и нажать клавишу Enter, чтобы продолжить выполнение программы.
Пример 3. Изменить программу так, чтобы на экране появились подсказки для ввода и вывода значений.
В примере, при работе программы, не совсем понятно, что нужно вводить и что за числа появляются на экране по завершению работы программы. Поэтому изменим код программы, чтобы у нее появился минимальный пользовательский интерфейс. Для этого задействуем уже знакомую нам команду write.
program primer1;
writeln( ‘Вычисление суммы двух чисел’ ); writeln ( ‘Введите два целых числа через пробел’ ); readln(x,y); < ввод значений х и y с клавиатуры >z := x + y;
• Выводимый текст заключается в одиночные кавычки (апострофы).
• Для вывода значений переменных кавычки использовать нельзя, указывается просто идентификатор (имени переменной).
• Если необходимо после вывода перейти на другую строку, то используется writeln ().
Задача 1. Модифицировать программу так, чтобы она вычисляла и выводила на экран сумму и произведение трех целых чисел.
program zadacha1;
writeln( ‘Вычисление суммы и произведения трех чисел’ ); write( ‘Введите три целых числа через пробел’ ); readln(x,y,k); < ввод значений х,y,k с клавиатуры >z := x + y + k; < вычисление суммы >p := x * y * k;
Задача 2. Дана длина ребра куба а. Найти объем куба V=a 3 и площадь его поверхности S=6a 2 .
program zadacha2;
var a,v,s: real ; < описание переменных вещественного типа > begin < начало программы >writeln( ‘Вычисление объема и площади поверхности куба’ ); write( ‘Введите длину ребра куба’ ); readln(a); < ввод значения a с клавиатуры >v := a * a * a; < вычисление объема >s := 6 * a * a;
writeln( ‘Объем куба = ‘ ,v); < вывод результата объем куба >writeln( ‘Площадь поверхности = ‘ ,s);
Задача 3. Даны две переменные с некоторыми значениями. Поменять местами значения этих переменных.
Program zadacha3;
writeln ( ‘Поменять местами значения переменных’ ); write ( ‘введите число а=’ );
Самостоятельно:
Составьте блок-схему линейного алгоритма. Напишите программу на языке Паскаль для вычислений по данным формулам. Установите имена переменным, их тип: все переменные считайте вещественными (real). Включите в программу подсказки для ввода исходных данных и вывода результата вычислений.
Алгоритм решения задачи:
Структура программы:

1) Определить имена переменных.
2) Установить тип переменных.
3) Задать (ввести) значения переменных.
4) Выполнить вычисления по формулам.
5) Вывести результат решения задачи.
Внимание! Для правильного оформления задачи изучите примеры, рассмотренные в данной работе.
Решите задачи согласно своему варианту:
1. Найти объем шарового слоя по формуле, если известны r1 и r2 — радиусы, h – высота.
3 1 (r 1 2 r 2 2 ) h
V h
2. По заданному значению радиуса R определить площадь поверхности сферы по формуле: 𝑃 = 4𝜋𝑅 2
3. По заданному значению радиуса R определить объем сферы по формуле:
4. Определить путь, пройденный телом при равноускоренном движении по формуле:
, где a = 9,81 м/с 2 ; v0 = 10 м/с
5. Вычислить площадь кольца с внешним диаметром D1 и внутренним диаметром D2 по формуле:
6. Определить объем шарового сегмента по формуле:
7. Вычислить общее сопротивление при параллельном соединении проводников по формуле:
8. Вычислить площадь трапеции по длине основания и высоте по формуле:
9. Вычислить значение функции y при любых значениях переменной x:
𝑦 = 4𝑥 2 +7𝑥 − 1
10. Определить площадь S и периметр P прямоугольника со сторонами a и b.
11. Найдите гипотенузу прямоугольного треугольника по данным катетам a и b по формуле:
12. Найдите площадь треугольника со сторонами a=11, b=13, c=20 по формуле Герона:
13. Определить объем цилиндра с радиусом основания R и высотой H, площади его боковой и полной поверхности по формулам:
𝑉 = 𝜋𝑅 3 𝐻 ; 𝑆бок = 2𝜋𝑅𝐻 ; 𝑆пол = 2𝜋𝑅𝐻 +2𝜋𝑅 2
Практическая работа №1 Программирование линейных алгоритмов на языке

Тело операторы программы end

Оператор write (от англ. write) написать или writeln (от англ

Важно! • Выводимый текст заключается в одиночные кавычки (апострофы)

Самостоятельно: Составьте блок-схему линейного алгоритма

Вычислить общее сопротивление при параллельном соединении проводников по формуле: 2

Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
Источник: znanio.ru