Как вывести фразу в паскале
Операторы вывода являются важнейшей частью языка программмирования, ведь только благодаря им, мы можем увидеть на экране компьютера результат работы нашей программы. В языке Pascal существует два оператора вывода: write и writeln . Правило их использования одно и тоже: после слова write или writeln в скобках через запятую перечисляются параметры, которые мы хотим вывести (называемые списком вывода). Число этих параметров не ограничено. Разделителем между параметрами служит запятая:
writeln(параметр, параметр. параметр)
Существует три вида параметров: константы, переменные и выражения (например, арифметические выражения). Константы бывают числовые (это просто различные числа — целые и вещественные), логические и строковые. Любой текст, набранный с клавиатуры и заключённый в апострофы (одиночные кавычки), называется строковой константой. Если в текст нам нужно поместить апостроф, например, в слове O’key, на этом месте нужно набить два апострофа подряд вместо одного: write(‘O»key’). Все параметры в write или writeln независимы друг от друга, поэтому в одном и том же операторе могут встречаться параметры разных типов, в произвольном порядке.
При выполнении оператора вывода все параметры будут выведены в одной строке в том же порядке, в каком они перечислены в списке параметров. Любая константа, числовая или строковая, будет выведена так, как вы её написали в вызове write или writeln (в строковой константе начальный и конечный апострофы отображаться на экране не будут, а вместо двух апострофов, расположенных в строковой константе подряд, на экране появится в этом месте один); вместо переменной на экране появится её значение, а вместо арифметического выражения — результат его вычисления.
Между write и writeln существует единственное различие: после выполнения writeln курсор переходит на новую строку, а после выполнения write курсор остаётся в той же строке, и новый вывод данных с помощью write или writeln или ввод данных при помощи операторов ввода данных будут проходить в той же строке.
При выводе параметров пробелы между ними автоматически не вставляются, например, при печати чисел `1`, `2`, `3` с помощью writeln(1,2,3) все они сольются в одно число — 123 . Чтобы разделить выводимые элементы, можно поместить между ними символ пробела, например, writeln(1,’ ‘,2,’ ‘,3) или отформатировать вывод, поставив после каждого элемента списка вывода двоеточие и целое число (называемое модификатором ширины поля), которое указывает, сколько позиций на экране должна занимать выводимая величина, например, writeln(1:3,2:3,3:3) . Отметим, что элемент дополняется начальными пробелами слева с тем, чтобы соответствовать указанной после двоеточия величине. Результаты выполнения двух последних операторов будут выглядеть так:
| 1_2_3 __1__2__3 |
Если указанное в модификаторе ширины поля число меньше, чем необходимо, то модификатор ширины поля игнорируется.
При выдаче на экран значений вещественных выражений в формате вывода полезно использовать ещё один модификатор, который записывается через двоеточие после модификатора ширины поля и называется модификатором точности. Он будет обозначать количество символов после десятичной точки, которые мы хотим вывести. Например, при выводе результата стандартной функции pi , которая с машинной точностью выдаёт значение числа $$ \pi $$, оператор write(pi:0:0,pi:6:2, pi/2:2:0) выдаст на экран:
Заметим, что при печати фиксированного количества цифр вещественного числа оно предварительно округляется по правилам математики. Если вещественное число содержит после десятичной точки меньше цифр, чем количество символов для печати, указанное в модификаторе точности, то число выводится с незначащими нулями, например, оператор write(3.14:3:4) выдаст на экран:
Модификатор точности можно применять только к параметрам вещественного типа. Использование модификатора точности с параметрами других типов является критической ошибкой (программа не будет работать). Модификатор ширины поля можно использовать с любым типом параметра вывода.
Оператор вывода данных
Правила записи и выполнения операторов WRITELN и WRITE одинаковые с одним исключением, после выполнения оператора WRITELN следующий оператор WRITELN или WRITE печатает свою информацию с начала следующей строки (при использовании WRITELN курсор переводится на новую строку), а после выполнения оператора WRITE продолжает печатать в той же строке.
Пример: WRITE(5) ; WRITE(8); на экране будет 58
WRITELN(5); WRITELN(8); на экране будет 5
Вывод чисел типа real
Переменные, описанные как REAL, ПАСКАЛЬ выводит на экран в экспоненциальном формате ( число 72 будет выведено как 7.20000000000000Е+0001 ).
Чтобы ПАСКАЛЬ выводил вещественные числа типа REAL в обычном виде необходимо записывать WRITELN (ploschad:10:3), а не WRITELN (ploschad).
Число 10 значит, что всё изображение числа не должно занимать больше 10 символов, включая: целую часть, дробную часть, знак числа, и десятичную точку, число 3 означает три знака после десятичной точки. Целая часть числа будет составлять 10 – (3 знака после запятой) – (1 знак числа) – (1 десятичная точка) = 5 знаков. Если целая часть меньше 5 знаков, то пробелы отображаться не будут, если больше 5 знаков, то целая часть числа всё равно будет печататься полностью.
Порядок составления программы:
Определить последовательность решения задачи — разработать алгоритм решения
( Программа — это инструкция по её решению, определить формулы её решения).
Определить количество используемых переменных и придумать имена переменных.
(Имя переменной должно говорить о её смысле. Чтобы и после какого-то времени можно было бы легко разобраться в программе, лучше писать schirina, а не Х ).
Определить тип используемых переменных и описать их.
Определить способ и задать исходные данные решения задачи – продумать интерфейс. (Используя оператор присваивания := или оператор ввода READLN).
Задать действия, которые надо проделать с исходными данными, чтобы получить результат.
Вывести на экран полученный результат.
( Используя операторы вывода WRITELN или WRITE).
Интерфейс пользователя
Некоторые приёмы, делающие программу более наглядной, простой для понимания и для работы с ней.
Когда программа запускается на выполнение, она делает паузу на операторе ввода и ждёт вводимых данных. Мы видим пустой экран монитора, на котором нет никаких обозначений, что от нас ждёт компьютер или какие данные мы должны ввести. То есть трудно догадаться, особенно с течением времени после создания программы или использованием её другим пользователем, что компьютер чего-то ждёт. Это не очень удобно, хорошо было бы, если на экране выводилось указание дальнейших действий. Это касается и вывода результатов. На пустом экране выводятся числа, не всегда понятно их значение.
Всё это означает, что у нашей программы неудобный интерфейс пользователя, то есть пользователю, применяющему нашу программу не удобно с ней работать.
Чтобы интерфейс стал более удобным, необходимо ввести новые элементы.
1) Перед выводом данных, вывести на экран указания к вводу данных, в форме текстовых констант (текст комментария заключённый в апострофы (кавычки)).
WRITELN(‘комментарий – текстовая константа’);
WRITELN (‘введите значение длинны, ширины и высоты’);
На экране во время паузы для ввода данных появится надпись: введите значение длинны, ширины и высоты.
2) Подобно выводятся пояснения к выводимому результату.
WRITELN(‘комментарий ’,переменная, ‘комментарий ’,переменная);
WRITELN (‘площадь фигуры равна’, ploschad, ’объём фигуры равен’ , objm:10:3);
На экране будет выведен результат виде:
площадь фигуры равна 34 объём фигуры равен 18
3)В программе также могут использоваться комментарии взятые в фигурные скобки
Пример: ploschad := dlina *schirina;
Вывод текста на экран в графическом режиме.
Как мы уже знаем, для вывода на экран какого-либо текста используется либо процедура Write, либо Writeln. Эти процедуры применяются исключительно в текстовом режиме. Для того чтобы вывести на экран текст в графическом режиме используется процедура OutText.
Вывод текста на экран в графическом режиме. Процедура OutText.
В строке №19 устанавливаем цвет для выводимого на экран текста. Т.е. процедура SetColor определяет не только цвет линий, но цвет текста, выводимого с помощью процедуры OutText.
В строке №20 записываем процедуру OutText. Эта процедура выводит на экран текст в графическом режиме. Сам текст записывается в круглых скобках и в кавычках после слова OutText. В нашем примере мы выводим на экран слово «pascal».


