Лекция 1 (информатика).ppt
- Количество слайдов: 41
СРЕДА ПРОГРАММИРОВАН ИЯ PASCALABC. NET. ВВЕДЕНИЕ В ЯЗЫК ПРОГРАММИРОВАН ИЯ ПАСКАЛЬ
СРЕДА ПРОГРАММИРОВАНИЯ PASCALABC основана на языке Delphi (Object Pascal) предназначена для обучения программированию на языке Паскаль разработана на факультете математики, механики и компьютерных наук Южного федерального университета, автор – доцент мех. -мат. факультета С. С. Михалкович Pascal. ABC. NET работает на платформе Microsoft. NET и содержит все основные элементы современных языков программирования
О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ (PASCAL) Первая версия была разработана Никлаусом Виртом в 1968 г. (1970 г. ) Язык со строгой типизацией и интуитивно понятным синтаксисом Оболочки для разработки программ на языке Паскаль (компиляторы): Turbo Pascal, Borland Pascal Delphi Free Pascal TMT Pascal. ABC. NET
СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ Program <Имя. Программы>; //Заголовок программы Uses … ; // Раздел подключения модулей {Раздел описания} Const. . . //константы, типизированные константы Type. . . //типы Var. . . //переменные Procedure. . . // процедуры Function. . . //функции (*Основная программа – раздел операторов*) BEGIN. . . END.
ОСНОВНОЙ ПРИНЦИП Прежде чем использовать величины, их все нужно описать! Все величины (константы, типы, переменные, процедуры, функции…) получают имена (идентификаторы)
ПРАВИЛА ИМЕНОВАНИЯ должно начинаться буквой или символом подчеркивания прописные и строчные буквы не различаются со второй позиции в идентификаторе можно использовать цифры нельзя применять символы: пробел, знаки препинания, буквы нелатинского алфавита нельзя использовать зарезервированные / служебные слова, например, begin, const, program, while, integer, read давайте осмысленные имена!
КОНСТАНТА это величина, которая не изменяет своего значения в процессе выполнения программы Различают два вида констант Константы Примеры: Const n=10; //целого типа Name=’Masha’; //строкового типа M=5 E 15; //вещественного типа Типизированные константы (в описании присутствует описание типа и допустимое значение) Пример: Const min: Integer=-100;
ПЕРЕМЕННЫЕ Раздел описания переменных начинается со служебного слова var, после которого следуют строки вида Список. Имен. Переменных. Через. Запятую: Тип; Имя: Тип : = Выражение; Имя : = Выражение; Переменные могут быть описаны в разделе описаний, а также непосредственно внутри любого блока begin/end (тогда в каждой секции var может быть лишь один элемент описания) Переменные-параметры цикла могут описываться в заголовке операторов for и foreach
ПРИМЕРЫ ОПИСАНИЯ ПЕРЕМЕННЫХ var a, b, c: integer; d: real; e, f: integer; s, s 1: string; ch: char; d 1: real : = 1. 8; s 2 : = 'Hello'; t : = 1;
Типы данных Простые Ссылочный (указатель) Процедурный Структурированный Объектно. Нестандартные Стандартные ориентированный массив перечисляемый целые (классовый) строка вещественные ограниченный запись (диапазонный, символьный интервальный) множество логический файл
ТИПЫ ДАННЫХ Любые данные (константы, переменные, значения функций…) характеризуются своим типом Тип данных определяет: формат представления данных в памяти ПК множество допустимых значений, которые может принимать переменная… множество допустимых операций над данными этого типа
ТИПЫ ДАННЫХ Две группы: размерные и ссылочные данные размерных типов располагаются в стеке (все простые типы, указатели, записи, статические массивы) данные ссылочных типов – указатели, хранящие адрес динамической памяти, где расположены собственно данные указанного типа (множества, классы, динамические массивы, строки, файлы, процедурный тип)
ПОРЯДКОВЫЕ ТИПЫ ДАННЫХ типы данных, областью значений которых являются упорядоченные счетные множества; каждому элементу такого множества соответствует некоторое порядковое число, являющееся как раз его номером при перечислении целые, символьный, логический, перечислимый и диапазонный Ко всем данным порядкового типа применимы следующие функции Pred(x) возвращает значение, предшествующее x Succ(x) возвращает значение, следующее за x Ord(x) возвращает порядковое целое значение, соответствующее x
ПРОСТЫЕ ТИПЫ ДАННЫХ не могут состоять ни из каких других типов
ЦЕЛЫЕ ЧИСЛА представлены в памяти компьютера с помощью двоичных чисел Двоичное число, состоящее из n бит, можно интерпретировать двумя способами: n бит без знака числа 0. . 2 n-1 n бит со знаком числа -2 n-1. . 2 n-1 -1
ЦЕЛОЧИСЛЕННЫЕ ТИПЫ ДАННЫХ В PASCAL Размер, байт Диапазон значений shortint 1 -128. . 127 smallint 2 -32768. . 32767 4 -2147483648. . 2147483647 int 64 8 -9223372036854775808. . 9223372036854775807 byte 1 0. . 255 word 2 0. . 65535 4 0. . 4294967295 8 0. . 18446744073709551615 Тип integer, longint longword, cardinal uint 64
ЦЕЛОЧИСЛЕННЫЕ ТИПЫ ДАННЫХ В PASCAL Максимальные значения для каждого целого типа определены как внешние стандартные константы: Max. Int 64, Max. Int, Max. Small. Int, Max. Short. Int, Max. UInt 64, Max. Long. Word, Max. Byte. Для каждого целого типа определены также следующие константы как члены класса: <Имя_Типа>. Min. Value - константа, представляющая минимальное значение типа; <Имя_Типа>. Max. Value - константа, представляющая максимальное значение типа;
ЦЕЛОЧИСЛЕННЫЕ ТИПЫ ДАННЫХ В PASCAL Для каждого целого типа определены статические функции <Имя_Типа>. Parse(s) - функция, конвертирующая строковое представление числа в значение соответствующего целого типа. Если преобразование невозможно, то генерируется исключение; <Имя_Типа>. Try. Parse(s, res) - функция, конвертирующая строковое представление числа в значение соответствующего целого типа и записывающая его в переменную res. Если преобразование возможно, то возвращается значение True, в противном случае - False. определена экземплярная функция To. String, возвращающая строковое представление переменной данного типа.
ОПЕРАЦИИ НАД ЦЕЛОЧИСЛЕННЫМИ ПЕРЕМЕННЫМИ Знак операции Операция + Сложение - Вычитание * Умножение div Целочисленное деление (остаток отбрасывается). Деление без округления (целая часть частного). mod Деление по модулю (выделение остатка от деления).
СТАНДАРТНЫЕ ФУНКЦИИ PASCAL, ПРИМЕНИМЫЕ К АРГУМЕНТАМ ЦЕЛЫХ ТИПОВ Функция Тип результата Результат выполнения abs(x) Целый Модуль x (абсолютная величина x) sqr(x) Целый Квадрат x succ(x) Целый Следующее значение x (x+1) pred(x) Целый Предыдущее значение x (x-1) random(x) Целый Случайное целое число из интервала 0. . x-1. Random(a, b) Целый odd(x) Логический Случайное целое число из интервала a. . b-1. Значение true, если x – нечетное число; false – если четное. Inc(x) Целый Увеличивает значение переменной х на 1 Inc(x, k) Целый Увеличивает значение переменной х на k Dec(x) Целый Уменьшает значение переменной х на 1 Dec(x, k) Целый Уменьшает значение переменной х на k
ОПЕРАТОР ПРИСВАИВАНИЯ Предназначен для определения значения переменной <Имя_Переменной>: =<Значение>; Примеры: Var A, B, C: Integer; Begin A: =5; B: =10; C: =Sqr(A+B); Inc(A); End.
ОПЕРАТОР ВВОДА Предназначен для считывания значения переменной (одной или нескольких) с клавиатуры: Read(<Имя_Переменной>); Read(<Имя_1>, <Имя_2>, …, <Имя_N>); Readln(<Имя_Переменной>); Readln(<Имя_1>, <Имя_2>, …, <Имя_N>);
ОПЕРАТОР ВЫВОДА Предназначен для вывода на экран: сообщения Write(‘Сообщение’); Writeln(‘Сообщение’); значения переменной Write(<Имя_Переменной>); Writeln(<Имя_Переменной>); и сообщения, и значения переменной Write(‘Сообщение’, <Имя_Переменной>); Writeln(‘Сообщение’, <Имя_Переменной>); пустой строки Writeln;
ПРИМЕРЫ: Написать программу для нахождения площади прямоугольника с заданными сторонами. Дано расстояние в сантиметрах. Найти число полных метров в нем. Дано двухзначное (трехзначное, четырехзначное) число. Найти и вывести цифру десятков (цифру сотен, цифру тысяч) и цифру единиц в нем.
ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ Количество Размер, байт значащих Диапазон значений цифр Тип real 8 15 -16 -1. 8∙ 10308. . 1. 8∙ 10308 double 8 15 -16 -1. 8∙ 10308. . 1. 8∙ 10308 single 4 7 -8 -3. 4∙ 1038. . 3. 4∙ 1038 Пример: Var x, y: Double; Максимальные значения для каждого вещественного типа определены как внешние стандартные константы: Max. Real, Max. Double и Max. Single
ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ Форматы записи вещественных переменных: Обычная форма: 0. 12 или. 12 -2. 1 Экспоненциальная форма: Число представляется в виде мантиссы (дробной части числа), умноженной на 10 в некоторой степени. Например, 2700 = 2, 7*103 Число 10 записывается в виде буквы Е, а за ней идёт величина степени: Например, 2700=2. 7 Е 3 0, 002 =2 Е-3
ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ Для каждого вещественного типа определены также следующие константы как члены класса: <Имя_Типа>. Min. Value – константа, представляющая минимальное значение заданного типа; <Имя_Типа>. Max. Value – константа, представляющая максимальное значение заданного типа; <Имя_Типа>. Epsilon – константа, представляющая самое маленькое положительное число заданного типа; <Имя_Типа>. Na. N – константа, представляющая не число (возникает, например, при делении 0/0); <Имя_Типа>. Negative. Infinity – константа, представляющая отрицательную бесконечность (возникает, например, при делении -2/0); <Имя_Типа>. Positive. Infinity – константа, представляющая положительную бесконечность (возникает, например, при делении 2/0).
ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ Для каждого вещественного типа определены следующие статические функции: <Имя_Типа>. Is. Na. N(х) – возвращает True, если в х хранится значение Na. N, и False в противном случае; <Имя_Типа>. Is. Infinity(х) – возвращает True, если в х хранится значение Positive. Infinity или Negative. Infinity, и False в противном случае; <Имя_Типа>. Is. Positive. Infinity(х) – возвращает True, если в х хранится значение Positive. Infinity, и False в противном случае; <Имя_Типа>. Is. Negative. Infinity(х) – возвращает True, если в х хранится значение Negative. Infinity, и False в противном случае; <Имя_Типа>. Parse(s) – функция, конвертирующая строковое представление числа в значение заданного типа. Если преобразование невозможно, то генерируется исключение; <Имя_Типа>. Try. Parse(s, res) – функция, конвертирующая строковое представление числа в значение заданного типа и записывающая его в переменную res. Если преобразование возможно, то возвращается значение True, в противном случае – False.
ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ Примеры: 1. Даны координаты двух точек на плоскости. Найти расстояние между этими точками. 2. Дан радиус окружности. Найти длину окружности и площадь круга с заданным радиусом. 3. Найти значение выражения: Результат вывести на экран с точностью до 3 знаков после запятой
ЛОГИЧЕСКИЙ ТИП ДАННЫХ Идентификатор типа boolean Например, Var p: boolean; Переменные логического типа принимают значения false (ложь) или true (истина) Величины логического типа данных можно присваивать, выводить, но нельзя считывать с клавиатуры с помощью оператора read. Например, p: =true; p: =<логическое_выражение>;
ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ это выражения, которые могут принимать лишь одно из двух значений: true (истина) или false (ложь). 1. Простые логические выражения 2. Составные логические выражения
ПРОСТЫЕ ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ используются операции отношения, которые обозначаются знаками: = отношение на равенство, <> отношение на неравенство, < отношение меньше, > отношение больше, <= отношение меньше или равно, >= (отношение больше или равно). Например, x>5 y<>x x=0
СЛОЖНЫЕ ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ (СОСТАВНЫЕ) составляются из простых с помощью логических операций: and логическое «И» , or логическое «ИЛИ» xor исключающее «ИЛИ» not логическое «НЕ» . При составлении сложных условий простые условия обязательно должны быть заключены в круглые скобки!
ТАБЛИЦА ИСТИННОСТИ
ЛОГИЧЕСКИЙ ТИП ДАННЫХ Примеры: 1. Вывести True, если введенное пользователем число является двузначным и False в противном случае. 2. Вывести True, если введенное пользователем число является четным и False в противном случае. 3. Вывести True, если введенное пользователем число оканчивается цифрой 5 и False в противном случае. 4. Вывести True, если произведение цифр двузначного числа больше самого этого числа и False в противном случае.
УСЛОВНЫЙ ОПЕРАТОР Условный оператор позволяет выбрать какой оператор нужно выполнить в зависимости от выполнения определенного условия Выделяют: 1. Неполный условный оператор 2. Полный условный оператор
НЕПОЛНЫЙ УСЛОВНЫЙ ОПЕРАТОР If <логическое_выражение> Then <оператор>; Например: определить количество отрицательных из трех введенных с клавиатуры чисел.
ПОЛНЫЙ УСЛОВНЫЙ ОПЕРАТОР If <логическое_выражение> Then <оператор_1> Else <оператор_2>; Например, Дано трехзначное число. Определить четна ли сумма его цифр.
СОСТАВНОЙ ОПЕРАТОР Объединяет несколько операторов в один Используется в условном операторе, если при выполнении заданного условия требуется выполнить не одно действие, а несколько! Begin <оператор_1>; <оператор_2>; … <оператор_N>; End;
ВЛОЖЕННЫЙ УСЛОВНЫЙ ОПЕРАТОР В тело одного условного оператора вложен другой условный оператор Например, If x=0 then if y=0 then writeln(‘yes’) else writeln(‘no’); Else всегда относится к ближайшему if, не имеющему ветви else!
УСЛОВНЫЙ ОПЕРАТОР Примеры: 1. Если целое число m делится нацело на целое число n, то вывести на экран частное от деления, в противном случае вывести сообщение вида «m=48 на n=9 нацело не делится» . 2. Найти наибольшее из трех введенных с клавиатуры чисел 3. Написать программу определения факта попадания точки с заданными координатами (х, у) в заштрихованную область, изображенную на рисунке
Лекция 1 (информатика).ppt