Формат команды Примеры
: = ;
A:=5; B:= 10;
: = ; A:=B;
: = ; A:=A+B*2;
Слева от знака «:=» расположен имя переменной, справа — значение или имя другой переменной или выражение.
Рассмотрим пример одной из программ, которая даст понимание того, что означает линейная программа …
Рассмотрим пример одной из программ, которая даст понимание того, что означает линейная программа …
Руководитель проекта дал задание написать программу для расчета площади прямоугольного земельного участка со сторонами А = 25 единиц и В = 19,5 единиц.
Наши рассуждения.
1. Математический решение задачи S = ab
2. Объявление переменных.Имена переменных программист вибирает сам, исходя из их смысла.
S-Area,
a-side_a,
b-side_b;
3. Типы переменных.
На данном этапе мы видим, что А — целое число (Integer); b- действительное число (Real). При умножении целого числа на действительное получим действительное. Итак Area — действительное число (Real);
C++ | Линейный алгоритм в С++ (А + В)
Теперь пишем программу.
Var side_a : Integer; side_b, Area : Real; BEGIN side_a:=25; side_b:=19.5; Area := side_a * side_b; Writeln(‘Area is =’, Area:2:2); Writeln(‘Press Enter to Exit’); readln; END.
Для проверки наличия в программе синтаксических ошибок нажимаем F9. Для запуска программы на выполнение нажимаем Ctrl + F9. Недостатком программы является то, что при изменении значений сторон земельного участка нужно каждый раз модифицировать программу.
Так что нужно добавить команды на запрос данных от пользователя. А это выполняют команды ввода / вывода данных.
Var side_a : Integer; side_b, Area : Real; BEGIN Write(‘Side A=’); Readln (side_a); Write(‘Side B=’); Readln (side_b); Area := side_a * side_b; Writeln(‘Area is =’, Area:2:2); Writeln(‘Press Enter to Exit’); readln; END.
объявление переменных начало программы
Запрос значения стороны А. После введения числа нажимаем Enter. Число A переменной side_a.
Запрос значения стороны B. После введения числа нажимаем Enter. Число B переменной side_b.
рассчитать площадь
Вывести на экран сообщение Area is = и ее значение с двумя знаками после запятой (форматирование результата)
Сообщение, что нужно нажать Enter для выхода
Ждем нажатия …
Завершение программы …
Для проверки наличия в программе синтаксических ошибок нажимаем F9. Для запуска программы на выполнение нажимаем Ctrl + F9. Но опять же. Не всегда длина стороны А будет выражаться целым числом. Поэтому, чтобы обеспечить корректное выполнение программы для произвольных чисел нужно объявить переменную А как действительную.
Var side_a : Real; side_b: Real; Area : Real; BEGIN Write(‘Side A=’); Readln (side_a); Write(‘Side B=’); Readln (side_b); Area := side_a * side_b; Writeln(‘Area is =’, Area:2:2); Writeln(‘Press Enter to Exit’); r eadln; END.
Для проверки наличия в программе синтаксических ошибок нажимаем F9. Для запуска программы на выполнение нажимаем Ctrl + F9.
Линейная алгебра для Data Science. Часть 4. Линейные операторы
Рассмотрим еще один пример задачи.
Дан земельный участок прямоугольной формы со сторонами А и В. Цена 1 метра ограждения С гривен. Написать программу, которая будет рассчитать цену материала для ограждения.
Итак … Начнем с математики
1. Чтобы рассчитать цену ограждения нужно найти периметр. P = 2 * (a + b);
2. Чтобы рассчитать цену материалов — нужно периметр умножить на цену за 1 метр ограждения. Сумма = периметр * цену или Сумма = (2 * (a + b)) * c
Теперь рассмотрим переменные и их типы.
Есть стороны участка А — назовем side_a, B назовем side_b, Цена — Cina. Периметр — Perimetr. Типы переменных: side_a. side_b действительные числа(Real), их длина выражаться не обязательно только в метрах (метр и сантиметр) Cina — действительное число(Real), цена идет в гривнах и копейках, даже если количество копеек равна нулю. Perimetr — действительное число(Real), потому что складываем и умножаем действительные числа. Но картина не полная.
Нужно еще переменная, которая будет сохранять результат. Итак добавляем еще переменную Summa, которая будет действительного (Real)типа. Для расчета компьютер должен знать определенные данные. А именно: длины сторон, цену за 1 метр материала для ограждения. Итак, «входящими» данным для программы будут side_a, side_b, Cina.
Промежуточным результатом будет значение Perimetr Результатом будет Summa.
Var side_a : Real; side_b: Real; Perimetr : Real; Cena : Real; Summa : Real; BEGIN Write(‘Side A=’); Readln (side_a); Write(‘Side B=’); Readln (side_b); Write(‘Cina =’); Readln (Cena); Perimetr :=2 * (side_a + side_b); Summa := Cena * Perimetr; Writeln(‘Money =’, Summa:2:2); Writeln(‘Press Enter to Exit’); readln; END.
<*************************** Для самостоятельного решения ******************** ********>
В каждой задаче переменные которые будут «входящими», промежуточными, и укажите переменную/переменные, которая содержит результат.
Линейные программы
Пример: Дано два целых числа А и В. Найти их суму.
Var a,b:integer; s:integer; BEGIN Write(‘Number A=’);Readln(a); Write(‘Number B=’);Readln(b); s:=a+b; writeln(‘Summa=’,s); writeln(‘Press Enter to Exit’); readln; END.
a,b: входящие, s: результат. (протежуточных нет)
01. Дано два целых числа А и В. Найти их суму.
02. Дано два целых числа А и В. Найти их разницу.
03. Дано два целых числа А и В. Найти их частное.
04. Дано три натуральных числа А,В и С. Найти их среднее арифметическое.
05. Дано два натуральных числа А и В. Найти их среднее арифметическое.
06. Найти площадь и длину дуги круга, если дано его радиус R.
07. Дано прямоугольник со сторонами А, В. Найти его периметр.
08. Дано прямоугольник со сторонами А, В. Найти его площадь.
09. Дано прямоугольник со сторонами А, В. Найти его периметр и площадь.
10. Дано прямоугольный треугольник с катетами А, В. Найти его площадь и периметр.
11. Дано куб со стороной Т. Найти его обьем и площадь боковой поверхности.
12. Дано паралелепипед со сторонами А,В,С.Найти его обьем и площадь боковой поверхности.
13. Автомобиль движется со скоростью V км/ч.За какое время автомобиль проедет S километров.
14. Дан колодец радиуса Р. Высота воды в колодце равна Н. Найти обьем воды.
15. Есть беговая дорожка в форме круга радиуса Р. Спортсмен каждое утро бежит Н полных кругов. Какое расстояние он пробегает.
16. Дано квадрат со стороной А. Найти длину его диагонали.
17. Дан земельный участок в форме прямоугольника со сторонами А, В. Найти его периметр, площадь и длину диагонали. Результат вывести в разных строках.
18. Дано квадратное уравнение с коефициентами А,В,С. Гарантируется что дискриминант>=0.
19. Дано круг радиуса Р. Найти его площадь. Точность результата 2 знака после запятой
20. Дано круг радиуса Р. Найти длину его окружности. Точность результата 3 знака после запятой
21. Дано круг радиуса Р. Найти его площадь и длину окружности. Точность результатов 4 знака после запятой. Результат вывести в разных строках.
22. Дано значение температуры F в Фаренгейтах. Перевести в градусы Цельсия C по формуле С=(F-32)*5/9.
23. Дано значение температуры C в градусах Цельсия. Перевести в градусы Фаренгейта F по формуле С=(F+32)*9/5.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник: codder.info
5.5. Линейные алгоритмы. Простые операторы языка Pascal
Линейный алгоритм – алгоритм, в котором команды выполняются последовательно одна за другой. Команды в линейном алгоритме выполняются в порядке их записи в алгоритме. Рассмотрим блок-схему линейного алгоритма:
Программы с линейной структурой составляются из операторов присваивания, ввода, вывода, обращения к процедурам. Рассмотрим некоторые из таких операторов.
Оператор присваивания
Результат выражения должен соответствовать типу переменной в левой части оператора присваивания. Например: если в разделе описания переменных var мы описали переменную k типа integer, то впоследствии в ходе разработки алгоритма мы можем присвоить данной переменной значение только этого типа.
k:=m*5;
(m – переменная типа integer)
Операторы вывода
1) Оператор Write
Основные понятия языка
Линейной называется программа, все операторы которой выполняются в том порядке, в котором они записаны. Это самый простой вид программ.
Переменные
Переменная — это величина, которая во время работы программы может менять свое значение. Все переменные, используемые в программе, должны быть описаны в разделе описания переменных, начинающемся со служебного слова var . Для каждой переменной задается ее имя и тип, например:
var number : integer; x, y : real; option : char;
Имя переменной определяет место в памяти, по которому находится значение переменной. Имя дает программист. Оно должно отражать смысл хранимой величины и быть легко распознаваемым.
Тип переменных выбирается исходя из диапазона и требуемой точности представления данных.
При объявлении можно присвоить переменной некоторое начальное значение, то есть инициализировать ее. Под инициализацией понимается задание значения, выполняемое до начала работы программы. Инициализированные переменные описываются после ключевого слова const .
const number : integer = 100; x : real = 0.02; option : char = ‘ю’;
По умолчанию все переменные, описанные в главной программе, обнуляются.
Выражения
Выражение — это правило вычисления значения. В выражении участвуют операнды, объединенные знаками операций. Операндами выражения могут быть константы, переменные и вызовы функций. Операции выполняются в определенном порядке в соответствии с приоритетами, как и в математике. Для изменения порядка выполнения операций используются круглые скобки, уровень их вложенности практически не ограничен.
Результатом выражения всегда является значение определенного типа, который определяется типами операндов. Величины, участвующие в выражении, должны быть совместимых типов. Например, допускается использовать в одном выражении величины целых и вещественных типов. Результат такого выражения будет вещественным.
Ниже приведены операции Паскаля, упорядоченные по убыванию приоритетов.
Функции, используемые в выражении, вычисляются в первую очередь.
ВНИМАНИЕ Константа и переменная являются частными случаями выражения.
Примеры выражений:
Порядок вычисления первого выражения такой: сначала выполняется обращение к стандартной функции sin и результат делится на 2, затем получившееся число умножается на x , и только после этого выполняется сложение с переменной t . Скобки в третьем выражении необходимы по той причине, что приоритет операций отношения ниже, чем логической операции and .
Структура программы
Программа на Паскале состоит из заголовка, разделов описаний и раздела операторов.
program имя; < заголовок – не обязателен >разделы описаний begin раздел операторов end. (* программа заканчивается точкой *)
Программа может содержать комментарии, заключенные в фигурные скобки < >или в скобки вида (* *). Комментарии служат для документирования программы — компилятор их игнорирует, поэтому на их содержимое никаких ограничений не накладывается. Операторы отделяются друг от друга символом ; (точка с запятой).
В разделе операторов записываются исполняемые операторы программы. Ключевые слова begin и end не являются операторами, а служат для их объединения в так называемый составной оператор, или блок. Блок может записываться в любом месте программы, где допустим обычный оператор.
Разделы описаний бывают нескольких видов: описание модулей, констант, типов, переменных, меток, процедур и функций. Модуль — это подключаемая к программе библиотека ресурсов (подпрограмм, констант и т. п.).
Раздел описания модулей, если он присутствует, должен быть первым. Описание начинается с ключевого слова uses , за которым через запятую перечисляются все подключаемые к программе модули, как стандартные, так и собственного изготовления, например:
uses crt , graph, my_module;
Количество и порядок следования остальных разделов произвольны, ограничение только одно: любая величина должна быть описана до ее использования. Признаком конца раздела описания является начало следующего раздела. В программе может быть несколько однотипных разделов описаний.
В разделе описания переменных необходимо определить все переменные, которые будут использоваться в основной программе. Раздел описания констант служит для того, чтобы вместо значений констант можно было использовать в программе их имена. Такие константы называют именованными, например:
const MaxLen = 100; g = 9.8; koeff = 5;
Применение именованных констант при осмысленном выборе имен улучшает читабельность программы и облегчает внесение в нее изменений. А еще в разделе описания констант описываются переменные, которым требуется присвоить значение до начала работы программы:
const weight : real = 61.5;
Синтаксически такая переменная отличается от константы наличием типа. Впоследствии ею можно пользоваться так же, как и другими переменными.
Раздел описания меток начинается с ключевого слова label , за которым через запятую следует перечисление всех меток, встречающихся в программе. Метки служат для организации перехода на конкретный оператор с помощью оператора безусловного перехода goto . Метка — это либо имя, либо положительное число, не превышающее 9999. Метка ставится перед любым исполняемым оператором и отделяется от него двоеточием:
label 1, 2, error;
Оператор присваивания
Присваивание — это занесение значения в память. В общем виде оператор присваивания записывается так:
Здесь символами := обозначена операция присваивания. Механизм выполнения оператора присваивания такой: вычисляется выражение и его результат заносится в память по адресу, который определяется именем переменной , находящейся слева от знака операции:
Примеры операторов присваивания:
a := b + c / 2; b := a; a := b; x := 1; x := x + 0.5;
Обратите внимание: b := a и a := b — это совершенно разные действия!
ПРИМЕЧАНИЕ Чтобы не перепутать, что чему присваивается, запомните мнемоническое правило: присваивание — это передача данных ‘налево’.
Правая и левая части оператора присваивания должны быть совместимы по присваиванию (о совместимости мы поговорим в конце третьей лекции). Например, выражение целого типа можно присвоить вещественной переменной.
Источник: intuit.ru