begin
write (morze [j]); // Вывод на экран буквы кодом Морзе
ifmorze[j]='-' then
begin
PlaySound(dash); Sleep(SoundLength(dash)); // играем dash
end
else
begin
PlaySound(dot); Sleep(SoundLength(dot)); // играем dot
end;
Sleep(50);
end;
write (' '); Sleep (500); // Пауза между буквами 500 мс
end; // endк внешнему оператору if
end.
- 45 -
Тема №17 Задача о квадратном уравнении
Решение квадратного уравнения выходит за рамки курса математики 7 класса, но мы сочли возможным внести эту классическую задачу программирования в дополнение.
Квадратным уравнением называется уравнение вида
ax 2+ bx + c = 0
На первом этапе его решения определяется так называемый дискриминант:
d = b 2- 4ac
Далее рассматривают три случая
1. d < 0 – в этом случае вещественных решений нет [17] Решение есть только в комплексных числах
;
2. d = 0 – один корень, определяемый формулой -b / 2a;
3. d > 0 – два корня, вычисляемых по формуле x 1,2= (-b ± √d)/2a, где знак «+» соответствует первому корню, а знак «–» – второму корню.
Составим программу для решения этой задачи:
ProgramSquareEquation;
vara, b, c : real; // Коэффициенты уравнения
d : real; // Дискриминант
x1, x2 : real; // Корни уравнения
begin
write ('Введите a, b, c ');
readln (a,b,c); // Ввод исходных данных
d:=b*b-4*a*c; // Вычисление дискриминанта
ifd<0 thenwriteln('Решений нет')
else ifd=0 then begin
x1:=-b/(2*a);
write('x=',x1)
end
else begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
write('x1=',x1,' x2=',x2)
end
end.
Последнюю ветвь elseможно оптимизировать, убрав повторяющиеся вычисления (особенно вычисление квадратного корня)
else begin
d:=sqrt(d); a:=2*a;
x1:=(-b+d)/a;
x2:=(-b-d)/a;
write('x1=',x1,' x2=',x2)
end
- 46 -
01.06.2013
Бинарные операции – имеющие два операнда, располагающиеся слева и справа от оператора
Унарная операция – имеющая только один операнд.
Интерфейс – в данном случае способ общения человека с компьютером.
В системе ABC Pascal отдельное окно консоли появляется только при использовании модуля CRT.
От английского Cathode Ray Tube – Электронно-лучевая трубка (ЭЛЧ)
Дополнительную информацию можно получить в справочной системе ABC Pascal, раздел Стандартные модули – Модуль GraphABC.
Синтаксис оператора – правила его записи.
Интерпретировать – толковать.
Назван в честь Дж. Буля – основателя математической логики.
Бинарные операции – имеющие два операнда, на которые действует эта операция.
Унарная операция – имеющая только один операнд.
Для этого в MS Word при создании файла надо выбрать тип «*.txt – обычный текст», а при открытии указать, что мы открываем текстовый файл в кодировке Win-1251.
В ABC Pascal существуют функции FileExists(name), проверяющая, существует ли файл с таким именем, и CanCreateFile(name), проверяющая можно ли создать файл с таким именем.
В ABC Pascal существуют две аналогичные функции Eoln и SeekEoln, которые вместо конца файла ищут конец строки.
Коды с 0 по 31 являются служебными и в таблице ANSI им не соответствуют никакие печатные символы.
Другие возможные базовые типы – перечисления (об этом позже).
Решение есть только в комплексных числах