Какой результат выполнения x n mod 2 0 если n 122
Перейти к содержимому

Какой результат выполнения x n mod 2 0 если n 122

3.3.4. Логический тип данных

Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. Поэтому в Паскале логической переменной можно присваивать результат операции сравнения.

Пример. Напишем программу, определяющую истинность высказывания «Число n является чётным» для произвольного целого числа n.

Пусть ans — логическая переменная, а n — целая переменная. Тогда в результате выполнения оператора присваивания

переменной ans будет присвоено значение true при любом чётном n и false в противном случае.

Логическим переменным можно присваивать значения логических выражений, построенных с помощью известных вам логических функций и, или, не , которые в Паскале обозначаются соответственно and, or, not .

Какой результат выполнения x n mod 2 0 если n 122

13 ноября, 2015 Andrey K

В данной статье мы рассмотрим операторы mod и div, их применение при решении задач. Рассмотрим несколько примеров с решением, а также задачи для самостоятельного выполнения.

Успехов вам в программировании.

  • С помощью mod мы получаем остаток от деления числа a на число b.

Переменная s будет равна 5.

  • С помощью оператора div мы получим целую часть от деления числа a на число b

Переменная s будет равна 2.

Использование mod при решении задач

  • Чаще всего оператор mod используется для определения кратности числа и используется в условии (оператор IF)

Задача: определить, является ли число, введенное с клавиатуры, четным.

Чтобы ответить на этот вопрос нужно поделить число a с помощью mod на 2 (a mod 2) и сравнить это значение с нулем. Условие будет выглядеть так: a mod 2 = 0

Итак, чтобы узнать: делится ли число a на число b без остатка, нужно воспользоваться условием:

Оператор mod

  • Также оператор mod используется для определения последней цифры числа

Задача: умножить последнюю цифру числа на 10 и результат вывести на экран.

Чтобы поместить последнюю цифру числа a в некоторую переменную необходимо поделить это число с помощью mod на 10. Получим: b:=a mod 10 — в переменной b окажется последняя цифра числа.

Если мы хотим отделить 2-е последние цифры числа, то должны делить с помощью mod на 100; если 3 — на 1000 и т.д.

Чтобы узнать, оканчивается ли число a на цифру b необходимо воспользоваться условием:

amod10

Задача: е с ли введенное с клавиатуры число оканчивается на 5 и делится на 7, то вывести «YES» иначе «NO»

С помощью рассмотренных условий и цикла со счетчиком можно решить следующую задачу:

посчитать количество чисел, которые кратны 9 и оканчиваются на 5 в диапазоне от 1 до 500

Использование оператора div при решении задач

Задача: дано трехзначное число. Выяснить, является ли оно палиндромом («перевертышем»), т.е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево.

Отделить первую цифру числа можно, поделив его с помощью div на 100.

Отделить последнюю цифру можно, поделив его с помощью mod на 10. Вторая цифра нам не нужна для решения задачи, т.к. от нее не зависит, будет ли число палиндромом.

Задачи для самостоятельного выполнения:

  1. Дано трехзначное число. Определить:
    • является ли сума его цифр двузначным числом
    • является ли произведение его цифр трехзначным числом
    • больше ли числа a произведение его цифр
    • кратна ли пяти сумма его цифр
    • кратна ли сумма его цифр числу a
  2. Дано четырехзначное число. Определить:
    • равна ли сумма двух первых его цифр сумме двух его последних цифр
    • кратна ли трем сума его цифр
    • кратно ли четырем произведение его цифр
    • кратно ли произведение его цифр числу а

Опубликовано в рубрике Программирование Метки: алгоритмы, задачи на программирование, Паскаль, программирование

Зачётная работа по информатике по программированию (углубленный уровень) за 2 семестр 10 класса

Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

Зачетная работа по информатике за II семестр 2018-2019 уч.года

1. (ЕГЭ-8, 1 балл). Запишите число, которое будет выведено в результате работы программы:

var s, n: integer;

while n > s do begin

2. (ЕГЭ-11, 1 балл). Ниже на записан рекурсивный алгоритм F:

function F(n: integer): integer;

if n > 2 then

F := n ;

Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)?

3. (ЕГЭ-19, 1 балл). В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Ниже представлен фрагмент программы, в котором значения элементов сначала задаются, а затем меняются.

for i :=0 to 9 do

A [ i ] :=9-i;

for i:=0 to 4 do begin

Чему будут равны элементы этого массива после выполнения фрагмента программы?

4. (ЕГЭ-19, 1 балл). Ниже представлен фрагмент программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10.

for i:=0 to n-1 do begin

s := s + A [ i +1]- A [ i ]+1

Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10]. Какое наименьшее значение может иметь переменная s после выполнения данной программы?

5. (ЕГЭ-20, 1 балл). Укажите наименьшее натуральное число, при вводе которого эта программа напечатает сначала 2, потом – 7.

var x, a, b: longint;

while x > 0 do begin

if x mod 2 = 0 then

b := b + x mod 4;

writeln(a); write(b);

6. (ЕГЭ-24, 3 балла). На вход программы поступает натуральное число. Требуется определить сумму цифр в десятичной записи этого числа, которые не кратны 3 (считается, что 0 кратно любому числу). Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.

var N, digit, sum: longint;

sum := N mod 10;

while N > 0 do begin

digit := N mod 10;

if digit mod 3 > 0 then

N := N div 10;

if sum > 0 then

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 654.

2. Укажите одно трёхзначное число, при вводе которого программа выведет правильный ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

7. (ЕГЭ-25, 2 балла). Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: заменяет на 0 значения всех элементов, которые отличаются от среднего арифметического всех четных элементов более, чем на половину этого значения. Гарантируется, что хотя бы один чётный положительный элемент в массиве есть. Например, для исходного массива из восьми элементов:

6 1 6 10 11 7 2 9

программа должна вывести (по одному числу в строке) числа

6 0 6 0 0 7 0 9

const N = 200;

a: array [1..N] of integer;

i, k: integer;

for i := 1 to N do

цел N = 200

нц для i от 1 до N

Зачетная работа по информатике за II семестр 2018-2019 уч.года

1. (ЕГЭ-8, 1 балл). Запишите число, которое будет выведено в результате работы программы:

var s, n: integer;

while n > s do begin

2. (ЕГЭ-11, 1 балл). Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

if n > 0 then

procedure G(n: integer);

if n > 1 then begin

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(13)?

3. (ЕГЭ-19, 1 балл). В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

for i:=0 to 10 do

for i:=10 downto 0 do

Чему будут равны элементы этого массива после выполнения фрагмента программы?

4. (ЕГЭ-19, 1 балл). Ниже представлен фрагмент программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10.

for i:=0 to n-1 do begin

s := s + A [ i ]- A [ i +1]+3

Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы?

5. (ЕГЭ-20, 1 балл). Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 3, потом – 6.

var x, L, M: integer;

while x > 0 do begin

if (x mod 8) <> 0 then

M:= M + x mod 8;

writeln(L); write(M);

6. (ЕГЭ-24, 3 балла). На вход программы поступает натуральное число. Требуется определить сумму цифр в десятичной записи этого числа, которые кратны 3 (считается, что 0 кратно любому числу). Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.

var N, digit, sum: longint;

sum := N mod 10;

while N > 0 do begin

digit := N mod 10;

if digit mod 3 = 0 then

N := N div 10;

if sum > 0 then

N = int(input())

digit = N % 10

if digit % 3 == 0:

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 653.

2. Укажите одно трёхзначное число, при вводе которого программа выведет правильный ответ. Укажите это ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

7. (ЕГЭ-25, 2 балла). Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если максимальный чётный элемент массива меньше максимального нечётного, все чётные элементы заменяются на единицу, иначе все нечётные элементы заменяются на нули. Например, для исходного массива из восьми элементов:

7 1 3 2 14 5 9 6

программа должна вывести (по одному числу в строке) числа

0 0 0 2 14 0 0 6

const N = 200;

a: array [1..N] of integer;

i, j, k, s: integer;

for i := 1 to N do

цел N = 200

нц для i от 1 до N

Зачетная работа по информатике за II семестр 2018-2019 уч.года

1. (ЕГЭ-8, 1 балл). Запишите число, которое будет выведено в результате работы программы:

var s, n: integer;

while n > s do begin

2. (ЕГЭ-11, 1 балл). Дан рекурсивный алгоритм:

procedure F(n: integer);

if n > 1 then begin

Найдите сумму чисел, которые будут выведены при вызове F(7).

3. (ЕГЭ-19, 1 балл). В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k , i . В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

for i:=0 to 10 do A[i]:=i;

for i:=10 downto 0 do begin

A [10- i ]:= A [ i ];

A [ i ]:= k ;

Чему будут равны элементы этого массива после выполнения фрагмента программы?

4. (ЕГЭ-19, 1 балл). В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

for i:=0 to n-1 do begin

s := s + A [ i ] — A [ i +1]

Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы?

5. (ЕГЭ-20, 1 балл). Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 14, потом – 3.

var x, L, M: integer;

while x > 0 do begin

if x mod 2 <> 0 then

L := L + x mod 8;

writeln ( M )

6. (ЕГЭ-24, 3 балла). Дано натуральное число A>0. Требуется вывести такое минимально возможное нечётное натуральное число K, при котором сумма 1*2 + 3*4 + … + K*(K+1) окажется больше A. Приведённая ниже программа содержит ошибки.

var A, s, k: integer;

while s <= A do begin

A = int(input())

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 15.

2. Укажите два наименьших значения A, большие, чем 10, при которых программа выведет верный ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

7. (ЕГЭ-25, 2 балла). Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если количество чётных элементов меньше, чем количество нечётных элементов, все чётные элементы заменяются на максимальный из них. Иначе все нечётные элементы заменяются на минимальный из них. Например, для исходного массива из восьми элементов:

7 1 3 2 14 5 9 6

программа должна вывести (по одному числу в строке) числа

7 1 3 14 14 5 9 14

const N = 200;

a: array [1..N] of integer;

i, j, k, s: integer;

for i := 1 to N do

цел N = 200

нц для i от 1 до N

Зачетная работа по информатике за II семестр 2018-2019 уч.года

1. (ЕГЭ-8, 1 балл). Запишите число, которое будет выведено в результате работы программы:

var s, n: integer;

while n > s do begin

2. (ЕГЭ-11, 1 балл). Ниже записаны две рекурсивные процедуры, F и G:

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

if n > 0 then

procedure G(n: integer);

if n > 1 then

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(13)?

3. (ЕГЭ-19, 1 балл). В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k , i . В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

for i:=0 to 10 do A[i]:=i+5;

for i:=0 to 4 do begin

Чему будут равны элементы этого массива после выполнения фрагмента программы?

4. (ЕГЭ-19, 1 балл). В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

for i:=0 to n-1 do begin

s := s + A [ i ] — A [ i +1]

Известно, что в начале выполнения этого фрагмента в массиве находилась убывающая последовательность чисел, то есть A[0] > A[1] >…> A[10]. Какое наименьшее значение может иметь переменная s после выполнения данной программы?

5. (ЕГЭ-20, 1 балл). Укажите наибольшее трёхзначное натуральное число, при вводе которого эта программа напечатает сначала 2, потом – 8.

var x, a, b: longint;

while x > 0 do begin

if x mod 2 > 0 then

a := a + x mod 8

b := b * (x mod 8);

writeln(a); write(b);

6. (ЕГЭ-24, 3 балла). На вход программы поступает натуральное число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран максимальную цифру числа, меньшую 5. Если в числе нет цифр, меньших 5, требуется на экран вывести « NO ». В приведённой программе есть ошибки.

var N, d, m: longint;

m := N mod 10;

while N > 0 do begin

d := N mod 10;

if d < 5 then

if d > m then m := d;

N := N div 10;

if m = 0 then

else writeln( m )

N = int(input())

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 157.

2. Укажите наибольшее трёхзначное значение входной переменной n , при вводе которого программа выведет правильный ответ. Укажите это ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

7. (ЕГЭ-25, 2 балла). .Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если элементов, заканчивающихся на цифру 3, меньше, чем элементов, заканчивающихся на цифру 5, все элементы, заканчивающие на цифру 3 заменяются на минимальный из них. Иначе все элементы, заканчивающиеся на цифру 5, заменяются на максимальный из них. Например, для исходного массива из восьми элементов:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *