Какая процедура осуществляет ввод данных на паскаль верно

Обновлено: 25.06.2024

Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор.

Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробелы (либо комментарий).

begin i := 2; k := i / 5end;

Слова begin и end играют роль операторных скобок. Тело самой программы также имеет вид составного оператора. После последнего end программы ставится точка. Нельзя извне составного оператора передавать управление внутрь него.

Типы данных в Паскале

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

Данные хранятся в памяти компьютера. Программа обращается к ним с помощью имен переменных, связанных с участками памяти, где хранятся данные.

Переменные описываются до основного кода программы. Здесь указываются имена переменных и тип хранимых в них данных.

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

Тип переменной определяет, какие данные можно хранить в связанной с ней ячейке памяти.

Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы (byte, longint).

Переменные типа real хранят вещественные (дробные) числа.

Переменная булевского (логического) типа (boolean) может принимать только два значения — true (1, правда) или false (0, ложь).

Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.

Интервальный тип определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.

Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.

Все вышеописанное – это простые типы данных. Но бывают и сложные, структурированные, которые базируются на простых типах.

Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.

Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение является характерной чертой Pascal.

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

Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.

Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (например, жестком диске).

Понятие такого типа данных как указатель связано с динамическим хранением данных в памяти компьютера. Часто использование динамических типов данных является более эффективным в программировании, чем статических.

В языке Паскаль определено пять целых типов.

Таблица. Целые типы Pascal

Тип Диапазон допустимых значений Отводимая память, в байтах
shortint -128…127
integer -32 768…32767
longint -2 147 483648…2 147 483 647
byte 0…255
word 0…65 535

Переменные целого типа могут принимать только целые значения. Такие переменные в программе описываются следующим образом:
a, b, c: integer;

Здесь a, b, c… — имена переменных, integer – тип переменных. Транслятор, встретив такое описание переменных a, b, c, запоминает, что эти переменные могут принимать только целые значения и формирует соответственно этому команды программы.

Таблица. Операции над целыми типами, дающие в результате значение целого типа

Знак операции Операция
+ Сложение
Вычитание
* Умножение
div Целочисленноеделение (остаток отбрасывается). Деление без округления (целая частьчастного).
mod Деление помодулю (выделение остатка от деления). Остаток от деления: a mod b = a – ((adiv b) * b).

Операции над операндами целого типа выполняются правильно только при условии, что результат и каждый операнд не меньше минимального (крайнего левого) и не больше максимального (крайнего правого) значений диапазона. Например, в Паскале существует константа maxint, в которой содержится максимально допустимое значение для типа integer. Тогда при выполнении операций в программе должны соблюдаться следующие условия:
(a операция b)

Над целыми типами, как и многими другими, допустимы операции отношения (сравнения). Результат таких операций относится к типу boolean и может принимать одно из двух значений – либо true (истина), либо false (ложь).

Таблица. Операции отношения

Знак операции Операция
= Равно
Не равно
= Больше илиравно
Больше
Меньше илиравно
Меньше

Целые типы могут приниматься в качестве фактических параметров рядом стандартных функций языка программирования Pascal.

Таблица. Стандартные функции Pascal, применимые к аргументам целых типов

Функция Тип результата Результат выполнения
abs(x) Целый Модуль x(абсолютная величина x)
sqr(x) Целый Квадрат x
succ(x) Целый Следующеезначение x (x+1)
pred(x) Целый Предыдущеезначение x (x-1)
random(x) Целый Случайноецелое число из интервала 0..x-1.
sin(x) Действительный Синус x(угол в радианах)
cos(x) Действительный Косинус x(угол в радианах)
arctan(x) Действительный Арктангенсx (угол в радианах)
ln(x) Действительный Натуральныйлогарифм x
exp(x) Действительный Экспонентаx
sqrt(x) Действительный Квадратныйкорень из x
odd(x) Логический Значение true,если x – нечетное число; false – если четное.

Функция random возвращает равномерно распределенное случайное целое число, если ей передан целый аргумент. При повторном запуске программы она возвращает те же значения. Во избежание этого следует в начале программы вызвать процедуру без параметров randomize.

Процедуры inc и dec могут иметь по одному или по два параметра целого типа. Если параметров два, то значение первого увеличивается (для inc) или уменьшается (для dec) на величину, равную значению второго параметра. Например, inc(x,2) равнозначно x+2. Если параметр один, то его значение увеличивается (для inc) или уменьшается (для dec) на единицу. Например, dec(x) равнозначно x-1. Следующие функции принимают в качестве аргументов значения вещественного типа, а возвращают значения целого типа:

trunc(x) – отбрасывание десятичных знаков после точки;
round(x) – округление до целого.

Ввод-вывод данных в Pascal

В Паскале ввод осуществляется с помощью процедур read() и readln(), а вывод — благодаря write() и writeln(). Процедуры, которые имеют окончание ln, после своего выполнения переводят указатель на новую строку.

При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.

Существуют особенности ввода данных с помощью операторов read() и readln(). Если используются подряд несколько операторов read(), то вводимые данные можно разделять всеми допустимыми способами. При использовании нескольких вызовов readln() каждый последующий срабатывает только после нажатия Enter. Программа ниже иллюстрирует это. Комментарии поясняют последовательность возможных действий при вводе данных.

var a,b,c,d: integer;begin read(a); // a -oror- b read(b); writeln(a,’ ‘,b); readln(c); // c — only- d readln(d); writeln(c,’ ‘,d); read(a,b); // a -oror- b writeln(a,’ ‘,b); readln(c,d); // c -oror- d writeln(c,’ ‘,d);end.

Для проверки заданий необходимо зарегистрироваться на сайте

Наша группа БИД_21_Pascal

В рамках БИД_21_Лабораторная_1 необходимо решить 5 задач.

В меню слева даны ссылки на условия задач.

Выбираем нужную задачу и язык Pascal, вставляем текст программы.


Посмотреть правильность выполнения можно на страницах Монитор (Монитор дорешивания) и Мои посылки

Обратите внимание, что формат ввода Input и вывода Output должен точно соответствовать условиям в задаче.

Статьи к прочтению:

Drake Type Beat — Whole Thang


Похожие статьи:

Любая программа, суть которой не есть вывод на экран некоторой текстовой информации, содержит описание переменных. Переменная — это пара “имя” -…

Object Pascal унаследовал от базового языка Borland Pascal все его особенности и достоинства. Так же, как и в Borland Раscal, в Delphi все используемые…

vedro-compota

Ранее мы говорили о стандартных процедурах write() и writeln(), служащих для вывода данных в консоль, теперь же погорим об обратном процессе - а именно получении данных от пользователя.

Процедура Readln()

Стандартная процедура readln() позволяет записывать в переданные аргументы-переменные те значения, которые пользователь вводит в консоли.

Подробнее:
Стандартная процедура readln() (читают как "ридлэн" или "ридлайн") работает в двух режимах (всегда временно останавливая консоль):

-- то она ожидает ввода данных (литералов) для этих переменных, а после ввода последнего требуемого литерала ожидает последнего нажатия клавиши Enter.

-- кстати, именно этот её свойство мы используем для удержания консоли (там мы делаем вызов процедуры readln() перед закрывающей операторной скобкой тела программы).

Подробнее поговорим о первой функции данной процедуры.

Получение значений переменных и стандартный поток ввода данных

Стандартный поток ввода данных

В Паскале стандартным потоком ввода можно назвать

, так для разных реализаций Паскаля этот "источник" чтения может оказаться различным.

Давайте возьмём такой код:

и запустим его в паре средств разработки (мы можете попробовать запустить в вашей среде).

Консоль паскаль пример работы readln() стандартный поток ввода

В Lazarus Delphi местом чтения оказывается "консоль", например в Windows, это выглядит как-то так (черное окно появляющееся при запуске программы):

-- белый горизонтальный курсор внизу мигает (на этой картинке он просто отображается, а на экране мигает) в ожидании того, как пользователь введёт число и нажмёт Энтер.

abcPascal Readln() как работает пример

Тот же самый код, запущенный в среде ABCПаскаль, не приведёт к открытию черного окна, а просто предложит ввести данные в нижней части собственного окна:

-- здесь для обозначения места ввода используется вертикальный курсор.

Получение значений для переменных -- два способа

К этому моменту мы с вами слышали про два способа получения значений для переменных:

  1. С помощью операции (и её оператора) присваивания, например:
  2. С помощью вызова Readln(), где в качестве аргументов переданы эти переменная/переменные:

-- о втором способе получения данных поговорим подробнее ниже.

Как работает Readln()

Readln() выполняет неявное (внутри своего тела -- тела процедуры) присваивание введенных пользователем значений переменным, которые переданы в него в качестве аргументов.

Как и при перезаписи переменной (если одной и той же переменной при выполнении программы последовательно присваивают разные значения), Readln() может перезаписать старое значение переменной, например, запустите код:

Если второй раз вы введете не восьмерку -- а любое другое целое число, то значение переменной b изменится -- собственно это и есть основной пример иллюстрирующий работу readln.

С помощью readln() можно вводить данные любого типа, из списка приведённого ранее.
Когда мы говорим "вводить", то подразумеваем, что пользователь вводит -- передаёт данные в "область" выполнения программы -- как бы из одного мира в другой.

Получение значений для нескольких переменных одним вызовом

Readln() умеет запрашивать данные сразу для нескольких переменных одним вызовов, переменные, переданные в качестве аргументов могут быть разных типов, но так как мы к данному моменту изучили только два типа (integer и real), то рассмотрим пример получения нескольких значений этих двух типов.

Здесь в первой части программы значения всегда придётся вводить по одному, а вот во второй части, где аргументы передаются списком можно:

-- в последних примерах мы для всех трех переменных вводили целочисленные литералы, но для той, что имеет тип real, конечно можно было использовать вещественный литерал (литерал вещественного числа).

Обратите внимание, что после получения данных с помощью redaln() мы можем выводить значения переменных на экран (они могут измениться) как и после очередной работы оператора присваивания.

Например, рассмотрим код:

В примере выше в однострочных комментариях мы показали, что выведет на экран writeln() в первом и третьем случае.
Во втором же случае значение переменной $a$ перезаписывается не явно с помощью оператора присваивания, а с помощью процедуры чтения readln(), а потому в консоли вместо строки:

будет какое-то число введённое пользователем.

Разбор задач

Пример №1

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

Это не сложная задача.
Во-первых, так как первая переменная вещественна, то и вторую (которой будем присваивать результат произведения), тоже придётся объявить как вещественную, так как в силу неявного приведения типов произведение вещественного значения и целого числа (в нашем случае это $2$) даёт вещественное значение.

Далее перейдём к решению:

Запустите этот код и посмотрите на ответ задачи (введя значение переменной и нажав Энтер).

Пример №2

Есть две переменные, одна хранит целое число, а другая вещественное. Первой присвойте значение явно, а значение второй запросите у пользователя. Их сумму запишите в третью переменную и выведете результат на экран.

Сказано, что одна переменная хранит целое число, а другая вещественное -- значит ясно, что одну надо объявить как переменную целого типа integer, а вторую как вещественного real. Третья же переменная будет хранить их сумму, так как в случае арифметических операций с вещественными и целыми типами имеет место неявное приведение типа, то тип суммы будет вещественным.
Давайте объявим эти переменные:

С помощью комментариев к коду можно даже пояснить какая переменная за что отвечает:

Теперь когда мы определились с секцией объявления переменных, можно переходить к реализации тела программы.
Здесь всё просто:

-- запустите эту программу, курсор ввода значения (задержанный realdln-ом) для второй переменной будет мигать без всяких пояснений, что не удобно, так как не совсем понятно, что требуется делать. В таких случаях обычно перед любым readln() используют вывод какого-либо пояснения, которое помогает пользователю понять, что требуется делать:

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

