- •Псевдокод
 - •Один из примеров псевдокода - школьный алгоритмический язык.
 - •Блок-схема
 - •Запись на псевдокоде
 - •Вопросы для самоконтроля
 - •Формулы бэкуса-наура
 - •Перминов о.Н. Программирование на языке Паскаль
 - •Синтаксические диаграммы
 - •Алгоритмы сортировки
 - •Сортировка с помощью прямого включения
 - •Сортировка с помощью прямого выбора (линейная)
 - •Сортировка с помощью прямого обмена (пузырьковая)
 - •Быстрая сортировка (ч. Хоара, сортировка с помощью разделения)
 - •Рекурсия
 - •Параметры-процедуры и параметры-функции
 - •Символьные типы
 - •Строковые типы
 - •Строковые типы в Borland Pascal
 - •Строковые типы в Delphi
 - •Множества
 - •Тип "запись" (record)
 - •Вариантная часть записи
 - •Процедуры и функции для работы с файлами
 - •Работа с текстовыми файлами*
 - •Работа с типизированными и нетипизированными файлами
 - •Типизированные файлы
 - •Последовательный и прямой доступ к файлам
 - •Нетипизированные (бестиповые) файлы
 - •Класс tfilestream (факультатив, для зачета 1 семестра не требуется)
 - •Работа с данными файла
 - •Закрытие файла
 
	
ТЕМА. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ
Псевдокод
Псевдокод - язык описания алгоритмов, включающий в себя как элементы языка программирования (набор служебных слов), так и фразы естественного языка, математические обозначения и др.
Один из примеров псевдокода - школьный алгоритмический язык.
См. также
http://book.kbsu.ru/
А.Г. Кушниренко и др. "Основы информатики и вычислительной техники" – М: "Просвещение", 1991
СЛУЖЕБНЫЕ СЛОВА ШКОЛЬНОГО АЛГОРИТМИЧЕСКОГО ЯЗЫКА
алг (алгоритм)  | 
			сим (символьный)  | 
			дано  | 
			для  | 
			да  | 
		
арг (аргумент)  | 
			лит (литерный)  | 
			надо  | 
			от  | 
			нет  | 
		
рез (результат)  | 
			лог (логический)  | 
			если  | 
			до  | 
			при  | 
		
нач (начало)  | 
			таб (таблица)  | 
			то  | 
			знач  | 
			выбор  | 
		
кон (конец)  | 
			нц (начало цикла)  | 
			иначе  | 
			и  | 
			ввод  | 
		
цел (целый)  | 
			кц (конец цикла)  | 
			все  | 
			или  | 
			вывод  | 
		
вещ (вещественный)  | 
			длин (длина)  | 
			пока  | 
			не  | 
			утв  | 
		
Знак "|" используется для выделения комментариев.
ОБЩИЙ ВИД АЛГОРИТМА:
алг название алгоритма (аргументы и результаты)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
ПРИМЕР. Вычисление Y=XN
алг Функция XN (арг вещ x, арг цел n, рез вещ у)
дано | n >= 0
надо | у = x*x*...*x
нач цел i
ввод x, n
y:=1
нц для i от 1 до n
y:=y*x
кц
вывод "y = ", y
кон
ПРИМЕРЫ ОПИСАНИЯ АЛГОРИТМИЧЕСКИХ СТРУКТУР
ПСЕВДОКОД  | 
		БЛОК-СХЕМА  | 
		
  | 
		ПСЕВДОКОД  | 
		БЛОК-СХЕМА  | 
	
			
 Действие1 Действие2 … Действиеn  | 
		
			  | 
		
  | 
		
			
 выбор при условие1: действия1 при условие2: действия2 ... при условиеN: действияN иначе действияN+1 все  | 
		
			  | 
	
			
 если условие то действия1 иначе действия2 все  | 
		
			  | 
		
  | 
		
			
 нц пока условие действия кц  | 
		
			  | 
	
eсли условие то действия все  | 
		
			  | 
		
  | 
		
			
 нц для i от i1 до i2 действия кц  | 
		
			  | 
	
Действияi – последовательность действий (шагов алгоритма, операторов, для циклов – тело цикла).
ПРИМЕР. ПОИСК КОРНЕЙ КВАДРАТНОГО УРАВНЕНИЯ
Блок-схема
Запись на псевдокоде
алг Корни квадратного уравнения (арг вещ a, b, c, рез вещ x1, x2)
дано | a, b, c – любые вещественные числа
надо | найти и вывести корни либо соответствующие сообщения
нач вещ d, ds
ввод a, b, c
если a=0
то
если b=0
то
если c=0
то
вывод «Множество решений»
иначе
вывод «Нет решений»
все
иначе
x1:= -с/b
вывод x1
все
иначе
d:=b2-4ac
если d<0
то
вывод «Действительных корней нет»
иначе
если d=0
то
x1:= -b/(2a)
вывод x1
иначе
ds:=d
x1:=(-b+ds)/(2a)
x2:=(-b-ds)/(2a)
вывод x1, x2
все
все
кон
