Урок 191-192
Тема 1.8 Разработка программного обеспечения
Практическая работа №42 «Составление программ линейной структуры»
Цель выполнения практической работы: изучить структуру программы на языке Pascal, операторы присваивания, ввода и вывода данных
Задачи урока:
образовательная - обеспечить формирование и использование студентами знаний по составлению линейных алгоритмов;
развивающая – навыки использования прикладного программного обеспечения; умение решать информационные задачи.
воспитательная - сформировать у студентов готовность к информационно-учебной деятельности.Практическая работа "Составление программ линейной структуры"
МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Урок 191192
Тема 1.8 Разработка программного обеспечения
Практическая работа №42 «Составление программ линейной структуры»
Цель выполнения практической работы: изучить структуру программы на языке
Pascal, операторы присваивания, ввода и вывода данных
Задачи урока:
образовательная обеспечить формирование и использование студентами знаний по
составлению линейных алгоритмов;
развивающая – навыки использования прикладного программного обеспечения;
умение решать информационные задачи.
воспитательная сформировать у студентов готовность к информационноучебной
деятельности.
Материалы и оборудование к уроку: задание на практическую работу.
Тип урока: практическое занятие
Форма проведения урока: традиционная
План урока:
Организационный момент.
Постановка темы и цели урока.
Подготовка к выполнению практической работы.
Выполнение практической работы.
Подведение итогов. Выставление оценок.
Ход урока:
1. Организационный момент (5 мин)
2. Постановка темы и цели урока (5 мин)
3. Подготовка к выполнению практической работы (20 мин)
4. Выполнение практической работы (50 мин)
5. Подведение итогов, проверка работ (5 мин)
6. Выставление оценок (5 мин)МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Практическая работа №42 «Составление программ линейной структуры»
Цель выполнения практической работы: изучить структуру программы на языке
Pascal, операторы присваивания, ввода и вывода данных
Краткие теоретические сведения
Структура программы на языке Pascal
Программа на языке Turbo Pascal 7.0 имеет следующие разделы:
РАЗДЕЛ ОБЪЯВЛЕНИЙ
program
{$…}
uses
label
const
type
var
РАЗДЕЛ ПРОЦЕДУР И ФУНКЦИЙ
Заголовок программы
Глобальные директивы компилятора
Подключаемые библиотеки (модули)
Раздел объявления глобальных меток
Раздел объявления глобальных констант
Раздел объявления глобальных типов
Раздел объявления глобальных переменных
Procedure (function)
Заголовок процедуры (функции) {тело
процедуры}
Основной блок программы
РАЗДЕЛ ОСНОВНОГО БЛОКА
ПРОГРАММЫ
begin end.
В тексте программы могут присутствовать комментарии. Это невыполняемая часть
программы, она не компилируется в машинные коды и составляются программистом
для пояснения работы программы, её элементов, операторов и т.д.. Комментарии
оформляется как произвольный текст, ограниченный с двух сторон фигурными
скобками {…} или звёздочками * …*.
Операторы языка Pascal
Оператором называется элементарная структурная единица программы. Он
предназначен как для записи алгоритмических действий по преобразованию данных,
так и для задания порядка выполнения действий (операций) программы. Операторы
автоматически выполняются в порядке их следования в программе и отделяются
друг от друга символом "точка с запятой".
Операторы делятся на:
∙ простые (не содержат в себе других операторов);
∙ составные (включают в себя один или несколько дополнительных операторов).МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Оператор присваивания
С помощью данного оператора определяется или переопределяется значение
переменной языка Pascal – присваивается значение переменной или вычисляется
выражение.
Формат (синтаксис) оператора: <имя>:=<выражение>;
Выражение должно быть совместимо по присваиванию с типом переменной.
Примеры:
X:=Pi;
Y:=Sqr(Z*Z+T*T);
Bool:=(I>1) or (I<3);
Операторы ввода данных
Операторы ввода предназначены для ввода исходных данных в программу и имеют
вид:
READ(X,Y,Z,...);
READLN(X,Y,Z,...);
где: X,Y,Z,... имена переменных. Данные операторы обеспечивают ввод данных с
клавиатуры и присваивают переменным X,Y,Z,... их значения, вводимые с
клавиатуры.
Оператор READLN (X,Y,Z,...) отличается от READ(X,Y,Z,...) тем, что после ввода
последней переменной курсор переводится в начало новой строки. Допускается
использование оператора ввода без параметров: READLN; , который используется
для останова программы.
Операторы вывода данных
Для вывода данных на экран используются операторы:
WRITE (X,Y,Z,...);
WRITELN (X,Y,Z,...);
WRITELN ;
где: X,Y,Z,... имена переменных, значения которых подлежат выводу
Оператор WRITE(X,Y,Z,...) выполняет вывод на экран значений переменных X,Y,Z,...
в одну строку.МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Оператор WRITELN (X,Y,Z,...) кроме вывода на экран значений X,Y,Z,...,
осуществляет перевод курсора в начало новой строки после вывода последнего
значения.
Оператор WRITELN осуществляет пропуск строки, в которой находится курсор, к
началу новой строки (выводит пустую строку).
Операторы вывода допускают использование указания о ширине поля, отводимого
под значение в явном виде:
WRITE (Y:m:n,X:k:l,...);
WRITELN (Y:m:n:,X:k:l,...);
где m и k количество позиций, отведенных под запись значения переменных Y и X
соответственно; n и l количество позиций, отведенных под запись дробной части
чисел Y и X.
Примеры:
WRITE('Сумма = ',Sum); {вывод на экран текста «Сумма = », затем значения суммы,
которое хранится в переменной Sum}
WRITELN('Введите ',I,'й элемент: ');
WRITELN (t:5:3); вывод значения t, всего 5 символов, из них 3 – после запятой.
Стандартные функции Pascal
Стандартными функциями языка программирования Pascal приведены в табл. 1
Таблица 1:
Имя
функции
Выполняемая операция
ABS(X)
SQR(X)
SQRT(X)
SIN(X)
Вычисляет модуль аргумента х, тип х – вещественный или целый, тип
результата совпадает с типом аргумента
Вычисляет квадрат аргумента (х2), тип х – вещественный или целый,
результат совпадает с типом аргумента
Вычисляет корень квадратный из аргумента х (х>0); тип х – вещественный
или целый, тип результата вещественный
Вычисляет синус аргумента х (х – в радианах); тип х – вещественный или
целый, тип результата вещественный
Вычисляет косинус аргумента х (х – в радианах); тип х – вещественный
или целый, тип результата вещественный
COS(X)
ARCTG(X) Вычисляет арктангенс аргумента х (х – в радианах); тип х –
EXP(X)
вещественный или целый, тип результата вещественный
Возведение числа е=2,71828 в степень х (ех), тип х – вещественный или
целый, тип результата вещественныйМДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
EXP10(Х) Возведение числа 10 в степень х (10х), тип х – вещественный или целый, тип
результата вещественный
Вычисляет натуральный логарифм аргумента х (х>0); тип х – вещественный
или целый, тип результата вещественный
LN(X)
LOG(X) Вычисляет логарифм по основанию 10 аргумента х (х>0); тип х –
вещественный или целый, тип результата вещественный
Эти функции содержатся в памяти среды программирования Pascal и являются
подпрограммами вычисления наиболее используемых функций итерационными
методами.МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Примеры составления линейной программы
Пример 1 Найти среднее арифметическое трёх чисел двух целых (X и Y) и одного
вещественного (Z) и квадрат среднего арифметического.
Программа:
program Midding;
Var
X, Y: Integer;
Z, Midd, SqrMidd: Real;
Begin
WriteLn('Введите два целых числа X и Y:');
ReadLn(X,Y);
WriteLn('Введите вещественное число Z:');
ReadLn(Z);
Midd:=(X+Y+Z)/3;
SqrMidd:=SQR(Midd)
Writeln('Среднее арифметическое = ',Midd);
Write('Квадрат среднего арифметического = ',SqrMidd);
End.
Описание программы
В заголовке указано имя программы Midding (среднее), затем словом var
открывается раздел описания переменных: X и Y – целые, Z – вещественная. Слово
begin открывает основной блок программы, в котором:
▪
▪
присваивает их соответственно целым переменным X и Y;
▪
далее выводится текст "Введите вещественное число Z:",
оператор ReadLn(Z)считывает значение числа, введённого с клавиатуры и
присваивает его вещественной переменной Z;
оператор WriteLn выводит на экран текст "Введите два целых числа X и Y:";
оператор ReadLn(X,Y)считывает значения чисел, введённых с клавиатуры иМДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
затем оператор присваивания вычисляет среднее значение X,Y,Z и присваивает его
оператор Write выводит текст "Квадрат среднего арифметического = " и
оператор end. закрывает основной блок и завершает выполнение программы.
▪
переменной Midd, затем аналогично вычисляется квадрат этой величины и
присваивается переменной SqrMidd;
▪
оператор Writeln выводит текст "Среднее арифметическое = ",
рассчитанное значение Midd и переводит курсор на новую строку;
▪
рассчитанное значение SqrMidd;
▪
Пример 2. Вычислить площадь круга S и длину окружности L по заданному радиусу
R.
Программа
program KRUG;
const P=3.14159
Var
R,S,L:Real;
Begin
Read(R);{ввод значения радиуса}
L:=2*P*R;
S:=P*SQR(R);
Writeln(Длина окружности = ',L,'см');
Write('Площадь круга = ',S,'кв.см');
End.МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Задание 1. Вычислить расстояние между двумя точками с данными координатами
X1, Y1, X2, Y2.
Задание 2. Определить расстояние, пройденное физическим телом за время t, если
тело движется с постоянной скоростью v.
Задание 3. В году примерно 3.156х107сек. Написать программу, которая
запрашивает возраст в годах и переводит его в секунды.
Задание 4. Создать программу для вычисления площади поверхности и объема
цилиндра по принципу "ввод значений > результат"
Задание 5. Масса m одной молекулы воды примерно равна 3.0х1023гр. Кварта воды
равна примерно 950 гр. Написать программу, которая запрашивает количество воды
в квартах и выводит число молекул в этом количестве воды.МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Вопросы для самоконтроля:
1. Из каких разделов состоит любая программа на языке Pascal?
2. Формат и назначение оператора присваивания.
3. Формат и назначение операторов ввода данных.
4. Формат и назначение операторов вывода данных.МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
Задание 1. Решение задачи:
Для начала продумаем наше решение. Введем координаты , потом просто подставим в
формулу, которая находит расстояние между двумя точками.
Для того чтобы решить задачу нам понадобятся следующее переменные :
1. Переменные X1, Y1, X2, Y2 — для координат
2. Переменная distance — для расстояния.
До решения, давай напишем формулу которая находит расстояние между двумя
точками на координатной плоскости :
Каркас программы:
1
2
3
4
5
6
7
8
Var
X1, Y1, X2, Y2, distance: Real;
begin
write('Введите X1 : '); readln(X1);
write('Введите Y1 : '); readln(Y1);
write('Введите X2 : '); readln(X2);
write('Введите Y2 : '); readln(Y2);
end.
Ну тут мы просто попросили пользователя ввести все координаты, да и обратите
внимание что у нас все числа типа real, так как координаты могут быть не только (1, 2,
3, 4 .. и т.д.), но и еще (2.3, 1.3, 5.1 и т.д.), т.е. не целые.
Ну а дальше просто пишем формулу на языке pascal :
1
distance := Sqrt(Sqr(X2 X1) + Sqr(Y2 Y1));
Вот и всё. Теперь осталось только вывести результат.
Всё решение задачи Pascal :
1
2
3
4
uses crt;
var
X1, Y1, X2, Y2, distance: Real; // объявлением переменные
begin
clrscr; // очищаем экранМДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
write('Введите X1 : '); readln(X1); // вводим координаты
write('Введите Y1 : '); readln(Y1); // вводим координаты
write('Введите X2 : '); readln(X2); // вводим координаты
write('Введите Y2 : '); readln(Y2); // вводим координаты
distance := Sqrt(Sqr(X2 X1) + Sqr(Y2 Y1)); // считаем расстояние
writeln('Расстояние равно : ' , distance:2:2); // выводим результат
readln; // чтобы программа не закрывалась
end.
5
6
7
8
9
10
11
12
13
14
15
16
Вот результат :
Задание 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
v0, a, t : integer;
s : real;
begin
repeat
writeln('введите v0');
readln(v0)
until v0 > 0;
repeat
writeln('введите t');
readln(t)
until t > 0;
repeat
writeln('введите a');
readln(a)МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
16
17
18
19
20
21
22
until a > 0;
s := v0 * t + (a * sqr(t) / 2);
writeln('за время ', t,
'сек. точка при ускорении ', a,
'м/с^2 и начальной скорости ' , v0,
'м/с пройдет расстояние: ', s, 'м')
end.
Задание 3.
1
2
3
4
5
6
7
8
const
SIY = 3.156E7;
var
year: Real;
begin
Write('Введите возраст в годах: '); ReadLn(year);
Write('Возраст в седундах: ', SIY * year:0:0);
end.
Задание 4.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program _1;
uses crt;
var
radius, vysota:real;
begin
ClrScr;
TextColor(14);
Writeln('Вычисление объема цилиндра.');
Writeln('Введите исходные данные:');
write('радиус основания > ');
readln(radius);
write('высота цилиндра > ');
readln(vysota);
writeln('Объем цилиндра: ',(2*pi*radius*radius*vysota):7:2);
Repeat
Until KeyPressed;
end.
PascalВыделить код
1
2
3
4
5
6
7
8
9
10
11
program _2;
uses crt;
var
radius, vysota:real;
begin
ClrScr;
TextColor(14);
Writeln('Вычисление площади поверхности цилиндра.');
Writeln('Введите исходные данные:');
write('радиус основания > ');
readln(radius);МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
program _1;
uses crt;
var
radius, vysota:real;
begin
ClrScr;
TextColor(14);
Writeln('Вычисление объема цилиндра.');
Writeln('Введите исходные данные:');
write('радиус основания > ');
readln(radius);
write('высота цилиндра > ');
readln(vysota);
writeln('Объем цилиндра: ',(2*pi*radius*radius*vysota):7:2);
Repeat
Until KeyPressed;
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
12
13
14
15
16
17
write('высота цилиндра > ');
readln(vysota);
writeln('Объем цилиндра: ',
(2*pi*radius*radius+2*pi*radius*vysota):7:2);
Repeat
Until KeyPressed;
end.
PascalВыделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program tt;
uses crt;
const
Pi=3.14;
var
r,h:integer;
s,v:real;
begin
write('Введите r= ');
readln(r);
write('Введите h=');
readln(h);
S:=2*Pi*r*(h+r);
V:=Pi*sqr(r)*h;
writeln('Площадь равна ',S);
writeln('Объем равен ',V);
readln;
end.
2
romcka-x
126 / 94 / 74
Регистрация: 18.01.2011
Сообщений: 226
14.02.2011, 18:25
4МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Практическая работа №42 «Составление программ линейной структуры»
program _1;
uses crt;
var
radius, vysota:real;
begin
ClrScr;
TextColor(14);
Writeln('Вычисление объема цилиндра.');
Writeln('Введите исходные данные:');
write('радиус основания > ');
readln(radius);
write('высота цилиндра > ');
readln(vysota);
writeln('Объем цилиндра: ',(2*pi*radius*radius*vysota):7:2);
Repeat
Until KeyPressed;
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PascalВыделить код
1
2
3
4
5
6
7
8
9
10
uses crt;
var s,v,r,h:real;
begin
write('высота цилиндра = '); readln(h);
write('радиус цилиндра = '); readln(r);
v:=2*pi*r*(h+r);
s:=pi*r*r*h;
writeln('Площадь = ',s);
writeln('Объем = ',v);
end.МДК 02.01 «Разработка внедрение и адаптация программного обеспечения отраслевой направленности»
Задача 5.
Практическая работа №42 «Составление программ линейной структуры»
program z1;
var a,cv,b,c:real;
m:real;
begin
writeln ('введите aколичество воды в квартах');
readln (a);
writeln('введите cvкварт воды в граммах');
readln (cv);
writeln ('введите mмасса одной молекулы воды');
readln (m);
b:=a*cv;
writeln(b);
c:=b/m;
writeln(c);
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15