Как видете, процедура OutText выводит текст в месте расположения текущего указателя (по умолчанию указатель находится в точке с координатами 0,0).
Общие сведения о языке программирования Паскаль
Язык программирования – это формальный язык описания компьютерных программ.
Программа – это последовательность команд, позволяющая компьютеру выполнить конкретную задачу.
«Мозг» любого компьютера — процессор, он умеет выполнять лишь небольшой набор команд, называемых машинными, но делает это очень быстро (миллиарды команд в секунду). Для человека машинный язык очень неудобен – программы на нем получаются чрезвычайно сложными и длинными, поэтому было придумано множество более понятных языков программирования, к каждому из которых прилагаются специальные программы – трансляторы, преобразующие команды этого языка в машинные.
Одним из таких языков является язык программирования Паскаль, созданный в 1970 году швейцарским ученым Никлаусом Виртом. Язык назван в честь французского математика Блеза Паскаля – создателя одной из первых механических вычислительных машин.
Язык Паскаль является универсальным языком программирования, он подходит для выполнения совершенно разных задач (обработка текста, построение изображений, поиск информации и т.д.).
От других языков Паскаль отличается строгостью правил, которая дисциплинирует начинающих программистов и формирует у них структурное мышление – очень полезное качество, позволяющее избегать грубых ошибок.
Алфавит и словарь Паскаля
Основой любого языка программирования является алфавит.
Алфавит – набор допустимых символов, которые используются для написания программы.
Алфавит Паскаля включает:
- Прописные буквы латиницы (A, B, C, …, X, Y, Z);
- Строчные буквы латиницы (a, b, c, …, x, y, z);
- Арабские цифры (0, 1, 2, …, 7, 8, 9);
- Знаки арифметических и логических операций («плюс», «минус», «умножить», «разделить», «больше», «меньше», «равно» и др.)
- Ограничители и разделители (апостроф, двоеточие, точка с запятой, круглые, квадратные и фигурные скобки, точка, запятая);
- Специальные символы («амперсанд», «процент», «решетка», знак подчеркивания и др.).
Некоторые символы, записанные вместе, образуют составные символы, например:
- := (операция присваивания);
- >= и <= (≥ и ≤ соответственно);
- // (начало комментария, который заканчивается после перехода на новую строку).
Из символов алфавита формируются идентификаторы – аналоги слов естественного языка, но построенные по определенным правилам:
- Идентификатор может состоять из цифр, буквы латинского алфавита и символа подчеркивания.
- Идентификатор не может начинаться с цифры.
- Отсутствует различие между прописными и строчными буквами («PROGRAM», «Program» и «program» — один и тот же идентификатор).
- Максимальное допустимое число символов в идентификаторах зависит от транслятора.
Идентификаторы нужны, чтобы давать имена переменным, константам, функциям и процедурам.
Некоторые идентификаторы в языке Паскаль определены заранее и имеют особое значение. Такие идентификаторы называют служебными словами, использовать их в качестве имен переменных нельзя.
Наиболее часто используемые служебные слова Паскаля, представлены в таблице.
Типы данных в Паскале
Данные в программах на языке Паскаль описываются простыми или составными типами данных, которые указывают транслятору, как интерпретировать эти данные и сколько места в памяти компьютера нужно выделить для их хранения.
К простым типам относятся: целочисленный, вещественный, символьный, строковый и логический типы.
Когда число относится к вещественному (реальному) типу данных, его целая и дробная части разделяются точкой (ни в коем случае не запятой), стоит обращать внимание на то, что до и после точки должна быть минимум одна цифра. Также нельзя ставить пробел в середине числа.
Структура программы на Паскале
Как уже было сказано выше, язык Паскаль имеет строгие правила, и эти правила описывают, в том числе, какие блоки должны присутствовать в тексте программы. У всех программ на языке программирования Паскаль должны быть:
- Заголовок;
- Блок описания данных;
- Программный блок.
Заголовок программы начинается с ключевого слова program, за которым следует идентификатор имени программы. Завершается строка заголовка символом «точка с запятой».
Блок описания данных включает в себя характеристику констант (const), характеристику переменных (var) и другие задействованные разделы. При описании переменных необходимо указать их имена и типы данных.
В том случае, когда значения переменных относятся к одному и тому же типу, их имена пишутся последовательно, через запятую, после этого идёт двоеточие и пишется их тип, затем характеристика каждого типа завершается точкой с запятой. В пример можно привести следующую строку:
var i, j: integer; x: real; a: char;
где integer – целый тип данных; real – вещественный; char – символьный.
В программе может отсутствовать заголовок, а также она может не иметь блока описания данных. Однако, в ней обязательно должен присутствовать программный блок, содержащий команды, необходимые для выполнения алгоритма решения задачи. Этот блок начинается со служебного слова begin, а заканчивается служебным словом end, после которого ставится точка, означающая конец программы.
Пример того, как должен выглядеть примерный код программы:
program <название программы>;
const <последовательность неизменяемых значений>;
var <тип переменных, которые будут использованы>;
begin <программный блок>
end.
Операторы – конструкции в языке, благодаря которым можно записать определённые действия, которые нужно провести над данными во время выполнения задачи.
Символ точкой с запятой является разделителем между операторами.
В строке, после которой идёт слово end, точка с запятой не ставится.
Оператор присваивания
Самая распространенная операция с данными, которую осуществляет любая компьютерная программа, — это присваивание переменной какого-либо значения, что значит замена одного значения в области памяти на другое. Эта операция происходит благодаря оператору присваивания, который работает по тому же принципу, что и в алгоритмическом языке. Общий вид можно записать так:
<имя переменной> := <выражение>
Операцию присваивания можно выполнять с любыми типами данных. Действия в Паскале имеют конструкцию, составленную по тем же правилам, что и в алгоритмическом языке.
Процесс выполнения операции присваивания можно рассмотреть на примере следующего фрагмента программы:
При выполнении операции присваивания a :=15 в отдел оперативной памяти компьютера под названием a помещается значение 15. При выполнении операции присваивания b :=6 в отдел оперативной памяти компьютера под названием b помещается значение 6. Операция s :=a+b равносильна сумме значений, заключённых в переменных a и b. После сложения результат помещается в отдел оперативной памяти компьютера, имеющий название s.
Представление и получение информации в Паскале
Любая программа компьютера оказывает влияние на данные, меняет их. На вход программе подаются одни данные, далее она проводит над ними определённые операции, а затем выводит результат операций или изменённые данные.
У каждого языка программирования есть свои средства ввода и вывода данных. В Паскале получение информации от пользователя можно осуществить с помощью процедур read() и readln(), а вывод – с помощью процедур write() и writeln().
Окончание ln в этих командах – это сокращение от line («линия», «строка», англ.), оно означает ввод или вывод целой строки, с переводом курсора на новую строчку.
Откуда в программу вводится информация? Наиболее распространённые способы – получение данных из файла или ввод с клавиатуры.
Результаты работы программы могут выводиться на экран монитора, печататься на принтере, сохраняться в файл.
Классическим устройством ввода считается клавиатура, а вывода – монитор компьютера. Когда в алгоритме не указано место, откуда нужно считать информацию и куда её вывести, то программа будет пользоваться классическими устройствами. Объединение клавиатуры и экрана носит название консоль. Следовательно, именно консоль является классическим способом получения и представления информации.
Вывод данных на экран
Вывод данных в файл или на экран с помощью процедур write() и writeln().
Допустим, необходимо вывести на экран несколько фраз. Для того чтобы новая фраза появлялась с новой строки, необходимо использовать writeln(), если это не нужно – то write().
В пример можно привести следующие программы:
Write() используется тогда, когда необходимо вывести текст на монитор, а после этого получить новые данные без перемещения курсора консоли на следующую строку. К примеру, появляется сообщение «Введите число: », курсор не переходит на следующую строку, поскольку ожидается ввод.
В пример можно привести ещё один алгоритм. В памяти компьютера содержится информация. В программе идёт обращение к ней через переменные number, fl и text. Вывод значений этих переменных можно выполнить различными способами:
Во втором примере показано, что процедуры вывода могут принимать несколько аргументов разного типа и корректно выводить их.
В третьей программе показан форматированный вывод. Причём для выводимого значения указана определённая ширина вывода. Если выводить число, относящееся к вещественному типу данных, то вторым числом после двоеточия нужно написать то, сколько цифр останется после запятой. Если не осуществлять форматирование для таких чисел, то их вид будет показан таким, каким его определяет компьютер. Если не указывать число, фиксирующее дробную часть, то вывод будет произведён как в первых двух программах.
Получение информации
Получение данных в Паскале осуществляется с помощью процедур read() и readln(). Значения можно ввести, используя клавиатуру, либо извлечь из файла. Стоит рассмотреть именно ввод с клавиатуры.
Для того, чтобы осуществить ввод данных, в программе нужно создать переменные соответствующих типов, и передать их в процедуры read() или readln() в качестве аргументов. Процедуры чтения помещают введенные данные непосредственно в память указанных переменных. Дальше эти переменные можно использовать для выполнения алгоритма или вывода на экран.
Как пример можно взять следующие программы:
Входящие данные необходимо отделять друг от друга пробелом или нажатием клавиши Enter.
Есть определённые нюансы ввода с помощью процедур read() и readln(). Если друг за другом идут несколько вызовов процедуры read(), то входную информацию можно разделять любой клавишей. Если подряд идут несколько вызовов процедуры readln(), то входные данные можно разделить только нажав клавишу Enter. В пример можно привести несколько алгоритмов:
Условный оператор if
Этот оператор используется для создания условных переходов. С его помощью можно слегка изменить последовательность выполнения программы. Оператор ветвления if в языке Паскаль записывается следующим образом:
if <условие> then <первый оператор> else <второй оператор>;
Условие — это высказывание с определённой логикой, от которого зависит то, как программа выполняет определённые действия. Если условие истинно (принимает значение True), то программа выполняет оператор 1, который помещён после связующего слова then («тогда»). Если условие оказывается ложно (принимает значение False), то программа переходит к выполнению оператора 2, который помещён после связующего слова else («иначе»), пропуская оператор 1.
Когда операторы, находящиеся после условия, выполнены, то программа начинает выполнять команды, стоящие после оператора if. Нужно помнить, что «;» перед связующим словом else не ставится.
Слово else может отсутствовать. В этом случае, если условие является ложным, то программа полностью пропускает оператора if и все его команды, переходя к выполнению действий, описанных после него.
Стоит учитывать, что в Паскале за словами else и then можно вписать только один оператор. Исходя из этого необходимо объединить группу инструкций в общий оператор (вписать между связующими слова begin и end). Если этого не сделать, то произойдёт сбой в логике программы. Несмотря на то, что программа не выдаст ошибки, выполнять алгоритм она будет неправильно. Можно привести следующий пример:
Задачи на линейные алгоритмы и их решение
Для решения определённой задачи необходимо знать классические правила. Важно не только понимать основы алгоритмизации, но и уметь правильно выбирать типы данных. Постановка задачи также является ключевым элементом в поиске ответа. Чтобы окончательно закрепить знания нужно рассмотреть несколько задач и их решения:
Задача 1. Написать программу, которая выводит на экран произведение и сумму трёх чисел.
Задача 2. На вход подаётся сторона квадрата a. Нужно найти периметр квадрата по формуле 4а и площадь квадрата по формуле а 2 .