алгоритмизация
Работа добавлена на сайт samzan.net: 2015-07-05
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
ТЕОРЕТИЧЕСКИЕ И ПРАКТИЧЕСКИЕ
ВОПРОСЫ
к блоку 2 (весенний семестр)
по дисциплине
“Информатика и информационные технологии”
для студентов специальности 162500 – АКб
(группы АКб 1-1, АКб 1-2)
(1 курс, 2012 / 2013уч.г.)
1. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ (основные направления, терминология, термины и понятия, их определение, обозначение и использование):
- понятия : "алгоритмизация", "алгоритм"; свойства алгоритма; способы описания (записи, задания, изображения) алгоритмов;
- этапы постановки и "прохождения" конкретной задачи (задания) в процессе обработки информации на ЭВМ (т.е. получения результата);
- понятия: "метод и алгоритм", "исполнитель", "система команд исполнителя", "система команд ЭВМ", "инструкция", "предписание", "команда";
- технология алгоритмизации и её составляющие: 1) этапы решения задачи на ЭВМ; 2) составление (конструирование) алгоритмов; 3) понятия: "метод (способ)" решения задачи и "алгоритм" решения задачи; 4) понятия: "модель", "математическая модель", "моделирование", "система расчетных формул", "конструкция алгоритма"; 5) типы планирования или проектирования алгоритмов (нисходящее планирование); 6) "алгоритмический тест" (проверка алгоритма); 7) сложные алгоритмы;
- связь и отличие понятий: "метод решения" и "алгоритм решения";
- связь понятий: "алгоритм", "инструкция", "команда", "исполнитель", "набор инструкций", "основные типы инструкций алгоритма", "система команд исполнителя";
- базовые структуры алгоритмов: линейная, ветвление (разветвляющая, "выбор"), циклическая ("цикл": "арифметический цикл" и "итерационный цикл"), "вариант" (ветвление или выбор по "n" направлениям), сложные циклические структуры;
- основные типы алгоритмов, реализующие "базовые" структуры алгоритмов: линейные, разветвляющиеся, циклические; примеры типовых задач на алгоритмизацию: 1) вычисление по формулам; 2) вычисление разветвляющихся вычислительных и логических задач (например, сортировка чисел, вычисление "ветвей" функций в зависимости от условий и т.п.); 3) вычисление "циклических" задач типа арифметических циклов с известным числом повторений, например, вычисление суммы или произведение массива (набора) чисел; нахождение максимального или минимального числа среди n чисел, определение принадлежности символа данному алфавиту последовательным поиском и т.п.;4) вычисление "циклических" задач типа итерационных циклов с неизвестным числом повторений, например, вычисление квадратного корня числа с точностью m знаков; нахождение суммы ряда с определенной точностью; вычисление значения функции с заданной точностью и т.п.; 5) вычисление смешанных задач (с использованием арифметических и итерационных циклов) типа задач решения уравнений, решения систем уравнений, задач табуляции функций, задач нахождения наибольшего общего делителя чисел, задачи поиска выхода из лабиринта и т.п.;
- анализ простых и сложных алгоритмов;
- понятия: "программирование", "программа", "программное управление", "принципы программирования";
- виды программирования: теоретическое, системное, прикладное;
- понятия: "вычислительная система", "вычислительные средства", "вычислительный комплекс", "сети ЭВМ или вычислительные сети", "технические (аппаратные) средства или аппаратное (техническое) обеспечение", "программные средства или программное обеспечение";
- вычислительные средства и их характеристики (производительность, надежность, эффективность);
- программное обеспечение: понятия - "программное обеспечение (ПО)", "математическое обеспечение (МО)", "программно-математическое обеспечение (ПМО)"; классификация программного обеспечения :1) "системное ПО" - "средства диагностики и контроля", "сервисные программные среды", "инструментарии или инструментальные среды ("оболочки")", "операционные системы" (ОС); 2) "система программирования" - "языки программирования", "трансляторы"; 3) "прикладное ПО" - "пакеты прикладных программ (ППП)", "библиотеки прикладных программ (БПП)"; 4) "уникальное ПО". Эволюция "становления" ПО в процессе развития средств вычислительной техники (в рамках эволюции поколений ЭВМ);
- "трансляторы", их виды по функциональному назначению: "компиляторы", "интерпретаторы"; "ассемблеры"; схема работы транслятора, назначение транслятора;
- "операционная система (ОС)"; назначение, виды ОС (применительно к ПК); основные типовые составляющие ОС: "планировщик", "сервисная обрабатывающая программа", "модуль", "отладчик", "утилита", "редактор связей", "загрузчик" и т.п.; основные функции ОС (обобщенно); язык управления ОС; программа - как задание, как единица работы ОС; файл - единица (задание) для ОС в ПК (типа MS DOS, Windows и других);
- состав (структура, "шаги") задания или единицы работы ОС (т.е. программы, файла) с точки зрения выполнения: трансляция, редактирование (компиляция), выполнение; схема обработки и преобразования программ;
- технология программирования: понятия - "система программирования (СП)", "языки программирования (ЯП)" ("алгоритмические языки программирования (АЯП)", "алгоритмические языки (АЯ)", "универсальные языки (УЯ)", "алгоритмические языки программирования высокого уровня (АЯП ВУ)"); "трансляторы", "ППП", "БПП" и т.п.;
- определение технологии программирования, нисходящее проектирование программ ("сверху - вниз"), восходящее проектирование программ ("снизу - вверх"), модульное построение программ, этапы разработки программ;
- основные правила, учитываемые при разработке программ (эффективность, универсальность, гибкость, мобильность, надежность программ);
- рекомендации по "эффективизации" процесса программирования: 1) использование в конструкциях и операторах языков программирования переменных, а не констант; 2) применение в тексте программ как можно больше комментариев; 3) внедрение различных приемов, повышающих эффективность программы, например, использование операций умножения вместо операции возведения в степень; вычисчисление часто используемого арифметического выражения один раз с присвоением его значения переменной для последующего использования многократно в программе; использование при организации циклов в качестве границ индексов переменных, а не выражений, которые вычислялись бы при прохождении цикла; выполнение всех повторяющихся с одинаковыми данными вычислений до входа в цикл; 4) отдельное, независимое проведение тестирования и отладки для логически самостоятельных, отдельных частей программы; 5) необходимо предусмотреть в программе промежуточные "печати" и "остановы" для контроля хода выполнения программы; 6) использование для тестирования и проверки "счета" (контрольных "просчетов" по программе) небольших контрольных или тестовых примеров;
- современные методы программирования: "автоматизация программирования", "модульное программирование", "структурное программирование"; определение этих методов, их назначение, описание их содержания, применение этих методов (как, где и зачем);
- модульное программирование: понятия - "модуль", "блок", "программная единица"; программирование независимых модулей и их объединение (принципы подобного объединения);
- структурное программирование: понятия - "структура", "блок", "принципы структурного программирования"; связь с алгоритмизацией - использование "базовых управляющих структур" ("базовых алгоритмических структур"); достоинства структурного программирования; методология структурного программирования - принципы системного подхода в процессе создания и эксплуатации ПО;
- языки программирования: понятия - "язык", "естественные и искусственные языки"; классификация языков программирования : 1) машинно-зависимые ( машинные - двоичные коды, машинно-ориентированные - мнемокоды, автокоды, языки символического кодирования (ЯСК), ассемблер); 2) машинно-независимые ( проблемно-ориентированные, процедурно-ориентированные, универсальные, специализированные). Определение, обозначение, описание вышеуказанных языков и их основные особенности, отличия, достоинства. Диалоговые языки; языки запросов и ответов; языки, близкие к естественным языкам; языки процедурного программирования; языки параметрического программирования; языки объектно-модульного программирования; языки логического программирования;
- перспективы развития процессов и средств алгоритмизации и программирования. Структурный подход к проектированию программ. Структурное программирование и его основные принципы. Модульное программирование. Автоматизация программирования. Понятие файловой структуры данных. Базы данных (БД) и банки данных (БанкД), системы управления БД и БанкД, средства инструментальных систем БД и БанкД; базы и банки знаний, элементы автоматизированных рабочих мест (АРМов) и систем искусственного интеллекта (СИИ), языки экспертных систем и логического программирования (типа ПРОЛОГа), языки обработки и описания списковых структур (типа ЛИСПа). Примеры различных языков программирования. "Интеллектуализация" процедуры создания программного продукта. CASE – технологии;
- автоматизированные рабочие места (АРМы). Системы искусственного интеллекта (СИИ). Экспертные системы. Языки "интеллектуального" программирования (логического программирования и обработки структур и списковых конструкций и др.) типа : ПРОЛОГ, ЛИСП. Сведения о средствах и системах "мультимедиа" ("MULTIMEDIA"). Информационные системы и технологии. Интернет-технологии. Информационные технологии: определение, понятие, методы и средства построения, примеры.
2. Программирование в конкретной среде программирования Turbo Pascal (на базе алгоритмического языка Паскаль) (основные направления, терминология, термины и понятия, их определение, обозначение и использование):
- основные конструкции и элементы языка и программы: алфавит (символы); идентификаторы (переменные) языка; метки, константы, данные, типы данных, выражения, операторы, функции, процедуры, модули, блоки, структура программы;
- типы данных, их классификация, использование (простые и сложные типы);
- структурированные типы данных ( массивы, записи, множества, файлы);
- строки;
- процедурные типы;
- структурированный тип данных - записи ( фиксированные, вариантные, комбинированные );
- выражения языка ( арифметические и логические );
- операторы языка ( ввода-вывода, пустой, начала и конца программы, составной, присвоения (присваивания), передачи управления (типа GO TO, типа IF); повторений или цикла типа FOR, WHILE, REPEAT ... UNTIL); варианта (типа CASE ... OF); присоединения (типа WITH ... DO);
- операторы и конструкции языка, обеспечивающие организацию процесса обработки информации (в программе на алгоритмическом языке Паскаль и в среде программирования Turbo Pascal):
- оператор присваивания;
- арифметические, логические, строковые и смешанные выражения;
- составной, простой и пустой операторы; операторные скобки;
- оператор перехода ( GO TO ...);
- операторы разветвления (выбора):
- условный оператор IF...THEN ... или IF ... THEN ... ELSE ...;
- оператор варианта CASE ... OF …;
- операторы повторений или цикла, реализующие арифметические
и итерационные циклические структуры:
- операторы цикла FOR ... TO ... DO, FOR ... DOWNTO ... DO;
- операторы цикла с предусловием WHILE ... DO;
- операторы цикла с постусловием REPEAT ... UNTIL;
- подпрограммы (модули, блоки), виды подпрограмм, их организация и работа;
- файловая организация и файловая структура (для информации и данных) на Паскале (с учетом общей файловой организации и файловой структуры (для информации и данных) в персональном компьютере);
- среда Turbo Pascal (описание "сервисной оболочки"): окно редактора, строка-меню, основные режимы и подрежимы, работа со средой Турбо Паскаля.
3. Программирование в конкретной среде программирования Quick BASIC 4.5 (на базе алгоритмического языка БЕЙСИК) (основные направления, терминология, термины и понятия, их определение, обозначение и использование):
- основные конструкции и элементы языка и программы: алфавит (символы); идентификаторы (переменные) языка; метки, константы, данные, типы данных, выражения, операторы, функции, процедуры, модули, блоки, структура программы;
- алфавит языка; программа, структура программы, формат строки программы;
- простейшие конструкции языка: числа, переменные, математические выражения, символьные выражения, логические выражения;
- типы данных, их классификация, использование (простые и сложные типы), типы числовых данных, типы строковых (символьных) данных, типы данных, определяемые пользователем;
- объявление типа данных;
- константы: строковые, числовые, символические (именованные); объявление констант;
- переменные: простые, переменные с индексами (массивы); объявление переменных; массивы данных;
- преобразование типа данных;
- область действия переменных и констант, локальные и глобальные переменные и константы, совместно используемые переменные;
- статические и динамические массивы;
- автоматические и статические переменные;
- выражения и операции: арифметические операции, операции отношения, логические операции, функциональные операции, строковые операции;
- функции, определяемые пользователем;
- процедуры-функции;
- процедуры;
- операторы языка (операторы объявления данных; операторы организации вычислений; операторы ввода-вывода данных; операторы работы с подпрограммами и функциями; операторы работы с файлами; операторы задания состояния экрана и построения графических изображений; операторы вызова процедур и процедур-функций; операторы управления курсором, клавиатурой; операторы управления обработкой программ);
- операторы и конструкции языка, обеспечивающие организацию процесса обработки информации (в программе на алгоритмическом языке Бейсик и в среде программирования Quick Basic):
- операторы объявления данных:
- оператор объявления констант – CONST;
- оператор задания списка констант – DATA;
- оператор объявления типа переменных – DEF (DEFINT);
- оператор определения (задания) структуры – TYPE;
- оператор объявления переменных – DIM;
- оператор объявления общих переменных – COMMON;
- оператор объявления локальных переменных – STATIC;
- оператор объявления глобальных переменных – SHARED;
- оператор установки текущей даты – DATE$;
- оператор установки текущего времени – TIME$;
- операторы организации вычислений и обработки данных:
- оператор присваивания - LET;
- оператор безусловного перехода - GOTO ...;
- операторы разветвления, ветвления, выбора:
- операторы условного перехода:
1) IF... THEN ..., или
2) IF ... THEN ... ELSE ..., или
3) IF … THEN
…………
ELSEIF …THEN
…………..
ELSE
…………..
END IF;
- операторы перехода:
1) ON … GOSUB,
2) ON … GOTO;
- оператор выбора – SELECT CASE;
- операторы повторений или цикла (циклических процессов), реализующие арифметические и итерационные циклические структуры:
- оператор цикла FOR ... NEXT;
- операторы цикла с предусловием:
- WHILE ... WEND ;
- DO {WHILE | UNTIL}…LOOP;
- оператор цикла с постусловием
DO ... LOOP {WHILE | UNTIL};
- оператор комментария – REM;
- оператор обмена значениями двух переменных – SWAP;
- оператор записи информации в память – POKE;
- оператор замещения части строки – MID$;
- операторы ввода-вывода данных:
- оператор ввода данных с клавиатуры – INPUT;
- оператор ввода строки символов – LINE INPUT;
- оператор ввода данных из файла – INPUT #;
- оператор ввода строки символов из файла – LINE INPUT #;
- оператор считывания входных констант – READ;
- оператор установки флажка считывания в начало входного потока – RESTORE;
- оператор вывода данных на терминал (монитор, экран, дисплей) – PRINT;
- оператор вывода данных на терминал (монитор, экран, дисплей) в заданном формате – PRINT USING;
- оператор задания поля для вывода информации на экран монитора (дисплея) – WIDTH;
- оператор вывода данных с символами-разделителями на экран монитора (дисплея) – WRITE;
- операторы вывода данных на принтер:
- LPRINT;
- LPRINT USING;
- оператор задания длины строки при выводе
на принтер – WIDTH LPRINT;
- операторы вывода данных в файл:
- PRINT #;
- PRINT # USING;
- оператор задания длины строки при выводе информации в файл или на устройство вывода – WIDTH #;
- оператор вывода данных с символами-разделителями
в файл – WRITE #;
- оператор вывода данных в порт ввода-вывода – OUT;
- операторы переопределения массивов:
- оператор изменения начала отсчета
индексов – OPTION BASE;
- оператор инициализации массива – ERASE;
- оператор переопределения параметров массива – REDIM;
- подпрограммы (модули, блоки), виды подпрограмм,
их организация и работа; операторы работы
с подпрограммами:
- оператор объявления подпрограммы-функции – DEF FN;
- операторы передачи управления подпрограмме и возврата из нее:
- оператор перехода к подпрограмме – GOSUB;
- оператор возврата из подпрограммы – RETURN;
- оператор включения генератора случайных
чисел – RANDOMIZE;
- операторы работы с файлами:
- оператор открытия файла или устройства
ввода-вывода – OPEN;
- оператор закрытия файла или устройства
ввода-вывода – CLOSE;
- оператор закрытия всех файлов – RESET;
- оператор удаления файла – KILL;
- оператор вывода списка имен файлов – FILES;
- оператор изменения имени файла – NAME;
- оператор записи информации в файл – PUT;
- оператор считывания информации из файла – GET;
- оператор изменения текущего каталога – CHDIR;
- оператор создания нового каталога MKDIR;
- оператор удаления каталога – RMDIR;
- операторы задания состояния экрана:
- оператор задания режима вывода на экран – SCREEN;
- операторы задания палитры:
- PALETTE;
- PALETTE USING;
- оператор задания цвета – COLOR;
- оператор очистки экрана – CLS;
- операторы построения графических программ:
- оператор задания окна графического вывода – VIEW;
- оператор задания системы координат в окне графического вывода – WINDOW;
- оператор отображения точки – PSET;
- оператор отображения точки – PRESET;
- оператор отображения отрезка и прямоугольника – LINE;
- оператор изображения окружности и эллипса – CIRCLE;
- оператор вычерчивания произвольных изображений – DRAW;
- оператор окраски изображения – PAINT;
- оператор записи фрагмента экрана в массив – GET;
- оператор восстановления изображения на экране монитора (дисплея) – PUT;
- оператор задания области экрана для текстового
вывода – VIEW PRINT;
- оператор копирования страниц экрана – PCOPY;
- операторы управления внешними устройствами:
- оператор управления курсором – LOCATE;
- операторы установки перехвата прерываний от
клавиатуры – KEY (n):
- KEY (n) ON;
- KEY (n) OFF;
- KEY (N) STOP;
- операторы установки и управления отображением
функциональных клавиш:
- KEY (n) …;
- KEY LIST;
- KEY ON;
- KEY OFF;
- операторы вызова процедур и процедур-функций:
- оператор объявления BASIC-процедур – DECLARE (BASIC);
- оператор объявления процедур на языках семейства
Microsoft – DECLARE (C, PASCAL, Fortran, Assembler);
- оператор задания процедуры – SUB…END SUB;
- оператор задания процедуры-функции –
FUNCTION … END FUNCTION;
- оператор вызова BASIC-процедур – CALL;
- оператор вызова разноязыковых модулей – CALL, CALLS;
- операторы управления обработкой:
- оператор запуска на выполнение и рестарт программы – RUN;
- оператор передачи управления без возврата – CHAIN;
- оператор передачи управления с возвратом – SHELL;
- оператор организации альтернативных выходов из функций, циклов и процедур – EXIT;
- оператор приостановки выполнения программы – SLEEP;
- оператор остановки или завершения программы – STOP;
- оператор завершения программы – END;
- основные встроенные функции:
- функция абсолютного значения – ABS (x);
- функция знака – SGN (x);
- функция отсечения (дробной части числового
выражения) – FIX (x);
- функция целой части – INT (x);
- функция вычисления квадратного корня – SQR (x);
- функция вычисления e - EXP (x);
- функция вычисления ln (x) – LOG (x);
- функция вычисления sin (x) – SIN (x);
- функция вычисления cos (x) – COS (x);
- функция вычисления tg (x) – TAN (x);
- функция вычисления arctg (x) – ATN (x);
- функция генерации случайного числа – RND [(p)];
- функция преобразования к целому типу с округлением – CINT (x);
- функция преобразования к целому удвоенной точности с округлением – CLNG (x);
- функция преобразования к вещественному одинарной
точности – CSNG (x);
- функция преобразования к вещественному удвоенной
точности – CDBL (x);
- функция преобразования числового выражения в строковое представление – STR$ (x);
- функция преобразования строкового выражения в число – VAL (x$);
- функции преобразования числового выражения во внутримащинное строковое представление чисел:
1) MKI$ (n1) – преобразование целого числа в строку длиной
2 байт;
2) MKL$ (n2) - преобразование целого числа удвоенной
точности в строку длиной 4 байт;
3) MKS$ (x1) – преобразование вещественного числа
одинарной точности в строку длиной 4 байт;
4) MKD$ (x2) - преобразование вещественного числа
удвоенной точности в строку длиной 8 байт;
- функции преобразования внутримащинного строкового представления чисел в числовое:
1) CVI (<строка_2>) – преобразование строки длиной
2 байт, созданной с помощью функции MKI$ (n1), обратно
в целое число;
2) CVL (<строка_4>) – преобразование строки длиной
4 байт, созданной с помощью функции MKL$ (n2), обратно
в целое число двойной точности;
3) CVS (<строка_4>) – преобразование строки длиной
4 байт, созданной с помощью функции MKS$ (x1), обратно
в вещественное число одинарной точности;
4) CVD (<строка_8>) – преобразование строки длиной
8 байт, созданной с помощью функции MKD$ (x2), обратно
вещественное число двойной точности;
- функция преобразования значения числового выражения к строке
в восьмеричном коде – OCT$ (x);
- функция преобразования значения числового выражения к строке
в шестнадцатеричном коде – HEX$ (x);
- функция определения ASCII-кода для первого символа
строки – ASC(x2);
- функция генерации символа с заданным
кодом ASCII – CHR$ (<код>);
- функции обработки строк:
- функция считывания символа с клавиатуры – INKEY$;
- функция считывания строки символов из
файла – INPUT$ (n, [[#]<номер файла>]);
- функция определения текущей даты – DATE$;
- функция определения текущего времени – TIME$;
- функция формирования строки пробелов – SPACE$ (n);
- функция замены прописных букв
строчными – LCASE$ (<строковое выражение>);
- функция замены строчных букв
прописными –ULCASE$ (<строковое выражение>);
- функция выделения n левых символов строки –
LEFT$ (<строковое выражение>, n);
- функция выделения n правых символов строки –
RIGHT$ (<строковое выражение>, n);
- функция выделения внутренней подстроки символов –
MID$ (<строковое выражение>, <начало> [, <длина>]);
- функция определения позиции вхождения подстроки –
INSTR ([<начало>], <строковое выражение 1>,
<строковое выражение 2>)ж
- функция определения длины данных:
1) LEN (<строковое выражение>);
2) LEN (<переменная>);
- функция выравнивания влево –
LTRIM$ (<строковое выражение>);
- функция выравнивания вправо –
RTRIM$ (<строковое выражение>);
- графические функции:
- функция определения координат или цвета пикселя:
1) POINT (x, y);
2) POINT (<число>);
- функция определения кода и байт-атрибута символа –
SCREEN (<строка>, <столбец>[ , <флажок>]);
- функция преобразования абсолютных координат
в относительные и наоборот – PMAP (<выражение>,<вариант>);
- функции управления печатью:
- функция вывода пробелов при печати – SPC (n);
- функция перехода в заданную позицию – TAB (n);
- функции определения позиций курсора:
- функция определения горизонтальной позиции курсора – POS (n);
- функция определения вертикальной позиции курсора – CSRLIN;
- функция определения текущего времени суток;
- файловая организация и файловая структура (для информации и данных) на Бейсике (с учетом общей файловой организации и файловой структуры (для информации и данных) в персональном компьютере);
- среда Quick Basic (описание "сервисной оболочки"): окно редактора, строка-меню, основные режимы и подрежимы, работа со средой Quick Basic.