В качестве букв используются прописные и строчные буквы латинского алфавита и знак подчёркивания; в качестве цифр: арабские цифры от 0 до 9.

Неделимые последовательности знаков алфавита образуют слова, отделённые друг от друга разделителями и несущими определённый смысл в программе. Разделителем может служить пробел, символ конца строки, комментарий.

Слова подразделяются на: зарезервированные, стандандартные идентификаторы и идентификаторы пользователя.

Зарезервированные слова являются составной частью языка и их нельзя использовать в качестве идентификаторов. В языке Паскаль зарезервированными являются следующие слова: and, array, begin, case, const, div, do, downto, else, end, file, for, forward, function, goto, if, in, lable, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor.

Стандартные идентификаторы служат для обозначения заранее определённых разработчиками языка типов данных, констант, процедур и функций.

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


Общая структура программы. Описание меток, определение констант, определение типов, описание переменных

Структура программы:

Program ;

Uses

Label

Const

Type

Var

Procedure

Function

Begin

End.

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

Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются.

Стандартные виды констант:

1. Целочисленные - определяются посредством чисел, записанных в десятичном или шестнадцатеричном формате, не содержащих десятичной точки.

2. Вещественные - определяются посредством чисел, записанных в десятичном формате данных.

3. Символьные - это любой символ персонального компьютера, заключённый в апострофы.

4. Строковые - определяются последовательностью произвольных символов, заключённых в апострофы.

5. Типизированные - переменные с начальным значением. Каждой типизированной константе ставится в соответствие имя, тип и начальное значение.

6. Зарезервированные константы.

Формат описания констант:

Пример:

Константам n, m задаются значения 7 и 15 соответственно.

Переменные в отличие от констант могут менять свои значения в процессе выполнения программы. Тип констант автоматически распознаётся компилятором без предварительного описания. Тип переменной должен быть описан перед тем, как с переменными будут выполняться какие-либо действия.

Формат описания переменных:

Пример:

Переменным a,b задается тип integer а переменной c - тип real.

О том, что такое типы данных, вы узнаете в следующий статьи.

Арифметические выражения

Арифметические выражения строятся из имен переменных, констант, знаков операций и круглых скобок так, как это принято в математике. При вычислении их значений операции выполняются в порядке приоритета: *, /, DIV, MOD, а затем + и -. Операции одинакового старшинства выполняются слева направо.

Арифметические операторы:

Оператор Назначение
+ Сложение
- Вычитание
* Умножение
/ Деление
div Целочисленное деление
mod Остаток от целочисленного деления

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




Функция Назначение
ABS(X) Модуль числа x
ARCTAN(X) arctg(x)
COS(X) cos(x)
EXP(X) е х
FRAC(X) Дробная часть x
INT(X) Целая часть x
LN(X) ln(x)
PI Значение PI=3.1415926535897932385
ROUND(X) Округление до ближайшего целого
SIN(X) sin(x)
SQR(X) x 2
SQRT(X) Квадратный корень Х
TRUNC(X) Отбрасывание дробной части
EXP(B*LN(A)) A B – В Паскале нет функции возведения в степень, поэтому степень определяется через уже определенные функции

Аргумент функции обязательно заключается в скобки.

Выражение на Паскале, как впрочем, и на других языках программирования, записывается в одну строчку, а для сохранения порядка действий используются скобки. Все действия должны быть указаны. Например, XY+X2 надо записать как Х*Y+SQR(X).

Ввод-вывод данных в Pascal

Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.

Следовательно, любой язык программирования должен иметь инструменты как для ввода данных, так и их вывода. В Паскале ввод осуществляется с помощью процедур read() и readln(), а вывод - благодаря write() и writeln(). Процедуры, которые имеют окончание ln, после своего выполнения переводят указатель на новую строку.

Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.

Куда можно вывести данные? На экран, в файл, на принтер и др.

Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит "работающие по-умолчанию"; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.

Разработка урока "Ввод и вывод данных в Паскале" с электронным пособием разработанным на языке программирования Делфи 7.

ВложениеРазмер
vvod_i_vyvod_dannykh_v_paskale.rar 1.45 МБ


Бесплатный марафон подготовки к ЕГЭ на зимних каникулах

Учи.Дома запускает бесплатный марафон в котором каждый день. В течении 5 дней утром ты будешь получать одно задание по выбранному предмету, а вечером его решение. Твоя задача, успеть выполнение задание до того как получишь ответ.

Бесплатно, онлайн, подготовка к ЕГЭ

Предварительный просмотр:

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

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

Тип урока: урок изучения нового материала.

Формы и методы обучения: словесный, наглядный, практический, проблемный – фронтальный опрос, работа на компьютере.

Общее время: 45 минут.

Место проведения урока: кабинет информатики.

  1. Оргмомент – 1 мин.
  2. Вводное слово – 1 мин.
  3. Актуализация знаний и умений учащихся – 8 мин.
  4. Изучение нового материала – 15 мин.
  5. Закрепление изученного материала Работа на компьютерах – 15 мин.
  6. Заключение – 3 мин.
  7. Задание на дом – 2 мин.

1. Беседа с учащимися. Здравствуйте.

3. Актуализация знаний и умений учащихся. Актуализация знаний и умений учащихся осуществляется во время фронтального опроса, в ходе, которого им предстоит ответить на следующие вопросы:

  1. Дайте определение линейного алгоритма.
  2. Структура линейного алгоритма.
  3. Приведите примеры линейных алгоритмов.
  4. Запишите формат заголовка программы.

4. Изучение нового материала.

составить опорный конспект – записать формат и блок-схему в тетрадь и ответить на вопросы:

  1. В каких случаях используется оператор Read а в каких Readln?
  2. Чем отличаются операторы Write и Writeln?
  3. Основные процедуры и функции модуля CRT.

Принцип выполнения операторов и примеры решения некоторых задач.

Начинаем с рассмотрения примера программы:

Программа будет иметь вид:

Поздравляю, Вы стали программистами.

«Всем привет, Важно не путать

Обращаем внимание учащихся на различную форму записи процедуры вывода и излагаем материал.

Один из возможных примеров программы

Write(‘ Привет всем , ’);

Writeln(‘ Важно не путать ’);

Writeln(‘ Write и ’);

write(‘текст’); - не переводит следующий команду на новую строку.

writeln(‘текст’);- переводит следующий команду на новую строку.

Эти процедуры работают так же, как и процедуры ввода.

Затем переходим к изучению процедур и функций, имеющихся в модуле CRT .

Даем учащимся основные процедуры и функции модуля.

Clrscr (clear screen) – гашение экрана(очистка окна вывода).

Gotoxy(m,n) – установка курсора в позицию m строки n.

Trxtbackground(c) – установка цвета фона; с – константа, определяющая цвет(цифра от 0 до 7).

Textcolor(c) – установка цвета шрифта; с может принимать значения от 0 до 7.

Deline – удаление строки, в которой находится курсор. Все строки ниже удаленной сдвигаются на одну строку вверх.

Insline – добавление пустоц строки в позицию курсора, все строки за курсором сдвигаются на строку вниз.

Delay(n) – приостановка выполнения программы на n миллисекунд.

Sound(n) – запуск звукогенератора с частотой тона n Гц.

Nosound – отключение звукового сигнала.

Keypressed – значение функции может принимать два значения: true или false. Значение true, если в буфере обмена нет ни одного символа, и false – в противном случае.

Readkey – ввод символов с клавиатуры, без отображения их на экране.

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

5. Закрепление изученного материала. Работа на компьютерах Для закрепления изученного материала учащимся предлагается выполнить лабораторную работу.

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

6. Заключение. Подводятся итоги уроки, анализируется и оценивается работа каждого ученика.

Рефлексия:
— Было ли вам комфортно сегодня на уроке?
— Что нового вы узнали на сегодняшнем уроке?
— С какими именно трудностями вы столкнулись?
— Какие задания показались вам простыми?

7. Задание на дом.

Читайте также: