Turbo Pascal 7.0 Программирование на языке высокого уровня.
Turbo Pascal 7.0 Программирование на языке высокого уровня. Луковкин Сергей Борисович, к.ф.н., доцент кафедры «Автоматика и вычислительная техника» МГТУ 2008 г.
Луковкин С.Б. МГТУ. 2 ЯПВУ (краткая справка) Примеры: Algol, Fortran, Cobol, C, C++, Visual Basic, Java, Python, PHP, Ruby, Perl, Pascal, Delphi, C#.... Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п. Первым языком программирования высокого уровня считается компьютерный язык Plankalkül, разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 гг. Однако транслятора для него не существовало до 2000 г. Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-1, успешно испытанный в 1954 г. Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур. Транслятор ПП для ЭВМ Стрела-4 уже содержал и компоновщик (linker) из модулей. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957).
Луковкин С.Б. МГТУ. 3 Историческая справка Язык Pascal разработан Никлаусом Виртом на кафедре информатики Стэндфордского университета в середине 60-х годов ХХ века. В 1985 г. появился язык Turbo Pascal 3.0. Затем появились его версии 4.0 … 7.0 Delphi – система (среда) программирования, использующая язык Object Pascal. (1995 г.) Другие ЯПВУ: Fortran, Basic, Visual Basic, С, C++, Borland C++, C#, Oberon, ….
Луковкин С.Б. МГТУ. 4 Список литературы Павловская Татьяна Александровна «Паскаль» - СПб. Питер 2007. Фаронов В.В. TurboPascal 7.0 ТурбоПаскаль 7.0 Фаронов В.В. Delphi 5 Культин Н. Самоучитель Delphi 4.0 Фото(Т.А. Павловская и Вирт) Фото (Павловская на курсах
Луковкин С.Б. МГТУ. 5 Лекция 1. Символы, лексемы, выражения и операторы ТР; Классификация типов данных ТР; Структура программы на языке ТР;
Луковкин С.Б. МГТУ. 6 Состав языка ТР 7.0 Символы: буквы: A-Z, a-z, _ цифры: 0 1 2 3 4 5 6 7 8 9 спец. символы: +, *, { , } , ( , ) #, … пробельные символы Лексемы ( словарная единица языка): константы 13 3.14 ‘Константин’ имена (идентификаторы) Kolobok a _11 ключевые ( зарезервированные) слова begin var if знаки операций + - := разделители ; [ ] , Выражения: правило вычисления значения (a + b)*с Операторы: исполняемые c := a + b описания var a, b : real;
Луковкин С.Б. МГТУ. 7 Константы (Const) Целые десятичные: 127 -89 Целые шестнадцатеричные: $FF12 $A3 Вещественные с пл. точкой: 12.34 -3.1415 Вещественные с порядком: 2.7e2 3.5E-12 Символьные: ‘z’ ‘=‘ #98 #64 Строковые: ‘Это строка’ , ‘варкалось’ Логические: TRUE и FALSE
Луковкин С.Б. МГТУ. 8 Имена (идентификаторы) имя должно начинаться с буквы или с _ ; имя должно содержать только буквы, знак подчеркивания и цифры; прописные и строчные буквы не различаются; длина имени практически не ограничена. Примеры правильных имен: Perimeter, A, x01, A13, A_and_B. Примеры неправильных имен: 2late, Big one, Iseekю.
Луковкин С.Б. МГТУ. 9 Ключевые (зарезервированные) слова Ключевые слова — идентификаторы, имеющие специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Например: Program begin end array do for uses var const type label …. и т.д. Если ключевое слово заключено в апострофах, то это константа: ‘Begin’
Луковкин С.Б. МГТУ. 10 Знаки операций Знак операции — один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, целочисленное деление записывается как div. Операции делятся на унарные (с одним операндом) и бинарные (с двумя). A and B ; X >= 0.5 ; s<>0.2 ; y/z ; L div m ; k mod n
Луковкин С.Б. МГТУ. 11 Операции и их приоритеты. Унарная операция not, унарный минус - , взятие адреса @. Операции типа умножения: * / div mod and shl shr. Операции типа сложения: + - or xor Операции отношения: = <> < > <= >= in ПРИОРИТЕТ УБЫВАЕТ СВЕРХУ – ВНИЗ !
Луковкин С.Б. МГТУ. 12 Классификация типов данных ТР Порядковые: целый, логический, символьный, перечисляемый, интервальный( тип-диапазон).
Луковкин С.Б. МГТУ. 13 Концепция типа данных Тип данных определяет: внутреннее представление данных, а следовательно, и множество их возможных значений; допустимые действия над данными (действия - это операции или функции).
Луковкин С.Б. МГТУ. 14 Структура программы на ТР. Program ИМЯ_ПРОГРАММЫ; {$ ….} – директивы компилятора Uses список имён модулей; LABEL объявление глобальных меток; CONST объявление глобальных констант; TYPE объявление глобальных типов; VAR объявление глобальных имён; Далее идут описания ПРОЦЕДУР или ФУНКЦИЙ PROCEDURE ИМЯ ПРОЦЕДУРЫ; или FUNCTION ИМЯ_ФУНКЦИИ: тип; Label … ; Const … ; Type … ; Var …. ; - объявление локальных меток, констант, типов и переменных. BEGIN ……. END; - тело процедуры или функции; Основной блок программы BEGIN ……. END.
Луковкин С.Б. МГТУ. 15 Заголовок программы; директивы; подключаемые модули; Глобальные метки, константы, типы, переменные; Раздел процедур и функций заголовок процедуры или функции; локальные метки, константы, типы, переменные; Begin …… end; Основная программа: BEGIN …. END. Структура программы на TP 7.0
Луковкин С.Б. МГТУ. 16 PROGRAM my_01; BEGIN WRITELN(‘ Это моя первая программа на Turbo Pascal’); Readln; End. ======================================================= Процедуры ввода – Read, Readln – ввод с клавиатуры и вывода Write, Writeln - вывод на экран ПК. Простейшая программа на ТР 7.0
Луковкин С.Б. МГТУ. 17 Лекция 2. Логический тип данных; Целые типы; Операции с данными целого типа; Стандартные процедуры и функции (для переменных порядкового типа)
Луковкин С.Б. МГТУ. 18 Логические типы Основной логический тип данных - boolean. Величины этого типа занимают в памяти 1 байт и могут принимать два значения: true (истина) или false (ложь). Внутреннее представление значения false — 0 (нуль), значения true — 1. Для совместимости с другими языками определены типы ByteBool, WordBool и LongBool длиной 1, 2 и 4 байта соответственно. Истинным в них считается любое отличное от нуля значение. К величинам логического типа применяются логические операции and, or, xor и not и операции отношения.
Луковкин С.Б. МГТУ. 19 Логические операции
Луковкин С.Б. МГТУ. 20 Целые типы Byte => Word => Shortint =>integer => Longint
Луковкин С.Б. МГТУ. 21 Операции с данными целого типа Арифметические операции
Луковкин С.Б. МГТУ. 22 Операции с данными целого типа (продолжение) Операции отношения: > < = <= >= <> Поразрядные операции: and, or, xor, not Операции сдвига: shl, shr
Луковкин С.Б. МГТУ. 23 Операции с данными целого типа ПРИМЕРЫ Var n, k, r, q: shortint; …. n:=17; k:=5; q:=n div k; r:= n mod k; …. writeln( n < k ) ; writeln( n > 22) ;
Луковкин С.Б. МГТУ. 24 Стандартные математические функции
Луковкин С.Б. МГТУ. 25 Стандартные процедуры и функции (для переменных порядкового типа)
Луковкин С.Б. МГТУ. 26 Лекция 3. Вещественный и символьный типы. Вещественный тип. Операции.Функции. Символьный тип. Операции.Функции. Стандартные математические функции
Луковкин С.Б. МГТУ. 27 Вещественные типы Внутреннее представление вещественного числа состоит из двух частей — мантиссы и порядка; каждая часть имеет знак. Существует несколько вещественных типов, различающихся точностью и диапазоном представления данных. Точность числа определяется количеством бит, отведённых для записи мантиссы, а диапазон — количеством бит для записи порядка.
Луковкин С.Б. МГТУ. 28 Вещественные типы ТР 7.0
Луковкин С.Б. МГТУ. 29 Функции для работы с данными вещественного типа
Луковкин С.Б. МГТУ. 30 Операции с данными вещественного типа Арифметические + - * / Операции отношения < = <= > >= <> Возведения в степень нет ( кроме функции SQR): Для возведения X в степень S надо выполнить следующие действия: XS = exp(s*Ln(X)); ( X>0 );
Луковкин С.Б. МГТУ. 31 Примеры выражений ТР, использующие математические функции. 1) Возведение в степень: Y = xs Y =exp(s*Ln(x)) 2) Вычисление тангенса: Tg(x) = sin(x)/cos(x); 3) Вычисление логарифма с произв. основанием Logs (x) = Ln(x)/Ln(s); Пример: Замечания
Луковкин С.Б. МГТУ. 32 Контрольные вопросы 1.1 Какие из перечисленных констант являются допустимыми? 259 8) 0.008E-14.2 0,01 9) 8.3e+05 ‘ф’ 10) ‘$’ 1.7*e3 11) * $EEC 12) “6” ‘///’ 13) ‘с’’езд’ $EEH 14) -277+2
Луковкин С.Б. МГТУ. 33 Контрольные вопросы 1.2 Число -350 можно хранить в переменной типа: byte word shortint integer real В переменной типа byte можно хранить числа: 15 207 -12 -198 1224 Результат операции сложения целых = Результат операции сравнения целых = Результат вычисления выражения sin(4) – cos(6) =
Луковкин С.Б. МГТУ. 34 Контрольные вопросы 1.3 вычислить при e=4, a=3: e +sqrt(e) * 1e1 / 2 * a Ответ: 34
Луковкин С.Б. МГТУ. 35 Символьный тип Этот тип данных, обозначаемый ключевым словом char, служит для представления любого символа из набора допустимых символов. Для хранения в памяти под каждый символ отводится 1 байт. К символам можно применять операции отношения (<, <=, >,>=, =, <>), при этом сравниваются коды символов. Примеры: Var s,t :char; ….. s:=‘f’; t:=‘w’; writeln(s
Луковкин С.Б. МГТУ. 36 Функции для работы с символьным типом данных.
Лекция 4. Переменные Константы Выражения Ввод с консоли; вывод на консоль Линейные программы.
Луковкин С.Б. МГТУ. 38 Переменные Переменная — это величина, которая во время работы программы может изменять свое значение. Все переменные, используемые в программе, должны быть описаны в разделе описания переменных, начинающемся со служебного слова var. Для каждой переменной задается ее ИМЯ и ТИП, например: var number : integer; x, y : real; option : char;
Луковкин С.Б. МГТУ. 39 Типизированные константы При объявлении можно присвоить переменной некоторое начальное значение (инициализировать). Инициализированные переменные описываются после ключевого слова const и могут использоваться в программе как обычные переменные: const number : integer = 100; x : real = 0.02; option : char = ’ю’;
Луковкин С.Б. МГТУ. 40 Именованные константы Вместо значений констант можно (и нужно!) использовать в программе их имена. Это облегчает читаемость программы и внесение в нее изменений: const weight = 61.5; n = 10; g = 9.8;
Луковкин С.Б. МГТУ. 41 Выражения Выражение — правило вычисления значения. В выражении участвуют операнды, объединенные знаками операций. Операндами выражения могут быть константы, переменные и вызовы функций. Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Результатом выражения является значение определенного типа. Этот тип определяется типами входящих в него операндов. Величины, участвующие в выражении, должны быть совместимых типов. t + sin(x)/2 * x результат имеет вещественный тип a <= b + 2 результат имеет логический тип (x > 0) and (y < 0) результат имеет логический тип
Луковкин С.Б. МГТУ. 42 Оператор присваивания переменная := выражение; a := b + c; x := 1; x := x + 0.5; вещественная переменная := целое выражение;
Луковкин С.Б. МГТУ. 43 Процедуры ввода-вывода ВВОД с КОНСОЛИ read(список); readln[(список)]; Список – последовательность имён, разделённых запятыми: Read (a,b); Ввод значения каждой переменной выполняется так: значение переменной выделяется как группа символов, расположенных между разделителями ( пробелами); эти символы преобразуются во внутреннюю форму представления, соответствующую типу вводимой переменной; значение записывается в ячейку памяти, определяемую именем переменной.
Луковкин С.Б. МГТУ. 44 Вывод на консоль write(список); или writeln[(список)]; var n : integer; b : real; ... n:=1; b:=4.12417; … writeln(’Значение n = ’, n:3, ’ b = ’, b:5:2, sin(n) + b); Значение n = 1 b = 4.124.9614709848E+00
Луковкин С.Б. МГТУ. 45 Правила формирования списка в процедуре вывода Список вывода разделяется запятыми. Список содержит выражения логических, целых, вещественных, символьного и строкового типов. После любого значения можно через двоеточие указать количество отводимых под него позиций. Для вещественных чисел можно (нужно) указать второй формат, указывающий, сколько позиций из общего количества позиций отводится под дробную часть числа. Если форматы не указаны, то для вывода целого числа, символа и строки отводится минимально необходимое для их представления количество позиций. Под вещественное число отводится 17 позиций, 10 из них — под дробную часть. Форматы могут быть выражениями целого типа.
Луковкин С.Б. МГТУ. 46 Примеры форматированного и бесформатного вывода Пусть: K,P,Q – целого типа, R – вещественного, B – булевского типа, С – символ, S – строка, _ пробел.
Линейные программы Это самые простые программы. Операторы таких программ выполняются последовательно, в том порядке, в котором они были написаны. Программы с ветвлениями и циклами будут рассмотрены позже.
Луковкин С.Б. МГТУ. 48 Пример линейной программы (перевод температуры из шкалы Фаренгейта в шкалу Цельсия) program temperature; var tf, tc : real; begin write('Введите температуру по Фаренгейту = '); readln(tf); tc := 5 / 9 * (tf - 32); writeln('По Фаренгейту: ', tf:6:2, ' в градусах Цельсия: ', tc:6:2); Readln; end.
Луковкин С.Б. МГТУ. 49 Пример №2 Программа перевода градусной меры угла в радианную Вводим величину угла в градусной мере в виде d m s. Например 23 46 28 = 23° 46’ 28’’ . Переводим минуты и секунды в градусы alf = d + m/60 + s/3600 . Радианная мера угла x= (p /180)*alf . Выводим на экран x. Вычисляем и выводим на экран sin(x) и cos(x).
Луковкин С.Б. МГТУ. 50 Пример №3 Программа перевода радианной меры угла в градусную Вводим величину угла в радианах: x (x>0) Переводим радианную меру угла x в градусную alf = (180/p)*x . Выделяем градусы, минуты и секунды: d = int(alf); am = Frac(alf)*60 ; m = int(am); as = Frac(am)*60 ; s = round(as); Выводим на экран d m s.
Луковкин С.Б. МГТУ. 51 Лекция 5. Основные операторы Turbo Pascal. Примеры программ с ветвлением и циклами.
Луковкин С.Б. МГТУ. 52 Простейшие операторы ТР 7.0 Составной оператор: Begin S1; S2; …. End; Пустой оператор: ; ; Безусловные операторы и функции: Goto <метка> ; Break – выход из цикла; Exit – выход из подпрограммы; Halt(n) – завершает работу программы с кодом = n.
Луковкин С.Б. МГТУ. 53 Операторы ветвления IF … then … else If <выражение> then S1 else S2; If <выражение> then S;
Луковкин С.Б. МГТУ. 54 Операторы ветвления IF (примеры) sx:=1; if x < 0 then sx := -1; ======================================= if (a < b) and (a < d) then s:=‘left’ else if (a > b) and (a > d) then s:=‘right’ else s:=‘middle’ где расположена (.) a ======================================= if a < b then if a < c then m := a else m := c else if b < c then m := b else m := c; поиск min из {a,b,c}
Луковкин С.Б. МГТУ. 55 Пример (применение оператора if). program shoot; var x, y: real; begin writeln(‘ Введите значения х и у:’); readln(x, y); if (sqr(x) + sqr(y) <= 1) or (x <= 0) and (y <= 0) and (y >= - x - 2) then writeln(‘ Точка попадает в область’) else writeln(‘ Точка не попадает в область’); end.
Луковкин С.Б. МГТУ. 56 Оператор выбора CASE case выражение of константы_1 : S1; константы_2 : S2; ……….. константы_n : Sn; [ else : S0; ] end;
Луковкин С.Б. МГТУ. 57 Пример (CASE) Var a: byte; …… case a of 4 : writeln(’4’); 5, 6 : writeln(’5 или 6’); 7 .. 12: writeln(’от 7 до 12’); end;
Луковкин С.Б. МГТУ. 58 Операторы циклов Перечисляемый For i:=A to B do <оператор>; For i:=B downto A do <оператор>; С предусловием While <Условие> Do <оператор>; С постусловием Repeat <тело цикла> Until <условие>;
Луковкин С.Б. МГТУ. 59 Блок-схема цикла For
Луковкин С.Б. МГТУ. 60 Блок-схема цикла While Условие Выполняется ? Выполнить операторы цикла да нет
Луковкин С.Б. МГТУ. 61 Блок-схема цикла Repeat … Until Условие Выполняется ? Выполнить операторы цикла да нет
Луковкин С.Б. МГТУ. 62 Операторы циклов (комментарии) Операторы перечисляемого цикла могут не выполниться ни одного раза (например, если A > B для “ For … to …“ ) Количество выполнений операторов перечисляемого цикла известно заранее( = B-A+1). Тело цикла Repeat …. Until выполняется хотя бы 1 раз в любом случае. While … Do может не выполниться ни разу. for i:= -1 to 5 do write( ‘A’); for k:=6 downto 4 do writeln(‘W’); M:=2; repeat writeln(‘Эх, раз …’) until M< 0; {это цикл } K:=4; S:=0.0; while K > 0 do begin s:=s+1/K; K:=K-1 end;
Луковкин С.Б. МГТУ. 63 Пример использования оператора For …. To …. Do …; Program tabula_F; { табуляция y=k*x2 } Var a,b, k, x, y,h: real; N,i:byte; Begin Write(‘ Введите k= ‘); Readln(k); Write(‘ Введите a,b,N= ‘); Readln(a,b,N); h:=(b-a)/(N-1); {шаг табуляции функции} writeln(' —————————'); writeln('| X | Y |'); writeln(' —————————'); For i:= 1 to N do begin x:=a+(i-1)*h; y:=k*sqr(x); writeln('|', x:9:2,' |', y:9:2,' |'); end; writeln(' —————————'); end. x y
Луковкин С.Б. МГТУ. 64 Пример использования оператора while <выражение> do S; program tabula; var Xa, Xb, Hx, k, x, y : real; begin writeln('Введите Xa, Xb, Hx, k'); readln(Xa, Xb, Hx, k); writeln(' —————————'); writeln('| X | Y |'); writeln(' —————————'); x := Xa; while x <= Xb do begin y := k * x; writeln('|', x:9:2,' |', y:9:2,' |'); x := x + Hx; end; writeln(' —————————'); end. y = kx
Луковкин С.Б. МГТУ. 65 Цикл с постусловием Repeat ….. Until … program square_root; var A, eps, Xp, X : real; begin writeln('Введите аргумент и точность : '); readln(A, eps); If ((A <0) or (eps < 0)) then Halt(100); X := A/2; { начальное приближение. Его лучше вводить.} repeat Xp := X; X := (Xp + A/ Xp) / 2; until abs(X – Xp) < eps; writeln('Корень из ', А:6:3, ' с точноcтью ', eps:7:5, 'равен ', X :9:5); end.
Луковкин С.Б. МГТУ. 66 Лекция 6. Типы данных, определяемые программистом.
Луковкин С.Б. МГТУ. 67 Как происходит описание типов в программе? type имя_типа = описание_типа ... var имя_переменной : имя_типа ИЛИ var имя_переменной : описание_типа
Луковкин С.Б. МГТУ. 68 Простые типы данных, определяемые программистом ЭТО: Перечисляемый тип Тип-диапазон (интервальный тип)
Луковкин С.Б. МГТУ. 69 Перечисляемый тип данных type Имя_типа = (список имен констант); type Colors = (Black, Blue, Green, Cyan, Red, Magenta, Brown); … var m, n : Colors; … m := Blue; n := m; Пояснение: ord(Green)=2; m:=Red; n:= succ(Magenta);
Луковкин С.Б. МГТУ. 70 Интервальный тип данных (тип-диапазон) Type Hour = 0 .. 23; Min = 0..59; Cent_20 = 1901 .. 2000; Range = -100 .. 100; Letters = ’a’ .. ’z’; Degree = 0 .. 360; var r : -100 .. 100; или var r : Range; Var x:Letters; … Write(High(x),Low(x)); Type имя_типа = Const_1 .. Const_2
Луковкин С.Б. МГТУ. 71 Массивы Массив - упорядоченная совокупность однотипных элементов, рассматриваемая как единое целое. Доступ к элементу массива осуществляется указанием его индекса. ОПИСАНИЕ типа Массив: Type имя_типа_массива = array [тип_индексов] of тип_элементов массива Замечания: Тип_индексов – любой порядковый тип (кроме LongInt) Обычно это тип – диапазон;
Луковкин С.Б. МГТУ. 72 Примеры описания массивов (одномерные массивы) type mas = array [1 .. 7] of real; Color = array [byte] of mas; A = array [1..10] of boolean; Const n=50; const K : mas = (1, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2); var с : mas; a, b : array [1 .. n] of integer; Y: array [char] of byte; M:array[2..5] of string [4] ; … M[2]:=‘Неуд’; M[3]:=‘Удов’; M[4]:=‘Хор’; M[5]:=‘Отл’;
Луковкин С.Б. МГТУ. 73 Двумерные массивы Var a : Array [1..3, 1..3] of Real; или Type Mtr = Array [1..3, 1..3] of Real; … Var U, W, Q : Mtr; Квадратная матрица a [3x3] Расположение элементов двумерного массива в памяти: Первая строка Вторая строка Третья строка
Луковкин С.Б. МГТУ. 74 Инициализация 2D-массивов Type mas2=array[1..3, 1..4] of integer; const B: mas2 = ( ( 2, 3, 1, 0), ( 1, 9, 1, 3), ( 3, 5, 7, 0) ); Const m =4; n=5; Var a:array[1..m, 1..n] of real; … for i := 1 to m do for j := 1 to n do read (a[i, j]);
Луковкин С.Б. МГТУ. 75 Поиск максимального элемента массива и его номера Program Max_E; { поиск макс.элемента и его номера } const n = 10; var a : array [1 .. n] of real; i ,im : integer; max : Real;begin writeln('Введите ', n, ' элементов массива'); for i := 1 to n do read(a[i]); max := a[1]; for i := 2 to n do if a[i] > max then begin max := a[i]; im:=i end; writeln('Максимальный элемент: ', max:6:2, ‘ его номер=‘, im:3) end.
Луковкин С.Б. МГТУ. 76 ПРИМЕР: Количество отрицательных элементов массива и сумма всех элементов. Program Summa_Elem; const n = 10; var sum:real; a : array [1 .. n] of real; i, num : integer; begin writeln('Введите ', n, ' элементов массива'); for i := 1 to n do read(a[i]); sum := 0; num := 0; for i := 1 to n do begin if a[i] < 0 then inc(num); sum := sum + a[i]; end; writeln('Отрицательных элементов: ', num); writeln('Сумма элементов: ', sum:10:3); end.
Луковкин С.Б. МГТУ. 77 Вычисление значения кусочно-непрерывной функции (вариант 20).
Луковкин С.Б. МГТУ. 78 Схема решения задачи (вариант 20). 1) На отрезке [-4; 0) уравнение прямой y(x) = (-1/2)x; 2) На отрезке [0;2) часть окружности с центром в точке (0; 2) и радиусом R: x2 + (y-2)2 = R2, где R=2. Выразим y через x: (y-2)2 = 4-x2; y-2 = ±(4-x2)(1/2) Выбираем знак «-». Это нижняя часть окружности: y = 2-(4-x2)1/2; 3) На отрезке [2; 4) часть окружности с центром (2; 0): Её уравнение : (x-2)2 + y2 = 4 ; y= ± (4 - (x-2)2 )1/2 Выбираем «+»: …y = +(4 - (x - 2)2 )1/2 4) На отрезке [4; 5] уравнение прямой y= -(x-4), или y = -x+4
14550-lektsii_tr_1_chast_lukovkin.ppt
- Количество слайдов: 78