Programming Taskbook


E-mail:

Password:

User registration   Restore password

Russian

SFedU SMBU

Electronic problem book on programming

©  M. E. Abramyan (Southern Federal University, Shenzhen MSU-BIT University), 1998–2025

 

Tasks | Overview

Next


Overview

Programming Taskbook contains the following task groups:

  • Begin — Input-output and assignment (40 tasks; all tasks are available in the PT4Mini Edition),
  • Integer — Integers (30 tasks; all tasks are available in the PT4Mini Edition),
  • Boolean — Logical expressions (40 tasks; all tasks are available in the PT4Mini Edition),
  • If — Conditional statement (30 tasks; 6 tasks are available in the PT4Mini Edition),
  • Case — Selection statement (20 tasks; 5 tasks are available in the PT4Mini Edition),
  • For — Loop with the parameter (40 tasks; 9 tasks are available in the PT4Mini Edition),
  • While — Loop with the condition (30 tasks; 8 tasks are available in the PT4Mini Edition),
  • Series and ZSeries — Numerical sequences (40 tasks; 7 tasks are available in the PT4Mini Edition),
  • Proc, Func, and ZFunc — Procedures and functions (60 tasks; 7 tasks are available in the PT4Mini Edition),
  • Minmax and ZMinmax — Minimums and maximums (30 tasks; 6 tasks are available in the PT4Mini Edition),
  • Array and ZArray — One-dimensional arrays (140 tasks; 15 tasks are available in the PT4Mini Edition),
  • Matrix and ZMatrix — Two-dimensional arrays (matrices) (100 tasks; 8 tasks are available in the PT4Mini Edition),
  • String — Characters and strings (70 tasks; 8 tasks are available in the PT4Mini Edition),
  • File — Binary files (90 tasks; 13 tasks are available in the PT4Mini Edition),
  • Text — Text files (60 tasks; 10 tasks are available in the PT4Mini Edition),
  • Param and ZParam — Structured data types in procedures and functions (70 tasks; 9 tasks are available in the PT4Mini Edition),
  • Recur — Recursion (30 tasks; 12 tasks are available in the PT4Mini Edition),
  • Dynamic and Dynamic (obj) — Dynamic data structures (80 tasks; 17 tasks are available in the PT4Mini Edition),
  • Tree and Tree (obj) — Trees (100 tasks, 20 tasks are available in the PT4Mini Edition),
  • TablBase — Tabular data processing (30 tasks; all tasks are available in the PT4Mini Edition),
  • TablExt — Additional tasks for tabular data processing (100 tasks; all tasks are available in the PT4Mini Edition).

Task texts do not contain notions that are specific for some programming language.

All elements of any sequence of real numbers are supposed to contain different values, so each sequence of real numbers contains just one minimal and maximal element. Sequences of integers may contain elements with equal values, so such sequences may have several elements with minimal and maximal values. Numerical arrays and files also satisfy these conditions.

If a task does not specify the maximal size of an input array then this size should be considered as 10 for one-dimensional arrays and 10 ´ 10 for two-dimensional arrays.

The "order number" notion is used for array elements; the first element of the one-dimensional array named A has the order number 1 and is denoted as A1. Similarly, the first element of the two-dimensional array named B is denoted as B1,1. Lines and rows of two-dimensional array are also numbered from 1. Such approach does not depend on a specific programming language and corresponds to traditional mathematical notation.

At the same time, since in most modern programming languages arrays and other collections are always indexed from 0, the Series, Minmax, Array, and Matrix group versions were added to the taskbook starting with version 4.19. In these versions, indices starting from 0 are used instead of ordinal numbers. The new versions were named ZSeries, ZMinmax, ZArray, ZMatrix (the prefix Z in these names can be interpreted as "zero-indexed"). In version 4.25, a similar version named ZParam was added for the Param group.

The ZFunc group was added in version 4.23. This group, unlike the Proc and Func groups, is available for all languages supported by the taskbook. If the Func group is available for some language (such languages are Python, Ruby, Julia, R), then the ZFunc group coincides with the Func group, if the Proc group is available for a language (such languages are all other languages supported by the taskbook), then the ZFunc group contains the tasks of the Proc group in a modified order corresponding to the order of similar tasks in the Func group.

The "procedure" notion in task texts of Proc, Param, and Dynamic group means not only Pascal procedures but also Visual Basic subroutines and C++/C# functions with the void return type.

There are two variants of the Dynamic and Tree groups: the first one uses pointers and is intended for Pascal and C++ languages, the second one uses objects and is intended for C#, Visual Basic .NET, Python, Java, Ruby, and Julia languages. Both variants of Dynamic and Tree groups are available in the PascalABC.NET version of Programming Taskbook; the "object" variant have the "ObjDyn" and "ObjTree" name in the PascalABC.NET version.

TablBase and TablExt groups were added to the base task set in version 4.25 of the Programming Taskbook at the same time as R language support.


Next

 

  Рейтинг@Mail.ru

Designed by
M. E. Abramyan and V. N. Braguilevsky

Last revised:
01.01.2025