В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
2004by2013
2004by2013
05.11.2022 18:25 •  Информатика

Сколько точек с целыми координатами в треугольникaob находящийся в первой четверти? напишите программу в паскаль

Ответ:
Lugazat
Lugazat
06.10.2020 04:51
Решение далеко не самое эффективное, но зато очень простое:
var a,b,x,y,k:integer;
begin
write('a, b:');
readln(a,b);
k:=0;
for x:=0 to a do
 for y:=0 to b do
  if y<=-(x-a)*b/a then k:=k+1;
writeln('k = ',k);
end.

Пример:
a, b:
4 3
k = 11

PS. Точки, лежащие на осях координат и на стороне AB, тоже подсчитываются. Если они не нужны, то циклы начинайте с 1 и в условии используйте строгое равенство.
0,0(0 оценок)
Ответ:
Арианна1902
Арианна1902
06.10.2020 04:51
Во вложении приведен рисунок, из которого видно принятое расположение треугольника. Треугольник прямоугольный и уравнение его гипотенузы можно получить из формулы уравнения прямой в отрезках.
Алгоритм решения следующий.
1. Вводим значения a и b.
2. Очищаем переменную счетчика количества k нулём.
3. В цикле по х от 0 с шагом 1 до целой части b:
- вычисляем целую часть y, найденного из приведенного уравнения
- увеличиваем k на эту целую часть плюс 1
4. Выводим значение k.

Проверим этот алгоритм для нашего рисунка.
a=3, b=4, y=³/₄(4-x), k=0
Для х=0 получаем у=3 и увеличиваем k на 3+1=4, т.е. k=4
Для х=1 получаем у=2.25, целая часть 2 и увеличиваем k на 2+1=3, т.е. k=7
Для х=2 получаем у=1.5, целая часть 1 и увеличиваем k на 1+1=2, т.е. k=9
Для х=3 получаем у=0.75, целая часть 0 и увеличиваем k на 0+1=1, т.е. k=10
Для х=4 получаем у=0, целая часть 0 и увеличиваем k на 0+1=1, т.е. k=11
Значение 11 выводим.
Из рисунка видно, что точек действительно 11.

1. Современное решение

// PascalABC.NET 3.2, сборка 1425 от 22.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a,b:real;
  Write('Введите значения a и b через пробел: '); Read(a,b);
  Writeln(Range(0,Trunc(b)).Select(x->Trunc(a/b*(b-x))+1).Sum)
end.

Контрольный пример
Введите значения a и b через пробел: 3 4.0
11

2. Школьное решение в стиле ТурбоПаскаль 1983г.

var
  a,b,y:real;
  k,x:integer;
begin
  Write('Введите значения a и b через пробел: '); Read(a,b);
  k:=0;
  for x:=0 to Trunc(b) do begin
    y:=a/b*(b-x);
    k:=k+Trunc(y)+1
    end;
  Writeln(k)
end.

Сколько точек с целыми координатами в треугольникaob находящийся в первой четверти? напишите програм
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?