Продолжим наш курс по знакомству с программированием. Сегодня продолжим знакомство с базовыми функциями в программировании и в частности с функциями Паскаля.
Цель любой программы, это автоматизация в обработке входного потока данных, после этого - получение результата и его вывод или выдача нужного нам сигнала.
Теперь вопрос, как образом могут поступать данные:
1. От любого устройства (мышь, клавиатура, джойстик)
2. Сетевой протокол с данными от датчика или другого устройства.
3. Данные из оперативной памяти, от другой программы или другого процесса
4. Данные с жесткого диска, или флеш накопителя в виде файла.
5. Данные с других периферийных устройств.
Основные способы перечислены, если считаете, что можно добавить, то смело пишите в комментариях, дополню.
Мы для начала будем брать с клавиатуры, забивать заранее в программе или напрямую из файла, в зависимости от задачи.
Теперь ставим себе правильно задачу, затем учимся её решать.
Итак, напишем, себе программу для расчета площади круга. Радиус будет задаваться в сантиметрах, и результат будет также в сантиметрах.
Сначала рисуем алгоритм в виде блок-схемы. Как это делается, можно вспомнить здесь.
Алгоритм, можно сделать на листке, можно в удобной программе, есть удобные сервисы для создания алгоритмов.
Теперь переходим к написанию программы. Пишем как обычно на первом этапе тут.
Пишем программу и получаем результат.
{ Здесь пишем любой комментарий программы
Программа расчета площади по радиусу круга.
}
program Urok2_1;
Var {Начало блока, описываем в нем используемые переменны}
radius,area:real; {описываем две переменные вещественного типа}
begin {начало программы}
readln(radius); {вводим значение радиуса }
area:=3.1452*radius*radius; {описываем две переменные вещественного типа}
writeln(area); {выводим результат}
end. {конец программы}
Можете брать текст программы и вставлять в компилятор. после этого получите определенный результат.
Все сделали, отлично. Большие молодцы. Да только для новичков это нормально, а в реальности, получилось, все кондово и человеку, который впервые запусти программу, нечего не будет понятно. Необходимы доработки, какие :
1. В начале сделать окно приветствия и указать, что делает программа.
2. Предложить участнику ввести радиус круга в заданных величинах.
3. Защитить программу от неправильного ввода. данных
4. Вывести результат в конкретных величинах.
Теперь приступаем к доработке.
1. Добавляем строку после слова begin
writeln('-= Добро пожаловать на Вивитронику =-'); {общее приветствие}
writeln('Это программа расчёта площади круга вер. 2.1'); {пояснение к программе}
write('Введите пожалуйста радиус круга в сантиметрах:');
Обратите внимание, что в первых двух случаях, мы использовали команду writeln, а в третьем случае использовали просто write, разница в том,что после команды writeln, следующий текст будет будет с новой строки, а после команды write, текст будет продолжен сразу. Наблюдаем, что получилось.
Теперь немного еще украсим приветствие и будем вводить защиту от дурака, если я сейчас ввиду вместо числа букву, программа выдаст ошибку, наблюдаем.
Как избежать ошибки
1. предупредить, чтобы не нарушали,
2. Исключить ошибку.
К сожалению, на данном этапе исключить ошибку изученным способом, мы не сможем, поэтому отложим это до будущих уроков. а пока просто сделаем в рекомендациях указание, что целая и дробная часть разделена точкой. Как видим, много места занимает текст, который служит просто оповещением о состоянии текущего продукта.
Подведем итог: сегодня мы познакомились с простыми командами:
begin - начало программы
end - конец программы
write,writeln Вывод на экран, причем write - без переноса каретки (без перехода на новую строку)
read ,readln ввод на экран. read - без переноса каретки
':=' знак присвоить , то есть в нашем случае переменной area присвоили значение площадь.
'*' знак умножить, с помощью него проводим операцию умножить.
Задание на дом:
1. Подсчитать объем шара.
2. Сделать приветствие, показатель что программа Ваша.
3. Задавать вопросы и делиться впечатлением.
Статьи на корректировке, так что если есть замечание то пишите.
Ставьте лайки и делитесь в соц сетях, особенно если Вам все понятно.