annamacsimava08
19.11.2021 15:28

Как обозначается вещественное число числового типа данных?​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
koretstanya1
06.02.2022 20:08
В этом разделе сайта progmatem.ru для рисования различных геометрических фигур в Паскале нам нам понадобится среда PascalABC.Net или PascalABC. Будут также привены рабочие программы в средах Turbo Pascal и Free Pascal. Вообще Паскаль хорош тем, что позволяет не только писать простые и/или сложные консольные приложения, но и работать с формами (как в Delphi), а также создавать графические приложения с подключаемого модуля GraphABC (аналог модуля graph в Turbo Pascal, Free Pascal). Ведь для того и создавалась среда PascalABC.Net – как учебное пособие при переходе на Delphi – более совершенную версию Object Pascal.
При работе с графическим окном нужно учитывать две особенности. Во-первых, начало координат – точка (0, 0) – находится не где-то посредине окна, а в левом верхнем углу. Вторая особенность связана с первой: положительное направление оси OY показывает не вверх, а вниз (OX направлена вправо). Как мы видим, система координат в графическом окне Pascal отлична от той, к которой мы привыкли в математике – т.н. правой системе координат, в которой ось OX направлена вправо, ось OY – вверх, а начало координат, как правило, всегда стоит где-то посредине окна. И к этой особенности надо привыкать.
Система координат в графическом окне Паскаля
Но что делать, если требуется нарисовать геометрическую фигуру или график функции в «нормальной», привычной для нас системе координат? Надо выполнить преобразование системы координат таким образом, чтобы точка (0, 0) находилась посредине окна (в любой нужной точке), а ось OY была направлена вверх. Стандартное преобразование в прямоугольной правой системе координат выглядит следующим образом:
Стандартное преобразование координат
Здесь x0 и y0 – координаты точки, в которую мы хотим перенести начало координат новой системы, x и y – координаты точки в старой системе, x1 и y1 – координаты точки в новой системе. Но поскольку ось OY в графическом окне Паскаля направлена вниз, то для её разворота вверх нужно, естественно, знак координаты y поменять на противоположный (вместо y поставить -y). Таким образом, окончательно получим преобразование координат в графическом окне PascalABC.Net:
Преобразование координат в графическом окне Pascal
В результате последних преобразований вышеуказанная система координат будет иметь следующий вид:
Система координат после преобразования
Как мы видим, здесь начало координат перемещено в центр графического окна, а ось OY направлена вверх. В результате этого стали доступны не только положительные координаты, но также отрицательные.
Напишем простую программу, демонстрирующую все вышесказанное. Для этого, забегая наперед, укажем три полезные в графическом режиме PascalABC.Net процедуры:
TextOut(x,y,s) – Вывод текста в графическое окно. При этом текст (строка s) записывается в прямоугольную область таким образом, что точка с координатами (x, y) находится в левом верхнем углу первой буквы;
Line(x1,y1,x2,y2) – Проводит отрезок от точки (x1, y1) до точки (x2, y2);
Circle(x,y,r) – Рисует окружность с центром (x, y) и радиусом r.
Программа рисует окружность относительно графического окна (x0 = 0, y0 = 0), а через 3 секунды эта окружность появляется относительно нарисованной в центре системы координат. Перепишите эту программу в среду PascalABC.Net и запустите. Вот, собственно, сам код:
Код Pascal, PascalABC.Net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
uses
GraphABC;

const
r = 90; //радиус окружности

var
x0, y0, x, y: integer;

begin
{ Начало координат: }
x0 := WindowWidth div 2; //половина ширины окна
y0 := WindowHeight div 2; //половина высоты окна
x := 100; y := 100; //координаты центра окружности
Line(x0 - 250, y0, x0 + 250, y0); //ось OX
Line(x0, y0 - 200, x0, y0 + 200); //ось OY
Circle(x, y, r); //окружность с центром (x, y) и радиусом r
Circle(x, y, 2); //центр окружности (маленькая окружность)
TextOut(x + 5, y, '(100, 100)');//надпись возле центра окружности
sleep(3000); //делаем паузу на 3 секунды
ClearWindow; //очищаем графическое окно белым цветом
Line(x0 - 250, y0, x0 + 250, y0); //ось OX
Line(x0, y0 - 200, x0, y0 + 200); //ось OY
{ Делаем преобразование координат: }
x := x0 + x;
y := y0 - y;
{ Рисуем окружность, центр окружности и надпись: }
Circle(x, y, r);
Circle(x, y, 2);
TextOut(x + 5, y, '(100, 100)');
end.

Здесь необходимо сделать некоторые пояснения:
WindowWidth - ширина графического окна;
WindowHeight - высота графического окна (в пикселях);
ClearWindow - эта процедура очищает окно белым цветом;
sleep(ms) - задержка (пауза) на ms миллисекунд.
На следующей странице мы рассмотрим самое элементарное понятие в графике Паскаля – точки и пиксели, а также укажем полезные процедуры для работы с ними.
0,0(0 оценок)
Ответ:
Ask2017
21.12.2021 10:37
// PascalABC.NET 3.2, сборка 1399 от 08.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadReal('Площадь решета равна');
  var a:=ReadArrReal('Введите диаметры клубней:',10);
  var d:=sqrt(4*s/pi);
  var b:=a.Where(x->x<d);
  var n:=b.Count;
  if n>0 then begin
    Write('Пройдут клубни диаметром '); b.Print;
    Writeln(' - всего ',n,' шт.')
    end
  else Writeln('Ни один клубень не пройдет')
end.

Пример
Площадь решета равна 45
Введите диаметры клубней: 8.6 7.1 9 10.2 6.4 5 6 8.2 6.6 7
Пройдут клубни диаметром 7.1 6.4 5 6 6.6 7 - всего 6 шт.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота