'

Алгоритмы (часть 1)

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

содержание 1. линейный алгоритм. 2. разветвляющийся алгоритм. 3. вспомогательный алгоритм. 4. Циклический алгоритм. а. цикл с известным числом повторений б. цикл с неизвестным числом повторений


Слайд 2

Линейный алгоритм Линейным называется алгоритм, в котором команды выполняются последовательно друг за другом. Основные операторы меню


Слайд 3

Задача № 1 нахождение среднего арифметического 3 чисел а, в, с начало R=(a+b+c)/3 конец Rem cls input «введите 3 числа»;a,b,c r=(a+b+c)/3 print “ответ=“;r Текст программы R меню


Слайд 4

Rem нахождение гипотенузы cls input «введите 2 катета»;a,b с=sqr(a^2+b^2) print “ответ=“;c Задача № 2 нахождение гипотенузы прямоугольного треугольника по 2 катетам . начало а, в конец c Текст программы меню


Слайд 5

Задача № 3 найти сумму цифр данного 3-значного числа Rem cls input «введите 3-значное число»;a r1=a mod 10 ‘r1-число единиц t= (a-r1)/10 r2=t mod 10 ’r2-число десятков r3=(t-r2)/10 ‘r3 -число сотен print “ответ=“;r1+r2+r3 Пусть число 546. Тогда остаток от деления его на 10 и будет количеством единиц. 546:10 =54 ост 6. (546-6):10=54 остаток от деления 54 на 10 и будет количество десятков 54:10=5 остаток 4 (54-4):10=5 число сотен Текст программы меню


Слайд 6

