Задача № 2. Вывести на экран три числа в порядке, обратном вводу
Данил Душистов
Решение 50 типовых задач по программированию на языке Pascal
Дата размещения сборника в сети: 31.08.2012
Онлайн-версия сборника находится на сайте http://el-prog.narod2.ru/
Со всеми вопросами и комментариями обращаться на E - mail : danildushistov@gmail.com
Аннотация
Этот сборник содержит подробные решения 50 практических задач, данных в рамках учебного курса «Введение в информатику и программирование», который читается в Адыгейском государственном университете. Он может быть интересен школьникам, студентам и всем, кто изучает основы программирования на языке Pascal.
В качестве дополнительного материала прилагаются тексты решений всех задач для сред PascalABC. NET и Borland Delphi 7.
Предисловие от автора
Этот сборник не может быть использован в качестве учебного пособия. В нем практически отсутствует теория, к тому же предполагается, что его читатель уже знает некоторые базисные понятия в программировании, умеет объявлять переменные и может самостоятельно скомпилировать «пустую» программу. Единственное исключение отводится для элементов синтаксиса – при первом упоминании их смысл раскрывается довольно подробно.
На самом деле, во всем этом нет какой-то особой необходимости. В наше время в Интернете можно найти массу интересных теоретических материалов по программированию на языке Pascal, и по мере надобности читатель, если ему что-то непонятно, может к ним обращаться.
|
|
Все, что можно найти в сборнике – это последовательные, максимально подробные разборы задач. Они представлены в достаточно свободном стиле: сначала задача анализируется, затем составляется алгоритм, и для каждого его шага дается детальное описание. В конце разбора каждой задачи для наглядности приводится код всей программы. В некоторых случаях приводится алгоритм на естественном языке, блок-схема какой-то части программы или описание работы алгоритма для определенного варианта исходных данных.
Уровень сложности повышается при увеличении номеров задач, если не сказано обратное. Поэтому если читатель не может понять решение какой-то задачи, то ему стоит подняться выше и попробовать понять более простые задачи.
Стоит учесть, что автор сборника – студент Адыгейского государственного университета, перешедший на 2-ой курс и практически не имеющий педагогического опыта, поэтому он будет признателен за любое указание на присутствующие в сборнике ошибки, недостатки в изложении материала и т. п., как и за любые другие комментарии.
Глава 1. Линейные алгоритмы
Задача № 1. Вывести на экран сообщение «Hello World!»
Формулировка. Вывести на экран сообщение «Hello World!».
|
|
Некоторые учебные курсы по программированию рассматривают эту задачу как самую первую при изучении конкретного языка или основ программирования.
Решение. Эта задача включает в себя лишь демонстрацию использования оператора вывода write (или writeln), который будет единственным в теле нашей маленькой программы. С помощью него мы будем осуществлять вывод на экран константы 'Hello World!' типа string (или, как допускается говорить, строковой константы). В данном случае будем использовать оператор writeln.
Напомню, что при использовании оператора write курсор останется в той же строке, в которой осуществлялся вывод, и будет находиться на одну позицию правее восклицательного знака во фразе «Hello World!», а при использовании оператора writeln – на первой позиции слева в следующей строке.
Код:
1. program HelloWorld; 2. 3. begin 4. writeln('Hello World!') 5. end. |
Задача № 2. Вывести на экран три числа в порядке, обратном вводу
Формулировка. Вывести на экран три введенных с клавиатуры числа в порядке, обратном их вводу.
Другими словами, мы ввели с клавиатуры три числа (сначала первое, потом второе и третье), и после этого единственное, что нам нужно сделать – это вывести третье, затем второе и первое.
|
|
Решение. Так как с клавиатуры вводится три числа, необходимо завести три переменные. Обозначим их как a, b и c. Ввиду того, что нам ничего не сказано о том, в каком отрезке могут располагаться введенные числа, мы возьмем тип integer, так как он охватывает и положительные, и отрицательные числа в некотором диапазоне (от –2147483648 до 2147483647). Затем нам нужно использовать оператор вывода write (writeln), в списке аргументов которого (напомним, что список аргументов write (writeln) может содержать не только переменные, но и константы и арифметические выражения) эти переменные будут находиться в обратном порядке. В данном случае будем использовать оператор writeln, который после вывода результата переведет курсор на следующую строку:
writeln(c, b, a);
Однако если мы оставим его в таком виде, то увидим, что при выводе между переменными не будет никакого пробела, и они будут слеплены и визуально смотреться как одно число. Это связано с тем, что при вводе мы использовали пробелы для разделения чисел, а сами пробелы никаким образом не влияют на содержимое переменных, которые будут последовательно выведены оператором writeln без каких-либо дополнений. Чтобы избежать этого, нам нужно добавить в список аргументов writeln две текстовые константы-пробелы. Проще говоря, пробельная константа – это символ пробела, заключенный в одиночные апострофы (апостроф – символ «'»). Первая константа будет разделять переменные a и b, вторая – b и c. В результате наш оператор вывода будет таким:
|
|
writeln(c, ' ', b, ' ', a);
Теперь он работает так: выводит переменную c, затем одиночный символ пробела, затем переменную b, потом еще один символ пробела и, наконец, переменную a.
Код:
Дата добавления: 2018-10-25; просмотров: 958; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!