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

Содержание

Слайд 2

содержание

1. линейный алгоритм.

2. разветвляющийся алгоритм.

3. вспомогательный алгоритм.

4. Циклический алгоритм.

а. цикл с известным

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

б. цикл с неизвестным числом повторений

Слайд 3

Линейный алгоритм

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

Основные

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

меню

Слайд 4

Задача № 1
нахождение среднего арифметического 3 чисел

а, в, с

начало

R=(a+b+c)/3

конец

Rem
cls
input «введите 3 числа»;a,b,c
r=(a+b+c)/3
print

Задача № 1 нахождение среднего арифметического 3 чисел а, в, с начало
“ответ=“;r

Текст программы

R

меню

Слайд 5

Rem нахождение гипотенузы
cls
input «введите 2 катета»;a,b
с=sqr(a^2+b^2)
print “ответ=“;c

Задача № 2
нахождение гипотенузы прямоугольного треугольника

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

начало

а, в

конец

c

Текст программы

меню

Слайд 6

Задача № 3
найти сумму цифр данного 3-значного числа

Rem
cls
input «введите 3-значное число»;a
r1=a mod

Задача № 3 найти сумму цифр данного 3-значного числа Rem cls input
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 число сотен

Текст программы

меню

Слайд 7

Задача № 4
найти число, полученное выписыванием в обратном порядке цифр данного числа.

Rem
cls
input

Задача № 4 найти число, полученное выписыванием в обратном порядке цифр данного
«введите 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

Текст программы

меню

Слайд 8

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

меню

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

Слайд 9

Разветвляющиеся алгоритмы

Разветвляющимися алгоритмами называются алгоритмы, в которых последовательность выполнения некоторых предписаний определяется

Разветвляющиеся алгоритмы Разветвляющимися алгоритмами называются алгоритмы, в которых последовательность выполнения некоторых предписаний
выполнением( или невыполнением )определенных условий.

Основные операторы

Элементы блок-схем

назначение

Соответствующий оператор

условие

серия

Сокращенный условный оператор. Внутри блока записывается условие. Если условие выполняется, то выполняется серия команд

If < условие> then < серия>

условие

серия

Серия 1

Серия 2

Полный условный оператор. Внутри блока записывается условие. Если условие выполняется, то выполняется серия команд №1 иначе выполняется серия команд №2

If < условие> then < серия №1> else < серия №2>
или

If < условие> then
серия №1
else
серия №2
end if

меню

Слайд 10

Задача №1
вывести на печать большее из двух данных чисел.

начало

а, в

a>b

a

b

конец

Rem нахождение большего

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

программа

меню

Слайд 11

Задача №2
вывести на печать меньшее из 4 данных чисел.

начало

a,b,c,d

Min=a

b

Min=b

Min=c

c

d

Rem нахождение меньшего из

Задача №2 вывести на печать меньшее из 4 данных чисел. начало a,b,c,d
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

меню

Слайд 12

начало

х

X>5

t

-7

X<= -7

Y=25

Y =17x-1

Y=x2

y

Задача № 3
вывести на экран значение функции
при заданном значении

начало х X>5 t -7 X Y=25 Y =17x-1 Y=x2 y Задача
аргумента

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

программа

меню

Слайд 13

начало

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

начало a,b,c D=b^2-4ac D Нет корней D=0 X=-b/2/a «x=»;x X1=(-b+sqr(d))/2/a X2=(-b-sqr(d))/2/a x1,x2
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
программа решения квадратного уравнения

программа

меню

Слайд 14

Задача №5
вывести на печать
наибольший общий делитель 2 чисел.

начало

a,b

Н О Д =а

a=a-b

b=b-a

a>b

Rem

Задача №5 вывести на печать наибольший общий делитель 2 чисел. начало a,b
нахождение наибольшего общего делителя 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

Н О Д

меню

Слайд 15

Вспомогательные алгоритмы

Вспомогательным алгоритмом называют алгоритм,снабженный названием,
позволяющим вызвать его из других алгоритмов.

Вспомогательные алгоритмы Вспомогательным алгоритмом называют алгоритм,снабженный названием, позволяющим вызвать его из других
Вспомогательные алгоритмы создаются тогда, когда возникает необходимость многократного использования одного и того же набора действий.

Подпрограммы -это вспомогательные алгоритмы, записанные на языке программирования.

Элемент блок-схемы

Бейсик

Имя вспомогательного алгоритма

Gosub имя подпрограммы

Обращение к подпрограмме:

Подпрограмма:
имя подпрограммы:
набор операторов
return

меню

Слайд 16

Две моторные лодки одновременно из одного места реки отправились к озеру. Движение

Две моторные лодки одновременно из одного места реки отправились к озеру. Движение
лодок равноускоренное. Какая из лодок первой дойдет до озера.

Задача №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

Первая позже

Вторая позже

меню

Слайд 17

программа

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

программа Cls input”введите s,a1,a2,v1,v2”;a1,a2,v1,v2 a=a1/2:b=v1:c=s gosub kvadr if x2 a=a2/2:b=v2:c=s gosub kvadr
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

меню

Слайд 18

Задача № 8
составить программу расчета по выбору пользователя
площади прямоугольника,треугольника, круга

Меню
1юпрямоугольник
2.треугольник
3.круг

номер;k

K=1

K=2

K=3

ошибка

S пр

S

Задача № 8 составить программу расчета по выбору пользователя площади прямоугольника,треугольника, круга
тр

Sкр

S пр

S тр

Sкр

a,b

a,h

r

S=a*b

S=a*h

S=п*r^2

s

s

s

меню

Слайд 19

Текст программы

1 Cls
print «меню»
print «площадь прямоугольника »
print «площадь треугольника »
print «площадь круга

Текст программы 1 Cls 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

программа

меню

Слайд 20

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

меню

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

Слайд 21

Циклические алгоритмы

Циклом называется многократно исполняемый участок алгоритма (программы)

Цикл с известным числом повторений

Элементы

Циклические алгоритмы Циклом называется многократно исполняемый участок алгоритма (программы) Цикл с известным
блок- схемы

I= a,b,c

Тело цикла

I-переменная цикла, а - начальное значение переменной I
b-конечное значение переменной I
c- шаг

Бейсик

For i= a to b step c
тело цикла
next i

Если шаг =1 , то step c писать необязательно

меню

Слайд 22

Задача №1
вычислить 1+2+3+4+ …. n.

начало

n

Rem нахождение суммы
input”введите n”;n
for i= 1 to n
s=s+i
print

Задача №1 вычислить 1+2+3+4+ …. n. начало n Rem нахождение суммы input”введите
«s=»;s
end

программа

I = 1 до n

S=s+i

s

конец

меню

Слайд 23

Задача №2
вычислить 22+42+62+82+ ….(2n)2.

начало

n

I = 2 до 2n шаг 2

S=s+i^2

s

конец

Rem нахождение суммы
input”введите

Задача №2 вычислить 22+42+62+82+ ….(2n)2. начало n I = 2 до 2n
n”;n
for i= 1 to 2*n step 2
s=s+i^2
print «s=»;s
end

программа

меню

Слайд 24

Задача №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 вычисление

Задача №3 вычислить n!. начало n I = 1 до n p=p*i
факториала
cls
input”n “;n
p=1
for i= 1 to n
p=p*i
next i
print “n!=“;p
end

программа

меню

Слайд 25

Задача №4
Начав тренировки, спортсмен в первый день пробежал 12 км.
Каждый следующий

Задача №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

программа

меню

Слайд 26

начало

n

I = n до 1 шаг -1

S=sqr(s+i*3)

s

конец

Задача №5
вычислить:

программа

Rem нахождение суммы
input”введите n”;n
for

начало n I = n до 1 шаг -1 S=sqr(s+i*3) s конец
i= n to 1 step -1
s=sqr(s+i*3)
print «s=»;s
end

меню

Слайд 27

начало

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 = 1 до 10000 X=int(rnd(1)*600) p=p*i y=int(rnd(1)*240) рset(x,y),8 Screen 8
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

взрыв

пуск

меню

Слайд 28

Задача №7
табулировать значения функции y=sinx
x меняется от -10 до 10 с шагом

Задача №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

программа

меню

Слайд 29

Задача №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

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

программа

меню

Слайд 30

начало

n

I = 2 до n/2

конец

Задача№9
проверить на простоту,
введенное число

программа

Rem

начало n I = 2 до n/2 конец Задача№9 проверить на простоту,
проверка на простоту
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

простое

непростое

меню

Слайд 31

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

меню

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

Слайд 32

Цикл с неизвестным числом повторений

Цикл с неизвестным числом повторений называется также итерационным

Цикл с неизвестным числом повторений Цикл с неизвестным числом повторений называется также
циклом или циклом «пока»

Элементы блок- схемы

Условие выполнения цикла

Тело цикла

Бейсик

While условие
тело цикла
Wend

меню

Слайд 33

Задача №1
Имеется последовательность произвольных чисел.
Найти сумму положительных чисел, расположенных
до

Задача №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

программа

меню

Слайд 34

начало

sum

sum

n=n+1

x

n

конец

Задача №2
Имеется последовательность произвольных чисел.
Найти количество чисел,сумма которых
не превышает заданное число.

программа

s

N=0

Sum=sum+x

Rem

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

меню

Слайд 35

начало

конец

Задача №3
Известен начальный вклад клиента и процент
годового дохода. Определить вклад через

начало конец Задача №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

конец

меню

Слайд 36

начало

n

K=int(rnd(1)*90+10)

n< >k

Наконец-то

конец

Задача №4
Машина загадывает двузначное число.
С клавиатуры вводится вариант ответа.
Если число

начало n K=int(rnd(1)*90+10) n k Наконец-то конец Задача №4 Машина загадывает двузначное
не угадано, выводится подсказка.

программа

недолет

перелет

n

Cls
k= rnd(1)*90+10)
input “n=“;n
while n<> k
if ninput “n=“;n
wend
print”наконец - то “
end

n

меню

Имя файла: Алгоритмы-(часть-1).pptx
Количество просмотров: 155
Количество скачиваний: 0