Практическая работа
Необходимо спроектировать, протестировать и разработать систему, соответствующую
нижеописанному сценарию. Любая написанная программа должна включать подсказку для
ввода данных, сообщение об ошибке и другую необходимую введённую ясную и понятную
информацию.
Любые переменные, константы и другие используемые идентификаторы должны быть
обозначены.
Создать проект, который позволяет рассчитать зависимость частоты колебаний
основного тона струны от ее длины 1, плотности р, площади поперечного сечения 8 и силы
натяжения F используя выражение:
1. Опишите модель решения поставленной задачи.
а) Входные данные программы
b) Выходные данные программы
c) Цель проектирования программы
d) Назначение программы
е) Область применения программы
2. Создайте Главное окно программы,
Всё таки есть сомнение нужна сумма нечётных элементов массива или сумма элементов массива с нечётными индексами?
В данной прграмме подсчитывается сумма нечётных элементов массива
Если же нужно второе то строку отмеченную {*} следует заменить на
if (i mod 2)>0 then s:=s+a[i];
Program massiv;
Uses Crt;
var a:array[1..10] of integer;
i,sum,ch:integer;
begin
clrscr;
write('Введите число:' );
readln(ch);
write('Введите элементы массива:');
sum:=0;
for i:=1 to 10 do
begin
readln(a[i]);
if (a[i] mod 2)>0 then s:=s+a[i]; {*}
end;
writeln; write('Исходный массив: ');
for i:=1 to 10 do
begin
write(a[i]);
write(' ' );
end;
writeln; writeln;
write('Сумма нечётных элементов массива: ',sum)
writeln; writeln;
write('Номера элементов которые больше числа ',ch,' : ' );
for i:=1 to 10 do
if (a[i]>ch) then
begin
write(i:2);
write(' ' );
end;
writeln; writeln;
write('Положительные числа которые кратны числу ',ch,' : ' );
for i:=1 to 10 do
if (a[i]>0) and (a[i] mod ch=0) then
begin
write(a[i]);
write(' ' );
end;
readkey;
end.
begin
write('a = '); readln(a); \\запрос у пользователя первого коэффициента
write('b = '); readln(b); \\запрос у пользователя второго коэффициента
write('c = '); readln(c); \\запрос у пользователя третьего коэффициента
d := b*b - 4*a*c; \\ расчет дискриминанта
if d=0 then \\ветка для решения при нулевом дискриминанте
begin
x1 := b / (2 * a)
writeln (x1:3:3);
end \\ окончание при нулевом дискриминанте
else
if d>0 then \\ ветка для решения при положительном дискриминанте
begin
x1 := (- b + sqrt(d) / (2 * a); \\ первый корень
x2 := (- b - sqrt(d) / (2 * a); \\ второй корень
writeln (x1:3:3, ' ', x2:3:3); \\ вывод ответа
end
else \\ ветка решения для отрицательного дискриминанта
writeln ('Нет действительных корней');
end.