Алгоритмизация и программирование

Содержание

Слайд 2

Литература по программированию Вострикова З.П. и др. Программирование на языке Бейсик

Литература по программированию

Вострикова З.П. и др. Программирование на языке Бейсик для

персональных ЭВМ. 1993 г.
Мельникова О.И., Бонюшкина А.Ю. Начала программирования на языке QBasic. 2000 г.
Михайлов В.Ю., Степанников В.М. Современный Бейсик для IBM PC: среда, язык программирования. 1993 г.
Слайд 3

Понятие алгоритма Алгоритм – это строго определенная последовательность действий, необходимых для

Понятие алгоритма

Алгоритм – это строго определенная последовательность действий, необходимых для решения

данной задачи.
Алгоритм вычисления площади квадрата
Очистить экран
Ввести длину стороны квадрата
Вычислить площадь
Вывести результат
Слайд 4

Свойства алгоритма Дискретность – алгоритм разбит на шаги (действия) Определенность (детерминированность)

Свойства алгоритма

Дискретность – алгоритм разбит на шаги (действия)
Определенность (детерминированность) – однозначность

результата при заданных исходных данных
Результативность (конечность) – всегда приводит к результату за конечное число шагов
Массовость – алгоритм применим для решения других задач того же типа, что исходная
Слайд 5

Способы описания алгоритма Словесно-формульное описание Графическое описание, блок-схема Описание с использованием

Способы описания алгоритма

Словесно-формульное описание
Графическое описание, блок-схема
Описание с использованием псевдокода (на алгоритмическом

языке)
Запись на языке программирования
Слайд 6

Основные графические символы блок-схем (ГОСТ 19.003-80 )

Основные графические символы блок-схем (ГОСТ 19.003-80 )

Слайд 7

Основные графические символы блок-схем

Основные графические символы блок-схем

Слайд 8

Основные типы алгоритмических структур Дейст1 Дейст2 Дейст3 Дейст1 Усл Дейст2 Нет Да

Основные типы алгоритмических структур

Дейст1

Дейст2

Дейст3

Дейст1

Усл

Дейст2

Нет

Да

Слайд 9

Язык программирования Язы́к программи́рования — формальная знаковая система, предназначенная для записи

Язык программирования

Язы́к программи́рования — формальная знаковая система, предназначенная для записи программ.


Язык программирования - это набор символов (цифр, букв, специальных знаков) и система правил образования (синтаксис) и правил истолкования (семантика) конструкций из этих символов, с помощью которых описывается порядок выполнения алгоритма. Язык программирования имеет иерархическую структуру.
Обычно в нем выделяют четыре уровня:
• основные символы (алфавит);
• ключевые слова;
• выражения;
• предложения (операторы)
Слайд 10

Из истории языков программирования Наиболее широко распространенным типом языков программирования высокого

Из истории языков программирования

Наиболее широко распространенным типом языков программирования высокого уровня

являются процедурные языки. В таких языках широко используются управляющие конструкции (операторы), которые позволяют закодировать различные алгоритмические структуры (линейную, ветвление, цикл).
Одним из первых процедурных языков программирования был известный всем Бейсик (Basic), созданный в 1964 году. В течение последующего времени Бейсик развивался, появлялись его различные версии (MSX-Basic, Бейсик-Агат, QBasic и др.). Другим широко распространенным языком программирования алгоритмического типа является Pascal.
Basic (Бейсик) создавался в 60-х годах в качестве учебного языка и очень прост в изучении. По популярности занимает первое место в мире.
Слайд 11

Введение в язык программирования QBasic Основными объектами обработки в языке Бейсик

Введение в язык программирования QBasic

Основными объектами обработки в языке Бейсик являются:
Константы
Переменные
Функции
Выражения
Операторы

Слайд 12

Константы 1. К. целого типа – любое целое число -32768 ÷

Константы

1. К. целого типа – любое целое число
-32768 ÷ 32767
2. К.

действительного типа
2.1.Константы с фиксированной запятой (в естественной форме) 2.5 или -259.167
2.2.Константы с плавающей запятой (в экспоненциальной форме) 1.7E-05 (1.7*10^-5)
3. К. символьного типа – любая последовательность символов, заключенная в кавычки “08.09.2011г”

Ч и с л о в ы е
к о н с т а н т ы

Слайд 13

