Содержание
-
Задачи с использованием циклов
Октябрь 2017 год Подготовка к ЕГЭ Презентация выполнена Ермошиной М.Ю., МОУ «СОШ № 4»
-
Стандартные алгоритмы
A, B,C A>B MAX:=A MAX:=B C>MAX MAX:=C Найти max из трёх чисел. Program max3; Uses crt; Vara,b,c,max:integer; Begin Readln(a,b,c); If A>B then MAX:=A else MAX:=B; If C>MAX then MAX:=C; End;
-
Найти произведение чисел А и В, используя только операцию сложения.
A*B=A+A+A+A… B раз A,B I:=I+1 I
-
Заменить умножение сложением
A*B=A+A+A+A… B раз PROGRAM Z1; USES CRT; VAR A,B,P,I:INTEGER; BEGIN WRITE(' ВВЕДИТЕ МНОЖИТЕЛИ A и B'); READLN(A,B); I:=0; P:=0; WHILE I
-
Деление через вычитание
PROGRAM Z1; USES CRT; VAR A,B,P,I:INTEGER; BEGIN WRITE(' ВВЕДИТЕ ДЕЛИМОЕ И ДЕЛИТЕЛЬ A и B '); READLN(A,B); P:=A; I:=0; WHILE A>=B DO BEGIN A:=A-B; I:=I+1; END; WRITE(‘При делении ',P,' на ',B,' целая часть=',I,' остаток=',A ); END. Деление на 7. PROGRAM Z1; USES CRT; VAR A,B,P,I:INTEGER; BEGIN WRITE(' ВВЕДИТЕ ДЕЛИМОЕ A '); READLN(A); P:=A; I:=0; WHILE A>=7 DO BEGIN A:=A-7; I:=I+1; END; WRITE(‘При делении ',P,' на 7 целая часть=',I,' остаток=',A ); END.
-
Задачи ЕГЭ №8
Определите, что будет напечатано в результате работы следующего фрагмента программы: var k, s: integer; begin s:=0; k:=0; while s 1024 для достижения этого значения переменную s нужно 103 раза увеличить на 10, поэтому цикл выполнится 103 раза так как k – это счётчик шагов цикла, конечное значение k будет равно 103 Ответ: 103.
-
Примеры задач из 8-го задания
-
Пример 8-го задания: При каком наименьшем введенном числе d после выполнения программы будет напечатано 63?
varn, s, d: integer; begin readln(d); n := 3; s := 57; while s 1143, т.е. на 15-ый шаг в цикл не войдёт и к n прибавится 4 только 14 раз, что не правильно. Т.о. любое число из интервала [77;81] удовлетворяет условиям задачи.
-
Пример 8-го задания:При каком наибольшем введенном числе d после выполнения программы будет напечатано 150
var n, s, d: integer; begin readln(d); n := 3; s := 38; while s 1200- 38=1162. 1162/21=55.3 (min значение 56) 1162/20=58.1 (21-1=20 предыдущий цикл) при d=58 цикл будет работать 21 раз, а при 59 – только 20 раз. Т.о. 58 – это максимальное значение d. Ответ: 58
-
Алгоритмы, которые надо знать наизусть при решении №20, 21 и 24:
Разбить число на отдельные цифры и разные операции с ними: сложение, найти количество, выбрать max или min, переставить цифры в обратном порядке (формула Горнера). Алгоритм Евклида для нахождения НОД (двумя способами: через разность и через остаток от деления) Найти делители числа, в том числе минимальный делитель (найти простое число и т.п.)
-
Сосчитать сколько цифр в числе N (при разборе задания обратить внимание на систему счисления!)
VAR N,k:INTEGER; BEGIN WRITE(' ВВЕДИ ЧИСЛО '); READLN(N); WHILE N>0 DO BEGIN N:=N DIV 10; k:=k+1 END; WRITELN(k) END. Сложить 1-ю и последнюю цифры числа. VAR N,C:INTEGER; BEGIN WRITE(' ВВЕДИ ЧИСЛО '); READLN(N); C:=N MOD 10; WHILE N>10 DO BEGIN N:=N DIV 10; END; WRITELN(C+N) END.
-
Найти число делителей числа
VAR N,D:INTEGER; BEGIN WRITE(' ВВЕДИ ЧИСЛО '); READLN(N); D:=2; WHILE D
-
Алгоритм Евклида(наибольший общий делитель)
program NOD; uses crt; vara,b:integer; begin readln(a,b); while ab do if a>b then a:=a-b else b:=b-a; write(a); end. A,B AB A>B A:=A-B B:=B-A A При a>b while b > 0 do begin r:= a mod b; a:= b; b:= r; end;
-
Задачи №20 из ЕГЭ
Ниже записана программа. Получив на вход число , эта программа печатает два числа, L и M. Укажите наибольшее из таких чисел X, при вводе которых алгоритм печатает сначала 3, а потом 7. 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. Что делает этот цикл? 1) while x > 0 do begin L:= L + 1; x:= x div 10; end;(счётчик цикла) Что делает этот цикл? 2) while x > 0 do begin M:= M + x mod 10; x:= x div 10; end;(сумма цифр числа) Ответ: 700
-
Ниже записана программа. Получив на вход число , эта программа печатает два числа, аи b. Укажите наименьшее из чисел Х, при вводе которых алгоритм печатает сначала 19, а потом 4.
var x, a, b, c: integer; begin readln(x); a := 0; b := 10; while x>0 do begin с := x mod 10; a := a+c; if c0 do begin с := x mod 10; a := a+c; x := x div 10; end; Сумма цифр числа х (= 19) 19= 9+9+1 и т.п. b:=10; if c min (469 ?) Ручная прокрутка! (для проверки)
-
Открытый банк заданий ФИПИ
Определите число, которое будет напечатано в результате выполнения программы varn, s: integer; begin n := 0; s := 301; while s > 0 do begin s := s - 10; n := n + 2 end; write(n) end. 301/10=30 и 1 в остатке, 1>0, т.о. N=2*30+2=62 Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. var N: longint; digit, min_digit: integer; begin readln(N); min_digit := 9; while N >= 10 do begin digit := N mod 10; if digit =10 do и writeln(digit)
-
Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма
vara,b,t,M,R :integer; Function F(x:integer):integer; begin F := 2*(x*x-16)*(x*x-16)+5 end; begin a := -11; b := 11; M := a; R := F(a); for t := a to b do begin if (F(t)0 для любых Х, т.о. min F если (x2-16)2=0 Х=-4 или х=4 Отрезок от -11 до 11, первый min =-4 Ответ: 12
-
Использованы материалы:
Сайт ФИПИ http://85.142.162.119/os11/xmodules/qprint/index.php?proj=B9ACA5BBB2E19E434CD6BEC25284C67F Сайт К.Ю.Поляковаhttp://kpolyakov.spb.ru/school/ege.htm
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.