- •Лабораторная работа 1. Программирование алгоритмов линейной структуры
- •Задания для самостоятельного выполнения лабораторной работы 1:
- •Лабораторная работа 2. Численные переменные и типы данных
- •Задания для самостоятельного выполнения лабораторной работы 2:
- •Лабораторная работа 3. Логические переменные
- •Задания для самостоятельного выполнения лабораторной работы 3.
- •Лабораторная работа 4. Управляющие конструкции языка. Условный и составной операторы.
- •Задания для самостоятельного выполнения лабораторной работы 4:
- •Лабораторная работа 5.
- •Задания для самостоятельного выполнения лабораторной работы 5
- •Лабораторная работа 6. Управляющие конструкции языка. Оператор безусловного перехода.
- •Задания для самостоятельного выполнения лабораторной работы 6:
- •Лабораторная работа 7. Графические возможности. Графический режим. Система координат
- •Задания для самостоятельного выполнения лабораторной работы 7.
- •Лабораторная работа 8. Циклические конструкции. Оператор цикла с предусловием
- •Задания для самостоятельного выполнения лабораторной работы 8.
- •Лабораторная работа 9. Циклические конструкции. Оператор цикла с постусловием
- •Задания для самостоятельного выполнения лабораторной работы 9.
- •Лабораторная работа 10. Циклические конструкции. Оператор цикла с параметром
- •Задания для самостоятельного выполнения лабораторной работы 10.
- •Лабораторная работа 11. Символьные переменные Тип данных "char"
- •Задания для самостоятельного выполнения лабораторной работы 11.
- •Лабораторная работа 12. Массивы.
- •Задания для самостоятельного выполнения лабораторной работы 12.
- •Лабораторная работа 13. Методы обработки массивов
- •Задания для самостоятельного выполнения лабораторной работы 13.
- •Лабораторная работа 14.
- •Задания для самостоятельного выполнения лабораторной работы 14.
Задания для самостоятельного выполнения лабораторной работы 5
1 Ввести номер дня недели и вывести соответствующий ему день недели на русском и английском языках.
2 Ввести номер месяца и вывести соответствующее ему название на русском языке.
3 Введите номер месяца. Напечатайте соответствующее месяцу время года: "зима", "весна", "лето", "осень".
4 Введите время (только часы). Напечатайте соответствующее этому времени сообщение: "Доброе утро", "Добрый день", "Добрый вечер", "Доброй ночи".
5 Зведите количество посадочных мест. Напечатайте соответствующий этому количеству вид транспорта: "велосипед", "мотоцикл", "легковой автомобиль", "микроавтобус", "автобус". (Возможны другие варианты)
6 Составить программу, которая выводит сообщение о своих возможностях {Введите номер необходимой операции:1 - сумма; 2 - разность; 3 - произведение; 4 - частное; }
7 Составить программу, которая выводит сообщение о своих возможностях {Введите номер необходимой функции:1 - квадрат; 2 - корень квадратный; 3 - синус; 4 - косинус}
8 Напишите программу, выводящую сообщение о возможных сообщениях {1 – фамилия ; 2- имя; 3 – отчество; 4 - год рождения}
9Напишите программу для вычисления степени введённого с клавиатурычисла. Степень в диапазоне 0 .. 9.
10Определите количество символов, из которых состоит целое положительное число х.
Лабораторная работа 6. Управляющие конструкции языка. Оператор безусловного перехода.
В языке программирования Паскаль, и следовательно в системе программирования TurboPascal 7.0 поддерживаются современные методологии проектирования программ (нисходящее, модульное проектирование, структурное программирование).
Концепция структурного программирования пришла в своё время на смену линейному программированию, реализованному в таких языках программирования как Бейсик. 3 настоящее время наиболее применяемой является структурная концепция программирования. 3 структурном программировании принят естественный порядок выполнения программы: все операторы выполняются последовательно один за другим в том порядке, как они записаны. Для структурированных программ характерны легкость отладки и корректировка, низкая частота ошибок.
Описанный в данной лабораторной работе безусловный оператор, строго говоря, просто "запрещён" структурной концепцией как грубо нарушающий её основные принципы, и является "атавизмом" оставшимся как воспоминание о более примитивном линейном программировании. Система программирования TurboPascal 7.0 обладает достаточно мощными средствами, позволяющими полностью отказаться от применения этого оператора.
Учитывая все описанные выше причины, настоятельно рекомендуется вообще отказаться от использования оператора безусловного перехода, или свести его применение к минимуму. Если же вы всё-таки решили применить его в своей программе, то вы должны помнить, что использовать этот оператор следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. 5е-зусловный переход можно осуществлять далеко не из каждого места программы. Так, нельзя с помощью этого оператора перейти из основной программы в подпрограмму, или выйти из подпрограммы, не рекомендуется осуществлять переход внутрь структурированного (составного) оператора, т.к. он может дать неправильный результат, с помощью оператора перехода, расположенного вне условного оператора или оператора цикла, нельзя перейти внутрь этого условного оператора или оператора цикла и т.д.
Оператор безусловного перехода.
Оператор безусловного (быстрого) перехода GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению программы, начиная с заданного оператора.
Форма записи оператора.
GOTO<метка>
Он указывает, что дальнейшая работа программы должна продолжатся с оператора, на котором стоит <метка>. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана в операторе GOTO, и описана в разделе описания меток.
Описание меток.
Метки используемые в TP, могут быть двух типов:
целым числом в диапазоне от 0 до 9999;
обычным идентификатором.
Все перечисленные метки должны быть перечислены в разделе объявления меток, начинающимся зарезервированным словом label, например:
label 1, 2, MetJca;
Одной меткой можно пометить только один оператор. Метка от помеченного оператора отделяется двоеточием. Метка может устанавливаться перед любым оператором, в том числе и перед пустым оператором. Например:
1: Write(‘Привет’);
Пустой оператор.
Пустой оператор не предписывает никаких действий. По определению он представляет собой пустую совокупность символов. Как и все операторы, пустой оператор может быть помечен меткой.
Примеры программ.
Пример 1.
Найти частное от деления целых чисел.
PROGRAM Ех_1;
LabelOut; {описаниеметки}
Var X,Y,Res: Integer;{описание переменных}
Begin
Write(‘Введите делимое: ‘); {вывод сообщения на экран}
Readln(X); {ввод числа}
Write( ‘Введите делитель: ‘);
Redln(Y);
if Y = 0 then {ветвление}
begin {составной оператор}
Writeln(‘деление на ноль’);
GOTO Out; {использование GOTO}
end;
Res := X div Y; Write (‘Частное = ‘,Res);
Out: {метка на "пустой" оператор}
End.
ПРИМЕР2
Программа определения частного действительных чисел, исключающая деление на ноль, и производящая запрос об окончании работы программы.
PROGRAMM Ех_2 ;
Label1, 2;
Varх,у,res: real; s: byte;
Begin
1: Write(‘Введитеделимое:’); Readln(x); Write(‘Введитеделитель:’); Readln(у);
if Y = 0 then beginWriteln(‘делениенаноль’); GOTO 2; end;
res := x/y; Writeln(‘Частное =’ ,res);
2: Write(‘Продолжитьвычисления? 1-да, 2-нет. :’); Readln(s);
if s = 1 then GOTO 1;
End.
Контрольные вопросы.
1 Назовите причины нежелательного использования оператора безусловного перехода.
2 Что такое метка? Как она описывается и используется?
3 Что такое пустой оператор?