
- •Рекомендации по использованию методического пособия
- •1. Структура программы в Паскале.
- •11. Подпрограммы.
- •13. Работа с файлами.
- •Введение
- •Характеристика и особенности языка
- •Основные особенности языка Pascal
- •Программирование на языках программирования высокого уровня
- •Структура программы в Паскале
- •Правила написания имен в Паскале
- •Стандартные модули в Паскале
- •Типы переменных в Паскале
- •Операции в Паскале
- •Дополнительные функции в Паскале
- •Команда ввода данных
- •Математическое действие
- •Ветвящиеся алгоритмы
- •Оператор условия
- •Оператор выбора
- •Циклические алгоритмы
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с параметром
- •Принудительный выход из цикла
- •Работа с массивами
- •Одномерные массивы
- •Многомерные массивы
- •Работа со строковыми переменными
- •Строковые переменные
- •Ascii коды клавиш
- •Подпрограммы
- •Подпрограмма-функция
- •Подпрограмма-процедура
- •Графика в Паскале
- •Переход в графический режим
- •Цветовое оформление
- •Графические примитивы
- •Запись данных в файл
- •Закрытие файла
- •Список использованной литературы:
Дополнительные функции в Паскале
Inc (Dec)
Функции Inc и Dec используются для увеличения и уменьшения значения аргумента на единицу.
Пример
Inc(7) = 8;
Dec(7) = 6;
Odd
Логическая функция Odd из модуля System принимает значение «истина» только в том случае, когда аргумент — нечетное число.
Пример
Odd(7) = true;
Odd(6) = false;
Trunc
Функция возвращает целую часть аргумента как значение целого типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Пример
Trunc(7,2856) = 7;
Trunc(4,99) = 4;
Round
Функция Round преобразует вещественное значение в ближайшее к нему значение типа LongInt, т. е. округляет аргумент до целого числа.
Пример
Round(7,2856) = 7;
Round(4,99) = 5;
Int
Функция возвращает целую часть аргумента как значение вещественного типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Пример
Int(7,2856) = 7,0000;
Frac
Функция возвращает дробную часть аргумента как значение вещественного типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Пример
Frac(7,2856) = 0,2856;
Линейное программирование на языке Pascal
Начало программы
Тело программы, или раздел инструкций, начинается со служебного слова begin, на алгоритмическом языке оно обозначается словом начало, блок-схема же выглядит как овал:
После слова begin никогда не ставится точка с запятой.
Конец программы
Слово begin в программе автоматически подразумевает, что после выполнения некоторых действий будет употреблено служебное слово end. End с точкой после него означает конец всей программы.
На алгоритмическом языке end обозначается словом конец, а в блок-схемах – овалом, как и begin.
Команда вывода данных на экран
Для вывода информации на экран используются две команды: Write (вывод данных на экран) и WriteLn (вывод данных на экран, начиная с новой строки).
Окончание -Ln означает переход в новую строку.
Эти команды позволяют выводить на экран текст: write('текст'); writeln('текст') (пользователь увидит на экране надпись, заключенную в одиночные кавычки, в данном случае слово текст). Если использовать эти команды без одиночных кавычек: write(x), writeln(x), на экран выведется значение переменной x.
На
алгоритмическом языке команда
записывается: вывести,
а блок-схема выглядит следующим образом:
Команда ввода данных
Здесь также используются две команды: Read (загрузка введенных пользователем данных в переменную) и ReadLn (загрузка введенных пользователем данных в переменную и перевод каретки в новую строку).
Пример Read(x); readln(x) - переменная x приобретет значение, введенное пользователем с клавиатуры.
На алгоритмическом языке команда обозначается словом ввести (ввод), а в блок-схемах – параллелограммом.
Математическое действие
Присваивание переменной некоторого вычисляемого значения обозначается следующей записью: <перем.1>:=F (переменная 1 задается некоторой формулой, которая может быть как арифметическим выражением, так и функцией от других переменных соответствующего типа).
Математическое действие на алгоритмическом языке записывается так же, как и на языке программирования, а в блок-схеме обозначается прямоугольником:
Пример
Найдем сумму некоторых натуральных чисел a и b.
Решение задачи оформим в виде блок-схемы, на алгоритмическом языке и на Паскале.
Алгоритм
Алгоритм: сумма;
Целые:a, b, s;
Начало
Ввести: a, b;
s:=a+b;
Вывести: s;
Конец.
Блок-схема
Pascal
Program summa;
Uses crt;
Var a,b,s: integer;
Begin
clrscr;
Writeln(‘введите числа’);
Read(a,b);
s:=a+b;
writeln(‘сумма равна ‘,s);
end.
Комментарии
Вводим переменные целого типа.
Надпись «введите числа» пользователь увидит на экране.
Числа a и b вводятся с клавиатуры
Вопросы для самостоятельной работы
Какие служебные слова обязательно содержатся в программе?
Какие из следующих заголовков можно использовать в Паскале в качестве имен программы: «Задача», «Zadacha1», «1zadacha», «zadacha 1», «zaDAcha_1», «zadacha1: summa»
Что входит в состав модуля?
Что нужно сделать, чтобы включить в программу процедуру очистки экрана?
Какой тип включает в себя наибольший диапазон вещественных значений?
Чем отличаются функции div и mod?
Расставьте функции в порядке убывания их приоритета: xor, div, in, not.
Какая функция могла быть использована в выражении: f(18,759)=1,70000000000E+1
Чем отличаются команды write и writeln; read и readln?
В каком элементе блок-схемы содержалась бы запись: «inc(n)»?
Задачи
Уровень A
Даны числа x и y. Вычислить их разность, произведение и частное.
Написать программу вычисления площади прямоугольника со сторонами a и b.
Написать программу вычисления объема прямоугольного параллелепипеда по трем его измерениям.
Написать программу вычисления площадь поверхности куба по длине ребра.
Написать программу вычисления объема цилиндра по радиусу основания и высоте.
Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей.
Написать программу вычисления площади треугольника, если известны длины двух сторон и угол между ними.
Вычислить длину окружности и площадь круга радиусом r.
Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений.
Дано действительное число x. Написать программу вычисления значения выражения 2x4 – 3x3 + 4x2 – 5x + 6.
Уровень B
Вычислить расстояние между точками с координатами (x1, y1) и (x2, y2).
Найти произведение цифр заданного четырехзначного числа.
Найти площадь кольца, ограниченного окружностями радиусами R и r (R>r).
Вычислить корни квадратного уравнения ax2 + bx + c = 0, заданного коэффициентами a, b, c (a ≠ 0 и D>0).
Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12,5 должно быть преобразовано к виду 12 руб. 50 коп.
Написать программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.
Уровень С
Найти сумму первых n членов арифметической прогрессии, если известны ее первый член и знаменатель.
Найти площадь равнобедренной трапеции с основаниями a и b и углами при основании u (в радианах).
Написать программу вычисления величины дохода по вкладу. Процентная ставка (в процентах годовых) и время хранения (в днях) задаются во время работы программы.
Написать программу, которая вычисляет площадь треугольника, если известны координаты его вершин.