Алгоритмом называется понятное и точное предписание или указание исполнителю совершить последовательность действий, направленных на решение задачи или на достижение поставленной цели. Алгоритмы (часть 1)
содержание 1. линейный алгоритм. 2. разветвляющийся алгоритм. 3. вспомогательный алгоритм. 4. Циклический алгоритм. а. цикл с известным числом повторений б. цикл с неизвестным числом повторений
Линейный алгоритм Линейным называется алгоритм, в котором команды выполняются последовательно друг за другом. Основные операторы меню
Задача 1 нахождение среднего арифметического 3 чисел а, в, с начало R=(a+b+c)/3 конец Rem cls input «введите 3 числа»;a,b,c r=(a+b+c)/3 print ответ=;r Текст программы R меню
Rem нахождение гипотенузы cls input «введите 2 катета»;a,b с=sqr(a^2+b^2) print ответ=;c Задача 2 нахождение гипотенузы прямоугольного треугольника по 2 катетам. начало а, в конец c Текст программы меню
Задача 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 число сотен Текст программы меню
Задача 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 Текст программы меню
Контрольная работа 1 меню
Разветвляющиеся алгоритмы Разветвляющимися алгоритмами называются алгоритмы, в которых последовательность выполнения некоторых предписаний определяется выполнением( или невыполнением )определенных условий. Основные операторы Элементы блок-схемназначениеСоответствующий оператор условие серия Сокращенный условный оператор. Внутри блока записывается условие. Если условие выполняется, то выполняется серия команд If then условие серия Серия 1 Серия 2 Полный условный оператор. Внутри блока записывается условие. Если условие выполняется, то выполняется серия команд 1 иначе выполняется серия команд 2 If then else или If then серия 1 else серия 2 end if меню
Задача 1 вывести на печать большее из двух данных чисел. начало а, в a>b a b конец Rem нахождение большего из 2 чисел inputвведите 2 числа;a,b if a>b then print a else print b программа меню
Задача 2 вывести на печать меньшее из 4 данных чисел. начало a,b,c,d Min=a b
начало х X>5 t -7
начало a,b,c D=b^2-4ac D
Задача 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 Н О Д меню
Вспомогательные алгоритмы Вспомогательным алгоритмом называют алгоритм,снабженный названием, позволяющим вызвать его из других алгоритмов. Вспомогательные алгоритмы создаются тогда, когда возникает необходимость многократного использования одного и того же набора действий. Подпрограммы -это вспомогательные алгоритмы, записанные на языке программирования. Элемент блок-схемыБейсик Имя вспомогательного алгоритма Gosub имя подпрограммы Обращение к подпрограмме: Подпрограмма: имя подпрограммы: набор операторов return меню
Две моторные лодки одновременно из одного места реки отправились к озеру. Движение лодок равноускоренное. Какая из лодок первой дойдет до озера. Задача 7 Время находится из решения квадратного уравнения: S=V 0 t+at 2 /2 S,V1,V2,a1,a2 a=a1/2 b=V1 c= - s X2
программа Cls inputвведите s,a 1,a 2,v 1,v 2 ;a1,a2,v1,v2 a=a1/2:b=v1:c=s gosub kvadr if x2
Задача 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 меню
Текст программы 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 prints=;s return pr: cls inputвведите основание и высоту треугольника;a,h s=a*h/2 prints=;s return cls inputвведите радиус круга;r s=pi*r^2 prints=;s return программа меню
Контрольная работа 2 меню
Циклические алгоритмы Циклом называется многократно исполняемый участок алгоритма (программы) Цикл с известным числом повторений Элементы блок- схемы I= a,b,c Тело цикла I-переменная цикла, а - начальное значение переменной I b-конечное значение переменной I c- шаг Бейсик For i= a to b step c тело цикла next i Если шаг =1, то step c писать необязательно меню
Задача 1 вычислить …. 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 конец меню
Задача 2 вычислить ….(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 программа меню
Задача 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 inputn ;n p=1 for i= 1 to n p=p*i next i print n!=;p end программа меню
Задача 4 Начав тренировки, спортсмен в первый день пробежал 12 км. Каждый следующий день он увеличивает дневную норму на 10% Какой путь он пробежит за n -ый день. начало n I = 1 до n S=S+S*10/100 s конец s=12 В 1-ый день - 12 В 2-ый день *10/100=13.2 в 3- ий день *10/100=14.52 Cls input введите количество дней ;n s= 12 for i= 1 to n s=s+s*10/100 next i prints= ;s end программа меню
начало 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 меню
начало I = 1 до X=int(rnd(1)*600) p=p*i y=int(rnd(1)*240) рset(x,y),8 Screen 8 for i=1 to x=int(rnd(1)*600) y=int(rnd(1)*240) Pset(x,y),8 Случайные точки next i Задача 6 Circle(x,y),20 Случайные окружности Line (x,y)-(x+10,y+10),8,BF Случайные прямоугольники Circle(x,y),20,8 Случайные окружности Line(300,125)-(x,y),8 взрыв пуск меню
Задача 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 программа меню
Задача 8 построить график функции y=x 2 начало конец 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 программа меню
начало 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 простоенепростое меню
Контрольная работа 3 меню
Цикл с неизвестным числом повторений Цикл с неизвестным числом повторений называется также итерационным циклом или циклом «пока» Элементы блок- схемы Условие выполнения цикла Тело цикла Бейсик While условие тело цикла Wend меню
Задача 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 программа меню
начало sum sum
начало конец Задача 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 вклад превысит руб k=0 D1=V while D1
начало n K =int(rnd(1)*90+10) n k Наконец-то конец Задача 4 Машина загадывает двузначное число. С клавиатуры вводится вариант ответа. Если число не угадано, выводится подсказка. программа недолет перелет n
Контрольная работа 4 меню