- •Постановка задачи
- •Анализ, формальная постановка и выбор метода решения
- •Проектирование
- •Реализация
- •Билет №2 Понятие алгоритма, его основные свойства
- •Свойства алгоритма
- •Пошаговая детализация и нисходящее проектирование
- •Билет № 4Базисные структуры алгоритмов и операторная поддержка их в языке Паскаль.
- •Концепция модульного программирования
- •Билет №6 Назначение и структура модуля Header.
- •Билет №7 Стандартные модули Unit в Турбо-Паскале.
- •Передача данных через формальные параметры.
- •Локальные и глобальные идентификаторы
- •Одномерный массив.
- •Integer - тип всех элементов массива.
- •Билет №10 Признаки хорошего стиля программирования.
- •Билет №15 Архитектура современного пк.
- •Билет №17 Основные характеристики микропроцессоров.
- •Билет № 18 Организация и основные виды памятей, имеющихся в эвм.
- •Билет № 19 Алгоритм нахождения корня уравнения методом дихотомии.
- •Билет № 22 Алгоритм решения интеграла методом трапеции.
- •Ещё одним важным свойством алгоритма является его сфера применения. Здесь основных типов упорядочения два:
- •Поиск в неупорядоченной последовательности.
- •Билет №27 Алгоритм бинарного поиска заданного элемента в упорядоченной последовательности.
Концепция модульного программирования
Концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:
Функциональная декомпозиция задачи - разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач - модулей. Модули связаны между собой только по входным и выходным данным.
Модуль - основа концепции модульного программирования. Каждый модуль в функциональной декомпозиции представляет собой "черный ящик" с одним входом и одним выходом. Модульный подход позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль.
Реализуемые решения должны быть простыми и ясными. Если назначение модуля непонятно, то это говорит о том, что декомпозиция начальной или промежуточной задачи была проведена недостаточно качественно. В этом случае необходимо еще раз проанализировать задачу и, возможно, провести дополнительное разбиение на подзадачи. При наличии сложных мест в проекте их нужно подробнее документировать с помощью продуманной системы комментариев. Этот процесс нужно продолжать до тех пор, пока действительно не удастся добиться ясного понимания назначения всех модулей задачи и их оптимального сочетания.
Назначение всех переменных модуля должно быть описано с помощью комментариев по мере их определения.
Билет №6 Назначение и структура модуля Header.
Заголовочный файл (иногда головной файл, англ. headerfile), или подключаемый файл — в языках программирования файл, механически «вставляемый» компилятором в исходный текст в том месте, где располагается некоторая директива.
В языках программирования Си и C++, с их зачаточной модульностью, заголовочные файлы — основной способ подключить к программе типы данных, структуры, прототипы функций, перечислимые типы, и макросы, используемые вдругом модуле. Имеет по умолчанию расширение .h;. Например, идентификаторы, которые должны быть объявлены более чем в одном файле, удобно описать в заголовочном файле, а затем его подключать по мере надобности. Подобным же образом работает модульность и в большинстве ассемблеров.
Преимущество заголовочных файлов в первую очередь в упрощении компилятора: без заголовочных файлов компилятор и компоновщик делают одну и ту же работу, проверяя, есть ли в модуле Y откомпилированная функция X.
Заголовочные файлы намного медленнее — чтобы откомпилировать 10 c-файлов, к каждому из которых подключён длинный h-файл, компилятору придётся пройти по заголовку 10 раз. Чтобы справиться с этой проблемой, во многих компиляторах используют предварительно откомпилированные заголовки.
Билет №7 Стандартные модули Unit в Турбо-Паскале.
Модуль - это отдельный файл, в котором находятся константы, типы данных, переменные, процедуры и функции.
BorlandPascal содержит следующие стандартные модули:
Crt, Dos,Graph,Graph3,Overlay,Printer,Strings,System, Turbo3,WinAPI,WinCrt, WinDOS,WinPrn,WinProcs,WinTypes.
Данные стандартные модули обеспечивают поддержку всех ваших программ на BorlandPascal и хранятся в отдельных файлах TPW.TPL (для среды Windows), TPP.TPL (для защищенного режима DOS) или TURBO.TPL (для реального режима DOS).
Любой модуль подобен отдельной программе Pascal: он может иметь основную операторную часть, которая вызывается перед началом вашей программы и в которой можно производить любую необходимую инициализацию.
Alloc.h - библиотека функций управления памятью
Complex.h - заголовочный файл стандартной библиотеки языка программирования С, в котором объявляются функции для комплексной арифметики. Эти функции используют встроенный тип complex
Conio.h - заголовочный файл, используемый в старых компиляторах, работающих в операционных системах MS-DOS, для создания текстового интерфейса пользователя. Тем не менее, он не является частью языка программирования Си, стандартной библиотеки языка Си, ISO C или требуемой стандартом POSIX
Float.h - заголовочный файл стандартной библиотеки языка программирования С, который содержит макрос, определяющий различные ограничения и параметры типов с плавающей точкой. Fstream.h -
limits.h - заголовочный файл стандартной библиотеки общего назначения языка программирования Си, который включает определения характеристик общих типов переменных.
math.h - заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций
signal.h - заголовочный файл, определенный в стандартной библиотеке языка Си, для указания того, как программа обрабатывает сигналы во время ее выполнения.
stgarg.h - аголовочный файл стандартной библиотеки языка программирования Си, предоставляющий средства для перебора аргументов функции, количество и типы которых заранее не известны.
stdlib.h - заголовочный файл стандартной библиотеки языка Си, который содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие.
stdio.h - заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода
string.h - заголовочный файл стандартной библиотеки языка Си, содержащий функции для работы с нуль-терминированными строками и различными функциями работы с памятью
Билет №8 Организация обмена информацией между подпрограммой и вызывающей программой.
Имеется два способа передачи данных между подпрограммой и той
программой, из которой производится ее вызов – через глобальныепарамет-
ры и через формальные параметры.
Передача данных через глобальные параметры.
Параметры, которые введены и описаны внутри подпрограмм, называ-
ютсялокальными, т.к. они локализированы внутри той подпрограммы, в ко-
торой они описаны, и как бы “невидимы” снаружи (из других подпрограмм).
В то же время, параметры, которые введены и описаны в программе до опи-
сания подпрограммы, называются глобальными по отношению к этой под-
программе, т.к. они “видимы” как внутри неё, так и в программе её вызы-
вающей. Это позволяет использовать глобальные параметры для передачи
данных.
Для примера передачи данных через глобальные параметры рассмотрим
следующую программу - обработчик события нажатия кнопки:
Procedure TForm1.Button1Click(Sender:Tobject);
Varz,a,b:integer;
Procedure Pw;
Var z:integer;
begin
z:=a*b;
writeln(‘zPw=’,z);
end;//конец Pw
begin
z:=1; a:=2; b:=4;
Pw; //вызовпроцедуры
Writeln(‘zb=’,z);
end;
Переменные а и b являются локальными в процедуре TForm1.Button1
Click но они же глобальные по отношению к процедуре Pw, т.к. описаны вы-
ше её описания. Процедура Pw “видит” переменные а и b, поэтому она напе-
чатаетzPw=8.
Переменная z здесь описана как внутри Pw так и снаружи. В этом слу-
чае под переменную z будет отведено две разных ячейки памяти, одна – под
z, которая снаружи Pw, другая – под z внутри Pw. В результате внешняя z как
64
бы становится «невидимой», т.е. внутри Pw она не изменится и второй опера-
тор печати выведет zb=1.