Кодирование. Чтобы перевести алгоритм на язык, понятный компьютеру, необходимо иметь программу-переводчик, преобразующую наши команды в коды процессора

Чтобы перевести алгоритм на язык, понятный компьютеру, необходимо иметь программу-переводчик, преобразующую наши команды в коды процессора. Таких программ много, одна из них Semantic IDE, и она в нашем распоряжении.

Вся информация, необходимая для работы программы, хранится в оперативной памяти компьютера, которую можно представить себе в виде длинной бумажной ленты, разбитой на клетки. В эти клетки можно записать информацию (для простоты будем пока считать, что в привычной нам десятичной системе счисления), можно потом эту информацию прочитать. Можно записать новую поверх старой – но то, что было написано в клетке раньше, безвозвратно пропадёт.

Лента длинная, клетки занумерованы. Человеку запоминать номера клеток (чтобы потом найти, что где записано) – сложно. Он переложил эту обязанность на компьютер: пусть он запоминает, что у него где записано, память у него огромная. А доля человека проще запомнить имена переданных компьютеру величин. Компьютер составляет таблицу, в которой помечает для себя, что понадобятся пять ячеек, рассчитанных на вещественные числа – так в программировании называют десятичные дроби.

Ещё компьютер может работать с целыми числами. Но целые и вещественные числа ведут себя по-разному, например, у целых чисел нет (и не положено!) дробной части, поэтому целое число девять поделить на целое число два компьютер может только нацело: частное четыре и один в остатке. А вещественное число девять целых ноль десятых на два делится (естественно, не нацело): получается четыре с половиной, 4,5.

Есть и другие типы данных, но пока будем говорить только о числовых величинах.

Итак, компьютер должен знать заранее сколько и каких ячеек памяти ему потребуется. Поскольку заранее неизвестно, какие числа будут введены, неизвестно и какие значения будут получены для полупериметра и площади. Эти величины будут меняться. А чтобы никто ничего не напутал, буквенные обозначения длин сторон, полупериметра и площади треугольника в формуле вполне можно использовать в программе.

Точнее, это чтобы человек не забыл, что у него по какой формуле вычисляется. Как уже было сказано, компьютер «точно знает, что и куда он положил».

Таким образом, мы подошли к понятию переменная – именованная величина, которая при выполнении программы изменяет своё значение.

Каждая переменная в программе должна иметь уникальное имя, начинающееся с буквы и состоящее из букв и цифр.

В Semantic переменная должна быть объявлена – то есть сообщены имя переменной и её тип (целый, вещественный и другие) раньше, чем с ней будут производить какие-либо действия (В некоторых языках программирования, например, в Pascal, переменные можно объявлять только в специально отведённом для этого месте).

Переменная должна быть инициализирована – то есть иметь определённое значение. Некоторые языки программирования неинициализированные переменные заполняют нулём, другие – всяким «мусором» (осколками старых данных, лежавших в памяти). И то, и другое плохо, потому что программист был уверен, что в программе эти величины заполнены тем, чем надо, а оказывается – неизвестно чем. Многие языки и системы программирования, в том числе Semantic, запрещают транслировать (переводить в машинные коды) программу, если там необъявленные или неинициализированные переменные.

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

Чтобы вычислить полупериметр, необходимо сначала сложить числа a, b, c, а результат поделить на 2. Или, что с точки зрения математики, умножить на 0,5. Но умножение в компьютере происходит быстрее, чем деление, поэтому в переменную p надо положить (или присвоить ей) значение арифметического выражения 0.5*(a+b+c)

Внимание! 1. У вещественных чисел дробная часть традиционно отделяется не запятой, как в России, а точкой, как в Англии и Америке. 2. Скобки ставить обязательно, потому что по смыслу задачи сначала надо вычислить сумму, а сложение, как и вычитание, имеет более низкий приоритет (то есть выполняется в последнюю очередь по сравнению с делением или умножением. Поэтому нужны скобки. Без скобок знак умножения распространялся бы только на ближайшую к знаку умножения * переменную a 3. Знак умножения при программировании писать обязательно 4. От перемены мест множителей в данном случае результат не меняется (хотя при работе с компьютером так бывает не всегда!)

Для того, чтобы вычислить квадратный корень, придётся вспомнить, что в математике есть такая функция (то есть зависимость между двумя множествами чисел: аргументов – тех, которые откладывают на оси Ox и соответствующих им значений на оси Оу) – квадратный корень. Эта функция определена на неотрицательных аргументах и принимает неотрицательные значения. И эти значения компьютер умеет вычислять, ему только надо сообщить имя нужной функции (обычно её в программировании обозначают sqrt). А также в скобках после имени – аргумент, для которого нужно вычислить значение (так вот почему, оказывается, надо ставить знак умножения перед скобкой! Чтобы за функцию компьютер не принял!).

В некоторых языках программирования математические функции не требуют при вызове ничего, кроме указания имени и аргументов. Но современная тенденция такова, что функции вынесены в отдельную библиотеку, которую надо подключить, если, конечно, в ней имеется необходимость. Semantic IDE имеет две математические библиотеки: Математика (имена функций написаны по-русски) и Math – привычные нам sin, cos и ряд других.

При вызове функции следует сначала указать имя библиотеки, а после точки – имя функции.

Так выглядит вызов функции для вычисления синуса от числа 0.5: Math.Sin(0.5)

Рассмотрим создание программы на языке Semantic.

Задание 1. Запустите среду, создайте и сохраните проект Task_2 в своей папке. Создайте модуль t2. Обязательно внесите в текст программы комментарий, содержащий условия задачи. Вставьте оператор «модуль»

Рассмотрим порядок действий, чтобы в конечном итоге получилась такая программа,

Подключение математической библиотеки осуществляется с помощью оператора подключить. Такой оператор может быть вставлен только до ключевого слова «начало», с которого начинается выполнение программы.

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

После того, как оператор «подключить» вставлен, нужно указать имя подключаемого модуля, а пока окно выглядит так:

Если начать набирать имя, то снова появится подсказчик, позволяя выбрать нужную библиотеку из числа имеющихся:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: