Что такое pascal abc net

General Python FAQ¶

Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. It supports multiple programming paradigms beyond object-oriented programming, such as procedural and functional programming. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants including Linux and macOS, and on Windows.

To find out more, start with The Python Tutorial . The Beginner’s Guide to Python links to other introductory tutorials and resources for learning Python.

What is the Python Software Foundation?¶

The Python Software Foundation is an independent non-profit organization that holds the copyright on Python versions 2.1 and newer. The PSF’s mission is to advance open source technology related to the Python programming language and to publicize the use of Python. The PSF’s home page is at https://www.python.org/psf/.

Donations to the PSF are tax-exempt in the US. If you use Python and find it helpful, please contribute via the PSF donation page.

Are there copyright restrictions on the use of Python?¶

You can do anything you want with the source, as long as you leave the copyrights in and display those copyrights in any documentation about Python that you produce. If you honor the copyright rules, it’s OK to use Python for commercial use, to sell copies of Python in source or binary form (modified or unmodified), or to sell products that incorporate Python in some form. We would still like to know about all commercial use of Python, of course.

See the PSF license page to find further explanations and a link to the full text of the license.

The Python logo is trademarked, and in certain cases permission is required to use it. Consult the Trademark Usage Policy for more information.

Why was Python created in the first place?¶

Here’s a very brief summary of what started it all, written by Guido van Rossum:

I had extensive experience with implementing an interpreted language in the ABC group at CWI, and from working with this group I had learned a lot about language design. This is the origin of many Python features, including the use of indentation for statement grouping and the inclusion of very-high-level data types (although the details are all different in Python).

I had a number of gripes about the ABC language, but also liked many of its features. It was impossible to extend the ABC language (or its implementation) to remedy my complaints – in fact its lack of extensibility was one of its biggest problems. I had some experience with using Modula-2+ and talked with the designers of Modula-3 and read the Modula-3 report. Modula-3 is the origin of the syntax and semantics used for exceptions, and some other Python features.

I was working in the Amoeba distributed operating system group at CWI. We needed a better way to do system administration than by writing either C programs or Bourne shell scripts, since Amoeba had its own system call interface which wasn’t easily accessible from the Bourne shell. My experience with error handling in Amoeba made me acutely aware of the importance of exceptions as a programming language feature.

It occurred to me that a scripting language with a syntax like ABC but with access to the Amoeba system calls would fill the need. I realized that it would be foolish to write an Amoeba-specific language, so I decided that I needed a language that was generally extensible.

During the 1989 Christmas holidays, I had a lot of time on my hand, so I decided to give it a try. During the next year, while still mostly working on it in my own time, Python was used in the Amoeba project with increasing success, and the feedback from colleagues made me add many early improvements.

In February 1991, after just over a year of development, I decided to post to USENET. The rest is in the Misc/HISTORY file.

What is Python good for?¶

Python is a high-level general-purpose programming language that can be applied to many different classes of problems.

The language comes with a large standard library that covers areas such as string processing (regular expressions, Unicode, calculating differences between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, CGI programming), software engineering (unit testing, logging, profiling, parsing Python code), and operating system interfaces (system calls, filesystems, TCP/IP sockets). Look at the table of contents for The Python Standard Library to get an idea of what’s available. A wide variety of third-party extensions are also available. Consult the Python Package Index to find packages of interest to you.

How does the Python version numbering scheme work?¶

Python versions are numbered A.B.C or A.B. A is the major version number – it is only incremented for really major changes in the language. B is the minor version number, incremented for less earth-shattering changes. C is the micro-level – it is incremented for each bugfix release. See PEP 6 for more information about bugfix releases.

Not all releases are bugfix releases. In the run-up to a new major release, a series of development releases are made, denoted as alpha, beta, or release candidate. Alphas are early releases in which interfaces aren’t yet finalized; it’s not unexpected to see an interface change between two alpha releases. Betas are more stable, preserving existing interfaces but possibly adding new modules, and release candidates are frozen, making no changes except as needed to fix critical bugs.

Alpha, beta and release candidate versions have an additional suffix. The suffix for an alpha version is “aN” for some small number N, the suffix for a beta version is “bN” for some small number N, and the suffix for a release candidate version is “rcN” for some small number N. In other words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which precede versions labeled 2.0rcN, and those precede 2.0.

You may also find version numbers with a “+” suffix, e.g. “2.2+”. These are unreleased versions, built directly from the CPython development repository. In practice, after a final minor release is made, the version is incremented to the next minor version, which becomes the “a0” version, e.g. “2.4a0”.

How do I obtain a copy of the Python source?¶

The latest Python source distribution is always available from python.org, at https://www.python.org/downloads/. The latest development sources can be obtained at https://github.com/python/cpython/.

The source distribution is a gzipped tar file containing the complete C source, Sphinx-formatted documentation, Python library modules, example programs, and several useful pieces of freely distributable software. The source will compile and run out of the box on most UNIX platforms.

Consult the Getting Started section of the Python Developer’s Guide for more information on getting the source code and compiling it.

How do I get documentation on Python?¶

The standard documentation for the current stable version of Python is available at https://docs.python.org/3/. PDF, plain text, and downloadable HTML versions are also available at https://docs.python.org/3/download.html.

The documentation is written in reStructuredText and processed by the Sphinx documentation tool. The reStructuredText source for the documentation is part of the Python source distribution.

I’ve never programmed before. Is there a Python tutorial?¶

There are numerous tutorials and books available. The standard documentation includes The Python Tutorial .

Consult the Beginner’s Guide to find information for beginning Python programmers, including lists of tutorials.

Is there a newsgroup or mailing list devoted to Python?¶

There is a newsgroup, comp.lang.python, and a mailing list, python-list. The newsgroup and mailing list are gatewayed into each other – if you can read news it’s unnecessary to subscribe to the mailing list. comp.lang.python is high-traffic, receiving hundreds of postings every day, and Usenet readers are often more able to cope with this volume.

Announcements of new software releases and events can be found in comp.lang.python.announce, a low-traffic moderated list that receives about five postings per day. It’s available as the python-announce mailing list.

More info about other mailing lists and newsgroups can be found at https://www.python.org/community/lists/.

How do I get a beta test version of Python?¶

Alpha and beta releases are available from https://www.python.org/downloads/. All releases are announced on the comp.lang.python and comp.lang.python.announce newsgroups and on the Python home page at https://www.python.org/; an RSS feed of news is available.

You can also access the development version of Python through Git. See The Python Developer’s Guide for details.

How do I submit bug reports and patches for Python?¶

To report a bug or submit a patch, please use the Roundup installation at https://bugs.python.org/.

You must have a Roundup account to report bugs; this makes it possible for us to contact you if we have follow-up questions. It will also enable Roundup to send you updates as we act on your bug. If you had previously used SourceForge to report bugs to Python, you can obtain your Roundup password through Roundup’s password reset procedure.

For more information on how Python is developed, consult the Python Developer’s Guide.

Are there any published articles about Python that I can reference?¶

It’s probably best to cite your favorite book about Python.

The very first article about Python was written in 1991 and is now quite outdated.

Guido van Rossum and Jelke de Boer, “Interactively Testing Remote Servers Using the Python Programming Language”, CWI Quarterly, Volume 4, Issue 4 (December 1991), Amsterdam, pp 283–303.

Are there any books on Python?¶

Yes, there are many, and more are being published. See the python.org wiki at https://wiki.python.org/moin/PythonBooks for a list.

You can also search online bookstores for “Python” and filter out the Monty Python references; or perhaps search for “Python” and “language”.

Where in the world is www.python.org located?¶

The Python project’s infrastructure is located all over the world and is managed by the Python Infrastructure Team. Details here.

Why is it called Python?¶

When he began implementing Python, Guido van Rossum was also reading the published scripts from “Monty Python’s Flying Circus”, a BBC comedy series from the 1970s. Van Rossum thought he needed a name that was short, unique, and slightly mysterious, so he decided to call the language Python.

Do I have to like “Monty Python’s Flying Circus”?¶

No, but it helps. 🙂

Python in the real world¶

How stable is Python?¶

Very stable. New, stable releases have been coming out roughly every 6 to 18 months since 1991, and this seems likely to continue. As of version 3.9, Python will have a major new release every 12 months ( PEP 602).

The developers issue “bugfix” releases of older versions, so the stability of existing releases gradually improves. Bugfix releases, indicated by a third component of the version number (e.g. 3.5.3, 3.6.2), are managed for stability; only fixes for known problems are included in a bugfix release, and it’s guaranteed that interfaces will remain the same throughout a series of bugfix releases.

The latest stable releases can always be found on the Python download page. There are two production-ready versions of Python: 2.x and 3.x. The recommended version is 3.x, which is supported by most widely used libraries. Although 2.x is still widely used, it is not maintained anymore.

How many people are using Python?¶

There are probably millions of users, though it’s difficult to obtain an exact count.

Python is available for free download, so there are no sales figures, and it’s available from many different sites and packaged with many Linux distributions, so download statistics don’t tell the whole story either.

The comp.lang.python newsgroup is very active, but not all Python users post to the group or even read it.

Have any significant projects been done in Python?¶

See https://www.python.org/about/success for a list of projects that use Python. Consulting the proceedings for past Python conferences will reveal contributions from many different companies and organizations.

High-profile Python projects include the Mailman mailing list manager and the Zope application server. Several Linux distributions, most notably Red Hat, have written part or all of their installer and system administration software in Python. Companies that use Python internally include Google, Yahoo, and Lucasfilm Ltd.

What new developments are expected for Python in the future?¶

See https://www.python.org/dev/peps/ for the Python Enhancement Proposals (PEPs). PEPs are design documents describing a suggested new feature for Python, providing a concise technical specification and a rationale. Look for a PEP titled “Python X.Y Release Schedule”, where X.Y is a version that hasn’t been publicly released yet.

New development is discussed on the python-dev mailing list.

Is it reasonable to propose incompatible changes to Python?¶

In general, no. There are already millions of lines of Python code around the world, so any change in the language that invalidates more than a very small fraction of existing programs has to be frowned upon. Even if you can provide a conversion program, there’s still the problem of updating all documentation; many books have been written about Python, and we don’t want to invalidate them all at a single stroke.

Providing a gradual upgrade path is necessary if a feature has to be changed. PEP 5 describes the procedure followed for introducing backward-incompatible changes while minimizing disruption for users.

Is Python a good language for beginning programmers?¶

It is still common to start students with a procedural and statically typed language such as Pascal, C, or a subset of C++ or Java. Students may be better served by learning Python as their first language. Python has a very simple and consistent syntax and a large standard library and, most importantly, using Python in a beginning programming course lets students concentrate on important programming skills such as problem decomposition and data type design. With Python, students can be quickly introduced to basic concepts such as loops and procedures. They can probably even work with user-defined objects in their very first course.

For a student who has never programmed before, using a statically typed language seems unnatural. It presents additional complexity that the student must master and slows the pace of the course. The students are trying to learn to think like a computer, decompose problems, design consistent interfaces, and encapsulate data. While learning to use a statically typed language is important in the long term, it is not necessarily the best topic to address in the students’ first programming course.

Many other aspects of Python make it a good first language. Like Java, Python has a large standard library so that students can be assigned programming projects very early in the course that do something. Assignments aren’t restricted to the standard four-function calculator and check balancing programs. By using the standard library, students can gain the satisfaction of working on realistic applications as they learn the fundamentals of programming. Using the standard library also teaches students about code reuse. Third-party modules such as PyGame are also helpful in extending the students’ reach.

Python’s interactive interpreter enables students to test language features while they’re programming. They can keep a window with the interpreter running while they enter their program’s source in another window. If they can’t remember the methods for a list, they can do something like this:

With the interpreter, documentation is never far from the student as they are programming.

There are also good IDEs for Python. IDLE is a cross-platform IDE for Python that is written in Python using Tkinter. PythonWin is a Windows-specific IDE. Emacs users will be happy to know that there is a very good Python mode for Emacs. All of these programming environments provide syntax highlighting, auto-indenting, and access to the interactive interpreter while coding. Consult the Python wiki for a full list of Python editing environments.

If you want to discuss Python’s use in education, you may be interested in joining the edu-sig mailing list.

Демоверсия егэ информатика 2022 решение

группа vk вконтакте

Скачать pdf демоверсии варианта ->

На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).

1 2 3 4 5 6 7
1 — 3 4
2 3 — 12 13
3 — 10 11
4 10 — 9 7
5 4 12 11 9 — 8 6
6 13 8 — 5
7 7 6 5 —

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе.
Определите, какова сумма протяжённостей дорог из пункта Б в пункт В и из пункта Г в пункт Д.
В ответе запишите целое число.

Миша заполнял таблицу истинности логической функции F

но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.

Перем.1 Перем.2 Перем.3 Перем.4 Функция
. . . . F
1 1 1
0 0 1
0 1 0 1

В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.).

Ответ: wxyz

В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.

ID операции Дата ID магазина Артикул Тип операции Количество упаковок, шт. Цена, руб./шт.

Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.

Артикул Отдел Наименование Ед. изм. Количество в упаковке Поставщик

Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.

ID магазина Район Адрес

На рисунке приведена схема указанной базы данных.

Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 10 июня включительно.
В ответе запишите только число.

Ответ: 966

Для кодирования некоторой последовательности, состоящей из букв Л, М, Н, П, Р, решили использовать неравномерный двоичный код, удовлетворяющий условию, что никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Для букв Л, М, Н использовали соответственно кодовые слова 00, 01, 11. Для двух оставшихся букв – П и Р – кодовые слова неизвестны.
Укажите кратчайшее возможное кодовое слово для буквы П, при котором код будет удовлетворять указанному условию. Если таких кодов несколько, укажите код с наименьшим числовым значением.

На вход алгоритма подаётся натуральное число N . Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N .
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи числа N , и остаток от деления суммы на 2 дописывается в конец числа (справа).

б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите такое наименьшее число N , для которого результат работы данного алгоритма больше числа 77. В ответе это число запишите в десятичной системе счисления.

Ответ: 19

    ✎ Решение аналитическим способом:

✎ Решение с использованием программирования:

uses school; begin var n_ := 1; while True do begin var n := n_; var ost := bin(n).CountOf(‘1’) mod 2; //в двоичной с.с. добавляем разряд (*2) и остаток к этому разряду (+ost) n := 2 * n + ost; // получаем остаток при делении на 2 : ost := bin(n).CountOf(‘1’) mod 2; n := 2 * n + ost; if n > 77 then begin println(n_); break end; n_ += 1; end; end.

n_ = 1 while True: n = n_ r = str(bin(n)) r = r[2:] for i in range(2): if r.count(‘1′) % 2 == 0: r+=’0′ else: r+=’1’ n = int(r, base=2) if n > 77: print(n_,n) break n_+=1

Ответ: 19

🎦 -> аналитическое решение

🎦 -> решение с программированием (на Паскале) подобного задания

Определите, при каком наименьшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.

var s, n: integer; begin readln(s); s := s div 10; n := 1; while s < 51 do begin s := s + 5; n := n * 2 end; writeln(n) end.

s = int(input()) s = s // 10 n = 1 while s < 51: s = s + 5 n = n * 2 print(n)

Ответ: 259

    &#9998; Способ 1 (программный):
    Pascalabc.net:

begin var s1 := 509; while true do // внешний цикл, бесконечный begin var s := s1; s := s div 10; // — код из условия задания — // var n := 1; while s < 51 do begin s := s + 5; n := n * 2; if n = 64 then // если найдено, то выводим соответствующее s begin print(s1); exit; // выход из бесконечного цикла end; end; s1 := s1 — 1; end; end.

s1 = 509 while True: # внешний цикл, бесконечный s = s1 # — код из условия задания — s = s//10 n = 1 while s < 51: s = s + 5 n = n * 2 # — конец кода из условия задания — if n == 64: print(s1) quit() s1 -= 1

Ответ: 259

Для хранения произвольного растрового изображения размером 128×320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков.
Какое максимальное количество цветов можно использовать в изображении?

Ответ: 16

Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.

Под каким номером в списке идёт первое слово, которое начинается с буквы Л?

Ответ: 126
&#x270d; Решение:

Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел может являться сторонами треугольника, то есть удовлетворяет неравенству треугольника.
В ответе запишите только число.

С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «долг» или «Долг» в тексте романа в стихах А.С. Пушкина «Евгений Онегин». Другие формы слова «долг», такие как «долги», «долгами» и т.д., учитывать не следует. В ответе укажите только число.

Ответ: 1

При регистрации в компьютерной системе каждому объекту сопоставляется идентификатор, состоящий из 15 символов и содержащий только символы из 8-символьного набора: А, В, C, D, Е, F, G, H. В базе данных для хранения сведений о каждом объекте отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно идентификатора, для каждого объекта в системе хранятся дополнительные сведения, для чего отведено 24 байта на один объект.
Определите объём памяти (в байтах), необходимый для хранения сведений о 20 объектах. В ответе запишите только целое число – количество байт.

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).

Б) нашлось (v).

&#8230;
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 8? В ответе запишите полученную строку.

Ответ: 22

&#9998; Решение с использованием программирования:
PascalABC.NET:
Вариант 1:

begin var s := ‘8’*70; var p2 := Pos(‘2222’,s); var p8 := Pos(‘8888′,s); while (p2 > 0) or (p8 > 0) do begin if p2 > 0 then begin Delete( s, p2, 4 ); Insert( ’88’, s, p2 ); end else begin Delete( s, p8, 4 ); Insert( ’22’, s, p8 ); end; p2 := Pos(‘2222’,s); p8 := Pos(‘8888’,s); end; write(s); end.

begin var s: string := ‘8’ * 70; while (s.contains(‘2222’)) or (s.contains(‘8888’)) do begin if (s.contains(‘2222’)) then s := s.replace(‘2222′, ’88’) else s := s.replace(‘8888′, ’22’); end; writeln(s); end.

s = 70 * ‘8’ while "2222" in s or "8888" in s: if "2222" in s: s = s.replace( "2222", "88", 1 ) else: s = s.replace( "8888", "22", 1 ) print(s)

На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует различных путей из города А в город М, проходящих через город В?
13 задание демо 2022

Ответ: 24

Разбор подобного задания смотрите в видео:
&#x1f3a6; Видео

Значение арифметического выражения:

записали в системе счисления с основанием 16. Сколько значащих нулей содержится в этой записи?

Ответ: 15
&#x270d; Решение:

begin var numb: Biginteger; numb := 3*Biginteger.Pow(4,38) + 2*Biginteger.Pow(4,23)+Biginteger.Pow(4,20) + 3*Biginteger.Pow(4,5) +2*Biginteger.Pow(4,4) +1; var digit: biginteger; var n := 0; while numb > 0 do begin digit := numb mod 16; if digit = 0 then n += 1; numb := numb div 16 end; print(n) end.

x = 3*4**38 + 2*4**23 + 4**20+3*4**5 +2*4**4 +1 k = 0 while x: if x % 16 == 0: k += 1 x //= 16 print( k )

&#9998; Решение аналитическим способом:

  • По возможности приведем каждое слагаемое к степеням 16. Учтем, что:
  • Получим:
  • Далее рассуждаем так: количество нулей можно найти, если из общего количества цифр в результирующем числе вычесть количество не нулей (любых других цифр).
  • Общее количество цифр найдем из самого большого слагаемого 3*16 19 :

Ответ: 15

На числовой прямой даны два отрезка: D = [17; 58] и C = [29; 80] .
Укажите наименьшую возможную длину такого отрезка A , для которого логическое выражение

истинно (т.е. принимает значение 1) при любом значении переменной х .

Ответ: 12
&#x270d; Решение:

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

Чему равно значение функции F(26)?

Ответ: 4122

&#9998; Решение с использованием программирования:
PascalABC.NET:

function F(n: integer): integer; begin if n <= 1 then F := 1; if n mod 2 = 0 then F := n + F(n — 1); if (n > 1) and (n mod 2 <> 0) then F := 2 * F(n — 2) end; begin print(F(26)) end.

def F( n ): if n <= 1: return 1 if (n % 2 == 0): return n + F(n-1) if (n>1 and n % 2 != 0): return 2 * F(n-2) print (F(26))

Ответ: 4122

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число делится на 3, затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Ответ: 2802 1990

&#9998; Решение с использованием программирования:

begin var f: text; var i, k, max, len: integer; assign(f, ’17.txt’); reset(f); var data: array of integer; data := new integer[100000]; i := 0; while not EOF(f) do begin readln(f, data[i]); inc(i); end; len := i — 1; k := 0; max := -100; for i := 1 to len do begin if (data[i] mod 3 = 0) or (data[i — 1] mod 3 = 0) then begin inc(k); if data[i] + data[i — 1] > max then max := data[i] + data[i — 1]; end; end; print(k, max) end.

f = open(’17.txt’) data =[int(x) for x in f] k = 0 m = -100 for i in range(len(data)-1): if data[i]%3==0 or data[i+1]%3==0: k+=1 m = max(m, data[i]+data[i+1]) print (k,m)

Квадрат разлинован на N×N клеток ( 1 ). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.

Ответ: 721 640
&#x1f3a6;

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 29. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 29 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 28 .
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.

Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.

Ответ: 14

  • Ваня может выиграть первым ходом (как бы ни играл Петя), если в куче будет S = 14 камней. Тогда после первого хода Пети в куче будет 15 или 28 камней. В обоих случаях Ваня удваивает кучу и выигрывает в один ход.

14 — проигрышная позиция

Ответ: 14
&#x270d; Решение 2 (Excel):

    А отложим значения — количество камней в первой куче. Начнем с ячейки А2 , в которую внесем начальное количество камней, т.е. 7. Автозаполнением продлим значения вниз до 25 примерно:
  • В строке 1 таблицы (начиная с ячейки B1 ) отложим значения для второй кучи. Поскольку в задании говорится, что 0 =77. Это команда удваивания количества камней, т.е. *2 .
  • Для каждой из ячеек полученной таблицы рассчитаем значение, полученное в результате удвоения той кучи камней, в которой большее количество камней (так как это даст бОльший результат). Например, для ячейки С5, в которой игрок имеет в первой куче 10 камней, а во второй куче 2 камня, мы бы выполнили действие 10*2+2. Т.е. удвоили бы первую кучу, т.к. в ней больше камней.
  • Чтобы автоматизировать процесс необходимо использовать формулу, в которой найдем максимальное значение из двух вариантов: Максимальное из(1куча*2 + 2куча, 1куча + 2*2куча). Выразив это в формуле Excel, получим результат, который внесем в ячейку B2 :
  • Здесь знак $ будем использовать для фиксации столбца А и строки 1 при копировании формулы. задание 19 ЕГЭ информатика
  • Скопируем формулу на всю таблицу.
  • Выделим всю таблицу и используем Условное форматирование для выделения тех значений, которые попадают в выигрыш (>76):
  • Выделенные значения — это значения, которые можно получить в сумме двух куч, выполнив ход из данной ячейки. И по сути, это и есть выигрышные позиции с 1 хода.
  • Далее следуем логике рассуждения из предыдущего способа решения.

Для игры, описанной в задании 19, найдите два таких значения S , при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

Найденные значения запишите в ответе в порядке возрастания.

Ответ: 7 13
&#x270d; Решение 1:

  • Возможные значения S : 7, 13. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 14 камней (из задания № 19 мы знаем, что это проигрышная позиция ): в первом случае удвоением, во втором — добавлением одного камня. Эта позиция разобрана в задании 19. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может, а его противник (то есть Петя) следующим ходом выиграет.

Ответ: 7 13

Для игры, описанной в задании 19, найдите значение S , при котором одновременно выполняются два условия:

Если найдено несколько значений S , в ответе запишите минимальное из них.

  • Возможные значения S : 12. После первого хода Пети в куче будет 13 или 24 камня. Если в куче их станет 24, Ваня удвоит количество камней и выиграет первым ходом. Ситуация, когда в куче 13 камней, разобрана в задании 20. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.

Ответ: 12

Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.

var x, L, M, Q: integer; begin readln(x); Q := 9; L := 0; while x >= Q do begin L := L + 1; x := x — Q; end; M := x; if M < L then begin M := L; L := x; end; writeln(L); writeln(M); end.

x = int(input()) Q = 9 L = 0 while x >= Q: L = L + 1 x = x — Q M = x if M < L: M = L L = x print(L) print(M)

Ответ: 49

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Программа для исполнителя – это последовательность команд.

Сколько существует программ, для которых при исходном числе 1 результатом является число 20, и при этом траектория вычислений содержит число 10?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.

Ответ: 28

  • Сначала найдём количество программ для перехода от числа 1 к числу 10, а затем от числа 10 к 20.
  • Будем использовать разные рекуррентные формулы для чётных и нечётных N .
  • Напишем программу, реализующую алгоритм поиска результата, вычисления по рекуррентным формулам организуем с помощью рекурсии.
  • Рекурсивная функция, которая возвращает количество программ для преобразования числа start в число x :

function func( start, x: integer ): integer; var k: integer; begin if x < start then func := 0 // если число x меньше нач. значения, кол-во программ равно 0 else if x = start then func := 1 // если число x = нач. значению, кол-во программ равно 1 else begin k := func( start, x-1 ); //учитываем кол-во программ предыдущего числа // если число чётное, нужно добавить ещё кол-во программ для числа x//2: if x mod 2 = 0 then k := k + func( start, x div 2 ); func := k; end; end; begin writeln( func(1,10) * func(10,20) ); end.

Ответ: 28

24 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Текстовый файл состоит из символов P, Q, R и S.
Определите максимальное количество идущих подряд символов, среди которых нет идущих подряд символов P.
Для выполнения этого задания следует написать программу.

Ответ: 188

var f: text; i, k, max: integer; s: string; begin assign(f, ’24.txt’); reset(f); readln(f, s); max := 1; k := 1; // кол-во подряд идущих без PP for i := 2 to length(s) do begin if (not ((s[i] = ‘P’) and (s[i — 1] = ‘P’))) then begin inc(k); if k > max then max := k; end else k := 1; end; write(max) end.

f=open(’24.txt’) s=f.readline() m=1 k=1 for i in range(2,len(s)): if not(s[i]==’P’ and s[i-1]==’P’): k+=1 if k > m: m = k else: k=1 print(m)

Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю.
Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения M .

Ответ:

begin var divCount := 2; for var n := 174457 to 174505 do begin var divs := new List<integer>; for var d := 2 to round(sqrt(n)) do if n mod d = 0 then begin divs.Add(d); if d <> n div d then divs.Add(n div d); if divs.Count > divCount then break; end; if divs.Count = divCount then Println(divs[0], divs[1]); end; end.

from math import sqrt for n in range(174457, 174505+1): divs = [] q = int(sqrt(n)) for d in range(2,q+1): # перебор делителей if n % d == 0: if d == n//d: # если точный квадратный корень divs = divs + [d] else: divs = divs + [d, n//d] if len(divs) > 2: break # если превысили кол-во делителей — прерываем цикл if len(divs) == 2: print(divs) # вывод делителей

for n in range(174457, 174505+1): divs = [d for d in range(2, n) if n % d == 0] # range(2, n), т.к. два делителя, не считая 1 и самого числа if len(divs) == 2: print( *divs )

begin var divs := new integer[2]; var divCount := 2; for var n := 174457 to 174505 do begin var i := 0; // для индекса массива for var d := 2 to n div 2 do begin if n mod d = 0 then begin if i < divCount then // чтобы индекс не выходил за границы массива divs[i] := d; inc(i); end; if i > divCount then break; end; if i = divCount then println(divs) end; end.

divCount = 2 # нужное количество делителей for n in range(174457,174505+1): divs = [] # чистим список делителей for d in range(2,n//2+1): # перебор делителей if n % d == 0: divs = divs + [d] # добавляем делитель в список if len(divs) > divCount: break if len(divs) == divCount: print( divs )

26 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

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

Входные данные.
В первой строке входного файла находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 10 000) и N – количество пользователей (натуральное число, не превышающее 1000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке.

Запишите в ответе два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

Пример входного файла:

При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера:

Ответ: 568 50

    Проанализируем возможное решение:

Теперь построим алгоритм на языках программирования:

begin var f: text; assign(f, ‘proba.txt’); reset(f); var s, n: integer; read(f, s); // 100 read(f, n); //4 var (s, n) := ReadInteger2; var i := 0; var data: array of integer; data := new integer[n]; while not EOF(f) do // begin readln(f, data[i]); // var data:= ReadArrInteger(n); i += 1; end; data.Sort; var summa := 0; var count := 0; for count := 0 to data.Length do begin if summa + data[count] > s then break; summa += data[count]; end; print(count); var itog := 0; var zapas := s — summa; for i := 0 to data.Length do if data[i] — data[count — 1] <= zapas then itog := data[i] else break; print(itog) end.

f = open(’26.txt’) data = f.readlines() # массив строк , readlines s = data[0].split() # [‘8200’, ‘970’] s = int(s[0]) # 8200 — объем св места на диске del(data[0]) # первая строка больше не нужна, удаляем ее for i in range(0, len(data)): # цикл для преобразование в int data[i]=int(data[i]) data=sorted(data) # сортируем полученный массив для удобства работы summa = 0 for count in range (0,len(data)): if summa + data[count] > s: break # если сумма больше — прерываем цикл summa += data[count] # формируем сумму, добавляя отсортированные элементы # как только сумма превысила s, произойдёт выход из цикла по оператору break, # а в переменной count останется количество добавленных значений print (count) # макс число файлов в архиве # вычисляем запас, который мы можем уменьшить с помощью замены одного выбранного значения на другое: zapas = s — summa # теперь выбираем из массива данных те значения, которые могут быть выбраны: # разность между таким значением и наибольшим выбранным элементом data[count-1] должна быть не больше, чем zapas: for i in range (0,len(data)): if data[i] — data[count-1] <= zapas: itog = data[i] print(itog) # максимальный размер файла

Ответ: 568 | 50

A
B

Дана последовательность из N натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 43 . Найдите среди них подпоследовательность с максимальной суммой, определите её длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них.

Входные данные
Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N (1 ≤ N ≤ 10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000.

В ответе укажите два числа: сначала значение искомой суммы для файла А, затем – для файла B.

Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.

AlohaTube.com

Disclaimer: AlohaTube.com is a search engine, it only searches for porn tube movies. All links and thumbnails displayed on this site are automatically added by our crawlers. Indexing process is completely automated.

We do not own, produce, host or upload any videos displayed on this website, we only link to them. If you find inappropriate content that you believe should be removed (illegal content, copyright infringement or dead links):
— to remove physical video file please contact the site owner where it hosted.
— to remove link and thumbnail from this site please use report button (red X at the bottom of every video).

We do our best to delete links to inappropriate content expeditiously, when it is reported.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *