Блог учителя Информатики

Комментарии отключены

 Решение задач блока ExamBegin 11-20

Решение задач из задачника по программированию М. Э. Абрамяна. Задачи из блока ExamBegin: «ЕГЭ по информатике: базовые алгоритмы».

Задача ExamBegin11

На вход подается целое число, большее 1. Вывести наименьший делитель данного числа, больший 1.

uses PT4Exam;
 
var
  a, x: integer;
 
begin
  Task('ExamBegin11');
  Read(a);
  x := 2;
  while a mod x <> 0 do
    x := x + 1;
  Write(x);
end.
Pascal

Задача ExamBegin12

На вход подается целое число, большее 1. Если оно является простым, т. е. не имеет положительных делителей, кроме 1 и самого себя, то вывести текст «YES», иначе вывести «NO».

uses PT4Exam;
 
var
  a, i, k: integer;
 
begin
  Task('ExamBegin12');
  Read(a);
  k := 0;
  for i := 1 to a do
    if a mod i = 0 then k := k + 1;
  if k > 2 then Write('NO')
  else Write('YES');
end.
Pascal

Задача ExamBegin13

На вход подается целое число, большее 1. Разложить данное число на простые множители и вывести все множители в порядке возрастания (каждое число выводить на новой строке, среди выводимых чисел могут быть одинаковые).

uses PT4Exam;
 
var
  a, k: integer;
 
begin
  Task('ExamBegin13');
  Read(a);
  k := 2;
  while a <> 1 do
  begin
    if a mod k = 0 then begin
      Writeln(k);
      a := a div k;
    end
    else k := k + 1;
  end;
end.
Pascal

Задача ExamBegin14

На вход в первой строке подается целое положительное число N, а во второй строке — набор из N целых чисел. Вывести сумму всех чисел из исходного набора.

uses PT4Exam;
 
var
  a, n, i, sum: integer;
 
begin
  Task('ExamBegin14');
  Read(n);
  sum := 0;
  for i := 1 to n do
  begin
    read(a);
    sum := sum + a;
  end;
  Write(sum);
end.
Pascal

Задача ExamBegin15

На вход в первой строке подается целое положительное число N, а в следующих N строках — набор из N вещественных чисел (по одному числу в строке). Вывести произведение всех чисел из исходного набора.

uses PT4Exam;
 
var
  x, i: integer;
  a, p: real;
 
begin
  Task('ExamBegin15');
  Read(x);
  p := 1;
  for i := 1 to x do
  begin
    read(a);
    p := p * a;
  end;
  Write(p:4:2);
end.
Pascal

Задача ExamBegin16

На вход подается набор целых чисел, содержащий одно или более ненулевых чисел и завершающийся числом 0; каждое число располагается на новой строке. Вывести сумму всех чисел из исходного набора.

uses PT4Exam;
 
var
  a, sum: integer;
 
begin
  Task('ExamBegin16');
  sum := 0;
  ReadLn(a);
  while a <> 0 do
  begin
    sum := sum + a;
    Readln(a);  
  end;
  WriteLn(sum);
end.
Pascal

Задача ExamBegin17

На вход подается набор вещественных чисел, содержащий одно или более положительных чисел и завершающийся отрицательным числом; каждое число располагается на новой строке. Вывести произведение всех положительных чисел из исходного набора.

uses PT4Exam;
 
var
  a, sum: real;
 
begin
  Task('ExamBegin17');
  sum := 1;
  ReadLn(a);
  while a > 0 do
  begin
    sum := sum * a;
    readln(a);  
  end;
  WriteLn(sum:4:2);
end.
Pascal

Задача ExamBegin18

На вход подается целое положительное число N. Сформировать и вывести целочисленный массив размера N, содержащий N первых положительных нечетных чисел: 1, 3, 5, … . Каждое число выводить на новой строке.

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[1..R] of integer;
  a, k, n: integer;
 
begin
  Task('ExamBegin18');
  Read(a);
  k := 1; n := 0;
  while n < a do
  begin
    if k mod 2 = 1 then begin
      m[k] := k;
      n := n + 1;
      Writeln(m[k]);
    end;
    k := k + 1;
  end;
end.
Pascal

Задача ExamBegin19

На вход подается целое положительное число N. Сформировать и вывести целочисленный массив размера N, содержащий степени двойки от первой до N-й: 2, 4, 8, 16, … . Выводить все числа в одной строке, для каждого числа отводить 5 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[0..R] of integer;
  a, i: integer;
 
begin
  Task('ExamBegin19');
  Read(a);
  m[0] := 1;
  for i := 1 to a do
  begin
    m[i] := m[i - 1] * 2;
    Write(m[i]:5);
  end;
end.
Pascal
uses PT4Exam;
 
var
  a, i, p: integer;
 
begin
  Task('ExamBegin19');
  Read(a);
  p := 1;
  for i := 1 to a do
  begin
    p := p * 2;
    Write(p:5);
  end;
end.
Pascal

Задача ExamBegin20

На вход подаются три числа: целое число N (> 1) и вещественные числа A и D — соответственно первый член и разность арифметической прогрессии (каждое число вводится с новой строки). Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: AA + DA + 2·DA + 3·D, … . Все числа выводить в одной строке, для каждого числа отводить 7 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[1..R] of real;
  n, i: integer;
  a, d: real;
 
begin
  Task('ExamBegin20');
  Read(n, a, d);
  for i := 1 to n do
  begin
    m[i] := a;
    Write(m[i]:7:2);
    a := a + d;  
  end;
end.
Pascal
uses PT4Exam;
 
var
  n, i: integer;
  a, d: real;
 
begin
  Task('ExamBegin20');
  Read(n, a, d);
  for i := 1 to n do
  begin
    Write(a:7:2);
    a := a + d;  
  end;
end.
Pascal

Поделиться:
Вам также может понравится
Решение экзамена первой волны ОГЭ по Информатике | Часть 1
Решение пробника ОГЭ по Информатике | Вариант 24
Решение пробника ОГЭ по Информатике | Вариант 17
Округление чисел в Python