- •§1. Начало программирования на языке Паскаль.
- •Краткое знакомство.
- •Функциональные клавиши Турбо Паскаль.
- •§2. Алфавит языка Паскаль. Переменные. Типы переменных Алфавит языка Паскаль.
- •Стандартные математические функции
- •Типы переменных
- •§3. Операторы присваивания.
- •Оператор ввода-вывода.
- •Арифметические операции.
- •Стандартные функции
- •Правила записи арифметических выражений.
- •Правила записи стандартных функций.
- •Оператор ввода .
- •Оператор вывода .
- •§4. Структура программы.
- •Первая программа.
- •Эксперименты с программой.
- •§5. Разветвляющие алгоритмы. Составной оператор
- •Оператор if или условный оператор
- •Блок-схема полного у словного оператора
- •Блок-схема неполного у да Условие словного оператора
- •§6. Оператор цикла с параметром Циклический алгоритм
- •Цикл с предусловием «Пока»
- •Цикл с постусловием «До»
- •Цикл с параметром «Для» Цикл с параметром «Для»
- •Блок-схема цикла «for»
- •§7. Базовые циклические алгоритмы
- •1. Алгоритм вычисления суммы чисел.
- •2. Подсчет количества чисел удовлетворяющих заданному условию.
- •3. Вычислить сумму чисел, кратных 3, из десяти чисел введенных с клавиатуры.
- •4. Алгоритм вычисления n!.
- •5. Алгоритм вычисления аn.
- •§8. Цикл с предусловием while
- •Блок-схема цикла «Пока»
- •§9. Оператор цикла с постусловием Repeat
- •Блок-схема цикла «До»
- •§10. Эксперимент с программой. Лабораторная работа
- •§11. Оператор варианта выбора
- •§12. Типы определенные пользователем Раздел описания типов
- •Перечислимый тип данных
- •§13. Вложенные циклы
- •§14. Одномерные массивы Работа с элементами
- •Способы задания значений элементов массива
- •Алгоритмы работы с массивами
- •Эксперименты с программой
- •§15. Обработка символьных массивов. Данные символьного типа.
- •Описание строковых переменных
- •Операции над строковыми переменными
- •§16. Двумерные массивы Работа с элементами
- •5.Вычисление суммы элементов всего двумерного массива.
- •6. Задача поиска максимального (минимального) элемента и его индексов.
- •7. Алгоритм поиска минимального элемента и его индексов для всего массива.
- •8. Квадратные матрицы.
- •Примеры решения задач
- •§17. Подпрограммы
- •Процедура в Паскале и ее формат.
- •Функции
- •§18. Примеры рекурсивного программирования
- •Задачи с рекурсивной формулировкой
- •Задачи, из постановки которых можно извлечь рекурсию
- •Задачи, которые можно решить как частный случай обобщенной
- •Задачи, в которых можно использовать характеристику или свойство функции
- •§19. Графика
- •Установка цвета и стиля заполнения
- •Процедуры создания графических примитивов
- •1. Текущий указатель.
- •2. Вывод точки
- •3. Вывод отрезка
- •4. Построение прямоугольника
- •5. Построение дуг, окружностей, эллипсов.
- •6. Построение закрашенного эллипса:
- •7. Заполнение внутренней или внешней области замкнутой фигуры.
- •Материалы для дополнительного чтения. §20. Файловый тип данных
- •Связь переменной файлового типа с файлом на диске.
- •Чтение из файла.
- •Закрытие файла
- •Признак конца файла
- •Запись в файл
- •Прямой доступ к элементам файла
- •§21. Текстовые файлы
- •§22. Множества
- •Операции над множествами
- •Операция определения принадлежности элемента множеству
- •Сравнение множеств
- •§23. Комбинированный тип данных (записи)
- •2. С использованием оператора присоединения.
- •§24. Приближенные вычисления.
- •§25. Основы структурного программирования
- •10. Комплексный пример
- •Содержание
нет
Блок-схема неполного у да Условие словного оператора
Задача 2 : Написать программу поиска наибольшего из двух чисел. Найденное число должно быть помещено в переменную МАХ.
PROGRAM prim2;
USES Crt;
var x,y ,max : real;
begin
ClrScr; (* очищение экрана *)
Writeln(‘Введите два числа’);
Readln(x,y);
max:=x;
IF y>max THEN max:=y;
Writeln(max);
end.
Решая всевозможные задачи часто необходимо выполнять группу операторов либо за словом THEN , либо за словом ELSE. Для того чтобы записать группу действий необходимо использовать составной оператор BEGIN END.
If <условие> then
begin
оператор1;
оператор2;
...................
оператор n;
end
else оператор;
If <условие> then оператор
else begin
оператор1;
оператор2;
...................
оператор n;
end;
If <условие> then
begin
оператор1;
оператор2;
...................
оператор n;
end
else
begin
оператор1;
оператор2;
...................
оператор n;
end
Задача 3. Решить квадратное уравнение вида
ax2 + bx +c = 0
План решения задачи :
задать коэффициенты a,b,c.
вычислить значение дискриминанта.
Проверить значения дискриминанта и, в зависимости от полученного ответа, выполнить то или иное действие.
program kvyr;
var a,b,c : integer;
x1,x2,d : real
begin
writeln(‘введите коэф-ты квадратного уравнения’);
read(a,b,c);
d:=b*b-4*a*c;
if d>=0 then begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln(‘корни x1=,x1,’ x2’,x2)
end
else if d=0 then writeln(‘x1=x2=’,-b/(2*a))
else writeln(‘решений нет’);
e
Начало
a,
b,
c
d=b2
– 4ac
да
нет
d>0
x1=
(-b+d)/(2*a)
да
нет
d=0
x2=
(-b-d)/(2*a)
x1=x2=-b/2a
решений
нет
x1,
x2
x
конец
nd.
Задача 4. Составьте программу для вычисления выражения
а) max(x+y+z, xyz) + 3
б) min(x2+y2, y2+z2) - 4
program kvyr;
var a,b,c : integer;
x1,x2,d : real
begin
writeln(‘введите коэф-ты квадратного уравнения’);
read(a,b,c);
d:=b*b-4*a*c;
if d>=0 then begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln(‘корни x1=,x1,’ x2’,x2)
end
else if d=0 then writeln(‘x1=x2=’,-b/(2*a))
else writeln(‘решений нет’);
end.
Задача 4. Составьте программу для вычисления выражения
а) max(x+y+z, xyz) + 3 б) min(x2+y2, y2+z2) - 4