Задача № 4 найти число, полученное выписыванием в обратном порядке цифр данного числа. Rem cls input «введите 3-значное число»;a r1=a mod 10 ‘r1-число единиц t= (a-r1)/10 r2=t mod 10 ’r2-число десятков r3=(t-r2)/10 ‘r3 -число сотен b=100*r1+10*r2+r3 print “b=“;b end Сначала находят число единиц, число десятков и число сотен данного числа(см. задачу № 3 например число 698. Единицы (8 ) становятся числом сотен нового числа. Десятки (9 ) становятся десятками нового числа. Сотни (6 ) становятся единицами нового числа. Значит новое число 8*100+9*10+6 Текст программы меню


Слайд 7

Контрольная работа № 1 меню


Слайд 8

Разветвляющиеся алгоритмы Разветвляющимися алгоритмами называются алгоритмы, в которых последовательность выполнения некоторых предписаний определяется выполнением( или невыполнением )определенных условий. Основные операторы Элементы блок-схем назначение Соответствующий оператор условие серия Сокращенный условный оператор. Внутри блока записывается условие. Если условие выполняется, то выполняется серия команд If < условие> then < серия> условие серия Серия 1 Серия 2 Полный условный оператор. Внутри блока записывается условие. Если условие выполняется, то выполняется серия команд №1 иначе выполняется серия команд №2 If < условие> then < серия №1> else < серия №2> или If < условие> then серия №1 else серия №2 end if меню


Слайд 9

Задача №1 вывести на печать большее из двух данных чисел. начало а, в a>b a b конец Rem нахождение большего из 2 чисел input”введите 2 числа”;a,b if a>b then print a else print b программа меню


Слайд 10

Задача №2 вывести на печать меньшее из 4 данных чисел. начало a,b,c,d Min=a b<min Min=b Min=c c<min d<min Rem нахождение меньшего из 4 чисел input”введите 4 числа»;a,b,c,d min=a if b< min then min=b if c< min then min=c if d< min then min=d print min end программа Min=d min меню


Слайд 11

начало х X>5 t -7<X<5 X<= -7 Y=25 Y =17x-1 Y=x2 y Задача № 3 вывести на экран значение функции при заданном значении аргумента Y = Rem значение функции cls input “x=“;x if x<= -7 then y=25 if x> -7 and x<=5 then y=17*x-1 if x>5 then y = x^2 print «y= »;y программа меню


Слайд 12

начало a,b,c D=b^2-4ac D<0 Нет корней D=0 X=-b/2/a «x=»;x X1=(-b+sqr(d))/2/a X2=(-b-sqr(d))/2/a x1,x2 конец Rem решение квадратного уравнения cls input”коэффициенты”;a,b,c d=b^2-4*a*c if d<0 then print”нет корней”:goto 1 if d=0 then x=-b/2/a:print”x=“;x:goto 1 x1=(-b+sqr(d))/2/a x2=(-b-sqr(d))/2/a print «x1= »;x1 print «x2= »;x2 1 end Задача №4 программа решения квадратного уравнения программа меню


Слайд 13

Задача №5 вывести на печать наибольший общий делитель 2 чисел. начало a,b Н О Д =а a=a-b b=b-a a>b Rem нахождение наибольшего общего делителя 2 чисел input”введите 2 числа»;a,b 1 if b=a then nod=a:print «нод=“;nod:end if a>b then a=a-b else b=b-a goto 1 программа a=b Н О Д меню


Слайд 14

Вспомогательные алгоритмы Вспомогательным алгоритмом называют алгоритм,снабженный названием, позволяющим вызвать его из других алгоритмов. Вспомогательные алгоритмы создаются тогда, когда возникает необходимость многократного использования одного и того же набора действий. Подпрограммы -это вспомогательные алгоритмы, записанные на языке программирования. Элемент блок-схемы Бейсик Имя вспомогательного алгоритма Gosub имя подпрограммы Обращение к подпрограмме: Подпрограмма: имя подпрограммы: набор операторов return меню


Слайд 15

Две моторные лодки одновременно из одного места реки отправились к озеру. Движение лодок равноускоренное. Какая из лодок первой дойдет до озера. Задача №7 Время находится из решения квадратного уравнения: S=V 0 t+at2 /2 S,V1,V2,a1,a2 a=a1/2 b=V1 c= - s X2<0 t1=x2 t1=x1 a=a2/2 b=V2 c= - s Квадр уравнение Квадр уравнение X2<0 t2=x2 t2=x1 Квадр уравнение D=b^2-4*a*c D<0 Нет корней X1=(-b+sqr(d))/2/a X2=(-b-sqr(d))/2/a t1>t2 Первая позже Вторая позже меню


Слайд 16

программа Cls input”введите s,a1,a2,v1,v2”;a1,a2,v1,v2 a=a1/2:b=v1:c=s gosub kvadr if x2<0 then t1=x1 else t1=x2 a=a2/2:b=v2:c=s gosub kvadr if x2<0 then t1=x1 else t1=x2 if t1>t2 then print”первая позже “ else print”вторая позже” end kvadr: d=b^2-4*a*c if d<0 then print”нет корней”:goto 2 x1=(-b+sqr(d))/2/a x2=(-b-sqr(d))/2/a 2 return меню


Слайд 17

Задача № 8 составить программу расчета по выбору пользователя площади прямоугольника,треугольника, круга Меню 1юпрямоугольник 2.треугольник 3.круг номер;k K=1 K=2 K=3 ошибка S пр S тр Sкр S пр S тр Sкр a,b a,h r S=a*b S=a*h S=п*r^2 s s s меню


Слайд 18

Текст программы 1 Cls print «меню» print «площадь прямоугольника » print «площадь треугольника » print «площадь круга » input «введите номер »;k if k=1 then gosub pr : goto 1 if k=2 then gosub tr : goto 1 if k=3 then gosub kr : goto 1 print «ошибка» : goto 1 pr: cls input”введите стороны прямоугольника”;a,b s=a*b print”s=“;s return pr: cls input”введите основание и высоту треугольника”;a,h s=a*h/2 print”s=“;s return cls input”введите радиус круга”;r s=pi*r^2 print”s=“;s return программа меню


Слайд 19

Контрольная работа № 2 меню


Слайд 20

Циклические алгоритмы Циклом называется многократно исполняемый участок алгоритма (программы) Цикл с известным числом повторений Элементы блок- схемы I= a,b,c Тело цикла I-переменная цикла, а - начальное значение переменной I b-конечное значение переменной I c- шаг Бейсик For i= a to b step c тело цикла next i Если шаг =1 , то step c писать необязательно меню


Слайд 21

Задача №1 вычислить 1+2+3+4+ …. n. начало n Rem нахождение суммы input”введите n”;n for i= 1 to n s=s+i print «s=»;s end программа I = 1 до n S=s+i s конец меню


Слайд 22

Задача №2 вычислить 22+42+62+82+ ….(2n)2. начало n I = 2 до 2n шаг 2 S=s+i^2 s конец Rem нахождение суммы input”введите n”;n for i= 1 to 2*n step 2 s=s+i^2 print «s=»;s end программа меню


Слайд 23

Задача №3 вычислить n!. начало n I = 1 до n p=p*i p конец P=1 2!=1*2; 3!=1*2*3 n!=1*2*3* … n Rem вычисление факториала cls input”n “;n p=1 for i= 1 to n p=p*i next i print “n!=“;p end программа меню


Слайд 24

Задача №4 Начав тренировки, спортсмен в первый день пробежал 12 км. Каждый следующий день он увеличивает дневную норму на 10% Какой путь он пробежит за n -ый день. начало n I = 1 до n S=S+S*10/100 s конец s=12 В 1-ый день - 12 В 2-ый день - 12+12*10/100=13.2 в 3- ий день - 13.2+13.2*10/100=14.52 Cls input “введите количество дней “;n s= 12 for i= 1 to n s=s+s*10/100 next i print”s= “;s end программа меню


Слайд 25

начало n I = n до 1 шаг -1 S=sqr(s+i*3) s конец Задача №5 вычислить: программа Rem нахождение суммы input”введите n”;n for i= n to 1 step -1 s=sqr(s+i*3) print «s=»;s end меню


Слайд 26

начало I = 1 до 10000 X=int(rnd(1)*600) p=p*i y=int(rnd(1)*240) рset(x,y),8 Screen 8 for i=1 to 10000 x=int(rnd(1)*600) y=int(rnd(1)*240) Pset(x,y),8 Случайные точки next i Задача №6 Circle(x,y),20 Circle(x,y),20 Случайные окружности Line (x,y)-(x+10,y+10),8,BF Line (x,y)-(x+10,y+10),8,BF Случайные прямоугольники Circle(x,y),20,8 Circle(x,y),20,8 Случайные окружности Line(300,125)-(x,y),8 Line(300,125)-(x,y),8 взрыв пуск меню


Слайд 27

Задача №7 табулировать значения функции y=sinx x меняется от -10 до 10 с шагом 2 начало x = -10 до 10 шаг 2 Y=sin(x) x,y Rem таблица значений функции cls for x= -10 to 10 step 2 y=sin(x) print x,y end программа меню


Слайд 28

Задача №8 построить график функции y=x2 начало конец Pset(300,125) Line(20,125)-(600,125) Line(300,20)-(300,225) X=-10 до 10 шаг 0.05 Y=x^2 Pset step(10*x,-y) Rem построение графика line(20,125)-(600,125) line(300,20)-(300,225) for x=-10 to 10 step 0.05 y=x^2 pset(300,125) pset step(10*x,-y) next x end программа меню


Слайд 29

начало n I = 2 до n/2 конец Задача№9 проверить на простоту, введенное число программа Rem проверка на простоту input”введите n”;n f=0 for i= 1 to n/2 if n mod i=0 then f=1 next i if f=o then print ”простое” else print”непростое” end n mod i=0 F=0 F=1 F=0 простое непростое меню


Слайд 30

Контрольная работа № 3 меню


Слайд 31

Цикл с неизвестным числом повторений Цикл с неизвестным числом повторений называется также итерационным циклом или циклом «пока» Элементы блок- схемы Условие выполнения цикла Тело цикла Бейсик While условие тело цикла Wend меню


Слайд 32

Задача №1 Имеется последовательность произвольных чисел. Найти сумму положительных чисел, расположенных до первого отрицательного числа. начало x S=0 X>=0 s=s+x x s конец Rem подсчет положительных чисел cls s=0 input”введите число”;x while x> =0 s=s+x input”введите число”;x wend print ” s= ”;s программа меню


Слайд 33

начало sum sum<S n=n+1 x n конец Задача №2 Имеется последовательность произвольных чисел. Найти количество чисел,сумма которых не превышает заданное число. программа s N=0 Sum=sum+x Rem сумма, непривышающая данное число cls n=0 ‘ первоначальное количество чисел input”введите ограничение”;s input”введите первое число”;sum while sum< s n=n+1 input”введите число”;x sum=sum+x wend print”n=“;n end меню


Слайд 34

начало конец Задача №3 Известен начальный вклад клиента и процент годового дохода. Определить вклад через 10 лет и количество лет, спустя которые вклад превысит 1 млн.. рублей. программа пуск V- первоначальный вклад Р процент годового дохода Через год V=V+V*P/100 Rem d-переменная для хранения вклада через 1,2,… лет. К-переменная для подсчета количества лет. D1-вклад через к лет input”начальный вклад”;v input”процент годового дохода”;p D=V for i=1 to 10 D=D+D*P/100 next i rem вклад превысит 1000000 руб k=0 D1=V while D1<= 1000000 D1=D1+D1*P/100 k=k+1 wend print»вклад через 10 лет”;d print”превысит 1000000 руб через”;k:”лет” P V I=1 до 10 D=D+D*P/100 D=V K=0 D1=V D1=D1+D1*P/100 K=k+1 D1< =1000000 D k конец меню


Слайд 35

начало n K=int(rnd(1)*90+10) n< >k Наконец-то конец Задача №4 Машина загадывает двузначное число. С клавиатуры вводится вариант ответа. Если число не угадано, выводится подсказка. программа недолет перелет n<k Cls k= rnd(1)*90+10) input “n=“;n while n<> k if n<k then print”недолет” else print ”перелет” input “n=“;n wend print”наконец - то “ end n меню


Слайд 36

Контрольная работа № 4 меню


×

HTML:





Ссылка: