Слайд 13Основные элементы алгоритмического языка
Имена (идентификаторы) - последовательность символов для обозначения объектов программы
(переменных, массивов, функций и дp.).
Существуют следующие типы операций:
- арифметические операции: сложение, обозначается символом “+”; вычитание, обозначается символом “-”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp.;
- логические операции: операции “логическое и”, “логическое или”, “логическое не” и др.;
- операции отношения: меньше, обозначается символом “<”; больше, обозначается символом “>”; меньше или равно, обозначается символами “<=”; больше или равно, обозначается символами “>=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.
- операция конкатенации символьных значений друг с другом, изображается знаком "+".
Данные - величины, обрабатываемые программой.
Слайд 14Основные элементы алгоритмического языка
Константы - это данные, которые зафиксированы в тексте программы
и не изменяются в процессе ее выполнения.
Примеры констант:
числовые: 7.5, 12;
логические: true(истина), false(ложь);
символьные: "А", "+";
строковые: "abcde", "информатика".
Переменные – это данные, которые могут изменять свои значения в ходе выполнения программы. Они обозначаются именами. Переменные бывают целые, вещественные, логические, символьные и строковые.
Массивы - последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами - одним в случае одномерного массива, или несколькими, если массив многомерный.
Выражения – элементы языка, которые предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций, объединенных знаками операций. Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т. д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.
Слайд 20Символы языка.
буквы – латинские строчные и прописные, буквы русского алфавита
допустимы только в текстовых константах и комментариях;
цифры – только арабские от 0 до 9;
знаки арифметических операций: сложение (+), вычитание (-), умножение (*), деление (/), возведение в степень (^ );
знаки логических операций:
a OR b – «или», логическое сложение, равно «Истина», если истинно a или b
a AND b– «и», логическое умножение, равно «Истина», если и a и b истинны
a XOR b– «исключающее или», равно «Истина», если истинно только a или только b,
NOT b логическое отрицание;
знаки операций отношения:
a>b (больше),
aa<=b (меньше или равно),
a>= b (больше или равно),
a=b (равно)
a<>b (не равно);
разделители – ограничители:
знак операции сцепления - +;
встроенные, стандартные функции языка
Слайд 21Виды переменных
Есть 3 вида переменных:
1. Целые – к этим переменным
в имени добавляется значок %.
ПРИМЕР: Symma% = 1, но нельзя записывать не целые значения (такие как: 0,5 или 0,002 или 1,5)
2. Символьные (литерный, строковый) – к этим переменным в имени добавляется значок $. ПРИМЕР: name$ = “Артем”, R$ = “2+3=4”
3. Действительные – к этим переменным не надо добавлять значок. ПРИМЕР: Symma, Ao1
Слайд 23Линейный алгоритм
Алгоритм линейной структуры – алгоритм, в котором команды выполняются последовательно
друг за другом в естественном порядке и независимо от каких бы то ни было условий.
Для записи линейных программ используются операторы:
ввода; вывода; присваивания; конца программы.
Слайд 24Линейный алгоритм
P$ - “Добрый день”; O$ - “ дорогая “; NN$
- “Машенька!”, то в результате выполнения операций сцепления переменной XX$ будет присвоено значение “Добрый день, дорогая Машенька!”, что и будет выведено на экран.
Слайд 25Алгоритм ветвления
Важным для составления программ является сравнение: чисел, условий, значений
и т.д.
За сравнение в Qbasic отвечает оператор - IF …. THEN … ELSE
If (если)
THEN (тогда)
ELSE (иначе)
Слайд 26Алгоритм ветвления
IF условие THEN действие 1 ELSE действие 2
Если выполняется условие,
тогда действие 1, иначе действие 2
Слайд 27Алгоритм ветвления
Синтаксис условного оператора.
IF условие THEN оператор 1 ELSE оператор
2,
где условие – логическое выражение, оператор 1 – оператор или группа операторов, которые будут работать в случае, если логическое выражение истинно, оператор 2 - оператор или группа операторов, которые будут работать в случае если логическое выражение ложно.
Краткая форма оператора IF:
IF условие THEN оператор
здесь при невыполнении условия управление передается строке, следующей за IF; если же условие выполняется, то работают операторы, записанные после слова THEN в той же строке.
IF условие GOTO nc
где nc – номер строки или метка оператора, куда осуществляется переход в случае выполнения условия. Могут встречаться достаточно сложные конструкции, когда внутри одного оператора IF находится другой оператор IF, так называемый, вложенный IF, например:
IF условие. THEN операторы1 ELSE IF условие THEN операторы2 ELSE операторы3
Заметим, что в программе это должно быть написано в одной строке, таково требование синтаксиса.
Когда по одному условию выполняется несколько операторов, чтение программы затруднено, т.к. все они записаны должны быть в одну строку и строка становится слишком длинной. В таком случае рекомендуется создавать блок IF, в котором операторы можно записывать в столбик, а не в строчку, что облегчает чтение и понимание программы.
Блок- IF
Синтаксис:
IF условие THEN
… оператор1
……
оператор N
ELSE
… оператор2
….
операторM
END IF
Необходимо четко различать блок и оператор IF. Если в строке после THEN записан хотя бы один оператор, то такая конструкция считается оператором IF. Следующий после нее оператор выполняется безусловно.0
Слайд 28Алгоритм ветвления
Для нарушения линейного порядка выполнения программы используются операторы передачи
управления:
оператор безусловного перехода GOTO.
условный оператор IF … THEN …ELSE.
Синтаксис оператора GOTO.
GOTO номер строки
или
GOTO метка.
Меткой является идентификатор, заканчивающийся символом : стоящий перед оператором. Управление передается строке с соответствующим номером или оператору, перед которым стоит метка.
Пример:
M1: a=a*10
…
GOTO M1
Пример:
10 a=a*15
…
100 GOTO 10
STOP – оператор логического конца программы. Им можно воспользоваться в том случае, когда программа должна быть завершена досрочно.
Слайд 29Алгоритм ветвления
Если у Вас два условия, то их записывают так:
IF
A = N AND N = C THEN …
этот способ используется, если два условия должны выполняться одновременно. (AND – и).
IF A = N OR N = C OR A = C THEN …
а этот способ, если хотя бы одно условие должно выполниться. (OR – или).
Слайд 30Пример
Проверка правильности ввода пароля, например, «36w54».
Описание алгоритма:
вводится пароль Р$;
проверяется равенство введенного
пароля заданному значению;
если пароль введен верно, то выводится сообщение «Здравствуйте» и начинается выполнение программы, защищенной паролем;Началоввод
“Пароль?”,Р$P$=“39W54”Вывод
“Пароль неверен!”Вывод
“Здравствуйте!”ПрограммаКонец
если пароль введен неверно, то выводится сообщение “Пароль неверен!”, а защищенная паролем программа выполняться не будет.
Слайд 32Пример алгоритма
INPUT “Пароль!”,P$
If P$=”39w54” THEN
Print “Пароль неверен! Программа выполняться не
будет!”: STOP
END IF
PRINT “Здравствуйте»
<<Здесь может быть любая программа>>
END
Слайд 33Цикл
Цикл – это многократное повторение одних и тех же операций.
Виды
циклов:
циклы с заданным числом повторений (шагов);
циклы с неизвестным числом повторений (шагов).
К последним относятся итерационные циклы, характеризующиеся последовательным приближением к искомому значению с заданной точностью.
Слайд 34Основные действия при составлении циклического алгоритма
Для организации цикла необходимо выполнить следующие
действия:
перед циклом задать начальные значения переменных, изменяющихся в цикле;
изменять значения этих переменных перед каждым новым повторением цикла по заданным формулам;
проверять условие окончания или повторения цикла;
управлять циклом, т. е. переходить к его началу, если он не закончен, или выходить из него по окончании.
Последние три функции выполняются многократно.
Слайд 35Основные понятия
Тело цикла – это операторы, которые многократно повторяются в
процессе выполнения цикла.
Параметр цикла – это величина, которая меняет свое значение при каждом входе в цикл.
Слайд 36Цикл с параметром
FOR k = k1 TO k2 STEP s
………………..
NEXT k
Иначе
говоря:
ДЛЯ k = k1 ДО k2 ШАГ s
……………..
СЛЕДУЮЩЕЕ ЗНАЧЕНИЕ k
k – параметр цикла.
k1 – начальное значение параметра.
k2 – конечное значение параметра.
s – величина, которая показывает на сколько изменится параметр цикла при каждом входе в цикл.
Слайд 37Цикл с параметром
В начале параметру циклу k присваивается значение k1 и
один раз выполняется тело цикла. Вслед за этим оператор NEXT увеличивает значение параметра на величину s. И проверяет, не превысило ли новое значение параметра, конечного k2, если нет, то снова выполняется тело цикла, но уже для нового значения параметра. А если новое значение превысило k2, то происходит выход из цикла, и управление передается оператору, который стоит после NEXT.
счетный цикл
FOR x=xo TO xk [STEP h]
Тело цикла
NEXT [x]
Слайд 38Циклический алгоритм
Между FOR…… и NEXT могут стоять любые операторы, они
будут являться телом цикла.
ПРИМЕР:
FOR w = 1 TO 50 STEP 2
IF ….. THEN…..ELSE
NEXT w
FOR w = 1 TO 50 STEP 2
symma = w + 1
NEXT w
FOR w = 1 TO 50 STEP 2
INPUT..
IF …. THEN…
PRINT …
NEXT w
INPUT …
FOR w = 1 TO 50 STEP 2
IF ….. THEN…..ELSE
NEXT w
PRINT …
Слайд 39Пример
Вычислить множество значений функции y=x2+b для всех значений x от
-10 до 10 с шагом 2, при b=5
CLS
B=5
FOR X=10 TO 10 STEP 2
Y= x2+b
PRINT Y
NEXT X
END
Слайд 40Цикл “до” и Цикл “пока”
Цикл “до”
Есть два способа записи:
I)
1 S
IF NOT (p) THEN 1
выход из цикла
II)
DO
(тело цикла)
LOOP WHILE (условие)
Тело цикла выполняется до истинности условия P.
Слайд 41 Цикл «пока»
WHILE условие
(тело цикла)
WEND
(пока выполняется условие,
выполнять
тело цикла)
Слайд 42Задача
Изменить программу проверки правильности ввода пароля, предоставив три попытки ввода пароля.
Если пароль вводится трижды неправильно, то выполнение программы прекращается.
Рассмотрим решение задачи тремя способами.
1-ый способ – организация цикла с помощью операторов If… и Goto.
Программа
P$=”#$W56”
K=0
55 Input “Пароль”, X$
K=K+1
If K>3 Then Print“Нет доступа!”: Stop
If P$<>X$ Then Print “Пароль неверен. Попытка ”, К: Goto 55
Print “Программа выполняется!”
<<Здесь может быть любая программа>>
End
Слайд 43Задача
2-ой способ – организация цикла с помощью оператора While …
Wend
Описание алгоритма:
Программная реализация алгоритма
P$=”#$W56”
K=0
While K<3
Input “Введите пароль”, X$
If P$=X$ Goto 44
K=K+1
Print “Пароль неверен. Попытка ” К
Wend
Print“Нет доступа!”
Stop
44 Print “Программа выполняется!”
<<Здесь может быть любая программа>>
End
Слайд 44Задача
3-ий способ – организация цикла с помощью оператора For
Описание алгоритма:
Алгоритм
отличается от предыдущего использованием оператора For K=1 To 3, который сам умеет считать циклы, поэтому счетчик К=К+1 не требуется.
Программная реализация алгоритма.
P$=”#$W56”
For K=1 To 3
Input “Введите пароль”, X$
If P$=X$ Goto 44
Print “Пароль неверен. Попытка ” К
Next
Print“Нет доступа!”
Stop
44 Print “Программа выполняется!”
<<Здесь может быть любая программа>>
End
Слайд 45Текстовые функции
Слово – это любая последовательность символов некоторого алфавита.
Алфавит - любая
последовательность цифр, букв любого алфавита, а так же любые знаки препинания.
Длина слова – это число символов в слове.
Пустое слово – это слово, которое не содержит символов. Длина пустого слова = 0.
Переменные слов всегда обозначаются значком - $
Основные операции над словами:
Выделение части слова.
Соединение слова (значок +)
Слова можно сравнивать.
Слайд 46Операторы, которые производят операции над словами
LEN(x$) – вычисляет длину заданного слова
x$.
x$ = “Петров-Волков”
l = LEN$(x$)
l = 13
Значит так, в данном примере Петров – Волков – это слово. И его длина 13, но если поставить пробелы перед и после -, то длина станет 15, так как оператор LEN считает и пробелы и ведь они то же входят в слово.
Слайд 47Операторы, которые производят операции над словами
LEFT$(x$, r) – “вырезает”из переменной x$,
r символов слева.
CLS
x$ = “Петров-Волков”
a$ = LEFT$ (x$, 4)
PRINT a$
END
При выполнении этой программы компьютер отсчитает слева 4 символа и «вырежет» их. И слово a$ будет Петр.
Слайд 48Операторы, которые производят операции над словами
RIGHT$(x$, r) – «вырезает» справа r
символов.
CLS
x$ = “Петров-Волков”
x$ = RIGHT$(x$, 6)
PRINT a$
END
После выполнения программы a$ будет Волков.
Слайд 49Операторы, которые производят операции над словами
MID$(x$, p, r) – «вырезает» из
переменной x$, r символов с позиции p
CLS
x$ = “Петров-Волков”
v$ = MID$(x$, 4, 3)
PRINT v$
END
При выполнении этой программы компьютер будет действовать так, он отсчитает 4 символа и это будет позиция (p), затем он «вырежет» 3 символа, включая позицию. v$ будет равно ров.
Слайд 50Операторы, которые производят операции над словами
VAI(x$) – преобразует символьную переменную x$
в десятичное число.
CLS
x$ = “-243.55”
y = VAI(x$)
PRINT y
END
Слайд 51Операторы, которые производят операции над словами
Обратный оператор, который преобразует число в
символьную строку с учетом знака (Если число > 0, то вместо знака ставится пробел) – STR$(y)
CLS
y = 556
x$ = STR$ (y)
PRINT x$
END
Слайд 52Операторы, которые производят операции над словами
Оператор COLOR. ПРИМЕР:
CLS
COLOR 7
PRINT “Серый”
COLOR 13:
PRINT “Сиреневый”
END
Цвет задается числом после оператора. Вот основной список цветов:
0 - Сажа
1 – Темно - синий
2 – Тёмно – зеленый
3 – Тёмно - голубой
4 – Темно - красный
5 – Темно - пурпурный
6 - Цитрус
7 - Серый
8 - Тёмно - серый
9 – Светло - синий
10 - Светло - зеленый
11 – Светло - голубой
12 - Светло - красный
13 - Сиреневый
14 - Жёлтый
15 – Ярко – белый
Некоторые сочетания цветов в операторе COLOR:
14, 8 - желтый на темно-сером фоне;
1, 7 - синий на светло-сером фоне;
5, 14 - фиолетовый на желтом фоне;
4, 11 - красный на голубом фоне;
5, 10 - фиолетовый на светло-зеленом фоне;
15, 5 - белый на фиолетовом фоне;
14, 1 - желтый на синем фоне;
15, 1 - белый на синем фоне;
8, 11 - темно-серый на голубом фоне;
1, 15 - синий на белом фоне.
Пример: COLOR 1, 15