Книги по PascalABC.NET

Просмотров: 105331

ОКниги Осипова А.В.

Знакомьтесь: Осипов Александр Викторович, инженер-механик по образованию, еще со студенческих лет увлекавшийся вычислительной техникой и посвятивший ей почти полвека своей трудовой жизни. На вопрос, на каких языках программирования писал программы, уклончиво отвечает: "Знаю около 30. И полностью согласен с Аланом Перлисом в том, что "Не стоит изучать язык, который не меняет вашего представления о программировании".

Однажды познакомившись с PascalABC.NET, почувствовал, что этот язык многогранен и лучше подходит для обучения начинающих чем Питон и C++. Чтобы поглубже освоить PascalABС.NET, решил написать книгу о нем. И написал, потратив полтора года своей жизни! Книга "PascalABC.NET: введение в современное программирование" является на сегодняшний момент единственным глубоким справочником по языку, содержащим огромное количество примеров программ.

Его вторая книга - "PascalABC.NET: выбор школьника" является ровно тем, что написано в заголовке. Вы познаете основы языка, научитесь реализовывать линейные алгоритмы, алгоритмы с ветвлением и циклами. В книге дан анализ 70 типичных задач из популярных задачников, разобрана их реализация в PascaLABC.NET. В конце книги излагается простая методика понимания кодов программ, приведенных в КИМ ОГЭ и ЕГЭ. Мы с нетерпением ждём её вторую часть - про последовательности, срезы, лямбды, олимпиадное программирование, а также про всё, что вы боялись спросить о программировании на PascalABC.NET.

Осипов Александр Викторович - уникальный человек. Он не любит жлобства и выкладывет свои книги в свободный доступ.

 

ААбрамян М.Э. «Структуры данных в PascalABC.NET» (в двух частях). Учебное пособие. 

Первая часть содержит полное описание возможностей языка PascalABC.NET, связанных с динамическими массивами и последовательностями, включая обзор всех запросов для последовательностей, как входящих в стандартную библиотеку платформы .NET , так и разработанных специально для стандартной библиотеки PascalABC.NET. Особое внимание уделяется средствам PascalABC.NET, не имеющим прямых аналогов в стандартной библиотеке .NET, в частности, подпрограммам для генерации, ввода и вывода массивов и последовательностей. Детально обсуждаются особенности последовательностей как структур, выполняющих отложенную обработку данных.

Во второй части обсуждаются различные варианты алгоритмов, связанных с нахождением минимальных и максимальных элементов, рассматриваются структуры данных из библиотеки PascalABC.NET (списки, множества, словари, стеки и очереди), а также детально описываются особенности работы с многомерными структурами, в том числе многомерными и невыровненными массивами.

Изложение сопровождается многочисленными примерами, причем основная часть примеров представляет собой решения задач из электронного задачника Programming Taskbook, встроенного в систему PascalABC.NET.

РКниги Валерия Рубанцева.

Валерий Рубанцев - замечательный современный популяризатор программирования. В его арсенале - множество уникальных книг по программированию на Python, C# и PascalABC.NET, написанных увлекательно, с задоринкой, красочно оформленных. Валерий Рубанцев любезно согласился предоставить для нашего сайта некоторые свои книги.

Новости

20.03.21. Опубликован материал "PascalABC.NET и ЕГЭ по информатике 2021"

12.03.21. Опубликован первый интерактивный курс по PascalABC.NET на платформе Stepik.

07.03.21. Вышла версия PascalABC.NET 3.8. Основное: срезы многомерных массивов и распаковка составных параметров лямбда-выражений в переменные. Список основных изменений - здесь.

12.01.21. Вышла версия PascalABC.NET 3.7.2. Список основных изменений - здесь.

05.11.20. Опубликована третья часть книги Осипова А.В. PascalABC.NET. Выбор школьника.

Случайная программа

// Инвертирование массива
// Уровень сложности: 1
procedure Invert(a: array of integer);
begin
  var n := a.Length;
  for var i:=0 to n div 2 - 1 do
    Swap(a[i],a[n-i-1]);
end;

const N = 10;

begin
  var a := ArrRandom(N);
  Writeln('Исходный массив: ');
  a.Println;
  Invert(a);
  Writeln('После инверсии: ');
  a.Println;
  // Стандартная процедура
  Reverse(a);
  Writeln('После второй инверсии: ');
  a.Println;
end.