Тема: Способы записи алгоритма: псевдокод
Вопросы темы: Что такое псевдокод? Как записываются алгоритмы на школьном алгоритмическом языке? Команды школьного АЯ. Чем отличается программный способ записи алгоритмов от других? Какие у машинных языков достоинства и недостатки?
Что такое псевдокод? Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов. В псевдокоде не приняты строгие синтаксические правила для записи команд. В псевдокоде имеются некоторые конструкции, присущие формальным языкам В псевдокоде имеются служебные слова.
Основные служебные слова алг (алгоритм) сим (символьный) данодляда арг (аргумент)лит (литерный)надоотнет рез (результат)лог (логический)еслидопри нач (начало)таб(таблица)тозначвыбор кон (конец) нц (начало цикла) иначеиввод цел (целый)кц (конец цикла)все или вывод вещ (вещественный)длин (длина)поканеутв
Общий вид алгоритма: алг название алгоритма (аргументы и результаты) дано | условия применимости алгоритма надо | цель выполнения алгоритма нач описание промежуточных величин последовательность команд (тело алгоритма) кон
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
Примеры предложений алг: алг Объем и площадь цилиндра (арг вещ R, H, рез вещ V, S) алг Корни Кв Ур(арг вещ а, b, c, рез вещ x1, x2, рез лит t) алг Исключить элемент(арг цел N, арг рез вещ таб А[1:N]) алг Диагональ(арг цел N, арг цел таб A[1:N,1:N], рез лит Otvet)
Пример заголовка алгоритма алг Замена (арг лит Str1, Str2, рез лит Text) дано | длины подстрок Str1 и Str2 совпадают надо | всюду в строке Text подстрока Str1 заменена на Str2
Пример заголовка алгоритма алг Число максимумов (арг цел N, вещ таб A[1:N], рез цел K) дано | N>0 надо | К - число максимальных элементов в таблице А
Пример заголовка алгоритма алг Сопротивление (арг вещ R1, R2, цел N, рез вещ R) дано | N>5, R1>0, R2>0 надо | R - сопротивление схемы
Команды школьного АЯ Оператор присваивания. Служит для вычисления выражений и присваивания их значений переменным. Общий вид: А := В, где знак ":=" означает команду заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части. Например, a:=(b+c)*sin(Pi/4); i:=i+1.
Для ввода и вывода данных используют команды ввод имена переменных вывод имена переменных, выражения, тексты
Для ветвления применяют команды если и выбор, для организации циклов команды для и пока,
Пример записи алгоритма на школьном АЯ алг Сумма квадратов (арг цел n, рез цел S) дано | n > 0 надо | S = 1*1 + 2*2 + 3* n*n нач цел i ввод n; S:=0 Нц для i от 1 до n S:=S+i*i кц вывод "S = ", S кон
Чем отличается программный способ записи алгоритмов от других? При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд Алгоритм, предназначенный для исполнения на компьютере, должен быть записан на "понятном" ему языке. ( необходима точная записи команд, не оставляющей места для произвольного толкования их исполнителем).
Какие у машинных языков достоинства и недостатки? процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, труднообозримой, ее трудно отлаживать, изменять и развивать.
Машинные языки и машинно-ориентированные языки это языки низкого уровня Языки высокого уровня делятся на: алгоритмические (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами.