Циклы с параметром. 1.Вывести ** экран через пробел все целые числа от А до В...

0 голосов
66 просмотров

Циклы с параметром.
1.Вывести на экран через пробел все целые числа от А до В включительно оканчивающиеся на 3 и кратные 3.
2. Вывести трёхзначные числа, десятичная запись которых оканчивается на 9, но не на 99. Числа искать на интервале [A, B]. Если таких чисел нет, вывести фразу «таких чисел нет». А и В вводить с клавиатуры. Например: a) А=3 В= 118 Вывод: 109 b) А=2 В=100 Вывод: «таких чисел нет»
3. Известна масса каждого предмета, загружаемого в автомобиль. Определить общую массу груза.


Информатика (379 баллов) | 66 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!

№1

begin
  var (a,b):=ReadInteger2('Границы интервала [A,B]:');
  for var n:=a to b do
    if (Abs(n mod 10)=3) and (n mod 3=0) then Print(n)
end.

Пример
Границы интервала [A,B]: -50 142
-33 -3 3 33 63 93 123

№2

begin
  var (a,b):=ReadInteger2('Границы интервала [A,B]:');
  var k:=0;
  for var n:=a to b do begin
    var m:=Abs(n);
    if (m mod 10=9) and (m mod 100<>99) and (m>=100)
        and (m<=999) then begin Print(n); k+=1 end<br>    end;
  if k=0 then Writeln('Таких чисел нет') 
end.

Примеры
Границы интервала [A,B]: -200 160
-189 -179 -169 -159 -149 -139 -129 -119 -109 109 119 129 139 149 159

Границы интервала [A,B]: 52 101
Таких чисел нет

№3

begin
  var n:=ReadInteger('Введите количество предметов:');
  var m:=0.0;
  for var i:=1 to n do begin
    Write('Маcса предмета № ',i,': '); m+=ReadReal;
    end;
  Writeln('Масса груза равна ',m)
end.

Пример
Введите количество предметов: 5
Маcса предмета № 1: 24.62
Маcса предмета № 2: 8.1
Маcса предмета № 3: 132
Маcса предмета № 4: 24.5
Маcса предмета № 5: 52.7
Масса груза равна 241.92
(150k баллов)
0 голосов
//1
var A, B, i: integer;
begin
  write('Введите A и B: '); readln(A, B);
  for i := A to B do
    if ((i mod 3 = 0) and (i mod 10 = 3)) then writeln(i);
end.

//2
var
  A, B, i, k: integer;
begin
  write('Введите A и B: '); readln(A, B);
  for i := A to B do
    if ((i > 99) and (i < 1000)) and ((i mod 10 = 9) and (i mod 100 <> 99)) then
    begin
      writeln(i);
      k := k + 1;
    end;
    if k = 0 then writeln('Таких чисел нет.');
end.


//3
var sum, i, n: integer;
begin
  write('Введите количество предметов: '); readln(n);
  for i := 1 to n do
  begin
    readln(n);
    sum := sum + n;
  end;
  writeln('Общая масса = ', sum);
end.


//3 с другим циклом
var sum, n: integer;
begin
  writeln('Введите 0 для завершения ввода.');
  repeat
    readln(n);
    sum := sum + n;
  until n = 0;
  writeln('Общая масса = ', sum);
end.

(9.4k баллов)
0

А можно второе без boolean решить? Просто мы вроде еще не проходим такое

0

исправил