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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
|
Министерство образования Российской Федерации ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САМАРСКИЙ ГОСУДАРСТВЕННЫЙТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» |
А.Н. ПРОЦЕНКО
ИНФОРМАТИКА
Самара 2005
1. ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ ПРОГРАММ TURBO PASCAL
Среда разработки программ Turbo Pascal включает в себя
1.1. Компоненты
Существуют три видимых компоненты в интегрированной среде: полоса меню в верхней части, область окна в центре и строка статуса внизу.
Многие элементы меню имеют соответствующие горячие клавиши; одно- или двух-ключевые сокращения, которые немедленно активизируют эту команду или диалоговое окно. Можно также отметить мышкой сокращения в строке статуса.
В следующих таблицах перечисляются наиболее используемые в Turbo Pascal горячие клавиши.
Общие горячие клавиши
Таблица 1.1.
Клавиша |
Элемент меню |
Функция |
F1 |
Help |
Показывает экран подсказки. |
F2 |
File/Save |
Сохраняет файл, находящийся в активном окне редактора. |
F3 |
File/Open |
Появляется диалоговое окно и возможность открыть файл. |
F4 |
Run/Go to Cursor |
Запускает Вашу программу до строки, на которой находится курсор. |
F5 |
Window/Zoom |
Масштабирует активное окно. |
F6 |
Window/Next |
Проходит через все открытые окна. |
F7 |
Run/Trace Into |
Запускает Вашу программу в режиме отладки с заходом внутрь процедур. |
F8 |
Run/Step Over |
Запускает Вашу программу в режиме отладки, минуя вызовы процедур. |
F9 |
Compile/Make |
Выполняет операцию Make (см. далее) над программой в текущем окне. |
F10 |
Активизирует полосу меню. |
Горячие клавиши меню
Таблица 1.2.
Клавиша |
Элемент меню |
Функция |
Alt-С |
Compile меню |
Переносит Вас в Compile меню |
Alt-D |
Debug меню |
Переносит Вас в Debug меню |
Alt-E |
Edit меню |
Переносит Вас в Edit меню |
Alt-F |
File меню |
Переносит Вас в File меню |
Alt-H |
Help меню |
Переносит Вас в Help меню |
Alt-O |
Options меню |
Переносит Вас в Options меню |
Alt-R |
Run меню |
Переносит Вас в Run меню |
Alt-S |
Search меню |
Переносит Вас в Search меню |
Alt-W |
Window меню |
Переносит Вас в Window меню |
Alt-X |
File/Exit |
Завершает Turbo Pascal с выходом в DOS |
Горячие клавиши редактирования
Таблица 1.3.
Клавиша |
Элемент меню |
Функция |
Ctrl-Del |
Edit/Clear |
Удаляет выбранный текст из окна |
Ctrl-Ins |
Edit/Copy |
Копирует выбранный текст в карман |
Shift-Del |
Edit/Cut |
Удаляет выбранный текст из окна и помещает его в карман |
Shift-Ins |
Edit/Paste |
Помещает текст из кармана в активное окно |
Ctrl-L |
Search/Search Again |
Повторяет последнюю команду Find или Replace |
F2 |
File/Save |
Сохраняет файл в активном окне редактора |
F3 |
File/Open |
Позволяет Вам открыть файл |
Горячие клавиши управления окнами
Таблица 1.4.
Клавиша |
Элемент меню |
Функция |
Alt-# |
Показывает окно, где # - номер окна, которое Вы хотите посмотреть |
|
Alt-0 |
Window/List |
Показывает список открытых окон |
Alt-F3 |
Window/Close |
Закрывает активное окно |
Alt-F5 |
Window/User Screen |
Показывает экран пользователя |
Shift-F6 |
Window/Previous |
Проходит назад через все открытые окна |
F5 |
Window/Zoom |
Увеличивает/Уменьшает активное окно |
F6 |
Window/Next |
Проходит вперед через все открытые окна |
Ctrl-F5 |
Window/Size/Move |
Изменяет размер или позицию активного окна |
Горячие клавиши встроенной справочной информации
Таблица 1.5.
F1 |
Help/Contents |
Открывает контекстно-ориентирован-ный экран справочной информации |
F1 F1 |
Help/Help on Help |
Вызывает справочную информацию по справочной информации (нужно нажать только F1 если Вы уже находитесь в системе справочной информации) |
Shift-F1 |
Help/Index |
Вызывает оглавление справочной информации |
Alt-F1 |
Help/Previous Topic |
Показывает предыдущий экран справочной информации |
Ctrl-F1 |
Help/Topic Search |
Вызывает специфическую информацию по языку только в редакторе |
Горячие клавиши отладки/запуска
Таблица 1.6.
Клавиша |
Элемент меню |
Функция |
Alt-F9 |
Compile/Compile |
Компилирует текст в активном окне редактора |
Ctrl-F2 |
Run/Program Reset |
Прекращает процесс отладки программы |
Ctrl-F4 |
Debug/Evaluate/Modify |
Вычисляет выражение |
Ctrl-F7 |
Debug/Add Watch |
Добавляет выражение для просмотра |
Ctrl-F8 |
Debug/Toggle BreakPoint |
Устанавливает или очищает условные точки прерывания |
Ctrl-F9 |
Run/Run |
Запускает программу |
F4 |
Run/Go to Cursor |
Запускает программу до позиции курсора |
F7 |
Run/Trace Into |
Выполняет прослеживание внутри процедур |
F8 |
Run/Step Over |
Осуществляет перескакивание через вызовы процедур |
F9 |
Compile/Make |
Выполняет Make (компилирует/ редактирует связи) программы |
1.2. Создание программы
Нажмите F10, чтобы войти в полосу меню, а затем F3 (сокращение для File/Open) для показа диалогового окна Open a File. Вы находитесь в окне ввода, поэтому наберите название файла, в котором будет храниться программа, например MYFIRST (необязательно набирать расширение .PAS это предполагается) и нажмите Enter. Теперь можно приступить к набиранию текста программы, нажимая Enter в конце каждой строки:
Program MyFirst;
Var
A, B: Integer;
Ratio: Real;
Begin
Write(Enter two numbers: );
ReadLn(A, B);
Ratio := A/B;
WriteLn(The ratio is ,Ratio);
Write(Press <Enter> …);
ReadLn;
End.
1.3. Анализ программы
Поскольку Вы набираете и запускаете эту программу, не зная, что она делает, мы приведем здесь точное пояснение. Первая введенная строка задает имя программе MyFirst. Это утверждение необязательно, но неплохо включать его в программу.
Следующие три строки объявляют несколько переменных, со словом var, говорящем о начале объявления переменных. А и В имеют тип Integer (целое число), то есть, они могут содержать целые числа, такие как 52, -421, 0, 32, 283 и так далее. Ratio объявлено как Real (действительное число), это означает, что оно может хранить дробные числа, такие как 423.328 и 0.032, в добавление к целым числам.
Остальная часть программы содержит выполняемые утверждения. Слово begin говорит о начале программы. Утверждения разделяются точкой с запятой и содержат инструкции записи на экран (Write и WriteLn), чтения с клавиатуры (ReadLn) и выполнения вычислений (Ratio := A/B). ReadLn в конце программы приводит к остановке выполнения (пока Вы не нажмете Enter), так что Вы сможете исследовать вывод программы. Выполнение программы начинается с первой инструкции после begin и продолжается до тех пор, пока не встретится end.
1.4. Сохранение программы
После введения Вашей первой программы было бы неплохо сохранить ее на диске. Для этого выберите команду Save из меню File, нажав F10, затем F для появления меню File и S для выбора команды Save. Наиболее легкий способ используйте сокращение для File/Save, F2.
1.5. Компиляция программы
Для компиляции своей первой программы идите к опции Compile в основном меню. Можно нажать F10 С, а Alt-C приведет Вас прямо к этой опции. Alt-F9 это самый быстрый путь.
Turbo Pascal компилирует Вашу программу, изменяя ее с Паскаля (который можно читать)на машинный код для процессора (который может выполнить PC). Вы не увидите машинный код, он хранится в памяти (или на диске).
Как и английский язык, Паскаль имеет грамматические правила, которые нужно выполнять. Однако, в отличие от английского языка, структура языка Паскаль не допускает сленг или плохой синтаксис компилятор должен всегда понимать, ЧТО Вы хотите сказать. В языке Паскаль, если Вы используете несоответствующие слова или символы в утверждении или если неправильно его организовали, то получите ошибку компиляции (синтаксическую).
Наиболее вероятной ошибкой компиляции для начинающего программиста на языке Паскаль будет:
Паскаль требует, чтобы Вы объявили все переменные, типы данных, константы и подпрограммы все идентификаторы перед их использованием. Если Вы обратитесь к необъявленному идентификатору, то получите ошибку. Другой частой ошибкой является несоответствие пар begin .. end, присваивание несовместимым типам данных (например присваивание действительных чисел целому), число и тип параметров не соответствует в вызовах процедур и функций и т. д.
Когда Вы начинаете компиляцию, в центре экрана появляется окно, содержащее информацию о данной компиляции. Если во время компиляции не произошло никаких ошибок, то в этом окне появится сообщение “Compilation successful: press any key” (Компиляция успешна: нажмите любую клавишу). Окно остается на экране до тех пор, пока Вы не нажмете клавишу.
Если во время компиляции произошла ошибка, Turbo Pascal останавливается, устанавливает курсор на ошибку в редакторе и показывает сообщение об ошибке вверху редактора. Первое нажатие клавиши очистит это сообщение, а Ctrl-Q W будет показывать его до тех пор, пока Вы не измените файл или не перекомпилируете его. Сделайте исправления, сохраните обновленный файл и компилируйте снова.
1.6. Выполнение программы
После исправления ошибок идите в основное меню и выберите Run/Run (или нажмите Ctrl-F9). Вы находитесь на экране пользователя, и на этом экране появится сообщение:
Enter two numbers:
Наберите два любых целых числа с пробелом между ними и нажмите Enter. Появится следующее сообщение:
The ratio is
а за ним отношение первого числа ко второму. В следующей строке появится сообщение “Press <Enter>…”, а программа будет ждать нажатия клавиши Enter. Чтобы посмотреть вывод своей программы, выберите Window/User Screen (или нажмите Alt-F5).
Если во время выполнения программы произошла ошибка, то на экране появится сообщение, которое выглядит следующим образом:
Run-time error <errnum> at <segment>:<offset>
где <errnum> - это соответствующий номер ошибки, а <segment>:<offset> - это адрес в памяти, где произошла ошибка. Вы окажетесь в точке расположения ошибки в своей программе с описательным сообщением об ошибке, показанным в строке статуса редактора. Пока сообщение находится в строке статуса редактора, можно нажать F1 для получения справочной информации по конкретной ошибке. Нажатие любой другой клавиши приводит к исчезновению сообщения об ошибке. Если Вам нужно будет найти местоположение ошибки снова, выберите Search/Find Error.
Когда Ваша программа закончит выполнение, Вы вернетесь в то место программы, с которого начинали. Теперь Вы можете модифицировать программу, если хотите, Если Вы выберете команду Run/Run перед внесением изменений в свою программу, Turbo Pascal немедленно выполнит ее снова без перекомпиляции.
2. ПРОГРАММИРОВАНИЕ НА TURBO PASCAL
Язык Паскаль был разработан Виртом в начале 70-х годов, как язык обучения программированию. Если у Вас есть опыт программирования, то Вам будет не трудно его освоить
2.1. Элементы программирования
Большинство программ создаются для решения какой-нибудь задачи. Решение задачи достигается обработкой информации или данных. Поэтому, как программисту, Вам необходимо знать, как:
Вы можете написать и упорядочить свои команды так, чтобы:
2.2. Типы данных
Целые числа это числа, с помощью которых Вы учились считать (1, 5, и 752, например).
Вещественные числа имеют дробные части (3.14159) и экспоненты (2.579х10**24). Они также известны как числа с плавающей точкой.
Символы это любые буквы алфавита, символы и цифры 0-9. Они могут использоваться отдельно (а, z, !, 3) или объединяться в символьные строки (Это только проверка).
Целочисленные типы данных
Таблица 2.1.
Тип |
Диапазон |
Размер в байтах |
Byte (целое длиной в байт) |
0 .. 255 |
1 |
Shortint (короткое целое) |
-128 .. 127 |
1 |
Integer (целое) |
-32768 .. 32767 |
2 |
Word (длиной в слово) |
0 .. 65535 |
2 |
Longint (длинное целое) |
-2147483648 .. 21474833647 |
4 |
2.3. Тип массив
Массивы содержат фиксированное число компонент одного типа тип компоненты. В типах индекса, по одному для каждой размерности массива, указывается число элементов. Допустимыми типами индекса являются все порядковые типы, за исключением Longint. Массив может быть проиндексирован по каждой размерности всеми значениями соответствующего индекса; число элементов поэтому равно числу значений каждого индекса. Максимальное число размерностей четыре.
Приведем пример объявления переменной типа массив:
Var
Mas1: array[1..100] of Real;
В приведенном примере объявлена матрица вектор из ста элементов вещественного типа.
Mas2: array[1..10, 1..10] of Integer;
В обоих случаях объявляется матрица целых чисел размером 10х10.
Для доступа к элементам массива необходимо использовать идентификатор массива за которым указывается индекс (или набор индексов), задающий элемент. Например:
Mas1[8] - указывает на восьмой элемент;
I := 4; J := 5;
Mas2[I, J] - указывает на пятый элемент в четвертой строке.
2.4. Операторы
Существует восемь типов операторов. Из них здесь будут рассмотрены пять из них: присваивания, арифметические, отношений, логические и над строками.
Большинство операторов в Паскале бинарные, имеют два операнда; унарные операторы имеют один операнд. Бинарные операторы имеют обычно алгебраическую форму, например a+b. Унарный оператор предшествует своему операнду, например b.
В сложных выражениях порядок выполнения операций определяется правилами приоритета.
Основной операцией является операция присваивания: Ratio := A/B. В Паскале оператор присваивания это комбинация двоеточия и знака равенства: “:=”. В примере значение выражения A/B, стоящее справа от “:=”, присваивается переменной Ratio, стоящей слева.
Паскаль поддерживает обычный стандартный набор бинарных арифметических операторов, которые выполняются над целыми и вещественными числами:
2.5. Вывод
Программа, которая не выводит какую-либо информацию, не имеет смысла.
2.5.1. Процедура WriteLn
Назначение ее запись (вывод) информации на экран.
WriteLn(элемент, элемент, …);
Каждый элемент это то, что Вы хотите вывести на экран и может быть: значением, таким как целое или вещественное число (3, 42, -1732.3), символом (a, Z), строкой (Здравствуй мир), булевским значением (True). Кроме того, может быть именованная константа (имя константы), переменная, вызов функции, если она возвращает значение целого типа, вещественное число, символ, строку или булевский тип. Все элементы печатаются в строку в заданном порядке. После вывода курсор устанавливается на начало следующей строки. Если есть необходимость оставить курсор в этой же строке после послед
Следующими операторами описывается вывод:
A := 1; B := 2; C := 3;
Name := Frank;
WriteLn(A, B, C); 123
WriteLn(A, , B, , C); 1 2 3
WriteLn(Hi, Name); HiFrank
WriteLn((Hi,, , Name, .); Hi, Frank.
При выводе можно дополнительно использовать параметры определения ширины поля для данного элемента.
WriteLn(элемент: длина, …);
Рассмотрим следующую программу и полученный в результате вывод:
A := 10; B := 2; C := 100;
WriteLn(A, B, C); 102100
WriteLn(A:2, B:2, C:2); 10 2100
WriteLn(A:3, B:3, C:3); 10 2100
WriteLn(A, B:2, C:4); 10 2 100
X := 421.53;
WriteLn(x:6:2); 421.53
WriteLn(x:8:2); 421.53
WriteLn(x:8:4); 421.5300
2.5.2. Ввод
ReadLn(элемент, элемент, …); ,
В этой процедуре каждый элемент это переменная целого, вещественного, символьного типа или строка. Числа должны отделяться друг от друга пробелами или нажатием клавиш Enter.
2.6. Условные операторы
Иногда бывает необходимо выполнить часть программы, если заданное условие имеет значение True или False, или когда заданное выражение принимает определенное значение.
2.6.1. Оператор If
Общий формат оператора:
If выражение
Then оператор 1
Else оператор 2,
Два важных момента, на которые следует обратить внимание при использовании If/then/else.
Во-первых, оператор else не является обязательным, другими словами, допустимо использовать оператор if в следующем виде:
If выражение
Then оператор 1.
В этом случае оператор 1 выполняется только тогда, когда выражение имеет значение True. В противном случае оператор 1 пропускается и выполняется следующий оператор.
Во-вторых, если необходимо выполнить более одного оператора, в случае, когда выражение принимает значение True или False, то следует использовать составной оператор.
Составной оператор это ключевое слово Begin, несколько операторов разделенных точкой с запятой и ключевое слово End.
В примере используется один оператор:
If B = 0.0 Then
WriteLn(Деление на нулю невозможно.)
Использование составного оператора в предложении Else:
Else
Begin
Ratio := A/B;
Writeln(Отношение =, Ratio)
End;
2.6.2. Оператор выбора Case
Оператор Case мощное средство выбора альтернатив. Он позволяет уменьшить количество операторов If.
Оператор Case состоит из выражения (селектора) и списков операторов, каждому из которых предшествует метка того же типа, что и селектор. Это значит, что в данный момент выполняется тот оператор, у которого значение совпадает с текущим значением селектора. Если совпадения значений не происходит, то не выполняется ни один из операторов, входящих в case
Case BirdSight of
C, c: Curlens := Curlens + 1;
H, h: Herons := Herons + 1;
E, e: Egrets := Egrets + 1;
T, t: Terns := Terns + 1;
end; {case}
2.7. Цикл.
В случае, когда при выполнении какого-либо условия (или невыполнения), необходимо выполнить группу операторов повторно, используются циклы.
Существует три основных вида циклов: цикл while, цикл repeat и цикл for. Рассмотрим их.
2.7.1. Цикл while.
Цикл while используется для проверки некоторого условия в начале цикла. Введите следующую программу:
Program Hello;
Var
Count: Integer;
Begin
Count: = 1;
While (Count <= 10) do
Begin
Writeln ( Здравствуй и прощай ! );
Inc (Count);
End;
Writeln ( Это конец);
End.
Во-первых, сначала переменной Count присвоится значение равное 1. Затем, при входе в цикл проверяется условие: значение Count меньше или равно 10. Если да, то выполняется тело цикла (операторы, находящиеся между ключевыми словами begin…end.) На экран выводится сообщение «Здравствуй и прощай». Значение Count увеличивается на 1. Возврат на начало цикла. Значение Count проверяется заново и тело цикла выполняется вновь, до тех пор пока значение переменной Count удовлетворяет условию. Как только значение Count становится равным 11, цикл завершается, и на экран выводится сообщение «Это конец».
2.7.2. Цикл Repeat … Until
Второй цикл Repeat … Until рассмотрим на примере программы DORATIO.PAS:
Program DoRatio;
Var
A, B: Integer;
Ratio: Real;
Ans: Char;
Begin
Repeat
Write(Введите два числа);
ReadLn(A, B);
Ratio := A/B;
WriteLn(Отношение равно, Ratio);
WriteLn(Повторить? (Y/N)');
ReadLn(Ans);
Until UpCase(Ans) = N;
End.
Как описывалось ранее, в этой программе повторяется выполнение операторов, пока ответ на вопрос n или N (Повторить? Y/N). Другими словами, Repeat и Until повторяются до тех пор, пока значение выражения при Until не будет True.
Существуют три основных отличия от цикла While:
program Hello;
var
Count: Integer;
Begin
Count := 1;
Repeat
WriteLn(Здравствуй и прощай!);
Inc(Count);
Until Count > 10;
WriteLn(Это конец”);
End.
Отметим, что теперь переменная Count проверяется на значение больше 10 (а в While было Count <= 10).
В заключение, в цикле Repeat может использоваться просто группа операторов, а не составной оператор. При использовании этого цикла не используются слова Begin … End, как в случае с циклом While.
Запомните, что цикл Repeat выполнится хотя бы один раз, в то время, как цикл While может ни разу не выполниться в зависимости от значения выражения.
2.7.3. Цикл For
Цикл For существует во многих языках программирования. В Паскале тоже. Однако, вариант этого цикла в Паскале как эффективен, так и ограничен.
Обычно, набор операторов выполняется фиксированное число раз, пока переменная (индексная) принимает значение в указанном диапазоне. Модифицируем знакомую программу HELLO следующим образом:
Program Hello;
Var
Count: Integer;
Begin
For Count := 1 to 10 Do
WriteLn(Здравствуй и прощай!);
WriteLn(Это конец);
End.
При выполнении этой программы видно, что цикл For выполняется так же, как и циклы While и Repeat. Фактически эквивалентно циклу While.
Формат цикла For:
For индекс:= выражение 1 to выражение 2 do оператор
Где индекс скалярная переменная (целого типа, символьного, булевского и любого перечисленного типа);
Выражение 1 и выражение 2 выражения типа, совместимого с типом индекса; оператор одиночный или составной оператор. Индекс увеличивается на 1 после каждого выполнения цикла Индекс можно уменьшить на 1. Для этого ключевое слово to заменяется на downto.
Цикл for эквивалентен следующей программе с циклом while:
Index :=expr1;
While index <= expr2 do
Begin
Оператор;
Inc (index)
End;
Главный недостаток цикла for это возможность уменьшить или увеличить индекс только на 1.
Основные преимущества краткость, возможность использования символьного и перечислимого типа в диапазоне значений.
2.8. Процедуры и функции.
Вы изучили условное и итеративное выполнение операторов программы. Теперь посмотрим, как можно выполнить один и тот же набор команд в разных местах программы и с разными данными. Можно объединить эту группу операторов в подпрограмму, которую можно вызвать по необходимости.
В Паскале есть два вида подпрограмм: процедуры и функции.
Главное различие между ними это то, что функция возвращает значение и может быть использована в выражении:
X := sin(A);
В то время, как процедура может быть вызвана:
WriteLn (“это проверка”);
Однако перед знакомством с процедурами и функциями, необходимо рассмотреть структуру программ.
2.9. Структура программ.
В стандартном Паскале программы имеют жесткий формат:
Program имя программы
Label
Метки;
Const
Объявление констант;
Type
Объявление типов данных;
Var
Объявление переменных;
Procedure и function;
Begin
Тело программы
End.
Наличие всех пяти секций объявлений Label, Const, Type, Var, Procedure и function в Вашей программе необязательно. Однако для стандартного Паскаля, если они присутствуют, порядок их следования строго регламентирован, и в программе они должны присутствовать только один раз. За секцией объявлений, следуют процедуры и функции, и только затем тело программы.
Turbo Pascal обеспечивает более гибкую структуру программы. Главное это оператор program должен быть первым, а тело программы последним. Порядок описания остальных секций жестко не регламентирован, но идентификаторы должны быть объявлены до их использования во избежание ошибок компиляции.
2.10. Структура процедуры и функции.
Процедуры и функции, известные под общим именем как подпрограммы могут быть описаны в любом месте программы, но до тела главной программы. Формат процедур:
Procedure имя процедуры (параметры);
Label
Метки;
Const
Объявление констант;
Type
Объявление типов данных;
Var
Объявление переменных;
Procedure, function;
Begin
Тело главной процедуры;
End.
Функции имеют такой же формат, как и процедуры, только они начинаются с заголовка function и заканчиваются типом данных возвращаемого значения:
Function имя функции (параметры): тип данных;
Имеются только два различия между программами, процедурами и функциями:
Процедуры и функции могут иметь описание своих констант, типов данных, переменных и свои процедуры и функции. Но все эти элементы могут быть использованы только в тех процедурах и функциях, где они объявлены.
2.11. Пример программы.
Рассмотрим версию программы DORATIO, в которой используются процедура получения двух значений и функция, определяющая их отношение:
Program DoRatio;
Var
A, B: Integer;
Ratio: Real;
Procedure GetData (var X, Y: Integer);
Begin
Writeln (Введите два числа:);
Readln (X, Y);
End;
Function GetRatio (I, J: Real);
Begin
GetRatio := I / J;
End;
Begin
GetData (A, B);
Ratio:= GetRatio (A, B);
Writeln (Отношение равно, Ratio);
End.
Это, конечно, не улучшение первоначальной программы, так как она имеет большой размер и медленнее выполняется. Но она показывает как используются и работают процедуры и функции.
Номер варианта выбирается по последней цифре номера зачетной книжки. Контрольную работу оформить в виде распечатки текстов программ.
Вариант №0
Ввести с клавиатуры три пары чисел. Найти произведение каждой пары и определить, какое из них минимально. Предусмотреть вывод данных на дисплей.
Дано действительное b. Найти среди чисел
1, 1+1/2, 1+1/3....
первое большее b. Определить номер этого числа.
Вариант №1
Предусмотреть вывод данных на дисплей.
Вариант№2
Найти первый член последовательности, для которого выполняется условие: abs(an-an-1). Вывести на экран an и n.
Вариант №3
4.3. Начав тренировки, спортсмен в первый день пробежал х км. Каждый следующий день он увеличивал норму на 10 % от предыдущего дня. Через сколько дней спортсмен будет пробегать больше у км.?
Вариант №4
Ввести с клавиатуры 7 чисел. Вывести на дисплей четные и нечетные числа, указать число четных и нечетных чисел.
4.4. Составить таблицу степеней числа 3:
3n, n=1, 2, 3...i
Прекращать печатать таблицу, когда 3n превысит заданное число D. Вычисления проводить, не используя операцию возведения в степень.
Вариант №5
4.5.В очередном году урожайность ячменя составила 20ц с гектара. В среднем каждые два года урожайность увеличивается на 5%. Определить через сколько лет урожайность превысит Nц с га.
Вариант №6
Задать двумерный массив размером 4*4. Вывести массив в виде таблицы. Предусмотреть вывод элементов задаваемого столбца и задаваемой строки массива.
4.6.Среди последовательности чисел
1, 1+1/2, 1+1/2+1/3, . . .
найти первое , большее заданного числа а. Вывести на экран само число и его номер.
Вариант №7
4.7.Вычислить сумму последовательности натуральных чисел. Вычисления прекратить, когда сумма превысит заданное значение N. Вывести сумму и число натуральных чисел, вошедших в вычисленную сумму.
Вариант №8
Разработать программу вычисления корней квадратного уравнения
ax2+bx+c=0.
4.8. Вычислять произведение последовательности натуральных чисел. Вычисления прекратить, когда произведение превысит заданное значение N. Вывести значение произведения и количество натуральных чисел, вошедших в произведение.
Вариант №9