W Cat - Описание языка PascalABC.NET
- Название:Описание языка PascalABC.NET
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - Описание языка PascalABC.NET краткое содержание
PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.
Описание языка PascalABC.NET - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Рассмотрим еще одно задание группы ExamBegin, особенностью которого является вывод в качестве результата элементов двумерного массива.
ExamBegin28°. На вход в первой строке подаются два целых положительных числа M и N , во второй строке — вещественное число D , а в третьей строке — набор из M вещественных чисел. Сформировать и вывести двумерный вещественный массив размера M × N , у которого первый столбец совпадает с исходным набором чисел, а элементы каждого следующего столбца равны сумме соответствующего элемента предыдущего столбца и числа D (в результате каждая строка массива будет содержать элементы арифметической прогрессии ). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 7 экранных позиций.
При запуске программы-заготовки, созданной для этого задания, окно задачника примет следующий вид:

Анализируя исходные данные, можно заметить, что полученная матрица должна иметь 8 строк, тогда как на экране отображаются только первые пять. Это связано с тем, что по умолчанию используется режим свернутого" отображения данных, при котором на экране выводится только несколько начальных строк. Признаком того, что имеются данные, не выведенные на экране, является кнопка, которая отображается в правом верхнем углу раздела исходных данных (на этой кнопке изображается стилизованная стрелка, направленная вниз). Для вывода всех данных достаточно нажать эту кнопку; можно также нажать клавишу Insили выполнить щелчок мышью в любом месте раздела с данными задания (кроме раздела, содержащего формулировку). Если выполнить эти действия для нашего окна, то оно изменится следующим образом:

Повторный щелчок мышью, нажатие клавиши Insили кнопки (на которой в данной ситуации будет отображаться стрелка, направленная вверх -- см. рисунок) восстанавливает сокращенное" отображение данных. Заметим, что в режиме "сокращенного" отображения нумеруется только первая строка данных, а в режиме полного отображения нумерацией снабжаются все строки.
Дополнительные возможности, связанные с просмотром данных большого размера, будут описаны далее, в пункте, посвященном задачам повышенной сложности.
Если закрыть окно задачника, находясь в режиме отображения всех данных, то при последующих запусках программы окно будет сразу отображаться в этом режиме.
Приведем вариант правильного решения данной задачи (в этом варианте учитывается, что результирующий двумерный массив имеет не более 10 строк и столбцов; соответствующее условие приведено в преамбуле к описанию группы ExamBegin):
usesPT4Exam;
var
m, n, i, j: integer;
d: real;
a: array[1..10, 1..10] of real;
begin
Task('ExamBegin28');
readln(m, n, d);
fori := 1 tom do
read(a[i, 1]);
forj := 2 ton do
fori := 1 tom do
a[i, j] := a[i, j - 1] + d;
fori := 1 tom do
begin
forj := 1 ton do
write(a[i, j]:7:2);
writeln;
end;
end.
В приведенном решении следует обратить особое внимание на организацию ввода-вывода. Укажем две особенности, связанные с вводом. Во-первых, несмотря на то что по условию число d находится во второй строке, мы смогли включить его в один список с предшествующими числами m и n (поскольку при чтении числовых данных переход на новую строку выполняется автоматически). Во-вторых, при чтении элементов исходного набора необходимо использовать вариант процедуры read без суффикса ln", чтобы не пропустить оставшиеся в этой строке числа.
При выводе полученного двумерного массива необходимо обеспечить его правильное форматирование : каждый элемент должен выводиться на семи экранных позициях с двумя дробными знаками и, кроме того, каждая строка массива должна выводиться на новой экранной строке. Это достигается за счет использования соответствующих атрибутов форматирования и явного перехода на новую строку с помощью процедуры writeln без параметров.
Примечание.Заметим, что в заданиях группы Matrix, также посвященной обработке двумерных массивов, специальные действия по форматированию полученных массивов выполнять не требуется, так как задачник автоматически форматирует все полученные результаты. Таким образом, задания группы ExamBegin более приближены" к реальной экзаменационной ситуации, в которой программа учащегося должна не только обрабатывать исходные данные, но и обеспечивать наглядное отображение результатов.
Группа ExamTaskC содержит 100 типовых заданий, аналогичных заданиям, которые предлагаются на ЕГЭ по информатике в качестве задач повышенной сложности (задача C4). Основную часть данной группы составляют задания на обработку сложных наборов данных (записей) с элементами-полями различных типов. В подобных заданиях требуется правильно выбрать способ хранения данных и организовать их эффективную обработку; при этом обычно требуется применить несколько базовых алгоритмов, например, алгоритм суммирования или нахождения минимума/максимума и алгоритм поиска нужного элемента или сортировки набора данных по требуемому ключу. В группу ExamTaskC включены также задания повышенной сложности на обработку текстовых данных (подобные задания содержатся в завершающем разделе данной группы).
Следует заметить, что возможность автоматической генерации больших наборов исходных данных, предоставляемая задачником Programming Taskbook, позволяет существенно ускорить тестирование учебных программ и сделать его более надежным, что, в свою очередь, повышает эффективность изучения типовых приемов решения задач группы C.
В заданиях группы ExamTaskC ввод и вывод имеет те же особенности, что и в заданиях группы ExamBegin.
Рассмотрим следующее задание.
ExamTaskC25°. На вход подаются сведения об абитуриентах. В первой строке указывается количество абитуриентов N , каждая из последующих N строк имеет формат
<���Номер школы> <���Год поступления> <���Фамилия>
Номер школы содержит не более двух цифр, годы лежат в диапазоне от 1990 до 2010. Для каждого года, присутствующего в исходных данных, вывести общее число абитуриентов, поступивших в этом году (вначале выводить год, затем число абитуриентов). Сведения о каждом годе выводить на новой строке и упорядочивать по возрастанию номера года.
Читать дальшеИнтервал:
Закладка: