Что компьютер выведет на экран монитора после выполнения программы на языке паскаль
Компьютер, изготовленный на заводе, подобен новорожденному человеку, он может осуществлять какие-то действия, но не знает как. Но если человек в дальнейшем способен к обучению, то компьютер необходимо научить, то есть, заложить в него программное обеспечение. Компьютер без программы – бесполезная конструкция из железа, пластмассы и проводов.
Важнейшее отличие работы компьютера от работы человеческого ума состоит в том, что работа компьютера строго подчинена заложенным в него программам, человек же сам управляет своими действиями.
Программа – это указание на последовательность действий (команд), которую должен выполнить компьютер, чтобы решить поставленную задачу обработки информации.
У каждого исполнителя своя система команд, которые он понимает и может выполнить. Выстроив эти команды в четкий алгоритм, мы позволим исполнителю получить необходимый результат.
У компьютера своя система команд – машинных команд. Машинные команды представлены в виде двоичных кодов.
Язык машинных команд понятен компьютеру, но сложен для человека. Простому человеку писать программу из таких команд трудно, так как они не наглядны. Поэтому программисты придумали другие языки – языки, которые ближе человеку по смыслу. Их назвали языками программирования высокого уровня.
2. Язык программирования Pascal
Паскаль популярен среди программистов по следующим причинам:
- Прост для обучения.
- Отражает фундаментальные идеи алгоритмов в легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
- Позволяет четко реализовать идеи структурного программирования и структурной организации данных.
- Использование простых и гибких структур управления: ветвлений, циклов.
- Надежность разрабатываемых программ.
Команду алгоритма, записанную на языке программирования, принято называть оператором.
Программа на Паскале близка по своему виду к описанию алгоритма на Алгоритмическом языке. Сравните алгоритм решения уже знакомой вам задачи - деления простых дробей с соответствующей программой на Паскале:
алг Деление дробей цел a, b, с, d, m, n нач ввод а, b, c, d m:= a x d n:= b x c вывод m, n кон | Program Division; var a, b, с, d, m, n: integer; begin readln (a,b, c,d) ; m:= a*d; n:= b*c; write (m, n) end. |
3. Структура программы на Паскале
Даже не заглядывая в учебник по Паскалю, в этой программе можно все понять (особенно помогает знание английского языка). Структура программы имеет следующий вид:
begin
операторы (тело программы);
end.
Первой строкой программы является её заголовок. Он подобно заголовку книги рассказывает читателю, что это программа, для решения какой задачи она предназначена. Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:
Раздел описания переменных начинается со слова Var (variables - переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два числовых типа величин: вещественный и целый. Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:
var a, b : integer; с, d : real;
Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.
Раздел операторов - основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:
При написании текста программы следует соблюдать несколько правил:
- разрешается использовать только символы латинского алфавита для команд
- большие и маленькие буквы Паскаль не различает. То есть слово begin может быть написано как с маленькой, так и с большой буквы “Вegin; BEGIN; BeGin”
- все операторы заканчиваются точкой с запятой “;”
Самый простой и одновременно один из самых важных операторов – оператор вывода, ведь программа должна вывести результат на экран монитора. Выглядит оператор следующим образом:
Write (‘Здравствуй Мир!’);
Видео YouTube
Вася
пошел
гулять
«5»: Написать программу, которая выводит на экран рисунок из букв:
4. Переменная. Тип данных. Операторы ввода, вывода, присваивания
Опытный программист знает, а новичку полезно узнать, что главными элементами любой программы являются переменные, константы и операторы.
Переменными – называют величины, значения которых изменятся в процессе выполнения программы.
Константами называются величины, которые не изменяют своего значения.
Операторы описывают те действия, которые должна выполнять программа.
Тип переменной является важнейшей характеристикой переменной. Определяет вид данных, содержащихся в переменной, набор операций, которые можно выполнять над этими данными. В Паскале существуют много типов переменных, для начала познакомимся с двумя:
Integer – целый тип. Описывает числа (например число 6 или 18 или -50).
Real – вещественный тип. Служит для хранения дробных чисел (например число 6,2 или 18,9 или -50,7).
Описать переменную это значит указать после зарезервированного слова Var имя и тип переменной. Например:
Var a: integer;
Var a,b: real;
Ввод исходных данных с клавиатуры происходит по оператору read (read - читать) или readln (read line - читать строку):
При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком они указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша (). Разница в выполнении операторов readln и read состоит в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.
Вывод результатов происходит по оператору write (write - писать) или writeln (write line - писать в строку):
Результаты выводятся на экран компьютера в порядке их перечисления в списке. Элементами списка вывода могут быть константы, переменные, выражения.
Разница в выполнении операторов writeln и write состоит в том, что после выполнения вывода по оператору writeln экранный курсор перемещается в начало новой строки, а по оператору write этого не происходит.
Арифметический оператор присваивания на Паскале имеет следующий формат:
Арифметическое выражение может содержать числовые константы и переменные, знаки арифметических операций, круглые скобки. Кроме того, в арифметических выражениях могут присутствовать функции.
Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.
Следовательно, любой язык программирования должен иметь инструменты как для ввода данных, так и их вывода. В Паскале ввод осуществляется с помощью процедур read() и readln() , а вывод - благодаря write() и writeln() . Процедуры, которые имеют окончание ln , после своего выполнения переводят указатель на новую строку.
Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.
Куда можно вывести данные? На экран, в файл, на принтер и др.
Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит "работающие по-умолчанию"; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.
Вывод данных на экран. Форматированный вывод
Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write ( ) и writeln ( ) . Здесь будет рассмотрен вывод только на экран.
Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln() , если нет – то write() .
Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.
Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).
В третьем случае был осуществлен так называемый форматированный вывод. При этом для выводимого значения указывается ширина поля вывода (количество знакомест). Если мы выводим вещественное (дробное) число, то вторым числом через двоеточие указывается количество знаков после запятой. Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме.
Ввод данных с клавиатуры
Ввод данных в языке программирования Паскаль обеспечивается процедурами read() и readln() . Ввод данных осуществляется либо с клавиатуры, либо из файла. Здесь рассматривается только ввод с клавиатуры.
Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln() ), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.
В процедуры ввода можно передавать не один фактический параметр, а множество.
При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.
Существуют особенности ввода данных с помощью операторов read() и readln() . Если используются подряд несколько операторов read() , то вводимые данные можно разделять всеми допустимыми способами. При использовании нескольких вызовов readln() каждый последующий срабатывает только после нажатия Enter. Программа ниже иллюстрирует это. Комментарии поясняют последовательность возможных действий при вводе данных.
Текст программы на языке Паскаль представляет собой обычный текстовый файл, который можно составлять в текстовой редакторе среды или Блокноте.
В "Голове" программы описываются все данные и вспомогательные модули, которые будут использованы при работе программы.
Заголовок программы состоит из зарезервированного слова program и имени программы, так называемого идентификатора. Завершается заголовок, так же как и любая другая строка программы, точкой с запятой. Заголовок программы в принципе необязателен.
Идентификатор - это имя, выбираемое программистом для элементов программы (переменных, подпрограмм, собственных типов данных и т. д.), которое должно удовлетворять следующим условиям:
- начинаться с латинской буквы (большие и маленькие буквы не различаются);
- после буквы могут использоваться цифры, например f1, s23;
- разделителем может быть только знак подчеркивания, например sum_nom;
- нельзя использовать зарезервированные слова;
- кол-во символов не более 63.
"Тело" программы начинается словом begin и заканчивается словом end с точкой, которая является признаком конца программы.
Первый оператор, с которым мы познакомимся, занимается исключительно тем, что приказывает компьютеру изобразить на экране монитора ту или иную информацию, состоящую из букв (символов) и чисел.
Эту задачу выполняет процедура Write . То, что нужно изобразить, положено заключать в круглые скобки. По-английски слово Write означает "пиши".
А теперь поучимся на примерах:
Загрузите среду и введите текст программы как на рисунке
Настройка редактора
- меню Сервис - Настройка редактора
- служебные слова - синий, жирный, подчеркнутый
- комментарии - зеленый, курсив
- строка - красный, жирный, курсив
2. Добавьте модуль USES crt и запустите программу еще раз, посмотрите что изменилось?
3. Замените в программе WRITE на WRITELN, запустите программу еще раз, посмотрите что изменилось?
Задание 1: Заполните предложенную таблицу в тетради, выполнив предварительно программу, в которой записаны предложенные команды (то, что выводится на экране записываем по клеткам - 1 символ одна клетка)
на вопрос в таблице "какие?" возможны варианты: целое число, дробное число, текст, результат вычисления
Задание 2: Зарисуйте в тетради что получается на экране после выполнения программы в которой записаны предложенные команды (то, что выводится на экране записываем по клеткам - 1 символ одна клетка)
Для выполнения различных задач в паскале нам понадобится выводить определенную информацию на экран.
Информация , которую мы будем выводить может быть абсолютно разной. Она может быть текстом , переменной и даже выражением вроде ( a + b ).
В языке программирования паскаль предусмотрен тот случай , когда нам нужно вывести на экран какую либо информацию , например результат работы программы или значение какой-либо переменной. Вывод в паскале можно осуществить за счет двух операторов вывода : write и writeln , прочитать о которых вы можете ниже.
Writeln
Первый оператор вывода — это writeln ( write — писать , ln — сокр. линия ). Благодаря нему и осуществляется вывод информации на экран. Давайте разберем это на примере :
Допустим , мы хотим вывести приветствие на экран в формате «Привет друг !» Код такой программы выглядит так :
Для вывода чисел на экран можно пользоваться кавычками , а можно и не пользоваться.
В обоих случаях на экран будет выведено число 17 , поэтому можно утверждать , что вывод чисел на экран не зависит от кавычек.
А теперь о том , почему нельзя выводить тест на экран без кавычек. Почему нельзя выводить текст на экран в паскале без кавычек ? Это сделано специально для того , чтобы программа могла различать текст от переменной.
Если вы имеете познания в языке паскаль , то наверняка понимаете что такое переменные , если нет , то вам сюда .
Если в операторе вывода writeln() в круглых скобках будет стоять слово hello без кавычек , то программа выведет на экран значение переменной hello ( если она существует ).
Как видно , для того , чтобы выводить переменную и текст в одном операторе , нужно ставить «,». Проще говоря , мы выводим текст «Привет» и к нему прикрепляем значение переменной Name ,а после ( также через запятую ) выводим знак восклицания в кавычках , ведь он тоже является текстом.
Пример вывода имени и фамилии :
Write
Второй оператор вывода — write ( писать ). Он практически ничем не отличается от оператора вывода writeln , вернее ничем не отличается ( он также осуществляет вывод на экран ). Однако одно отличие все же есть , но совсем небольшое. Возможно вы уже поняли его ( исходя из название ).
Информация , которую оператор writeln() выводит на экран занимает всю строку.А значит после того , как оператор выведет последний элемент , программа переведется на следующую строку.
Два этих оператора выведут оба слова на разных строках:
В отличии от write , который после завершения работы не переходит на следующую строку.
В данном случае результат будет такой :
И если после writeln(‘Как дела ?’) мы бы выводили ещё какой-либо текст , то он появился бы на следующей строке.
Прочитать про оформление текста на экране в паскаль можно здесь
Как очистить экран в паскале
Некоторые программы могут быть настолько сложными , что выводимой информации будет очень много. Поэтому некоторый ненужный текст можно стереть. Для этого в паскале предусмотрен оператор clrscr.
Чтобы очистить экран в паскале используйте такой оператор clrscr; Однако злоупотреблять им не стоит. Так же следует помнить , что оператор clrscr работает только в модуле crt , который подключается так :
Расширенный ввод и вывод
Как уже упоминалось, в языке Паскаль есть две функции для ввода: read и readln. Разница между ними заключается прежде всего в том, что read читает символы, которые нужно ввести (например, если вводится целое число — цифры), пока не встретит «неправильный» символ, а остальные оставляет для последующего ввода; readln же читает символы до конца строки и выбрасывает «лишние». Так, фрагмент кода (переменные a и b — целые)
выведет «1 марта»; а фрагмент
на тот же ввод выведет «1 2»!
Заметим, что второй код эквивалентен кода
Расширенный вывод
Мы уже знаем, что процедуры write и writeln выводят свои параметры, причем writeln добавляет знак новой строки в конце. Но остается одно неудобство — действительные числа выводятся не так, как нам бы хотелось. Чтобы указать, как именно должны выводиться числа, используются отметки форматирования, которые ставятся через двоеточие после параметра. Так, строка
выведет x = 2.00 Вторая отметка — число 2, как вы могли догадаться, означает «2 знака после десятичной запятой»; а первая отметка — минимальную общее количество знаков в выводе (обратите внимание на два пробела между = и 2! Число 2.00 должно занять 5 знаков, но имеет только 4, и поэтому дополняется пробелом). Вторая отметка может использоваться только с действительными числами.Отметки могут быть любыми выражениями с целым значением.
Кроме процедур вывода, есть еще одна, использующий отметки форматирования — процедура Str (n, s) превращает число n на строку s. К числу можно добавлять метки.
Названные процедуры в Паскале несколько отличаются от других — в них может быть произвольное количество параметров и отметки форматирования, чего не бывает в «обычных» функций и процедур.Это особенность этих и только этих процедур, других таких процедур создавать нельзя.
В предыдущем параграфе мы познакомились со структурой программы на языке Паскаль, научились описывать данные, рассмотрели оператор присваивания. Этого достаточно для того, чтобы записать программу преобразования данных. Но результат этих преобразований нам виден не будет.
Для вывода данных из оперативной памяти на экран монитора используется оператор вывода write:
Здесь в круглых скобках помещается список вывода — список выражений, значения которых выводятся на экран. Это могут быть числовые, символьные и логические выражения, в том числе переменные и константы.
Произвольный набор символов, заключённый в апострофы, считается строковой константой. Строковая константа может содержать любые символы, набираемые на клавиатуре.
Пример. Оператор write (' s=', s) выполняется так:
1) на экран выводятся символы, заключённые в апострофы: s=
2) на экран выводится значение переменной, хранящееся в ячейке оперативной памяти с именем s.
Если значение переменной s равно 15 и она имеет целочисленный тип, то на экране появится: s=15
Если значение переменной s равно 15, но она имеет вещественный тип, то на экране появится: s=1.5Е+01
При выполнении оператора вывода все элементы списка вывода печатаются непосредственно друг за другом. Так, в результате работы оператора write (1, 20, 300) на экран будет выведена последовательность цифр 120300, которая будет восприниматься нами как число 120300, а не как три отдельные числовые константы. Сделать выводимые данные более доступными для восприятия можно разными способами:
Формат вывода — это указываемое после двоеточия целое число, определяющее, сколько позиций на экране должна занимать выводимая величина. Если цифр в числе меньше, чем зарезервированных под него позиций на экране, то свободные позиции дополняются пробелами слева от числа. Если указанное в формате вывода после двоеточия число меньше, чем необходимо, то оно автоматически будет увеличено до минимально необходимого.
Для вывода вещественного числа в списке вывода для каждого выражения указываются два параметра: 1) общее количество позиций, отводимых под число; 2)количество позиций в дробной части числа:
При выполнении нового оператора write вывод продолжается в той же строке. Чтобы осуществить переход к новой строке, используется оператор writeln. Других различий между операторами write и writeln нет.
3.2.2. Первая программа на языке Паскаль
Пользуясь рассмотренными операторами, составим программу, вычисляющую длину окружности и площадь круга радиуса 5,4 см.
Исходным данным в этой задаче является радиус: r = 5,4 см. Результатом работы программы должны быть величины с — длина окружности и s — площадь круга, с, s и r — величины вещественного типа.
Исходные данные и результаты связаны соотношениями, известными из курса математики: с = 2πr, s = πr 2 . Программа, реализующая вычисления по этим формулам, будет иметь вид:
Эта программа верна и решает поставленную задачу. Запустив её на выполнение, вы получите следующий результат:
И всё-таки составленная нами программа имеет существенный недостаток: она находит длину окружности и площадь круга для единственного значения радиуса (5,4 см).
Для того чтобы вычислить длину окружности и площадь круга для другого значения радиуса, потребуется вносить изменения непосредственно в текст программы, а именно изменять оператор присваивания. Внесение изменений в существующую программу, по меньшей мере, не всегда удобно (например, когда программа большая и операторов присваивания много). Ниже вы познакомитесь с оператором, позволяющим вводить исходные данные в процессе работы программы, не прибегая к изменению текста программы.
3.2.3. Ввод данных с клавиатуры
Для ввода в оперативную память значений переменных используется оператор ввода read:
При выполнении оператора read компьютер переходит в режим ожидания данных: пользователь должен ввести данные с клавиатуры и нажать клавишу Enter 1 .
1 Нажатием клавиши Enter может сопровождаться ввод каждого значения.
Несколько значений переменных числовых типов могут вводиться через пробел или через запятую. При вводе символьных переменных пробел и запятая воспринимаются как символы, поэтому ставить их нельзя.
Первое введённое пользователем значение переменной помещается в ячейку памяти, имя которой расположено первым в списке ввода, и т. д. Поэтому типы вводимых значений (входного потока) должны соответствовать типам переменных, указанных в разделе описания переменных.
Пример. ПУСТЬ .
var i, j: integer; x: real; a: char;
Присвоим переменным i, j, x, а значения 1, 0, 2,5 и 'A'. Для этого воспользуемся оператором
read (i, j, х, а)
и организуем входной поток одним из следующих способов:
Здесь мы не только использовали различные разделители (пробел, запятая), но и представляли входной поток в виде одной, двух и четырёх строк.
Для ввода данных с клавиатуры можно также использовать оператор readln. Отличие состоит в том, что после выполнения readln осуществляется автоматический переход на новую строку входного потока, даже если в текущей строке остались невведённые символы. Таким образом, readln позволяет считать лишь начальную часть введённой пользователем строки и, проигнорировав её окончание, перейти к следующей строке.
Результат работы усовершенствованной программы:
Теперь наша программа может ВЫЧИСЛИТЬ длину окружности и площадь круга для любого значения г. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.
САМОЕ ГЛАВНОЕ
Для ввода в оперативную память значений переменных используются операторы ввода read и readln.
Для вывода данных из оперативной памяти на экран монитора используются операторы вывода write и writeln.
Ввод исходных данных и вывод результатов должны быть организованы понятно и удобно; это обеспечивает дружественность пользовательского интерфейса.
Вопросы и задания
2. Запишите оператор, обеспечивающий во время работы программы ввод значения переменной summa.
3. Целочисленным переменным i, j, k нужно присвоить соответственно значения 10, 20 и 30. Запишите оператор ввода, соответствующий входному потоку:
а) 20 10 30
б) 30 20 10
в) 10 30 20
4. Опишите переменные, необходимые для вычисления площади треугольника по его трём сторонам, и запишите оператор, обеспечивающий ввод необходимых исходных данных.
5. Что является результатом выполнения оператора?
а) write (а)
б) write ('а')
в)write ('а=', а)
6. Какой тип имеет переменная f, если после выполнения оператора write (f) на экран было выведено следующее число?
7. Каким образом можно вывести на экран вещественное число?
8. Запишите операторы ввода двух чисел и вывода их в обратном порядке.
9. Дан фрагмент программы:
read (a); read (b); c:=a+b; write (a, b); write (с)
Упростите его, сократив число операторов ввода и вывода.
10. Дан фрагмент программы:
а:=10; b:=a+1: a:=b-a; write (а, b)
Какие числа будут выведены на экран компьютера?
11. Напишите программу, которая вычисляет площадь и периметр прямоугольника по длинам двух его сторон.
Электронное приложение к уроку
Презентации, плакаты, текстовые файлы | Вернуться к материалам урока | Ресурсы ЭОР |
Презентация «Организация ввода и вывода данных» (Open Document Format)
Ссылки на ресурсы ЕК ЦОР
Свободное программное обеспечение:
Cкачать материалы урока
Читайте также: