Программирование на языке Delphi/Практическая работа 1
Программа 1. Перевод градусов из шкалы Цельсия в Кельвины
[править]Цель задачи: Разработать программу, которая позволяет пользователю неограниченное число раз переводить градусы Цельсия в Кельвины.
- Программа должна сообщать пользователю что он ввел некорректную температуру: температура не может быть ниже абсолютного нуля (0 Кельвинов).
- Пользователь может перевести температуру неограниченное число раз.
- После каждого перевода программа должна спрашивать пользователя хочет ли он перевести еще одно значение.
{$APPTYPE CONSOLE}
var t:integer;
c:char;
b:boolean
begin
b:=true;
writeln('Programma dlya perevoda gradusov Celsia v Kelviny');
while b do begin
writeln('Wedite temperaturu v Celsiah');
readln(t); // Считываем температуру
if t<-273 then begin //-273 Цельсия = 0 Кельвинов
writeln('Slishkom nizkaya temperatura');
continue;
end;
writeln(t+273,' Kelvinov');//переменные выводятся без апострофов, также с ними возможны арифметические действия
repeat //Мы делаем цикл, потому что пользователь может ввести любую букву, а не только y или n
writeln('Eshe raz? n/y');
readln(c);
if c='n' then begin
b:=false;
break;
end;
until c='y';
end;
writeln('Konec programmy');
readln;
end.
Рассмотрим программу. Мы создаем цикл с помощью оператора while. Затем мы считываем с клавиатуры значение температуры. Надо сказать, что мы используем целые числа, поэтому 0 градусов Цельсия равно 273 Кельвина (а не 273,15). Если значение температуры ниже -273 градусов Цельсия, то выводим сообщение об ошибке. Если все в порядке, то мы переводим температуру в Кельвины и выводим ее. Затем мы должны спросить у пользователя, нужно ли ему осуществить ещё один перевод. Для этого мы начинаем новый цикл. Так как он находится в теле цикла (while), то он является внутреннем циклом. Этот цикл будет выполнятся пока пользователь не введёт "y" или "n". Если пользователь ответил утвердительно (ввёл "y"), то внутренний цикл завершается и продолжается внешний. В противном случае мы приравниваем к переменной b значение false и выходим из внутреннего цикла.
Программа 2. Поиск корней квадратного уравнения
[править]Цель задачи: разработать программу, которая решает квадратное уравнение при различных значениях вещественных коэффициентов a,b,c. Для этой программы мы будем использовать вещественный тип данных.
{$APPTYPE CONSOLE}
var a,b,c,d:real; //real - Вещественный тип данных
begin
writeln('Wedite koefficenty a,b,c');
readln(a);
readln(b);
readln(c);
d:=b*b-4*a*c;
If a<>0 then begin
if d>0 then begin
writeln('x1=',(-b+sqrt(d))/2*a:2:5);
writeln('x2=',(-b-sqrt(d))/2*a:2:5);
end else
if d=0 then
writeln('x=',-b/2*a)
else
writeln('Net weshestvennyh korney');
End;
readln;
end.
При выводе данных можно задавать формат вывода. Для этого после имени переменной ставится знак двоеточие " : ", - при выводе значения переменной вещественного типа отводится 5 позиций (включая отрицательный знак и точку), из них 2 позиции отводится для вывода цифр в дробной части. Если формат вывода не задавать, то вещественные числа будут выведены в экспоненциальной форме с количеством цифр, соответствующих типу переменной. Например:
d:=3.14;
writeln(d:3:5);
Домашняя работа
[править]- Составьте программу, проверяющую, верно ли утверждение, что введенное вами целое число является четным.
- Составьте программу для вычисления числа дней в месяце, если даны: номер месяца N — целое число от 1 до 12, целое число А, равное 1 для високосного года и 0 в противном случае.