![](/user_photo/2706_HbeT2.jpg)
ТОИ ЛЕКЦИЯ 2_Алг-я_Яз програм
.pdf![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn831x1.jpg)
Задание
Алгоритм закончит работу при начальных значениях
1.A = 2; C = 2
2.A = 4; C = 5
3.A = -3; C = -2
4.A = -3; C = 0
5.A = -3; C = -1
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn832x1.jpg)
Пcевдокод
Псевдокод - компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова
языков программирования, но опускающий
несущественные подробности и специфический синтаксис.
Псевдокод занимает промежуточное место между естественным и формальным языками. С одной стороны,
он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как
обычный текст. С другой стороны, в псевдокоде
используются некоторые формальные конструкции и математическая символика, что приближает запись
алгоритма к общепринятой математической записи.
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn833x1.jpg)
Пcевдокод
Основные служебные слова псевдокода:
алг (алгоритм) |
сим (символьный) |
дано |
для |
да |
арг (аргумент) |
лит (литерный) |
надо |
от |
нет |
рез (результат) |
лог (логический) |
если |
до |
при |
нач (начало) |
таб (таблица) |
то |
знач |
выбор |
кон (конец) |
нц (начало цикла) |
иначе |
и |
ввод |
цел (целый) |
кц (конец цикла) |
все |
или |
вывод |
вещ (вещественный) |
длин (длина) |
пока |
не |
утв |
Общий вид алгоритма:
алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn834x1.jpg)
Псевдокод
Команды псевдокода:
1. Команда присваивания А := В
Служит для вычисления выражений и присваивания их значений переменным. Знак ":=" означает команду заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части.
Пример: i := i+1.
2. Команды ввода и вывода
•ввод имена переменных
•вывод имена переменных, выражения, тексты
3.Команды если и выбор. Применяют для организации ветвлений.
4.Команды для и пока. Применяют для организации циклов.
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn835x1.jpg)
Псевдокод
Пример: вычисление суммы квадратов
алг Сумма квадратов (арг цел n, рез цел S)
дано | n > 0
надо | S = 1*1 + 2*2 + 3*3 + … + n*n
нач цел i
| ввод n; S:=0
| нц для i от 1 до n
| |
| S := S + i * i |
| |
кц |
| |
вывод "S = ", S |
кон
При n=3 → S=14
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn836x1.jpg)
Псевдокод
Найти результат уравнения ах+b=0
х=-b/a
алг ЛУР (вещ а,b,х) арг а,b
рез х
нач
х:=-b/а
вывод х
кон
При а=5, b=20 → х=-4
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn837x1.jpg)
Значение переменной d после выполнения фрагмента алгоритма (операции: mod ( х, y) – остаток от деления х на y,
div ( х, y ) – целочисленное деление х на y)
k := 30 |
|
|
|
выбор |
|
|
|
|
при |
div ( k, 12 ) = 4: |
d := k; |
|
при |
div( k, 12 ) < 5: |
d := 2; |
|
при |
mod( k, 12 ) > 9: |
d := 3; |
|
иначе |
d := 1; |
|
все |
|
|
|
равно |
|
|
|
1) |
2 |
|
|
2) |
30 |
|
|
3) |
3 |
|
|
4) |
1 |
|
|
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn838x1.jpg)
Языки программирования
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn839x1.jpg)
Язык программирования
В качестве исполнителей алгоритмов используются компьютеры, поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке.
Язык программирования – система обозначений для точного описания алгоритмов для ЭВМ. Эти языки являются искусственными языками со строго определенным синтаксисом (строение предложения и правила сочетания слов) и семантикой (смысловое значение слов и оборотов речи).
Программа на языке программирования состоит из последовательности операторов (инструкций), задающих те или иные действия. Основным является оператор присваивания, служащий для изменения содержимого областей памяти.
![](/html/2706/288/html_zrYBDMa6wS.mQWp/htmlconvd-nH7Sn840x1.jpg)
Классификация языков программирования
•Машинно-оpиентиpованные (ассемблеры).
Это языки низкого уровня, требующие указания мелких деталей процесса обработки данных.
•Машинно-независимые (языки высокого уровня).
Имитируют естественные языки, используя некоторые слова разговорного
языка и общепринятые математические символы. Не зависят от особенностей конкретной машины и ориентированы на широкий круг пользователей.
Основные преимущества перед машинными языками:
•алфавит алгоритмического языка значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;
•формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обработки данных;
•требуемые операции задаются с помощью общепринятых математических обозначений;
•данным в алгоритмических языках присваиваются индивидуальные имена, выбираемые программистом.