Цель работы: изучить структуру программы на языке программирования Паскаль, научиться программировать линейные алгоритмы, освоить приемы ввода, редактирования, отладки и выполнения программы.
Алгоритм – конечная последовательность точно определенных действий, приводящих к решению поставленной задачи.
Основой для классификации алгоритмов является порядок выполнения команд. На основании данного признака выделяют три основных типа алгоритмов:
• линейные алгоритмы; разветвленные алгоритмы;
• циклические алгоритмы.
Блок-схема ориентированный граф, указывающий на последовательность операций, приводящую к решению поставленной задачи.
Следование Ветвление Повторение или цикл
Линейный алгоритм – это алгоритм, в котором команды выполняются последовательно друг за другом.
Язык программирования Pascal был создан в 1968 – 1971 году Никлаусом Виртом как учебный язык программирования и назван в честь французского философа и математика XVII в. Блеза Паскаля.
Паскаль язык структурного программирования. Это означает, что для написания программы, необходимо предварительно составить алгоритм ее решения для компьютера.
PascalABC.NET – это система программирования и язык Pascal нового поколения.
Структура программы на языке Паскаль
Заголовок program имя программы; программы var { описание переменных } begin
Тело операторы программы end.
Функции языка Паскаль abs (x) – модуль числа |𝑥| srt (x) число х во второй степени 𝑥2 sqrt (x) квадратный корень числа sin (x), cos (x) вычисление тригонометрических функций
В разделе описаний наиболее важная часть начинается после служебного слова var
(сокращ. от англ. variable переменная), именно здесь указываются типы переменных в Паскале. Любая переменная в PascalABC.NET имеет определённый тип. Каждый тип, используется для определённых целей и имеет свои уникальные возможности.
Типы данных языка Паскаль integer – целочисленный тип, любое число от
–147483648 до 2147483647. real – вещественный тип, любое число от –1.8∙10308 до 1.8∙10308. string – строковый тип, содержит произвольное количество символов. boolean – логический тип, принимает значения: Истина (True) и Ложь (False).
Переменная – это величина, имеющая имя, тип и значение. Значение переменной может быть изменено во время работы программы. Данные хранятся в переменных, которые имеют свои идентификаторы (имена), например, идентификаторы X или Y, или более длинные идентификаторы переменных number1, counter и т.п. Идентификаторы состоят из буквы, за которой могут следовать буквы, цифры или символ подчеркивания.
Чтобы задать переменной какое-либо значение используется оператор присваивания. Оператор присваивания в Паскале обозначается как :=, выполняет правую часть выражения и присваивает результат переменной, расположенной в левой части выражения:
Технология работы:
Пример 1. Вычислить сумму двух заданных чисел и вывести результат на экран.
var х,у,z:integer; { описание переменных целого типа } begin { начало программы } х := 3; { установка значения х } у := 5; { установка значения у } z := х + у; { вычисление суммы }
write(z); {вывод результата вычисления на экран } end. { конец программы }
Оператор write (от англ. write) написать или writeln (от англ. write line написать строку) оператор вывода в Паскале, т.е. служит для вывода на экран каких-либо данных (просто текста, результатов выполнения программы, значений переменных и т.п.).
Часто в программе необходимо запрашивать данные (т.е. вводить значения переменных с клавиатуры, а затем использовать эти значения для решения поставленной задачи). Для ввода данных используется оператор ввода read или readln.
Пример 2. Вычислить сумму двух любых чисел и вывести результат на экран.
В первом примере мы присвоили значения переменным непосредственно в тексте программы. Но так как программа пишется для решения множества однотипных задач, то удобнее задавать значения переменным во время ее работы. Для этого применяется команда, которая позволяет ввести данные с клавиатуры. Модифицируем код программы из примера выше.
var x,y,z:integer; { описание переменных целого типа } begin { начало программы } read(x,y); { ввод значений х и y с клавиатуры } z := x + y; { вычисление суммы }
write(z); {вывод результата вычисления на экран } end. { конец программы }
Ввод значений переменных Х и У будет осуществляться по запросу работающей программы. В этот момент нужно будет с клавиатуры ввести два числа через пробел и нажать клавишу Enter, чтобы продолжить выполнение программы.
Пример 3. Изменить программу так, чтобы на экране появились подсказки для ввода и вывода значений.
В примере, при работе программы, не совсем понятно, что нужно вводить и что за числа появляются на экране по завершению работы программы. Поэтому изменим код программы, чтобы у нее появился минимальный пользовательский интерфейс. Для этого задействуем уже знакомую нам команду write.
var x,y,z:integer; { описание переменных целого типа } begin { начало программы }
writeln('Вычисление суммы двух чисел'); writeln ('Введите два целых числа через пробел'); readln(x,y); { ввод значений х и y с клавиатуры } z := x + y; { вычисление суммы }
write('Сумма = ',z); {вывод результата вычисления на экран } end. { конец программы }
Важно!
• Выводимый текст заключается в одиночные кавычки (апострофы).
• Для вывода значений переменных кавычки использовать нельзя, указывается просто идентификатор (имени переменной).
• Если необходимо после вывода перейти на другую строку, то используется writeln ().
Задача 1. Модифицировать программу так, чтобы она вычисляла и выводила на экран сумму и произведение трех целых чисел.
var x,y,k,z,p:integer; { описание переменных целого типа } begin { начало программы }
writeln('Вычисление суммы и произведения трех чисел'); write('Введите три целых числа через пробел'); readln(x,y,k); { ввод значений х,y,k с клавиатуры } z := x + y + k; { вычисление суммы } p := x * y * k; { вычисление произведения }
writeln('Сумма = ',z); {вывод результата сложения на экран } writeln('Произведение = ',p);{вывод результата произведения на экран } end. { конец программы }
Задача 2. Дана длина ребра куба а. Найти объем куба V=a3 и площадь его поверхности S=6a2 .
var a,v,s:real; { описание переменных вещественного типа } begin { начало программы } writeln('Вычисление объема и площади поверхности куба'); write('Введите длину ребра куба'); readln(a); { ввод значения a с клавиатуры } v := a * a * a; { вычисление объема } s := 6 * a * a; { вычисление площади }
writeln('Объем куба = ',v); { вывод результата объем куба } writeln('Площадь поверхности = ',s); { вывод результата площадь поверхности }
end. { конец программы }
Задача 3. Даны две переменные с некоторыми значениями. Поменять местами значения этих переменных.
var a,b,c: integer; { описание переменных целого типа } begin
writeln ('Поменять местами значения переменных'); write ('введите число а=');
readln (a); { ввод значения a с клавиатуры } write ('введите число b=');
read (b); { ввод значения b с клавиатуры } c:=a; { промежуточная переменная с } a:=b; { обмен значениями } b:=c; { обмен значениями }
writeln('a=',a); { вывод нового значения переменной a } writeln('b=',b); { вывод нового значения переменной b } end.
Самостоятельно:
Составьте блок-схему линейного алгоритма. Напишите программу на языке Паскаль для вычислений по данным формулам. Установите имена переменным, их тип: все переменные считайте вещественными (real). Включите в программу подсказки для ввода исходных данных и вывода результата вычислений.
Алгоритм решения задачи:
Структура программы: |
1) Определить имена переменных.
2) Установить тип переменных.
3) Задать (ввести) значения переменных.
4) Выполнить вычисления по формулам.
5) Вывести результат решения задачи.
program имя программы; { название программы } var { описание переменных } begin { начало программы } оператор 1{ вывод подсказок } оператор 2{ ввод исходных данных } …………………… { вычисления по формулам } оператор n { вывод результата вычислений } end. { конец программы }
Внимание! Для правильного оформления задачи изучите примеры, рассмотренные в данной работе.
Решите задачи согласно своему варианту:
1. Найти объем шарового слоя по формуле, если известны r1 и r2 - радиусы, h – высота.
3 1 (r12 r22) h
V h
2
2. По заданному значению радиуса R определить площадь поверхности сферы по формуле: 𝑃 = 4𝜋𝑅2
3. По заданному значению радиуса R определить объем сферы по формуле:
4. Определить путь, пройденный телом при равноускоренном движении по формуле:
, где a = 9,81 м/с2; v0 = 10 м/с
5. Вычислить площадь кольца с внешним диаметром D1 и внутренним диаметром D2 по формуле:
6. Определить объем шарового сегмента по формуле:
7. Вычислить общее сопротивление при параллельном соединении проводников по формуле:
8. Вычислить площадь трапеции по длине основания и высоте по формуле:
9. Вычислить значение функции y при любых значениях переменной x:
10. Определить площадь S и периметр P прямоугольника со сторонами a и b.
11. Найдите гипотенузу прямоугольного треугольника по данным катетам a и b по формуле:
12. Найдите площадь треугольника со сторонами a=11, b=13, c=20 по формуле Герона:
13. Определить объем цилиндра с радиусом основания R и высотой H, площади его боковой и полной поверхности по формулам:
© ООО «Знанио»
С вами с 2009 года.