Программа рисует узор (см. вложение), состоящий из 20 эллипсов, каждый из которых повёрнут на 9 градусов относительно предыдущего. Угол поворота задаётся переменной а, которая изменяется от 0 до 180 (так как 20*9=180). Cos(a) и Sin(a) задают положение эллипса.
Каждый эллипс рисуется с точек (цикл по k) командой PutPixel? начиная с крайней левой точки эллипса. Cos(t) и Sin(t) задают отклонение каждой точки от "центра" эллипса.
PS Кстати, в программе есть ошибка - цвет надо задавать как "clWhite", a не "White" - хотя задавать белый вобще нет смысла - его не будет видно :)
Поделитесь своими знаниями, ответьте на вопрос:
Пират нашел на захваченном корабле N золотых слитков, каждый из которых имеет значительный вес ( W i для слитка с номером i Во время боя захваченный корабль получил серьёзные повреждения и вот-вот затонет. Пират может увезти на шлюпке на свой корабль только C килограммов груза. Какие слитки он должен выбрать, чтобы увезти как можно больше золота? Входные данные Первая строка содержит грузоподъёмность шлюпки пирата C в килограммах ( 1 ≤ C ≤ 5000 ). Во второй строке записано количество найденных золотых слитков N ( 1 ≤ N ≤ 100 ). В третьей строке записано N натуральных чисел: массы каждого слитка, разделённые пробелами, в порядке возрастания (неубывания). Выходные данные В первой строке программа должна вывести наибольшую массу золотых слитков, которые может вывезти пират. Во второй строке нужно вывести массы взятых слитков в порядке убывания (невозрастания). Если у задачи есть несколько вариантов решения, достаточно вывести любой из них.
В массиве n элементов.
Случайным образом вводятся целые числа от 0 до 999.
x - ведённое с клавиатуры число.
i - цикловая переменная.
var
a : array [1..100] of integer;
x, i, n : integer;
begin
readln (n);
for i := 1 to n do
a [ i ] := random (1000);
readln (x);
for i := 1 to n do
if a [ i ] := x then
writeln ('введённое с клавиатуры число находится в массиве');
end.
Если количество элементов в массиве известно изначально, например 25, тогда строку " readln (n); " убираете, а строки
" for i := 1 to n do "
заменяете на
" for i := 1 to 25 do "
Минус данной программы: если введённое с клавиатуры число не находится в массиве, то программа ничего не выводит.