
- •Языки и системы программирования Алгоритмы
- •Языки программирования
- •Область применения языков программирования
- •Сложность и эффективность языков программирования
- •Трансляторы
- •Характеристика с/п Pascal abc
- •Используемые в с/п Pascal abc «горячие клавиши»
- •Структура программы на Паскале
- •Сообщения об ошибках. Отладка программы.
- •Система подсказок.
- •Команды вывода данных на экран
- •Константы
- •Переменные
- •Арифметические выражения. Приоритет арифметических операций
- •Стандартные арифметические функции
- •Процедуры инкремента и декремента
- •Примеры решения линейных задач
- •Ввод данных с клавиатуры
- •Примеры решения диалоговых задач
- •Линейные задачи для самостоятельной работы
- •Лаб. 1. Линеаризовать выражение:
- •Лаб. 2. Линейные диалоговые задачи (на одно действие)
- •Лаб. 3. Диалоговые задачи на несколько действий
- •Ветвление
- •Логические выражения
- •Вложенное ветвление
- •Лаб. 4. Задачи на ветвление:
- •Лаб. 5. Задачи на ветвление с вычислениями:
- •Выбор варианта
- •Лаб. 6. Задачи на выбор варианта:
- •Как выбрать цикл?
- •Экстренные события в теле цикла
- •Лаб. 7. Числовые задачи с циклом For
- •Лаб. 8. Сюжетные задачи с циклом For
- •Лаб. 9. Задачи с условными циклами
- •Библиотека crt
- •Библиотека sounds
- •Лаб. 10. Задачи с использованием циклов и библиотек crt и sounds
- •Порядковые типы данных
- •Перечислимый тип данных
- •Символьный тип данных
- •Ограниченный (интервальный) тип данных
- •Лаб. 11. Задачи со строками
- •Массивы
- •Решение задач с массивами
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива.
- •Двумерные и многомерные массивы
- •Лаб. 12. Задачи с одномерными массивами
- •Лаб. 13. Задачи с двумерными массивами
- •Множества
- •Файлы данных
- •Записи и базы данных
- •Библиотека GraphAbc
- •Действия с графическим окном:
- •Точечная графика
- •Графические примитивы
- •Текст в графическом окне
- •Использование готовых точечных рисунков
- •Вспомогательные алгоритмы
- •Рекурсия
- •Событийное программирование
- •Использование таймеров
- •Использование сторонней библиотеки ukeyb
Команды вывода данных на экран
write(сообщение); и writeln(сообщение); - печатают информацию, содержащуюся в скобках, в окне вывода. Отличие в том, что writeln переносит курсор на новую строку, и следующая команда печати будет выводит данные с начала новой строки. Если же мы используем write, то следующее сообщение будет выведено в той же строке, после данного. Если после команды writeln нет скобок, она ничего не печатает, но курсор на новую строку переводит.
В качестве сообщения в скобках может быть текст, заключённый в одинарные кавычки или число: writeln(’Привет!’); writeln(125);
Вместо числа может быть выражение, результат которого будет выведен на экран:
writeln(2+3*4);
Одна команда write или writeln может вывести несколько сообщений. Для этого их надо перечислить через запятую. Обычно это нужно для формирования полного ответа:
writeln(’Коровы съедят ’,12*13-25,’ ц. сена.’);
Здесь пробелы в конце первого и в начале второго текстов нужны для отделения текстов от числа.
Для очистки окна вывода используется команда cls;.
Для задержки между командами на заданное время используется команда sleep(время); Время задаётся целым числом в миллисекундах.
Константы
Числовые константы используются в арифметических выражениях. Например, в выражении 2+3*4 содержатся три числовые константы. Кроме целых, константы могут быть вещественными (представленными в виде десятичной дроби). Такие числа могут быть записаны в форме числа с плавающей точкой, например, 2573.11, или в форме числа с фиксированной точкой: 2.57311E+03. Это - то же самое число, только перед буквой E стоит мантисса (число с одной целой цифрой), а после E – ордината (степень десяти, на которую нужно умножить мантиссу).
К
роме
числовых констант в программе могут
использоваться именованные константы.
Их значение указано не в самой программе,
а в разделе описаний после ключевого
слова CONST. Для этого
после имени константы указывают знак
равенства и значение константы. Тип
константы (целая или вещественная)
Паскаль определяет по её записи. В самой
программе используется имя константы,
вместо которого Паскаль подставляет
при компиляции её значение.
В качестве имени не обязательно должна использоваться одна буква. Имя константы может состоять из нескольких (латинских) букв и цифр (на первом месте буква).
Некоторые именованные константы Паскаль знает заранее, без нашего объяснения. Например, число π, которое хранится под именем Pi и содержит 20 знаков: 3.1415926535897932385.
Переменные
В отличие от констант, которые задаются только один раз, в Паскале существуют также переменные, значение которых можно изменять в ходе решения задачи. Процесс задания переменной значения называется присваиванием и записывается, например, так:
a:=(b+4)*25.13;
Слева находится переменная, куда нужно занести значение. Справа – выражение, результат которого нужно запомнить в переменную. Между ними – знак присваивания, состоящий из двоеточия и знака равенства. Если в выражении справа используется переменная (как в нашем случае b), значение которого вычислено заранее, вместо неё в выражение будет подставлено соответствующее значение. Если эта переменная не вычислена, будет (скорее всего) подставлен 0, но разработчики Паскаля этого не гарантируют. Вместо ноля может быть подставлен любой «мусор», находящийся в памяти в том месте, которое Паскаль отведёт для данной переменной. Поэтому рекомендуется инициализировать такие переменные (задавать начальное значение, например, обнулять).
Как и любое не известное Паскалю слово, переменные должны быть объявлены в разделе описаний. Для указания, что это переменные, перед их объявлением должно стоять ключевое слово VAR.
З
начения
переменным в этом месте не задаются, а
только указывается, какого типа
переменная. Это нужно, чтобы Паскаль
«знал», сколько байт памяти оставить
этой переменной, и какие действия над
ней являются допустимыми. Например:
Переменные одного типа перечисляются через запятую. После этого списка ставится двоеточие и указывается идентификатор типа. В данном примере имеются два идентификатора: integer и real. Первый обозначает целые переменные в диапазоне от -2147483648 до +2147483647 и занимает в памяти 4 байта. Второй – вещественные (дробные). Диапазон его значений от ± 5.0∙10-324 до ± 1.7∙10308. Число типа real содержит 15-16 значащих цифр и занимает в памяти 8 байт.
Если в задаче используются целые положительные числа в пределах от 0 до 255, то можно сэкономить память и ускорить вычисления, использую тип переменных byte (короткое беззнаковое целое).
Что получится, если в одном выражении использовать числа разного типа? Результат выражения будет приведён к самому памятеёмкому из данных типов. Например, при использовании integer и byte результат будет типа integer. При использовании integer, byte и real результат будет real. Однако есть некоторые операции и функции, которые могут быть использованы только с integer или только с real.
Примечание: работая в других диалектах Паскаля, не нужно рассчитывать, что там такие же типы будут занимать столько же памяти и находиться в таких же диапазонах. В каждом из них нужно выяснить эту информацию в технической документации или справочной системе.