Переменные Под переменной в языках программирования понимают программный объект (число, слово,

Переменные

Под переменной в языках программирования понимают программный объект (число, слово, часть

слова, несколько слов, символы), имеющий имя и значение, которое может быть получено и изменено программой.
Переменная - это имя физического участка в памяти, в котором в каждый момент времени может быть только одно значение.
Слайд 14

Типы переменных Тип переменных соответствует типу констант. Имя переменной – это

Типы переменных

Тип переменных соответствует типу констант.
Имя переменной – это произвольный набор

символов, который может содержать от 1 до 40 символов, причём первый символ должен быть латинской буквой, а остальные – латинские буквы или цифры или допустимые символы.
Имя переменной может заканчиваться следующими символами:
% - целочисленная переменная
$ - символьная переменная
# - числовая переменная с двойной точностью
A=3: B$=“HELLO”: C% = 10
Слайд 15

Встроенные математические функции QBasic

Встроенные математические функции QBasic

Слайд 16

Арифметические операции

Арифметические операции

Слайд 17

Выражения Выражение – это совокупность констант, переменных, функций, скобок и знаков

Выражения

Выражение – это совокупность констант, переменных, функций, скобок и знаков арифметических

операций.
Y= SIN(5*SQR(x) / (x-8)^(1/3))

выражение

Слайд 18

Операторы Оператор – специальное слово с параметрами, предназначено для выполнения какой-либо

Операторы

Оператор – специальное слово с параметрами, предназначено для выполнения какой-либо команды.
Операторы

ввода-вывода
Операторы условного и безусловного перехода
Операторы организации цикла
Операторы работы с массивами
Графические операторы
Операторы организации файлов данных
Слайд 19

Операторы ввода Для задания значения переменной служит оператор присваивания. Он записывается

Операторы ввода

Для задания значения переменной служит оператор присваивания. Он записывается так:
LET

переменная = значение
или просто: переменная = значение
Пример:
LET a = 3
chislo1 = 15
Слайд 20

Операторы ввода Оператор ввода с клавиатуры INPUT пример: INPUT а INPUT "Введите число а: ", а

Операторы ввода

Оператор ввода с клавиатуры INPUT
пример:
INPUT а
INPUT "Введите число а: ",

а
Слайд 21

Операторы ввода Оператор чтения блока данных DATA перечень констант ч/з запятую

Операторы ввода

Оператор чтения блока данных
DATA перечень констант ч/з запятую
READ перечень переменных

ч/з запятую
Пример:
DATA “ПРИВЕТ”, 3, 0.5
READ A$, C%, D
Слайд 22

Операторы вывода PRINT (вывод, печать) – оператор вывода. Выводит информацию на

Операторы вывода

PRINT (вывод, печать) – оператор вывода.
Выводит информацию на экран.
LPRINT– оператор

вывода. Выводит информацию на принтер.
пример:
PRINT "Привет!“
PRINT X
PRINT "Привет! " , " Меня зовут Саша."
(, - зонная печать)
PRINT "Площадь квадрата = “; s
(; - дает один пробел на экране)
Слайд 23

Операторы вывода PRINT USING – оператор вывода в заданном формате. Выводит

Операторы вывода

PRINT USING – оператор вывода в заданном формате.
Выводит информацию на

экран в соответствии с заданным шаблоном.
пример:
X =3.52: y = -25.61325
PRINT USING “#.# | +##.### ”; x, y
на экране:
3.5 | -25.613
Слайд 24

Операторы QBasic REM – оператор комментария. Все что следует после этого

Операторы QBasic

REM – оператор комментария.
Все что следует после этого оператора

до конца строки игнорируется компилятором и предназначено исключительно для программиста.
пример:
REM Это комментарий
можно и так:
' Это тоже комментарий
Слайд 25

Операторы QBasic CLS - очистить экран. Вся информация, которая была на экране, стирается. пример: CLS

Операторы QBasic

CLS - очистить экран.
Вся информация, которая была на экране,

стирается.
пример:
CLS
Слайд 26

Операторы языка Qbasic END – оператор конца программы. пример: END

Операторы языка Qbasic

END – оператор конца программы.
пример:
END

Слайд 27

Запись алгоритма линейной структуры на языке QBasic REM программа вычисления периметра

Запись алгоритма линейной структуры на языке QBasic

REM программа вычисления периметра и

площади прямоугольника
CLS
INPUT “Введите a=”; a
INPUT “Введите b=”; b
p=2*(a+b)
s=a*b
PRINT “P=”; p, “S=”; s
END
Слайд 28

Оператор условного перехода Оператор IF предназначен для управления ходом выполнения программы

Оператор условного перехода

Оператор IF предназначен для управления ходом выполнения программы в

зависимости от условия.
IF выражение THEN дейст1 [ELSE дейст2]
где выражение – любое числовое выражение
дейст – оператор, либо последовательность операторов, разделенных двоеточием, либо номер строки
Если фраза ELSE отсутствует, выполняется следующий оператор
Пример:
IF x>5 THEN Y=2*x ELSE Y=3*x
Слайд 29

Оператор безусловного перехода Оператор GOTO передает управление на строку с указанным

Оператор безусловного перехода

Оператор GOTO передает управление на строку с указанным номером
Пример
GOTO

10

Номер строки или метка

Слайд 30

Операции отношения

Операции отношения

Слайд 31

Запись алгоритма разветвленной структуры на языке QBasic Вычислить значение кусочной функции:

Запись алгоритма разветвленной структуры на языке QBasic

Вычислить значение кусочной функции:

Слайд 32

Программа разветвленной структуры REM Вычисление кусочной функции CLS INPUT “x=”; x

Программа разветвленной структуры

REM Вычисление кусочной функции
CLS
INPUT “x=”; x
IF x<0 THEN y=cos(x):

GOTO 10
IF x=0 THEN y=0 ELSE y=sin(x)
10 PRINT “y=”; y
END
Слайд 33

Оператор организации цикла с заданным числом повторений Оператор FOR-TO-NEXT FOR переменная=нач.знач.

Оператор организации цикла с заданным числом повторений

Оператор FOR-TO-NEXT
FOR переменная=нач.знач. TO кон.знач.

[STEP шаг]
Операторы тела цикла
NEXT [переменная]

REM Табулирование функции y=sin(x)
DATA 0, 1, 0.1
READ xn, xk, h
PRINT “ X | Y “
FOR X=xn TO xk STEP h
Y=sin(X)
PRINT USING “ #.# | ##.### ”; X; Y
NEXT X
END

Слайд 34

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

Организация циклов с неопределенным числом повторений

Цикл с предусловием

Цикл с постусловием

Сочетание операторов

условного и безусловного перехода
Слайд 35

Задача: сумма бесконечного ряда Вычислить сумму бесконечного ряда с заданной точностью

Задача: сумма бесконечного ряда

Вычислить сумму бесконечного ряда с заданной точностью (суммировать

до тех пор, пока модуль текущего элемента ряда не станет меньше заданной точности) двумя способами:
по общей формуле ряда;
по рекуррентной формуле.

точность eps = 0.001

Слайд 36

Проверка на сходимость ряда Проверка ряда на сходимость (при возрастании номера

Проверка на сходимость ряда

Проверка ряда на сходимость (при возрастании номера элемента

сам элемент ряда должен уменьшаться)
Подставим в формулу элемента ряда номера k=0, k=1, k=2.
K=0
K=1
K=2
Расчеты показали, что при увеличении номера элемента значение элемента ряда уменьшается. Ряд сходящийся.
Слайд 37

Расчет по общей формуле ряда Постановка задачи Входные параметры EPS –

Расчет по общей формуле ряда

Постановка задачи
Входные параметры
EPS – точность вычислений
R –

значение первого элемента ряда при начальном значении K – номере 1-го
элемента ряда
Промежуточные параметры
P1 – переменная для накопления произведения (k+1)!
P2 – переменная для накопления произведения (2*k+1)!
K – номер итерации, совпадает с номером элемента ряда
R – текущий (k-ый) элемент ряда
Выходные параметры
S – сумма элементов ряда
Слайд 38

Программа: расчет по общей формуле ряда CLS INPUT “EPS=”; EPS S=0

Программа: расчет по общей формуле ряда

CLS
INPUT “EPS=”; EPS
S=0
K=0
R=1
P1=1
P2=1
10 IF ABS(R)<=EPS THEN

20
S=S+R
K=K+1
P1 = P1*(K+1)
P2 = P2*(2*K+1)
R=(-1)^K*P1 / P2
GOTO 10
20 PRINT “S=”;S, “EPS=”;EPS, “K=”;K
END
Слайд 39

Блок-схема: расчет по общей формуле ряда

Блок-схема: расчет по общей формуле ряда

Слайд 40

Вывод рекуррентной формулы Общий вид рекуррентной формулы: где Rk – элемент

Вывод рекуррентной формулы

Общий вид рекуррентной формулы:
где Rk – элемент ряда k-тый,
Q

– коэффициент рекуррентной формулы.
Слайд 41

Программа: расчет по рекуррентной формуле CLS INPUT “EPS=”; EPS S=0 K=0

Программа: расчет по рекуррентной формуле

CLS
INPUT “EPS=”; EPS
S=0
K=0
R=1
10 IF ABS(R)<=EPS THEN 20
S=S+R
K=K+1
Q=

- (K+1)/ ((2*K)*(2*K+1))
R=R*Q
GOTO 10
20 PRINT “S=”;S, “EPS=”;EPS, “K=”;K
END
Слайд 42

Массивы Массив – это упорядоченная совокупность однородных элементов (переменных) Пример массива

Массивы

Массив – это упорядоченная совокупность однородных элементов (переменных)
Пример массива – любое

пронумерованное множество элементов одного типа.
A$(1)=“Иванов”
A$(2)=“Хорошева”
A$(3)=“Печенкин”
A$(4)=“Вахрушина”
A$(5)=“Петров”
A$(6)=“Васильков”
Слайд 43

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

Массивы

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

скобках. Индекс – это целое число, обозначающий порядковый номер элемента в массиве.
Слайд 44

Классификация массивов Одномерные и двумерные массивы Одномерный массив (вектор) – совокупность

Классификация массивов

Одномерные и двумерные массивы
Одномерный массив (вектор) – совокупность однородных элементов,

имеющих один индекс.
Двумерный массив (матрица) – совокупность однородных элементов, имеющих два индекса (номер строки и номер столбца).
Статические и динамические массивы
Статические массивы – массивы, размерность которых определяется константой
Динамические массивы – массивы, размерность которых определяется переменной