Базовые алгоритмические структуры.

Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование (линейная структура), ветвление, цикл (Таблица 1).

Характерной особенностью базовых структур является наличие в них одного входаиодного выхода.

1. Базовая структура"следование".Образуется последовательностью действий, следующих одно за другим

2. Базовая структура"ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

3. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.


Таблица 1. Примеры использования базовых структур алгоритмов.

Пример структуры «следование» Пример структуры «ветвление» Пример структуры «цикл»
 
a(i)
i=3
i=i+1

 

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

При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.

Однако на практике в качестве исполнителей алгоритмов используются специальные автоматы — компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.

Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.Далее в Таблице 2 приведены некоторые операторы языка программирования QBasic.

Таблица 2. Операторы языка программирования QBasic.

Оператор Значение оператора Пример применения Комментарий
CLS Очистка экрана CLS Чаще всего первый оператор программы, очищает экран от информации, оставшейся после предыдущей работы программы
DIM Резервирование памяти для переменных массива DIM A(N) Резервируется память для массива А размерностью N
INPUT Ввод данных с клавиатуры в процессе работы программы INPUT A, B При появлении на экране «?» ввести значения для переменных А и В через запятую с клавиатуры
READ . . DATA Чтение значений для переменных, указанных в READ, из оператора DATA READ A(I), B(I) . . DATA 3,4,8,-1,6,10 В результате выполнения оператора будут выполнены следующие присвоения A(1)=3, A(2)=8, A(3)=6, B(1)=4, B(2)=-1, B(3)=10
IF усл THEN д1 ELSE д2 При выполнении условия выполняется действие 1, иначе – действие 2 IF A<0 THEN c=(a+b)/2 ELSE c=a-(b/2) Если A<0, тогда найти значение переменной с по формуле c=(a+b)/2, иначе считать по формуле c=a-(b/2)
PRINT Вывод на экран данных PRINT C(I) На экран выводятся значения переменных массива - C(I)
FOR … NEXT Операторы организации цикла с параметрами FOR I=1 TO 3 Начало цикла– I (параметр цикла) изменяется от 1 до 3
READ A(I) Читается значение для переменной а(i) Тело цикла
C(I)=A(I)-B Считается значение переменной c(i)
PRINT C(I) Выводится на экран рассчитанное значение переменной c(i)
NEXT I Конец цикла – повторить тело цикла для следующего значения I, пока I не станет равным 3.
SQR Извлечение квадратного корня С=SQR(A-B) С=(А-В)
  ABS Вычисления абсолютного значения C=|-X| C=X
SIN, COS, TG Вычисление тригонометрических функций C= SIN(A-B) Рассчитывается значение С как синус разницы А и В  

 

Пример решения задачи.

Условие задачи указано под №7 в каждом варианте контрольной работы.

bsr - ai, если ci>0

yi = (bmin - ai5), если ci<0

|asr * csr|+bi, если ci=0

1. Определение целей, исходных данных, промежуточных вычислений, условий вычислений. Цель задачи Вычислить значения переменных массива y(i) – при этом: Y(N) – массив с именем Y размерностью (объемом массива, с количеством элементов) N; y(i) – элемент массива; i – порядковый номер элемента массива (индекс массива), изменяется от 1 до N
Исходные данные A(N) – массив с именем A размерностью (объемом массива, с количеством элементов) N; a(i) – элемент массива; i – порядковый номер элемента массива (индекс массива), изменяется от 1 до N; B(N) – массив с именем B размерностью (объемом массива, с количеством элементов) N; b(i) – элемент массива; i – порядковый номер элемента массива (индекс массива), изменяется от 1 до N; C(N) – массив с именем C размерностью (объемом массива, с количеством элементов) N; c(i) – элемент массива; i – порядковый номер элемента массива (индекс массива), изменяется от 1 до N
Промежуточные переменные и вычисления SB=b1+b2+…+bn – сумма элементов массива В; BSR=SB/N – среднее значение массива В; BMIN – минимальный элемент массива В; SA=a1+a2+…+an – сумма элементов массива A; ASR=SA/N – среднее значение массива A; SC=c1+c2+…+cn – сумма элементов массива A CSR=SC/N – среднее значение массива C
Условия вычислений С(i)>0; C(i)<0
Конечный результат y(i)=BSR-a(i); y(i)=BMIN-a(i)^5; y(i)=|ASR*CSR|+b(i)
2. Математическая формулировка задачи а) SB= SB+b(i); б) BSR=SB/N; в) SA= SA+a(i); г) ASR=SA/N; д) SC= SC+c(i); е) CSR=SC/N; ж) BMIN=b(i); з) BMIN<b(i); и) y(i)=BSR-a(i); к) y(i)=BMIN-a(i)^5; л) y(i)=ABS(ASR*CSR)+b(i); м) С(i)>0; н) C(i)<0; о) i=i+1; п) i=N
3. Технология решения задачи
4. Схема алгоритма
5. Исходный текст программы на выбранном языке программирова-ния QBasic CLS: INPUT N: DIM A(N), B(N), C(N),Y(N) Очистка экран; ввод объема массивов; резервирование памяти для переменных массивов
FOR I=1 TO N Начало цикла
READ A(I),B(I),C(I) Чтение из DATA значений a(i), b(i), c(i)
SB= SB+B(i) : SA= SA+A(i) SC= SC+C(i) Расчет сумм элементов массивов
IF BMIN<B(I) THEN BMIN=B(I) Нахождение минимальной b(i)
NEXT I Конец цикла
BSR=SB/N:ASR=SA/N:CSR=SC/N Нахождение средних значений массивов
FOR I=1 TO N Начало цикла
IF C(I)>0 THEN y(i)=BSR-A(I) ELSE IF C(I)<0 THEN Y(I)=BMIN-A(I)^5 ELSE Y(I)=ABS(ASR*CSR)+B(I) Расчет элемента массива Y(I)
PRINT Y(I) Печать элемента массива Y(I)
NEXT I Конец цикла
DATA 8,2,-3,4,-25,98,0,-6,57,18,53,60,12,-53,77 Данные для элементов исходных массивов
END Конец программы
       

Экзаменационные вопросы .

1. Информатика как научная дисциплина. Предмет и объект исследования.

2. Жесткий диск. Назначение, структура, основные характеристики.

3. Информатика и другие науки и научные дисциплины.

4. Структура памяти ЭВМ.

5. Информационные революции. Их роль и значение для развития общества.

6. Файловая структура.

7. Информационное общество. Информатизация общества.

8. Лазерные диски. Назначение, основные характеристики.

9. Информационная культура. Ее роль в переходный к информационному обществу период.

10. Этапы развития ЭВМ с 1950. Характеристика этапов.

11. Информация и данные. Свойства информации.

12. Возникновение компьютерной техники. Архитектура Дж. фон Неймана.

13 Общие принципы разработки программного обеспечения.

14. Классификация ЭВМ по назначению.

15. Жизненный цикл программного продукта.

16. Появление и этапы развития персональных компьютеров.

17. Программы для компьютера. Классификация. Назначение.

18. Монитор. Типы, их характеристики.

19. Системные программы. Драйверы и утилиты.

20. Архитектура современного компьютера.

21. Прикладные программы. Классификация, назначение.

22. Материнская плата. Элементы компьютера, расположенные на плате.

23. Системы программирования. Классификация языков программирования.

24. Микропроцессор, тактовый генератор – назначение, основные характеристики.

25. Операторы языка QBasic.

26. Системная и локальная шины.

27. Формы адекватности информации. Меры информации.

28. Видеокарта. Звуковая карта - назначение, основные характеристики.

29. Понятие алгоритма. Базовые структуры алгоритмов.

30. Принтеры - назначение, основные характеристики.

31. Графический интерфейс Windows. Объекты Windows.

32. Сканеры - назначение, основные характеристики.

33. Формы записи алгоритмов. Блоки для составления блок-схем.

34. Клавиатура, мышь – устройства ввода и корректировки информации.

35. Программы-оболочки. Назначение. Основные возможности и приемы работы.

36. Гибкие диски, флэш-память.

37. Организация цикла в программе.

38. Основные элементы системного блока современного компьютера.

39. Использование логического оператора IF в программе.

40. ПЗУ и BIOS. CMOS.

41. Основные понятия защиты информации. Вирусы, антивирусные программы.

42. Шинные интерфейсы материнской платы.

Литература.

Основная литература.

1. Макарова Н.В. Информатика. – М.: Финансы и статистика, 2005.-768 с.

2 Симонович С.В. Информатика. Базовый курс. 2-е издание. – СПб.: Питер,2005. – 640 с.

3. Симонович С. Новейший самоучитель работы на компьютере.- Москва: "ТехБук", 2004. – 688 с.

4. Фигурнов В.Э. IBM PC для пользователя. - Краткий курс. М.: Финансы и статистика. 1997.

5. Леонтьев В.И. Новейшая энциклопедия персонального компьютера. – М.: Олма-пресс. 1999.

Дополнительная литература.

1. Виноградов С.М. Информационное общество: Информационные войны. Информационное управление. Информационная безопасность. - Изд. СПбУ, 1999.

2. Воронин В.П. Экономико-математические методы планирования в торговле. М.: Экономика, 1980.

3. Закон Российской Федерации “О государственной тайне” от 21.07.1993 № 5485-1 с изменениями и дополнениями от 06.10.1997.

4. Кулик А.Н. Новые инфокоммуникационные технологии в социально-гуманитарных науках и образовании. – М.: Логос. – 2003. – 424 с.

5. Федеральный закон Российской Федерации “Об информации, информатизации и защите информации” от 20.02.1995 № 24-ФЗ.