Ответ(ы) на вопрос:
Гость
Задания 2 и 3.
ОТДЕЛ Задание2+;
ИСПОЛЬЗУЕТ Матем ИЗ "...\Отделы\Числа\", Вывод ИЗ "...\Отделы\Обмен\", Приём;
ПЕР
Массив: РЯД 3, 4 ИЗ ЦЕЛ;
сч1, сч2: ЦЕЛ;
УКАЗ
ОТ сч1 := 0 ДО 2 ВЫП
ОТ сч2 := 0 ДО 3 ВЫП
Массив[сч1, сч2] := Приём.Число();
Вывод.Цепь(" ")
КОН;
Вывод.Цепь("^")
КОН;
ОТ сч1 := 0 ДО 2 ВЫП
ОТ сч2 := 0 ДО 3 ВЫП
Вывод.ЧЦел("%8d ", Массив[сч1, сч2], 0, 0, 0)
КОН;
Вывод.Цепь("^")
КОН;
КОН Задание2.
ОТДЕЛ Задание3+;
ИСПОЛЬЗУЕТ Матем ИЗ "...\Отделы\Числа\", Вывод ИЗ "...\Отделы\Обмен\";
ПЕР
Массив: РЯД 3, 4 ИЗ ВЕЩ;
сч1, сч2: ЦЕЛ;
УКАЗ
ОТ сч1 := 0 ДО 2 ВЫП
ОТ сч2 := 0 ДО 3 ВЫП
Массив[сч1, сч2] := УЗК(Матем.случ())
КОН
КОН;
ОТ сч1 := 0 ДО 2 ВЫП
ОТ сч2 := 0 ДО 3 ВЫП
Вывод.ЧВещ("%.2f ", Массив[сч1, сч2], 0, 0, 0)
КОН;
Вывод.Цепь("^")
КОН
КОН Задание3.
Пример вывода 3-его задания:
D:\Разработки\Глагол\Приложения\Свои>Задание3
0,32 0,48 0,42 0,73
0,92 0,33 0,00 0,04
0,24 0,59 0,62 0,95
Цитирую код отдела "Приём", раз его ещё пока в стандартный выпуск среды разработки не включили, но, по-моему, это лишнее, алгоритм понятен и так. Задачи Приём.Строка() и Приём.Ждать() убрал, они тут не используются, а текста много.
ОТДЕЛ Приём; ИСПОЛЬЗУЕТ ОС ИЗ "...\Отделы\Обмен\", КОС ИЗ "...\Отделы\Обмен\", Ввод ИЗ "...\Отделы\Обмен\", Вывод ИЗ "...\Отделы\Обмен\", Знак ИЗ "...\Отделы\Иное\"; ЗАДАЧА Число-(): ЦЕЛ; (* Целое число *) ПЕР отКлавиш: Ввод.ОтКлавиш; отМышки: Ввод.ОтМышки; Счётчик, сч: ЦЕЛ; Результат: ЦЕЛ; Буфер: ДОСТУП К РЯД ИЗ ЗНАК; Отрицательное: КЛЮЧ; УКАЗ Результат := 0; Счётчик := 0; Отрицательное := ОТКЛ; КОЛЬЦО ЕСЛИ КОС.Опрос(отКлавиш, отМышки) = Ввод.клавиши ТО ЕСЛИ отКлавиш.знак = 0DX ТО ЕСЛИ Отрицательное ТО ВОЗВРАТ -Результат ИНАЧЕ ВОЗВРАТ Результат КОН АЕСЛИ отКлавиш.код = 08H ТО ЕСЛИ Счётчик > 0 ТО Результат := Результат ДЕЛИТЬ 10; Вывод.ЗнакЦепи(отКлавиш.знак); Вывод.ЗнакЦепи(" "); Вывод.ЗнакЦепи(отКлавиш.знак); УМЕНЬШИТЬ(Счётчик) АЕСЛИ Отрицательное ТО Отрицательное := ОТКЛ; Вывод.ЗнакЦепи(отКлавиш.знак); Вывод.ЗнакЦепи(" "); Вывод.ЗнакЦепи(отКлавиш.знак) КОН АЕСЛИ (отКлавиш.код = 2DH) И (ОС.РазмерЦепочкиОбменника() # 0) ТО ПОКА Счётчик > 0 ВЫП УМЕНЬШИТЬ(Счётчик); Вывод.ЗнакЦепи(8X); Вывод.ЗнакЦепи(" "); Вывод.ЗнакЦепи(8X) КОН; ЕСЛИ Отрицательное ТО Отрицательное := ОТКЛ; Вывод.ЗнакЦепи(8X); Вывод.ЗнакЦепи(" "); Вывод.ЗнакЦепи(8X) КОН; Результат := 0; СОЗДАТЬ(Буфер, ОС.РазмерЦепочкиОбменника()); ОС.ЦепочкуИзОбменника(Буфер^); ЕСЛИ (Буфер[0] >= "0") И (Буфер[0] <= "9") ТО Результат := Результат * 10 + (ВЦЕЛ(Буфер[0]) - ВЦЕЛ("0")); Вывод.ЗнакЦепи(Буфер[0]); УВЕЛИЧИТЬ(Счётчик) АЕСЛИ Буфер[0] = "-" ТО Вывод.ЗнакЦепи("-"); Отрицательное := ВКЛ КОН; ОТ сч := 1 ДО РАЗМЕР(Буфер^)-1 ВЫП ЕСЛИ (Буфер[сч] >= "0") И (Буфер[сч] <= "9") ТО Результат := Результат * 10 + (ВЦЕЛ(Буфер[сч]) - ВЦЕЛ("0")); Вывод.ЗнакЦепи(Буфер[сч]); УВЕЛИЧИТЬ(Счётчик) КОН КОН; Буфер := ПУСТО АЕСЛИ (отКлавиш.знак = "-") И (НЕ Отрицательное) ТО ЕСЛИ Результат = 0 ТО Отрицательное := ВКЛ; Вывод.ЗнакЦепи("-") КОН АЕСЛИ отКлавиш.знак = 0X ТО АЕСЛИ (Результат < МАКС(ЦЕЛ) ДЕЛИТЬ 10) И ((отКлавиш.знак >= "0") И (отКлавиш.знак <= "9")) ТО Результат := Результат * 10 + (ВЦЕЛ(отКлавиш.знак) - ВЦЕЛ("0")); Вывод.ЗнакЦепи(отКлавиш.знак); УВЕЛИЧИТЬ(Счётчик) КОН ИНАЧЕ ОС.Спать(50) КОН КОН КОН Число; КОН Приём.
Не нашли ответ?
Похожие вопросы