Решение задания В 8 ( ЕГЭ -2014) ( анализ численного алгоритма ) Вишневская М. П., МАОУ « Гимназия 3» 24 марта 2014 г., г. Саратов.

Презентация:



Advertisements
Похожие презентации
Анализ вычислительных алгоритмов в задачах части А и В Задачи повышенной сложности Рахманова М.Н. учитель информатики МАОУ «Физико-технический лицей 1»
Advertisements

Программирование Задания В2, В5. Оператор присваивания в языке программирования Задание В2 – базовый уровень, время – 2 мин.
Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25.
Циклы. Вычислить сумму ряда чисел Program sum; var a: integer; s: real; Begin a:=1; s:=0; while a<600 do begin a:=a+1; s:=s+1/a; end; writeln ( ' s=
Задача: даны два числа, найти их наибольший общий делитель.
Задача: даны два числа, найти их наибольший общий делитель.
Домашнее задание ЕГЭ ДЕМО А13 НАЧАЛО ПОКА вниз ПОКА влево ПОКА вверх ПОКА вправо КОНЕЦ 1) 1 2) 2 3) 3 4) 4.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
класс-ПОВТОРЕНИЕ ОСНОВНЫХ ПОНЯТИЙ ТЕМЫ « ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ » 8 КЛАСС.
Учебно-методический материал по информатике и икт (9 класс) по теме: Презентация по теме Разбор заданий КИМ ГИА (задание 20.2)
Урок информатики 9 физико-математический класс.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Оператор цикла с предусловием. Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Разбор задач ЕГЭ 2013 (А3, В8 и С1) Лисин Алексей Анатольевич, учитель информатики и ИКТ, МБОУ «Лицей 124»
Цикл со счетчиком. Ц ИКЛ СО СЧЕТЧИКОМ FOR управляющая переменная:= a TO n DO операторы;(если an) Здесь a – начальное значение управляющей переменной;
Алгоритм Евклида. Два варианта решения Программирование. Сочетание циклов и ветвлений. 9 класс Евклид Александрийский ( род. 330 г. до н. э.) - известный.
Начала программирования Блинова Т.П., учитель информатики НМОУ «Лицей 84», г. Новокузнецк.
Сайт для подготовки к ЕГЭ: kpolyakov.narod.ru Презентация будет выложена на сайте elschool11.ru ученикам – информатика –Подготовка к ЕГЭ (внизу странички)
АЛГОРИТМ ЕВКЛИДА (нахождение наибольшего общего делителя (НОД) двух натуральных чисел)
Транксрипт:

Решение задания В 8 ( ЕГЭ -2014) ( анализ численного алгоритма ) Вишневская М. П., МАОУ « Гимназия 3» 24 марта 2014 г., г. Саратов

Что нужно знать : операции целочисленного деления (div) и взятия остатка (mod); стандартные вычислительные алгоритмы, которые используют эти операции; как работают операторы присваивания, циклы и условные операторы в языке программирования.

Алгоритм разложения натурального числа на цифры readln (n); while n>0 do begin b:=n mod 10; write (b, ); n:=n div 10; end. N>0 Удаление младшей цифры Младшая цифра Вывод цифры Конец

Алгоритм перевода целых чисел из 10- ой системы счисления в другие a b a mod b a div b

Алгоритм поиска делителей натурального числа ( поиск простых чисел ) readln (n); for i:=2 to n div 2 do if n mod i = 0 then write (i, ); end readln (n); k:=2; for i:=2 to n div 2 do if n mod i = 0 then k:=k+1; If k=2 then write (n - простое ) else writeln (n - сложное); end.

Алгоритм поиска НОД ( НОК ) двух натуральных чисел readln (a); readln (b); while (a>0) and (b>0) do if a>b then a:=a mod b else b:=b mod a; writeln (a+b); end readln (a); readln (b); nok:=a*b; while (a>0) and (b>0) do if a>b then a:=a mod b else b:=b mod a; nod:= a+b; nok:=nok/nod; writeln (nod,,nok); end.

Пример 1 var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:= L + 1; M:= M + x mod 10; x:= x div 10; end; writeln(L); write(M); end. Приводится текст программы. Получив на вход число Х, программа печатает два числа L и M. Укажите наибольшее из таких чисел Х, при вводе которых программа сначала выведет 3, а затем 7.

Пример 1 var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:= L + 1; количество цифр в числе - 3 M:= M + x mod 10; сумма цифр числа - 7 x:= x div 10; end; writeln (L); write (M); end

Пример 2 ( аналог Примера 1, с критерием отбора ) var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:=L+1; if M < (x mod 10) then begin M:=x mod 10; end; x:= x div 10; end; writeln(L); write(M); end. Приводится текст программы. Получив на вход число Х, программа печатает два числа L и M. Укажите наибольшее из таких чисел Х, при вводе которых программа сначала выведет 3, а затем 7.

Пример 2 ( аналог Примера 1, с критерием отбора ) var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:=L+1; ; количество цифр в числе - 3 if M < (x mod 10) then begin M:=x mod 10; максимальная цифра числа - 7 end; x:= x div 10; end; writeln(L); write(M); end

Пример 3 ( перевод чисел из 10 с. с. в другую ) var x, L, M: integer; begin readln(x); L:=0; M:=1; while x > 0 do begin L:=L+1; M:= M*(x mod 8); x:= x div 8; end; writeln(L); write(M); end. Приводится текст программы. Получив на вход число Х, программа печатает два числа L и M. Укажите наибольшее из таких чисел Х, при вводе которых программа сначала выведет 3, а затем 120.

Пример 3 ( перевод чисел из 10 с. с. в другую ) var x, L, M: integer; begin readln(x); L:=0; M:=1; while x > 0 do begin L:=L+1; M:= M*(x mod 8); x:= x div 8; end; writeln(L); write(M); end. переменная x на каждом шаге цикла делится на 8 и остаток отбрасывается, L = количеству цифр введенного числа, записанного в восьмеричной системе счисления, т.е. восьмеричная запись числа содержит 3 цифры; выражение x mod 8 – это последняя цифра восьмеричной записи числа; на каждом шаге цикла переменная M умножается на эту величину, т.е. в M будет записано произведение всех цифр восьмеричной записи введенного числа

Пример 3 ( перевод чисел из 10 с. с. в другую ), где a, b и с – числа от 0 до 7 Получили = Т.к. ищем наибольшее, то берем максимальную цифру в старшем разряде

Пример 4 ( поиск делителей числа ) var N, q, i: integer; begin read(N); for i:=1 to N-1 do begin if N mod i = 0 then q:= i end; write(q) end. Укажите наименьшее из таких чисел N, при вводе которых алгоритм напечатает 17. N кратно 17 Цикл до N-1, т.е N 17 N=34 34

Пример 5 ( поиск НОД ) var x, y, z: integer; r, a, b: integer; begin readln(x, у); if у > x then begin z:= x; x:= у; у:= z; x-max, y<x end; a:= x; b:= y; b<a while b > 0 do begin r:= a mod b; a:= b; b:= r; end; writeln(a); writeln(x); write(у); end. После выполнения алгоритма было напечатано 3 числа. Первые два напечатанных числа – это числа 7 и 42. Какое наибольшее число может быть напечатано третьим? 7 = НОД(42,y) y < 42 !!!! 35

Источники информации : 1. [Электронный ресурс] 2. [Электронный ресурс] 3. Огнева М.В, Кудрина Е.В. Turbo Pascal: первые шаги. Примеры и упражнения: Учеб. пособие. – Саратов: Изд-во «Научная книга», 2008, с