
- •Языки и системы программирования Алгоритмы
- •Языки программирования
- •Область применения языков программирования
- •Сложность и эффективность языков программирования
- •Трансляторы
- •Характеристика с/п 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
Процедуры инкремента и декремента
Кроме функций над целочисленными переменными можно выполнять процедуры увеличения и уменьшения:
№ |
Процедура |
Что делает |
Как сделать это же |
1 |
inc(x) |
увеличивает x на 1 |
x := x + 1; |
2 |
inc(x,12) |
увеличивает x на 12 |
x := x + 12; |
3 |
dec(x) |
уменьшает x на 1 |
x := x – 1; |
4 |
dec(x,12) |
уменьшает x на 12 |
x := x – 12; |
По сравнению с присваиванием процедуры inc и dec работают значительно быстрее, но применимы только для переменных целого типа. Кроме того, при больших именах переменных эти процедуры записываются компактнее. Сравните:
inc(wozrast); или wozrast:=wozrast+1;
Примеры решения линейных задач
Пример 1. Каждый пиксел рисунка занимает 3 байт. Сколько килобайт ( 1 Кбайт = 1024 байт ) требуется для хранения картинки размерами 500х300 пикселов?
В
program risunok; var
a,b,v : real; begin
a:=500;
b:=300;
v:=a*b*3/1024;
writeln(’Потребуется ’,v:3:1,’ Кбайт
памяти’); end.
Обратите внимание, также, на оформление программы – отступы. Старайтесь придерживаться такого стиля оформления. Это нужно для лучшей читаемости программы.
Пример 2. Корова съедает в сутки около 70 кг. травы. Пастбищный сезон длится в среднем 150 суток. Примерная урожайность пастбищных культур 250 ц/га. Какова площадь пастбища, необходимого одной корове на пастбищный сезон? Сколько гектаров понадобится, если в стаде 65 коров?
program
stado;
var
m,t,u,s1,ss,k
: real;
begin
m:=70;
t:=150;
u:=250;
k:=65;
s1:=u/m*t;
{площадь для
одной коровы}
ss:=s1*k;
{площадь для
всего стада }
writeln(’Корове
нужно ’,s1:4:1,’
Га пастбища’);
writeln(’Стаду
нужно ’,ss:4:1,’
Га пастбища’);
end.
В этой программе нового только комментарии в фигурных скобках, которые не являются обязательными.
Обратите внимание на то, что в обеих задачах первые команды задают известные данные, а в последующих производятся вычисления. Такого порядка обычно придерживаются при решении задач.
Пример 3. Новое колесо выдерживает в среднем 100000 оборотов. Радиус колеса 0,5 м. Сколько км. пробежит автомобиль с новыми шинами?
program
koleso; var
maxob,r,km,l : real; begin maxob:=100000;
r:=0.5; l:=2*pi*r;
{длина окружности
колеса} km:=l*maxob;
{путь в метрах} km:=km/1000;
{путь в километрах} writeln(’Автомобиль
пройдёт ’,km:6:2,’
км.’); end.