Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАЧЁёёт прога.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
2.54 Mб
Скачать

1. Понятие и свойства системы, модели, алгоритма, программы. Назначение и критерии оценки программных продуктов. Арифметические операции и стандартные функции Арифметическим называется выражение, составленное из операндов – величин, над которыми производится операция, скобок и знаков операций. В результате вычисления выражения получается значение определенного типа. Порядок вычисления выражения определяется скобками и старшинством операций. Они делятся на арифметические, отношения, логические и другие. Операции могут быть унарными и бинарными. Арифметические операции Операция Действие Тип операндов Тип результата Бинарные + Сложение Целый, вещественный Целый, вещественный - Вычитание Целый, вещественный Целый, вещественный * Умножение Целый, вещественный Целый, вещественный / Деление Целый, вещественный Вещественный DIV Целочисленное деление Целый Целый MOD Остаток от деления Целый Целый Унарные + Сохранение знака Целый, вещественный Целый, вещественный - Отрицание знака Целый, вещественный Целый, вещественный Операции отношения Операции отношения выполняют сравнение двух операндов и определяют, истинно значение или ложно. Сравниваемые величины могут принадлежать к любому типу данных, и результат всегда имеет логический тип, принимая одно значение из двух: истина или ложь. Операция Название Выражение = Равно А=В <> Неравно А<>B > Больше A>B < Меньше A<B >= Больше или равно A>=B <= Меньше или равно A<=B Стандартные математические функции Обращение Тип аргумента Тип результата Функция Abs(x) Целый, вещественный Целый, вещественный Модуль аргумента Arctan(x) Целый, вещественный Вещественный Арктангенс Cos(x) Целый, вещественный Вещественный Косинус Exp(x) Целый, вещественный Вещественный ех - экпонента Frac(x) Целый, вещественный Вещественный Дробная часть х Int(x) Целый, вещественный Вещественный Целая часть х Ln(x) Целый, вещественный Вещественный Натуральный логарифм Random Вещественный Псевдослучайное число [0,1] Random(x) Целый Целый Псевдослучайное число [0,х] Round(x) Вещественный Целый Округление до ближайшего целого Sin(x) Целый, вещественный Вещественный Синус Sqr(x) Целый, вещественный Вещественный Квадрат х Sqrt(x) Целый, вещественный Вещественный Корень квадратный из х Trunc(x) Вещественный Целый Ближайшее целое, не превышающее х по модулю Логические операции Логические выражения в результате вычисления принимают логические значения True и False. Операндами это выражения могут быть логические константы, переменные, отношения. Идентификатор логического типа в Паскале: boolean. В Паскале имеется 4 логические операции: отрицание -NOT, логическое умножение -AND, логическое сложение - OR, исключающее «или» -XOR . Использованы обозначения: T – true, F – false. A B Not A A and B A or B A xor B T T F T T F T F F F T T F F T F F F F T T F T T Приоритеты операций: not, and, or, xor. Операции отношения ( = , <> …) имеют более высокий приоритет, чем логические операции, поэтому их следует заключать в скобки при использовании по отношению к ним логических операций. Приоритет операций (в порядке убывания): · вычисление функции; · унарный минус, not; · умножение, деление, div, mod, and; · сложение, вычитание, or, xor; · операции отношения Ввод и вывод данных Решение даже самой простой задачи на компьютере не обходится без операций ввода – вывода информации. Ввод данных – это передача информации от внешнего носителя в оперативную память для обработки. Вывод - обратный процесс, когда данные передаются после обработки из оперативной памяти на внешний носитель (экран монитора, принтер, дискету или винчестер и другие устройства). Выполнение этих операций производится путем обращения к стандартным процедурам: Read, Readln, Write, Writeln.

Ввод данных с клавиатуры Процедура чтения Read обеспечивает ввод данных для последующей их обработки программой. Общий вид: Read (<список переменных>); В списке перечисляются имена переменных. Значения этих переменных набираются через пробел на клавиатуре и высвечиваются на экране после запуска программы. После набора данных для одной процедуры Read нажимается клавиша ввода Enter. Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Паскаль. Если соответствие нарушено, то возникают ошибки. Процедура чтения Readln аналогична процедуре Read, единственное отличие в том, что после считывания последнего в списке значения курсор переходит на начало новой строки. Пример: Program primer; Var i, k:integer; c,d, s: real; begin readln (c,d); read(i,k); … end. В данном случае необходимо ввести сначала два действительных числа через пробел. Переменной с присваивается значение, равное первому введенному числу, а переменной d – значение, равное второму введенному числу. После ввода этих значений курсор переходит на начало новой строки (за это отвечает ln следующий за словом Read). Далее требуется ввести еще два целых числа, которые будут присвоены значениям переменных i и k соответственно. Вывод данных Процедура вывода Write производит вывод данных. Общий вид: Write(<список вывода>); В списке вывода могут быть представлены выражения допустимых типов данных (integer, real, char и т.д.) и произвольный текст, заключенный в апострофы. Например, Write(‘Привет’); Write(34.7); Write(45+55); Write(b, d); Процедура Writeln аналогична процедуре Write. Отличие в том, что после вывода последнего в списке выражения курсор переходит на начало новой строки. В процедурах вывода Write и Writeln имеется возможность записи выражения, определяющего ширину поля вывода. При рассмотрении форматов вывода примем следующие обозначения: I, p, q – целочисленное выражение; R - выражение вещественного типа; # - цифра; * - знак «+» или «- »; _ - пробел.

2. Связь задачи и технологии исследований с задачей и технологией разработки программных средств. Основные этапы программирования и решения задач на ЭВМ.

Этапы решения задачи на ЭВМ

Программирование (programming) - теоретическая и практическая деятельность, связанная с созданием программ. Решение задач на компьютере включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера.

1. Постановка задачи:

• сбор информации о задаче;

• формулировка условия задачи;

• определение конечных целей решения задачи;

• определение формы выдачи результатов;

• описание данных (их типов, диапазонов величин, структуры и т. п.).

2. Анализ и исследование задачи, модели:

• анализ существующих аналогов;

• анализ технических и программных средств;

• разработка математической модели;

• разработка структур данных.

3. Разработка алгоритма:

• выбор метода проектирования алгоритма;

• выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

• выбор тестов и метода тестирования;

• проектирование алгоритма.

4. Программирование:

• выбор языка программирования;

• уточнение способов организации данных;

• запись алгоритма на выбранном языке

программирования.

5. Тестирование и отладка:

• синтаксическая отладка;

• отладка семантики и логической структуры;

• тестовые расчеты и анализ результатов тестирования;

• совершенствование программы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

7. Сопровождение программы:

• доработка программы для решения конкретных задач;

• составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.

 

 3. Синтаксис и структура основной программы, подпрограммы и модуля (заголовочного файла).

 Любую программу, написанную на стандарте языка Паскаль, можно условно разделить на следующие основные части:

  • заголовок программы,

  • раздел объявлений и соглашений (декларационная часть),

  • раздел текстов процедур и функций,

  • тело программы (обязательная часть).

Заголовок программы

Строка заголовка программы состоит из зарезервированного слова PROGRAM и имени программы. В Турбо Паскале эта строка не обязательна, и ее можно без ущерба исключить. Но правила хорошего тона в программировании требуют задания некоторого имени программы, чтобы уже при первом знакомстве можно было получить хоть какую-нибудь информацию об ее назначении. Однако не стремитесь привести здесь всю известную Вам информацию о программе - для этих целей можно воспользоваться дополнительными комментариями. Обычно в заголовке достаточно указать имя и версию программы. Следующее за оператором PROGRAM имя является идентификатором и обладает всеми его свойствами. В частности, внутри тела программы не могут быть объявлены объекты, имя которых совпадает с именем программы.

Раздел объявлений и соглашений

PROGRAM {Заголовок программы}

{$ ... } {Глобальные директивы компилятора}

USES {Подключаемые библиотеки}

LABEL {Подраздел объявления глобальных меток}

CONST {Подраздел объявления глобальных констант}

TYPE {Подраздел объявления глобальных типов}

VAR {Подраздел объявления глобальных переменных}

В первой части программы программист сообщает компилятору, какими идентификаторами он обозначает данные (константы и переменные), а также определяет собственные типы данных, которые он в дальнейшем намеревается использовать в данной программе. Например, можно объявить переменные как локальные, допустив тем самым создание объектов с одинаковыми идентификаторами внутри функций и процедур. При этом необходимо следить за тем, чтобы не возникали конфликты между локальными и глобальными объявлениями различных объектов.

Раздел текстов процедур и функций

В этом разделе записываются подпрограммы, осуществляющие сложные действия, которые необходимо произвести неоднократно на разных этапах выполнения программы. Подпрограммы бывают двух типов: прjцедуры (PROCEDURE) и функции (FUNCTION). И те и другие представляют собой программы в миниатюре:

PROCEDURE(FUNCTION) {Заголовок процедуры (функции)}

LABEL {Подраздел объявления локальных меток}

CONST {Подраздел объявления локальных констант}

TYPE {Подраздел объявления локальных типов}

VAR {Подраздел объявления локальных переменных}

BEGIN {Раздел текстов подпрограмм}

END; {Основной блок процедуры или функции}

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

Тело программы

BEGIN {Основной блок программы}

{текст программы}

END.

В этом разделе содержится смысловая часть программы.

Структура программы, или главный порядок

Pascal задумывался автором как учебный язык структурного программирования. Как следствие этого программы, на нем написанные, имеют достаточно простую, но жесткую структуру. Она такова

{ часть объявления имени программы: } Program NameOfProgram; { часть объявления списка подключаемых модулей: } Uses {список модулей через запятую }; { часть объявления констант: } Const {список констант и их значений через ; }; { часть объявления типов пользователя: } Type {список типов пользователя через ; }; { часть объявления переменных: } Var {список переменных и их типов через ;}; { часть основной программы } Begin {точка входа} {операторы основной программы} End. {основная точка выхода и конец программы}

Части Program и Uses не являются обязательными, однако должны быть первыми и единственными в программе. Const, Type и Var частей в программе может существовать множество, их порядок не нормируется и определяется требованиями программирования. Часть основной программы всегда является последней, признаком ее завершения является ключевое слово End с точкой после него. Любая информация после завершения основной части игнорируется компилятором.