КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Текст программы
Алгоритм Всякому вводимому с клавиатуры числу должен предшествовать запрос на дисплее: что вводить и в какой форме. Как и любое значение, вводимое пользователем с клавиатуры, количество чисел (N) должно контролироваться на допустимость введенной величины. Если введено недопустимое значение, требуется выполнить два действия: сообщить об этом и вернуться на запрос нового значения N. Возврат назад возможен двумя способами: командой перехода на метку, поставленную перед оператором запроса или оператором итеративного цикла, причем цикла с "постусловием", так как один раз цикл должен выполниться обязательно. В данном случае используем первый способ, и потому в программе появляется еще один объект – метка. Дадим ей имя vvod. Кроме того, дадим имя нашей программе, например laborator_N_3. В результате в таблице имен добавится две строки:
Таблица 14. Окончание таблицы идентификаторов
Раздел поиска номера обычно включает подготовку и цикл поиска. Так как количество чисел известно, используется арифметический цикл. В тело цикла входит получение очередного числа и, если нужно, запоминание его номера. Если встретится хотя бы одно число, удовлетворяющее условию превышения значения 10.5, номер будет найден, иначе нужно иметь признак, что такого числа не встретилось. В качестве такого признака можно использовать переменную Num, в которую перед циклом поиска заносится значение, невозможное для номера числа: например, –1. Если после цикла Num останется равным –1, следовательно, искомых чисел не встретилось. Таким образом, раздел поиска включает присваивание начального значения переменной Num и цикл, тело которого содержит запрос ввода очередного числа, прием и занесение его в переменную для текущего числа A; проверку, что A >10.5, и если так, запоминание текущего номера в переменной Num. Цикл поиска нужно вести до конца, так как нас интересует последнее число, удовлетворяющее условию выбора. По окончании раздела поиска, в разделе вывода результатов, печатается найденный номер Num, если он не равен –1, иначе выдается сообщение об отсутствии чисел, удовлетворяющих условию задачи. Построение алгоритма здесь приведено очень подробно, чтобы пояснить весь ход рассуждений. В последующих работах примеры построения алгоритмов будут даваться в укрупненном виде – т.е. только основные идеи. Для разработки алгоритма стоит обратиться к материалам лекции по структурному программированию.
Рисунок 6. Алгоритм 31-го варианта На основании построенного алгоритма можно написать текст программы, причем таблица идентификаторов используется для создания раздела описаний, а алгоритм – для выполняемого блока. При написании учтем требования к оформлению текста программы. Получим следующую программу на Паскале. PROGRAM laborator_N_3; { Программа Лабораторной работы N 3 Вариант N 31. гр. Я-007, ст. Умненькая И.Я. } VAR N,Num,i:integer; A:real; LABEL vvod; BEGIN { Выполняемый блок. Первый раздел - ввод данных } vvod: writeln('Сколько будет чисел?'); readln(N); if N < 1 then begin writeln('Нельзя рассматривать меньше 1 числа'); goto vvod; end; { Основной раздел - поиск номера } Num:= -1; {задание признака отсутствия подходящих чисел} for i:=1 to N do begin writeln('Введите очередное число'); readln(A); if A > 10.5 then { если число удовлетворяет условию задачи } Num:=i; { запоминаем его номер } end; { Раздел вывода результатов поиска } if Num=-1 then writeln('Подходящих чисел не было') else writeln('Номер последнего числа,>10.5 равен ', Num); END. Варианты заданий Таблица 15. Варианты заданий лабораторной работы № 3
Дата добавления: 2017-02-01; Просмотров: 134; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |