Пятница, 03.05.2024
Школьная информатикаАвтор сайта: Кочетов Николай Александрович, учитель информатики, город Суворов Тульская область.
Меню
Поиск
Друзья сайта
  • Сайт МБОУ "СОШ №5 ЦО г. Суворова им. Е.П.Тарасова"
  • Создать сайт в uCoz
  • Рейтинги

    Информатика ОГЭ-2019 - 9 класс (20-е задание)


    Задание №20 (Программирование - ПАСКАЛЬ)

    Вашему вниманию предложено решение трёх задач. В левой части известно количество чисел в последовательности (переменная n). В правой части не известно количество чисел в последовательности (окончание последовательности задаётся нулём). Например, программа №1. И в левой части и в правой части решается одна и та же задача. Формулировка задачи отличается выделенной строкой. На экзамене может встретиться любая из этих формулировок. 

    Программа №1. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, не кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, не кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести одно число - максимальное число, не кратное 5.

    var n,x,i,m:integer;
    begin
      readln(n);
      m:=0;
      for i:=1 to n do begin
        readln(x);
        if (x > m) and (x mod 5 <> 0) then m:=x
      end;
      writeln(m)
    end.

    Программа №1. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, не кратное 5. Программа получает на вход последовательность натуральных чисел, заканчивающуюся нулём. В последовательности всегда имеется число, не кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести одно число - максимальное число, не кратное 5.

    var x,m:integer;
    begin
      m:=0;
      readln(x);
      while x<>0 do begin
        if (x > m) and (x mod 5 <> 0) then m:=x;
        readln(x);
      end;
      writeln(m)
    end.

    Программа №2. Напишите программу, которая в последовательности натуральных чисел определяет сумму трехзначных чисел, оканчивающихся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется трехзначное число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести одно число - сумму трехзначных чисел, оканчивающихся на 3.

    var n,x,i,s:integer;
    begin
      readln(n);
      s:=0;
      for i:=1 to n do begin
        readln(x);
        if (x > 99) and (x<1000) and (x mod 10 = 3) then s:=s+x;
      end;
      writeln(s)
    end.

    Если бы требовалось найти не сумму, а количество таких чисел, то присваивание s:=s+x нужно, было бы заменить на s:=s+1.

    Программа №2. Напишите программу, которая в последовательности натуральных чисел определяет сумму трехзначных чисел, оканчивающихся на 3. Программа получает на вход последовательность натуральных чисел, заканчивающуюся нулём. В последовательности всегда имеется трехзначное число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести одно число - сумму трехзначных чисел, оканчивающихся на 3.

    var x,s:integer;
    begin
      s:=0;
      readln(x);
      while x<>0 do begin
        if (x > 99) and (x<1000) and (x mod 10 = 3) then s:=s+x;
        readln(x);
      end;
      writeln(s)
    end.

    Если бы требовалось найти не сумму, а количество таких чисел, то присваивание s:=s+x нужно, было бы заменить на s:=s+1.

    Программа №3. Напишите программу, которая в последовательности натуральных чисел определяет, есть ли в последовательности хотя бы одно число, кратное 3 и меньше 1000. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести "YES",  если в последовательности есть хотя бы одно число, кратное 3 и меньше 1000, и "NO" в противном случае.

    var n,x,i,k:integer;
    begin
      readln(n);
      k:=0;
      for i:=1 to n do begin
        readln(x);
        if (x<1000) and (x mod 3 = 0) then k:=k+1;
      end;
      if k>0 then writeln('YES') else writeln('NO')
    end.

    Программа №3. Напишите программу, которая в последовательности натуральных чисел определяет, есть ли в последовательности хотя бы одно число, кратное 3 и меньше 1000. Программа получает на вход последовательность натуральных чисел, заканчивающуюся нулём. Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести "YES",  если в последовательности есть хотя бы одно число, кратное 3 и меньше 1000, и "NO" в противном случае.

    var x,k:integer;
    begin
      k:=0;
      readln(x);
      while x<>0 do begin
        if (x<1000) and (x mod 3 = 0) then k:=k+1;
        readln(x);
      end;
      if k>0 then writeln('YES') else writeln('NO')
    end.

     

    Время
    Ученикам
    Статистика
       
               

    Создать бесплатный сайт с uCoz