Часто первыми действиями, выполняемыми программой, являются действия по вводу и выводу данных.
В вод данных – передача информации от внешнего носителя в оперативную память для обработки.
Основные устройства ввода — клавиатура и дисковый файл. Программа получает входные данные из файла Input и помещает результат обработки в файл Output. Стандартно файлу Input назначена клавиатура, файлу Output – экран терминала.
Для ввода и вывода данных в языке Паскаль предусмотрены следующие процедуры ввода-вывода: Read, Readln, Write, Writeln. Часто эти процедуры называют операторами.
3.1.1 Процедура чтения Read
Обеспечивает ввод числовых данных, символов, строк для их последующей обработки.
Read (а1, а2, а3, …,аn) ;
Readln;
Readln (а1, а2, а3, …,аn) ;
где а1, а2, а3, …,аn – переменные допустимых типов данных integer, real, char, string.
Третий оператор эквивалентен первым двум, выполненным последовательно. Значения набираются на клавиатуре через пробел и высвечиваются на экране. После набора данных для одной процедуры нажимается Enter.
Паскаль с нуля Строки
Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Паскаль. Если элемент ввода типа integer, а набирается с клавиатуры значение типа char – возникает ошибка ввода-вывода.
Пример:
С клавиатуры можно ввести
32 -1.8 true
Типовые ошибки при вводе:
В случае несоответствия типа введенных данных типу переменной, значение которой вводится с клавиатуры, программа завершает работу и на экране выводится сообщение об ошибке ввода-вывода. Если программа запущена из среды Turbo Pascal – Error 106 Invalid numeric format (Неверный числовой формат).
Если в программе несколько процедур Read, данные вводятся потоком, т.е. после считывания значений переменных для одной процедуры, данные для следующей процедуры набираются в той же строке.
С клавиатуры можно ввести данные через пробел на одной строке
32 -1.8 true
Процедура чтения Readln аналогична Read. Единственное отличие состоит в том, что если в программе несколько процедур Readln, то после считывания значений переменных для одной процедуры Readln, данные для следующей процедуры будут считываться с начала новой строки.
С клавиатуры ввели данные через пробел на одной строке
32 -1.8 true
Инструкция Readln при вводе с клавиатуры предпочтительней Read, т.к. полностью освобождает буфер клавиатуры – рабочую область памяти, в которой временно хранятся введенные с клавиатуры символы. Инструкция Read оставляет в буфере клавиатуры код клавиши Enter, которой завершает процесс.
Процедура Readln без переменных обычно записывается в конце программы и служит для создания паузы, которая длится до нажатия клавиши Enter. В противном случае по окончании программы окно с текстом программы закроет экран с полученным результатом.
3.1.2 Процедура записи Write
В ывод данных – передача информации после обработки из оперативной памяти на внешнее устройство (экран, принтер, файл на диске).
Информатика 8 класс (Урок№13 — Основные сведения о языке программирования Паскаль.)
Обеспечивает вывод числовых данных, символов, строк и булевских значений.
Write (а1, а2, а3, …,аn) ;
Writeln;
Writeln (а1, а2, а3, …,аn) ;
где а1, а2, а3, …,аn – выражение типа integer, byte, real, char, boolean.
Инструкции Write и Writeln предназначены для вывода констант различных типов, значений переменных или выражений. Число параметров – произвольное. Данные выводятся на экран.
Из констант наиболее часто выводятся строки текста (строковые константы заключаются в апострофы). Если в конструкции вывода записано выражение, оно сначала будет вычислено, а затем выполнен вывод полученного результата.
Процедура Writeln аналогична Write, отличие заключается в том, что после вывода последней переменной из списка, курсор автоматически переходит в начало новой строки. Инструкция Writeln без параметров переводит курсор в начало следующей строки, что позволяет, например, отделять результаты работы программы друг от друга пустыми строками.
В операторах вывода имеется возможность записи выражения, определяющего ширину поля вывода для каждой выводимой переменной или константы:
Write(y1:n:m, y2:n:m, …);
Writeln(y1:n:m, y2:n:m, …);
где y1, y2,… — выражение, переменная или константа;
n – определяет общую ширину поля вывода;
m – определяет место под дробную часть.
Если заданное n мало, при выводе ширина поля будет увеличена, если мало m – то производится округление.
Кроме того, в операторах вывода можно задавать количество пробелов. Для этого необходимо записать оператор вывода в виде:
Write (‘ ‘ : q);
где q — константа целого типа, указывающая число пробелов.
Примеры:
х – выводится десятичное представление величины х, начиная с позиции расположения курсора
Источник: studfile.net
Pascal. Основы
Как и любой другой язык программирования, Паскаль имеет свой алфавит. Под алфавитом языка программирования понимают набор символов, с помощью которых могут быть образованы величины, выражения и операторы.
Алфавит языка Паскаль включает:
- Латинские буквы;
- Цифры;
- Специальные символы (+ — * / = ^ < >( ) < >[ ] . , : ; ‘# $ и др.).
Для описания величин в языке Паскаль используются константы и переменные.
Константы – величины, не изменяющие своего значения в процессе выполнения программы.
Переменные – величины, в ходе выполнения программы могут быть неоднократно переопределены.
Типы констант и переменных
Паскаль позволяет использовать следующие типы констант и переменных:
- Простые
- целочисленный тип (integer);
- логический (boolean);
- символьный (char);
- перечисляемый (задается перечислением всех возможных значений переменной);
- интервальный (задается с указанием наибольшего и наименьшего значений);
- вещественный (real);
- строка (string);
- массивы (array);
- записи (record);
- множества (set);
- файл (file);
Каждому из перечисленных типов соответствует свой набор операций по обработке данных. Так, для целочисленного и вещественного типов используются операции арифметических действий (сложение, вычитание, умножение, деление). Для логического типа выполняются операции and – логическое и, or – логическое или, xor – логическое исключающее или, not – логическое не.
Кроме того, Паскаль предусматривает возможность вычисления для каждого типа данных значений стандартных функций.
В данной таблице приведены стандартные арифметические функции.
Cos(x)
Вычисление косинуса числа
Sin(x)
Вычисление синуса числа
Abs(x)
Вычисление абсолютного значения числа
Sqr(x)
Вычисление квадрата числа
Sqrt(x)
Вычисление квадратного корня числа
Arctan(x)
Вычисление арктангенса числа
Exp(x)
Вычисление экспоненты числа
Вычисление натурального логарифма числа
Odd(x)
Вычисление четности числа
Trunc(x)
Вычисление целой части числа
Round(x)
Примечание: Во всех тригонометрических функциях число x указывают в радианах.
Переменные и константы с помощью знаков операций, стандартных функций и круглых скобок могут связываться в выражения. Правила их записи близки к соответствующим правилам записи математических выражений. При вычислении значений выражений устанавливается следующий приоритет выполнения операций:
- Not;
- *, /, mod, div, and;
- +, -, or;
- , >=, <>, =.
Операции одного и того же старшинства выполняются слева направо в порядке их появления в выражении. Выражения в круглых скобках вычисляются в первую очередь.
Любая программа, написанная в Паскаль, строится в соответствии с рядом правил, определяющих ее структуру. В частности, в состав любой программы должны входить три раздела:
- Объявления и соглашения;
- Тексты процедур и функций;
- Основной блок программы.
Лишь в простейших программах второй из перечисленных разделов может отсутствовать. Каждый раздел имеет в свою очередь составные части, так что в целом структуру программы, написанной на языке Паскаль, можно представить следующим образом.
Раздел объявлений и соглашений
Program Uses Label Const Type Var Раздел текстов процедур и функций: Procedure (function) Раздел основного блока программы: Begin Операторы End.
Кроме того, в программе могут использоваться комментарии – любой текст, ограниченный (*…*) или . Комментарий может быть помещен в любом месте программы.
Рассмотрим более подробно назначение каждой части программы.
В строке Uses производится подключение используемых в данной программе библиотек (стандартных модулей). Паскаль содержит ряд модулей, в том числе:
- System – системный модуль низкоуровневых программ поддержки языка Паскаль; подключается автоматически, даже при отсутствии ссылки на него в строке uses;
- Dos и WinDos – модули поддержки часто используемых функций MS DOS и Windows;
- Crt – модуль управления режимами вывода информации на экран;
- Printer – модуль управления выводом информации на печать;
- Overlay – модуль управления оверлеями языка Паскаль; позволяет выполнять программы, которым требуются большие объемы памяти;
- Strings – используется при написании программ, совместимых с Windows;
- Graph – модуль для работы с графикой.
В разделе описания меток содержатся сведения об используемых в программе метках. Переход по ним выполняется оператором goto. Метки отделяются от помечаемого оператора знаком “:”, должны быть описаны, могут быть целочисленными (от 0 до 9999) или идентификаторами. Каждая описанная метка обязательно должна появиться в программе.
Для описания констант используется ключевое слово const, имя константы, знак “=” и значение константы:
Const Имя1 = значение 1; Имя2 = значение 2; …
В разделе описания типов Type программист может задавать свои типы, сформированные на основе определенных правил с использованием стандартных типов.
В разделе Var описываются переменные, используемые в программе:
Var список 1: имя типа 1; Список 2: имя типа 2; …
В списке переменных их имена отделяются запятой, в качестве имени типа можно использовать один из стандартных типов или идентификатор типа, объявленного в разделе Type. Описанные таким образом переменные могут использоваться в пределах блока, где они были описаны, а также во всех вложенных блоках, если в них эти переменные не описаны повторно.
В разделе текстов процедур и функций в соответствии с определенными правилами производится описание процедур и функций.
Процедура
Процедура имеет следующую структуру:
Procedure имя процедуры (формальные параметры); Раздел объявлений Begin Операторы End;
Раздел объявлений процедуры может включать подразделы Label, const, type, var для обявления локальных меток, постоянных, типов и переменных собственно. Слово «локальный» означает, что все перечисленные объекты могут быть использованы только в рамках данной процедуры или других подчиненных ей процедур.
Функция
Описание функций отличается по структуре от описания процедур только заголовком:
Function имя функции (формальные параметры): тип результата; Begin Операторы End;
Функция – это особый вид процедуры, результатом разботы которой является единственное значение. С этим значением связывается имя функции, в то время как име процедуры служит только для ее вызова.
Основной блок программы состоит из ряда операторов и является выполняемой частью программы. Он начинается со слова Begin и заканчивается словом end, после которого должна стоять точка. Операторы языка Паскль не привязаны к определенной позиции строки. В одной строке можно указывать несколько операторов. Исполняемые операторы отделяются друг от друга знаком « ; ».
Допускается перенос с одной строки на другую частей операторов (но без разделения ключевых слов).
Как было указано выше, основной блок программы представляет собой некоторый набор операторов.
Оператор – неделимый элемент программы, который позволяет выполнить определенные действия.
Операторы должны записываться строго в соответствии с правилами, установленными для данного языка программирования. Рассмотрим основные операторы языка Паскаль.
Оператор присваивания
Разбивка диска в Linux.Назначение /var
Сегодня до меня дошла одна вещь и я осознал свою круть =))
Некоторые личности меня спрашивали раньше еще когда я учился на курсах,зачем так странно разбиваю диск:
1.swap — если сделать его первичным разделом ускоряет загрузку ОС;
2./ — я не такой экстримал, как некоторые, поэтому держу boot в корне;
3./home/user — под него основное место харда. Если вынести его в отдельный раздел, то даже при условии, что ваше железо самоубьется, с вашими данными ничего не случится + вы получаете возможность при переустановке Linux — не изменять ( не форматировать) /home, сохраняя при этом свои данные в неизменном виде, даже при условии отсутствия резервной копии данных;
4./var — признаться, до вчерашнего дня, я вообще не знал, на фиг надо его выносить отдельно. Была еще мысль, что стоило бы на его место выставить /usr — так как там конфиги программ и прочее в том же духе.
Но! Буквально вчера вечером в коньках заметил, что /var — достиг объема почти в 18 ГБ. На самом деле, хз, че за нафиг, но я попытался его почистить — искал инструкцию в и-нете, как это сделать, и, что чистить, в результате, не найдя ни фига, решил cd /var rm -rf * — скопом все к чертям. После этого перезагрузился. Понятное дело, в учетку я не попал.
Залогинился под root’om, создал пользователя, добавил в группы, прописал /etc/sudoers, ребутнулся, из старой учетки перенес в новую все конфиги — все работает. Сейчас опять та же фигня. Думал смонтировать новую железку, для /var/log, но знающие люди объяснили, что для этого обычно /var и выносится отдельным разделом, чтобы из-за переполнения системных логов (/var/log), размер / не изменялся.А у меня именно так и сделано (когда был на курсах, знающие люди показали, как разбивать хард и все детально объяснили, но /var — выветрился из головы). Поэтому теперь урок усвоен.
Вот одно из достоинств frugal-системы — автоочищение
# du -sh /var 863.5K /var
Если без ключа -s то покажет подробно по каждому файлику.
Вот одно из достоинств frugal-системы — автоочищение
# du -sh /var 863.5K /var
Если без ключа -s то покажет подробно по каждому файлику.
Так — то оно так, но меня интересовало, что с этим делать, а не кто виноват. Я знаю, что в моем случае, проблема возникла из-за переполнения системных логов, а их в свою очередь я удалять не рискнул, ибо создавать в системе 3 его пользователя я как -то не хочу; и, хотя мне показали, что в принципе это можно почистить, но меня это не колышит, пока размер корня остается неизменным, а так оно и останется, ибо /var — отдельный раздел и,что самое главное — на работоспособности системы никак не скажется.
Вот одно из достоинств frugal-системы — автоочищение
# du -sh /var 863.5K /var
Если без ключа -s то покажет подробно по каждому файлику.
Даешь объяснение в ЛС, что такое frugal.
Здесь (http://wiki.puppyrus.org/setups/start) наша wiki
Допустим. но я года как 3 сижу на Ubuntu и скорый переход на Puppy, даже при услдовии, что дистрибутив неплох, мне не грозит, хотя бы по причине отсутствия слабого железа в наличии.
Что же касается frugal — установки, то прницип разбития диска будет абсолютным таким же, как и для ubuntu. Но я еще поэксперементирую
Я ubuntu уже лет семь как перерос. Переходить на Puppy не надо, он изначально задуман как вспомогательная система, используйте параллельно. На сильном железе Puppy тоже работает.
Что-то мы в оффтоп ушли.
Добро пожаловать!
Войдите или зарегистрируйтесь на сайте, чтобы участвовать в форуме.
Если вы уже зарегистрированы на сайте, то отдельно на форуме регистрироваться не нужно.
Источник: pingvinus.ru