ГЛАВА I
ЗАДАЧИ С РЕШЕНИЯМИ
Целочисленная арифметика. Проверка условий.
2. С клавиатуры вводятся числа до первого отрицательного числа. Определить максимальное число.
3. Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39.
4. Найти количество четырехзначных чисел, делящихся на 777 и на свою последнюю цифру.
5. Найти количество пар натуральных двузначных чисел а и b, произведение которых в 10 раз больше их суммы.
6. Дан ряд чисел, в котором каждое следующее число больше предыдущего на 1. Количество чисел в ряду больше 2.
Первое число ряда равно 5. Найти последнее число ряда.
Должно выполняться условие: среднее арифметическое квадратов всех целых чисел — целое число.
7. Даны целые числа от 1 до n.
Посчитать среднее арифметическое этих чисел,
если оно превышает 5, то на экран вывести число на 100 меньше среднего арифметического.В противном случае на экран вывести сумму этих чисел.
8. Найти сумму всех четных двузначных чисел.
9. Проверить утверждение: число, вводимое с клавиатуры, нечетное, двузначное.
10. Найти первое трехзначное число, делящееся на 19 нацело.
1. Ввести пять чисел с клавиатуры и найти произведение чисел меньших 10.
Ответ:
ch=1
ch=2
ch=3
ch=55
ch=55
p=6
program if_01;
uses crt;
var ch, p: integer; i: integer;
- {ch — числа;
p — произведение чисел;
i — счетчик чисел}
begin
clrscr;
p:=1;
for i:=1 to 5 do
{пять раз повторим цикл}
- begin
write(‘ch=’); readln(ch);
if ch<10 then
{если число меньше 10 то домножаем на него произведение}
- begin
p:=p*ch;
end;
end;
writeln(‘p=’,p);
end.
2. С клавиатуры вводятся числа до первого отрицательного числа. Определить максимальное число.
Ответ может быть таким:
15
123
-5
максимальное число = 123
program if_02;
uses crt;
var {a — число, вводимое с клавиатуры, m — максимальное число}
- a: integer;
m: integer;
begin
- clrscr;
m:=0;
repeat- readln(a);
if a>m then m:=a
until a<0;
writeln (‘максимальное число = ‘,m) - readln(a);
end.
3. Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39.
Ответ: max число=4992
program if_03;
uses crt;
var ch:integer; p:boolean;
- {ch — число;
p — логическая переменная, определяющая условие целочисленного деления}
begin clrscr;
- ch:=5000; p:=false;
{исходные значения}
repeat
- p:=ch mod 39 =0 ;
dec(ch)
{уменьшаем число на 1} until p=true ;
if p then writeln(‘ch=’, ch+1) else writeln(‘таких чисел нет’)
end.
4. Найти четырехзначные числа, делящиеся на 777 и на свою последнюю цифру.
Ответ: 2331 3885 4662 6216 6993 8547 9324
program if_04;
uses crt;
var ch, c:integer; {с — последняя цифра числа ch}
begin
- clrscr;
for ch:=1000 to 9999 do- begin
c:= ch mod 10;
if (ch mod 777=0) and (c< >0) and (ch mod c=0) then writeln(ch);
end;
- begin
end.
5. Найти пары натуральных двузначных чисел а и b, произведение которых в 10 раз больше их суммы.
Ответ:
a=12 b=60
a=14 b=35
a=15 b=30
a=20 b=20
a=30 b=15
a=35 b=14
a=60 b=12
program if_05_1; {вариант решения с двумя циклами For}
uses crt;
var a, b, s, p : integer;
{a, b — проверяемые числа;
S — сумма чисел;
P — произведение чисел}
begin
clrscr;
- for a:=10 to 99 do
{для каждого двузначного числа a ищем двузначное число b}
- for b:=10 to 99 do
- begin
s:= a + b; p:= a*b;if p=10*s then
- begin
{если соблюдается условие, то пара чисел выводится на экран}
- writeln(‘a=’, a, ‘b=’:5, b);
end;
end.
——————————-
program if_05_2;{вариант решения с циклами Repeat и For}
uses crt;
var a, b, s, p : integer;
- {a, b — проверяемые числа;
S — сумма чисел;
P — произведение чисел}
begin
clrscr;
- a:=10;
{первое двузначное число}
repeat
for b:=10 to 99 do {второе двузначное число}
-
- begin
s:= a + b;
p:= a*b;if p=10*s then
- begin
{если соблюдается условие, то пара чисел выводится на экран}
- writeln(‘a=’,a,’b=’:5,b);
end; inc(a) ;
until a>99;
end.
6. Дан ряд чисел, в котором каждое следующее число больше предыдущего на 1. Количество чисел в ряду больше 2
Первое число ряда равно 5. Найти последнее число ряда.
Должно выполняться условие: среднее арифметическое квадратов всех целых чисел — целое число.
Ответ:
s=255 n=5 f=51 x=9
Среднее арифметическое квадратов всех целых чисел ряда = 51
program if_06;
uses crt;
var
- i:integer;
{числа}
x:integer; {последнее число ряда}
s:integer ; {сумма квадратов}
n:integer; {количество элементов ряда}
f:real; {среднее арифметическое квадратов}
begin
clrscr;
- s:=0;
i:=5;
{первое число ряда}
n:=1;
repeat
- s:=i*i+s;
{нахождение суммы квадратов}
f:=s/n; {нахождение среднего арифметического квадратов}
inc(n); {счетчик чисел}
inc(i); {следующее число} until (n>2) and (frac(f)=0);
x:=i-1;
writeln (‘x=’:5,x) ;
writeln( ‘Среднее арифметическое квадратов всех целых чисел ряда = ‘, f ) ;
end.
7. Даны целые числа от 1 до n.
Посчитать среднее арифметическое этих чисел,
если оно превышает 5, то на экран вывести число на 100 меньше среднего арифметического.
В противном случае на экран вывести сумму этих чисел.
Ответ может быть таким:
введите количество чисел ряда 9
сумма чисел равна 45
или
введите количество чисел ряда 10
величина на 100 меньше среднего арифметического -94.5
program if_07;
Uses crt;
var
- i: integer;
{счетчик}
n: integer; {количество чисел}
s: integer; {сумма чисел}
sr: real; {среднее арифметическое}
msr: real; {величина на 5 меньше ср. арифметического}
begin clrscr;
- write (‘введите количество чисел ряда ‘);
readln (n);
s:=0;
for i:=1 to n do- begin
s:=s+i;
sr:=s/n;
end;
if sr>5 then
- begin
msr:=sr-100;
writeln (‘величина на 100 меньше среднего арифметического’, ‘ ‘,msr);
end
else
- writeln (‘сумма чисел равна ‘, s);
- begin
end.
8. Найти сумму всех четных двузначных чисел
Ответ:
S=2430.
program if_08 ;
uses crt;
var ch, S : integer;
{ch — число;
S — сумма чисел}
begin
- clrscr;
S:=0;
{сумма чисел сначала равна 0}
for ch:=10 to 99 do {складываем только двузначные числа}
- If ch mod 2=0 then inc(S, ch);
writeln(‘S=’, S);
end.
Ответ:
15
Число, вводимое с клавиатуры, нечетное, двузначное: True.
program if_09 ;
uses crt;
var ch: integer;
p: boolean;
{ch — число;
p — проверка утверждения}
begin
- clrscr;
readln(ch);
p:= (ch mod 2=1) and (ch>=10) and (ch<100) ;
writeln(‘число, вводимое с клавиатуры, нечетное, двузначное: ‘ , p);
end.
program if_10;
uses crt;
var ch: integer;
{ch — проверяемое число}
begin
- clrscr;
ch:=100;while ch mod 19 < > 0 do inc(ch);
{пока число не разделится нацело на 19, увеличиваем его на 1}
write ( ‘Первое трехзначное число, делящееся на 19 нацело: ‘, ch);
end.
Источник: http://klasspascal.narod.ru/01/ifre.htm
Целочисленная арифметика
- Подсчитать кол-во цифр в заданном натуральном числе.
- Найдите целые числа-палиндромы, которые при возведении в квадрат тоже дают палиндромы.
- Поменять местами первую и последнюю цифры числа.
- Дано нат. K. напечатать К-ю цифру последовательности 12345678910111213…,в которой записаны подряд все натуральные числа.
- Дано число N<=99. Дописать в начало и в конец числа цифру k.
- Проверить, есть ли в записи числа N в степени k цифра m.
- Найти наименьшее нат. число, представимое двумя различными способами в виде суммы кубов двух натуральных чисел.
- Доказать, что любую целочисленную денежную сумму большую 7 рублей можно выплатить без сдачи трешками и пятерками.
- Дано нат. K. напечатать К-ю цифру последовательности 149162536…, в которой записаны подряд квадраты всех натуральных чисел.
- Есть ли в записи числа 3 одинаковые цифры.
- Дано натур число n<=9999. Поменять порядок следования цифр.
- Перевод числа из 10-ой системы счисления в 2-ую.
- Найти все делители натурального числа N.
- Переставить цифры числа так, чтобы образовалось максимальное число, записанное теми же цифрами.
- Переставить цифры числа так, чтобы образовалось наименьшее число, записанное теми же цифрами.
- Составить программу перевода римских чисел в арабские.
- Дано натур. число N. Если это не палиндром реверсируйте его цифры и сложите исходное число с числом, полученным в результате реверсирования. Если сумма не палиндром, то повторите те же действия и выполняйте их до тех пор, пока не получится палиндром. Пример: 78+87=165, 165+561=726, 726+627=1353, 1353+3531=4884
- Дано натур. число N. Поменять порядок следования цифр в этом числе на обратный.
- Дано натур. число N. Найти и вывести все числа в интервале от 1 до N-1, у которых произведение всех цифр совпадает с суммой цифр данного.
- Найти произведение цифр заданного целого четырехзначного числа. Число Результат: 2314 P = 24, -1245 P = 40
- Определить является ли заданная последовательность чисел а1, а2,…,аN монотонно убывающей. Случай Результат: N Вектор А, Является 3 (3, 2, 1) «Да», Не является 3 (2, 3, 1) «Нет»
Источник: http://fvn2009.narod.ru/Olympiads/Tasks_Olimp/Olimp6.htm
Тематический план
- Общее
Общее
-
Внеурочная деятельность
9 класс
-
- Тема 1 Язык Python — основы. Целочисленная арифметика. Условная инструкция
Тема 1 Язык Python — основы. Целочисленная арифметика. Условная инструкция
- Установка среды разработки
- Целочисленная арифметика. Деление с округлением вверх
- Задачи на целочисленную арифметику. Задачи на формулу
- Условная инструкция. Простые задачи. Задачи на шахматной доске
- Решение задач на летоисчисление и работа с датами
-
Ссылка для скачивания среды разработки Гиперссылка
Выберите вкладку Downloads и появиться кнопка для скачивания питона
- Тема 2 Циклы и списки в python
Тема 2 Циклы и списки в python
- Циклы forи whileв python
- Сложность алгоритма
- Решение перебором
- Списки в python
- Генератор списка
- Тема 3 Строки в python
Тема 3 Строки в python
- Задачи на строки
- Тема 4 Функции в python. Рекурсия
Тема 4 Функции в python. Рекурсия
- Комбинаторные задачи
- Рекурсивныйперебор
- Тема 5 Сортировки и их применение
Тема 5 Сортировки и их применение
- Квадратичные сортировки
- Быстрые сортировки
- Сортировка подсчетом
- Синхронная сортировка массивов
- Тема 6 Линейный и бинарный поиск
Тема 6 Линейный и бинарный поиск
- Метод двух указателей
- Тема 7 Динамическое программирование
Тема 7 Динамическое программирование
- Одномерное и двумерное ДП
- Восстановление ответа в задачах ДП
- Задача орюкзаке
- Тема 8 Численные методы
Тема 8 Численные методы
- Проверка числа на простоту
- Разложение числа на множители
- Алгоритм Евклида
- РешетоЭратосфена
- Тема 9 Структуры данных (стек, дек, очередь) и их применения для решения задач
Тема 9 Структуры данных (стек, дек, очередь) и их применения для решения задач
- Задача о правильных скобочных последовательностях
- Обратнаяпольская запись
- Тема 10 Графы — введение. Обход в глубину
Тема 10 Графы — введение. Обход в глубину
- Графы, основные термины
- Способы хранения графов в памяти компьютера
- DFS
- Тема 11 Кратчайшие пути в графах
Тема 11 Кратчайшие пути в графах
- BFS, алгоритм Дейкстры
- Различныезадачи на графы
- Тема 12 Итоговая работа
Тема 12 Итоговая работа
Анализ задач и выбор алгоритма решения, решение задачи из билета
Источник: http://thl.paslab.info/course/view.php?id=156
Основные определения¶
Арифметический оператор (operator)
Специальный символ, выполняющий арифметические вычисления. В выраженииa * b символ * — оператор умножения, a и b — его операнды.
Оператор, принимающий два операнда, называется бинарным.Унарный оператор принимает один операнд. Пример унарного оператора: -1.
Выражение (expression)
Последовательность операторов и операндов, результат вычисления которойсводится к единственному значению. Простейшие выражения состоят из одногозначения и не содержат операторов: 42, «Hello, World!». Примерболее сложного выражения: 2 ** 32 — 1.
Приоритет операций
Свойство оператора, влияющее на очередность его выполнения в выражении снесколькими различными операторами при отсутствии явного (с помощью скобок)указания на порядок их вычисления.
Например, результат выражения 2 + 2 * 2 — 6, поскольку приоритетоперации умножения выше, чем приоритет операции сложения. Изменить порядоквычислений в выражении можно с помощью скобок:
Ассоциативность
последовательность выполнения операций (или направление вычисления),реализуемая когда операции имеют одинаковый приоритет и отсутствует явное(с помощью скобок) указание на очерёдность их выполнения.
Различают правую (справа налево) и левую (слева направо) ассоциативность.Пример оператора с левой ассоциативностью — оператор деления /. Так,выражение 8 // 4 // 2 эквивалентно (8 // 4) // 2 и его результатравен 1.
Пример оператора с правой ассоциативностью — оператор возведения в степень:
Источник: http://python-course.readthedocs.io/projects/year1/en/latest/lessons/02-integral-arithmetic.html
Функции перевода чисел в различные системы счисления¶
bin(x)¶oct(x)¶hex(x)¶
Функции принимают целое число и возвращают его строковое представление вдвоичной, восьмеричной и шестнадцатеричной системах счисления соответственно.
Пример:
int(x, base)¶
С этой функцией мы познакомились на прошлом занятии. Сейчас дополним, чтовторым аргументом она может принимать основание системы счисления, в которойзаписано число x:
Источник: http://python-course.readthedocs.io/projects/year1/en/latest/lessons/02-integral-arithmetic.html
Задачи¶
-
Дано целое десятичное число. Выведите его последнюю цифру.
-
Дано целое десятичное число. Найдите число десятков в его десятичной записи.
-
Дано трехзначное число. Найдите сумму его цифр.
-
Пирожок в столовой стоит (a) рублей и (b) копеек. Определите,сколько рублей и копеек нужно заплатить за (n) пирожков.
Приложение запрашивает у пользователя стоимость одного пирожка и количествопирожков. Пример:
Введите стоимость одного пирожка.Рубли: 2Копейки: 60Количество пирожков: 3Приложение должно вычислить стоимость запрошенного количества пирожков.Пример вывода:
Сумма заказа: 7 рублей 80 копеек -
Дано число (n). С начала суток прошло n минут. Определите, сколькочасов и минут будут показывать электронные часы в этот момент. Программадолжна вывести два числа: количество часов (от 0 до 23) и количество минут(от 0 до 59). Учтите, что число (n) может быть больше, чем количествоминут в сутках.
Источник: http://python-course.readthedocs.io/projects/year1/en/latest/lessons/02-integral-arithmetic.html
Домашнее задание¶
-
Дано трехзначное число. Найти произведение его цифр.
-
Даны значения двух моментов времени, принадлежащих одним и тем же суткам:часы, минуты и секунды для каждого из моментов времени. Известно, что второймомент времени наступил не раньше первого. Определите, сколько секунд прошломежду двумя моментами времени.
-
Дано целое число (n). Выведите следующее за ним четное число.
Источник: http://python-course.readthedocs.io/projects/year1/en/latest/lessons/02-integral-arithmetic.html