АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ. ПРАВИЛА ЗАПИСИ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ. ТИПЫ ЧИСЕЛ. ТИПЫ ВЕЛИЧИН. КОМАНДА ПРИСВОИТЬ. (часть I) Методическое пособие для учащихся общеобразовательных и профильных классов. Составили учителя ОИВТ школы N 73 Богданова О.А. Милютин С.А. Г.Воронеж 2001 Настоящее пособие подготовлено в помощь учащимся и учителю информатики по изучению темы "Алгоритмизация и программирование". Пособие делится на 6 частей. Материал первой части рассчитан на 6 уроков. В пособии содержатся задачи для самостоятельной работы и контрольные вопросы. Методическое пособие может быть использовано для преподавания в 9, 10-х классах. ЛИТЕРАТУРА: 1. Основы информатики и вычислительной техники. Пробный учебник для 10-11 классов средней школы. Москва 1994 г. 2. Кушниренко А.Г, Лебедев Р.А., Сворень Р.А. Основы информатики и вычислительной техники. Москва 1990г 3. Поснова М.Ф., Стрикелева Л.В.,Поснов Н.Н. ЭВМ для всех. Для чего и как работают персональные компьютеры. Минск 1990г. 2 § 1. Арифметические операции. Правила записи арифметических выражений в линейном виде. В любом языке программирования можно использовать числовые и алгебраические выражения. В информатике мы будем называть их арифметическими выражениями. Для записи арифметических выражений используются следующие арифметические операции: Название Сложение Вычетание Умножение Деление Степень Яз. Бейсик + * / ^ Алгоритмический язык + * / ** Яз. Паскаль + * / нет Приоритеты выполнения арифметических операций: Сначала выполняютяся действия в скобках, Затем вычисляются функции, потом выполняется возведение в степень, далее умножение, деление и в последнюю очередь сложение, вычитание. Для изменения порядка выполнения действий можноиспользовать круглые скобки. Арифметические выражения должны быть записаны в линейном виде согласно следующим правилам: 1. Выражение должно быть записано в виде линейнойцепочки символов: X1 -> X1; A2 ->A^2; V0 -> V0; 2. Нельзя опускать знаки операций: 4a -> 4*a 3. Аргументы используемых математических функций записываются в круглых скобках: В языке Бейсик: sinx sin(x) для тригонометрических cosx cos(x) функций Х должен tgx tan(x) задаваться в радианах x sqr(x) arctgx atn(x) |x| abs(x) 4. Аргументом может быть арифметическое выражение. Машина вычислит его значение, а затем вычислитфункцию: sin(a+b) cos((a+b)/2) 5. Число открывающих скобок должно быть равно числу закрывающих скобок. В языке Паскаль: sin(x), abs(x), arctan(x), cos(x), frunc(x) - выделить дробную часть аргумента int(x) -выделить целую часть аргумента pi значение sqr (x)=x2 sqrt(x)=x ***ПРИМЕЧАНИЕ: В языке Бейсик: 5x = x^(1/5) Вопросы: 1. Какие арифметические операции вы знаете? 2. Правила выполнения арифметических операций? 3. Правила записи арифметических выражений? 4. Какие математические функции вы знаете? 3 Наиболее распространенные ошибки. Выражение 1 ab sin 2 x Sin(x+y)2 3 Не правильная запись Яз. Бейсик, Алгоритмический яз. Язык Паскаль 1/a+b 1/(a+b) 1/(a+b) Sin^2(x) Sin(x+y)^2 Sin(x)^2 Sin(x)**2 Sin((x+y)^2)) Sin(x)*sin(x) Sqr(sin(x)) Sin(sqr(x+y)) X^1/3 x^1)/3 sqr(x)/3 sqr(x)^1/3 x 1 ab 1/a*b 1/ab cos( a b) 2 ab c Cos((a+b)/ 2) A+b/c а) б) в) г) д) е) ж) з) и) 1/(a*b) Cos(x)/sin(x) Cos(x)/sin(x) Cos(a+b)/2 Cos(a+b)/2 (a+b)/c a/b^c a^b/c a*b^c a+b/c+d (a+b)/(c+d) a/sin(a) sqr(tan(a+b))/sqr(tan(a-b)) 1/2*a*b*sin(c) sqr(b^2+c^2+2*a*c*cos(a))/2 2*b*c*cos(a/2)/(b+c) sqr(p*(p-a)*(p-b)*(p-c)) 4*r*sin(a/2)*sin(b/2)*sin(c/2) sqr(a*x^2+b*x+c) atn(x/sqr(1-x^2)) 2*sin((a+b)/2)*cos((a-b)/2) 1 x2 a b) bc a c c) b a) (a+b)/2 1. Переведите из линейной записи в обычную: г) д) е) з) и) к) 4. Запишите в линейной записи по правилам алгоритмического языка (яз. Бейсик, яз. Паскаль). УПРАЖНЕНИЯ: а) a/b/c б) a*b/c в) a/b*c x^(1/3) x^(-1/3) 1/x^(1/3) 3. Переведите из линейной записи в обычную: X^(1/3) X**(1/3) 1/(a*b) Ctgx в) г) д) ж) a+b/c з) (a+b)/c и) a/b^c^d к) 1/(1+x^x) л) 1/(1+x^2) м) 1/(a+b^c) d) xy z e) 22 x f) Tga a 1 tg 2 g) h) i) J) k) b b 2 4ac 2a p( p a)( p b)( p c) abc 2 a 2 b 2 2abCos ad bc bd l)SinA CosB + CosA SinB 5.Запишите в линейном виде: 2. Переведите из линейной записи в обычную: а) б) 1/sqr(1+x^2) sqr(x^2+y^2) е) ж) sin(x)^2+sin(y)^2 sin(x^2)+sin(y^2) a) b) x12 x22 x1 x2 x1 x3 x2 x3 i) 2R j) b 4ac 2 4 c) v0 t at 2 2 mv 2 d) mgh 2 1 1 e) r1 r2 f) mgCosa k) Число 0.3 m1m2 r2 l) |x|+|x+1| 10 Яз. Бейсик .3 0.3 10 10. 10.0 Яз. Паскаль 0.3 10 10.0 2 m) J R n) abSinc 1 g) 1 sin 2 x o) h) x 1 x 1 2 x p) |1-|x|| ax bx c 2 В записи числа можно использовать 8 знаков (7 знаков и точка). Пример: 9999999 .999999 3.Действительные числа в форме с плавающей точкой. Вещественное число в форме с плавающей точкой записывается как пара вида: <мантисса>E<знак><порядок> §2. Типы чисел. Числа на машине могут изображаться двумя способами: в десятичном виде и в шестнадцатеричном виде. В последнем случае в начале ставится символ $(знак доллара). Пример: $121 Действительные десятичные числа или вещественные десятичные числа делятся на следующие типы: 1.Целые числа. С целыми числами можно работать в следующем диапазоне -32767 до +32767. Шестнадцатеричные числа относятся к этому типу чисел. 2.Действительные числа в форме с фиксированной точкой. Знак "." отделяет дробную часть от целой части. Такое обозначение понимается как мантисса, умножение на 10 в степени, равной порядку. 7E-2 означает 7*10-2 12.25E+6 означает 12.25*10+6 Мантисса представляется в виде целого числа или как вещественное число с фиксированной точкой. Порядок обозначается целым числом из интервала [-37,37]. Примечание: 1. Если порядок меньше -37, то такое число машина считает равным 0. 2. Если порядок больше 37, то такое число не удерживается в разрядной сетке машины и печатается "переполнение". Вопросы: 1. Перечислите известные вам типы чисел? 2. Охарактеризуйте целые числа? 3. Расскажите про числа в форме с фиксированной точкой? 5 4. Расскажите о числах в форме с плавающей точкой? Упражнения: 1. Перевести числа щей точкой: a) 0.0000007 г) б) 180000000 д) в) 0.0000187 е) знак "=" использовать в команде PRINT нельзя. Пример: из обычного вида в форму с плаваю5*10-18 0.1*10-40 1.4*10+18 1) Необходимо вычислить: 23.275-17.628+2.53*3.52 На машине набираем строку: ? 23.275-17.628+2.53*3.52 Enter 2. Привести числа к а) 0.1E+6 г) б) 1.87E-18 д) в) 17E+3 е) нормальному виду: 0.14E-8 11E+4 3E+40 3. Найдите и объясните ошибку: a) sin^2(0.2) д) 15E6 б) 0.1Е-58 е) tan5x в) cos3 ж) 1.3E+39.1 г) E-5 з) E12 § 3. Команда вывода. В интегрированной среде QBASIC результат вычисления некоторого выражения печатается на экране с использованием оператора PRINT. Это очень удобно для проведения простых подсчетов. PRINT можно заменить на ? Наберем на экране ключевое слово PRINT и выражение, состоящее из констант, переменных, функций, знаков арифметических операций, скобок. Закончив набор, нажмем клавишу Enter. Строкою ниже появится результат. Пример: ? 2 + 3 Enter 5 * * Замечание: 14.5526 <- Ответ 2) -0,28675:2,7328+7,78(2,7684-3,48) ? -0.28675/2.7328+7.78*(2.7684-3.48) Enter -5.64118 3) 2,7396 : 1,1033 3,6753 2,0789 0,528(132,195 135,628) ? (2.7396/1.1033-3.6753*2.0789)/ (0.528*(132.195-135.628)) Enter 2.84531 ответ 4) 3,25326 10 25 4,12792 1015 5) 2,75364 10 22 : 35,6834 10 24 ОШИБОЧНЫЕ ЗАПИСИ: a) ? 2.938*E-39 Enter б) ? 2E38 Enter Примеры: 1) 0.0735697:0.027357 2) 0.009587686-0.000004 3)9879.6531018 4) 998760410-24 5) 0.1102750.023454 6) 93270621000 6 7) 2751014:3981058 4) 5 111ctg § 4. Запись нескольких выражений. 5) cos В одном операторе PRINT может быть записано несколько выражений. Разделительный знак между выражениями обозначается ";", ",". ; -результаты выводятся один за другим, без разделителей или разделяются одним пробелом. , -между результатами печатается несколько пробелов. Примеры: 1) ? 2+3,3+4,4-6,6+4 5 7 -2 10 2) ? 2+3;3+4;4-6;6+4 57-210 Записать в линейном виде: 5 ( x 2 4 x y )3 ( x 2 4 x y )2 4 ( x 2 4 x y )3 ( x 2 4 x y)2 1) 2) 4 ( x 2 4 x y )3 ( x 2 4 x y )2 ( x tgy) cos x sin x 5 3) x2 4 x y x3 4 x y 3 arctgy cos x 3 6) 2 x tg x x3 , при х=2 sin( 2arctg1) x ,при х=6 x2 2 ,при х=-3 x § 5. Алфавит. Основой большинства наших языков, а также языков представления информации в ЭВМ являются алфавиты. Алфавит- это набор символов, из которых могут составляться слова и фразы данного языка. При работе на ПЭВМ используется следующие группы алфавитов: 1. Латинский алфавит: -26 заглавных и маленьких букв (A, B, C, D, Z, a, b, z); 2. Русский алфавит: -32 буквы, большие и маленькие (нет Ё) (А,Б,В,..,Я,а,б,..,я); 3.Алфавит натуральных чисел: 0,1,2,..9; 4.Алфавит двоичных чисел: 0,1; 5.Алфавит спецсимволов: - специальные символы +,-,*,/ и т.д 6. Алфавит спецзнаков: спецзнаки $,%,&. Употребление букв русского алфавита ограничено. Они используются в комментариях и в сообщенях. 7 § 6. Константы. Величины, используемые при решении задач, в информатике принято называть данными. Константой называ- ется данное, значение которого определено и не изменяется в процессе вычислений. ПРИМЕР: = 3.14 g = 9.87 § 7. Переменные. Величины, значение которых изменяются в процессе вычислений и могут быть не определены в начале вычислений, принято называть переменными. Каждая переменная, так же, иметь свое имя. как и константа, должна Имена переменных в языках программирования называют идентификаторами. Идентификатор переменной может состоять из нескольких символов. Можно использовать латинские большие и маленькие буквы и знаки -, . , : ,? , ! , 1 , 2 , 3 , 4, 5, 6 ,....,0 Первым символом идентификатора всегда должна быть латинская буква. Идентификаторы м1 и M1 - в QBASIC и PASCAL обозначают две одинаковые переменные, т.к. ЭВМ в этих языках не различает маленькие и большие буквы. *** ПРИМЕЧАНИЕ: В некоторых версиях языка BASIC ЭВМ различает маленькие и большие буквы и два идентификатора m1 и M1 будут обозначать две разных переменных. Имя переменной не должно совпадать со служебными словами. Машина работает с различными переменными. В физике, математике мы работаем только с числовыми переменными. В информатики значениями переменной могут быть не только числа, но и слова, буквы, геометрические фигуры. Машина должна знать с какой величиной она работает. Для этого в языках высокого уровня есть специальные служебные слова, а в Бейсике специальные суффиксы. Типы величины Содержимое или диапазон изменений целое -32768 до +32768 0 до 65535 натуральное Длинное целое вещественное символьная литерная логическая Алгоритмический язык (сл. слова) цел Служебные слова в языке Паскаль QBASIC (суффиксы) integer % нат word нет -2147483648 до +2147483647 2.9Е-39 до 1.7Е+38 нет longint нет вещ real Один символ Строка символов True, falsh сим лит char string Без суффикса Нет $ лог boolean нет Примеры| i$="Агат" FAM$="Иванов" N$="23.45" M1$="2#" *** ПРИМЕЧАНИЕ: На QBASIC значение литерной величины заключается в кавычки, а в языке Паскаль в апострофы. A%=5: M=16.8: B%=100: M1=3E+8 8 В языках Паскаль и алгоритмический тип величины указывается в заголовке программы. Примеры: Алгоритмический язык: A,B цел , M сим, к , L лит. На языке Паскаль: A,B: integer; S,G,B: real; H,U: string; T,O: char; О логических переменных будем говорить позже. § 8. Работа с арифметическими выражениями. При работе с арифметическими выражениями на машине в их записи можно использовать переменные. При использовании их мы должны знать следующее: 1. Значения переменным должно быть присвоено до вычисления выражения. 2. Значения эти машина будет помнить пока вы не выключите машину или не измените значения этих переменных сами. ПРИМЕРЫ: Вычислить выражения: 1. sin x cos x ,при х=-0.141 На компьютере набираем: x=0.141 ENTER ?sin(x)^2+cos(x)^2 ENTER 2 2 5 3. (( x y ) 3 ( x y ) 4 ) 2 ,при x=5.5, y=3.2 4. ( x 2 y 2 ( x y ) x ) x y ,при x=0.25,y=1.7 4 5 Общий вид команды присвоить: переменная := = x3 x y x3 x y ( x x y) ( x x y) 3 2 3 3 константа переменная выражение "=" -> Знак для обозначения команды присвоить в языке QBASIC. ":=" -> Знак для команды присвоить в Алгоритмическом языке и в языке Паскаль. Правила оформления команды: Слева всегда должна стоять переменная. 1) Неправильно записанные команды: A + B:= C 5:= C + 1 C + 1:= 4 2) Все переменные в команде должны быть одного типа. Правила работы команды: 1. переменная:= константа А := 3.8 В%:=4 R := 5 Машина находит в памяти свободную ячейку. Этой ячейке дается имя R и в нее кладется значение 5. Если после этой команды выполнить команду R := 4 то в ячейку R положится значение 4, а значение 5 потеряется. x y ,при x=0.157,y=18.664 2. 5. § 9. Команда " ПРИСВОИТЬ". , при x=1.7,y=2.33 2. переменная := переменная А := В 9 В ячейку с именем А кладется то же значение, которое лежит в ячейке с именем В. После выполнения этой команды, ячейки А и В будут содержать одинаковые значения. Их значеия будут равны. переменная := выражение 3. А := В + С Эта команда работает в два этапа: 1-й этап: машина вычисляет значение выражения, стоящего слева. 2-й этап: результат вычисления присваивается переменной, стоящей слева. Особый случай: I := I + 1 На первом этапе машина вычисляет значение выражения I + 1. ( Если до выполнения команды I было равно 2, то результат будет равен 3 [2+1=3].) На втором этапе результат вычисления присваивается переменной I. ( Для нашего случая выполнится команда I=3) Такая команда часто используется в качестве счетчика. Задача 1. A:=3 B:=7 Поменять местами значения переменных А и В. ВОПРОСЫ: 1. Как в общем виде записывается команда присвоить? 2. Назавите правила оформления команды присвоить? 3. Как работает команда А:=константа? 4. Как работает команда А:=B? 5. Как работает команда A:=B+C? 6. Как работает команда F:=F+3? 7. Как поменять местами значения двух ячеек? УПРАЖНЕНИЯ: 1. x sin 2. tg 2 3 sin 3. 2 x Для обмена потребуется переменная С. С:= А А:= В сохраняем значение А в С переносим значение В в А (ячейку А можно портить) В:= С восстанавливаем в В значение А. б) Задание на дом. Решить эту задачу не используя дополнительную переменную. 1 x 2 x 1 ,при х=-4 4 1.2arctg 2 x ,при х=0.5 4. 5 cos 5. 3 11ctg 6. x , при Х=8 8 x Решение: ) 2arctg 3 2x x 0.53 x ,при х=2 2 4 x x 3 ,при х=2 cos 2 x x 3 2.1 2 2 x ,при х=2 10 7. 2.3 4 sin 2 x Поколения ЭВМ. 2 x x 1 ,при х=3 Подготовка/ завершение работы на ПЭВМ “PENTIUM” Вход в систему. Положить коврик на стол, на коврик положить мышку. Нажать 3-и клавиши вместе CTRL+ALT+DEL; Набрать имя; Нажать клавишу TAB; Набрать пароль и нажать ENTER; Нажав клавишу TAB, выделите ПУСК; Нажать ENTER ; Клавишами- стрелочками поставить курсор на строку “программа”; 9) Нажать клавишу ; 10) Клавишами поставить курсор на имя программы, с которой Вы будете работать; 11) Нажать ENTER; 1) 2) 3) 4) 5) 6) 7) 8) Выход из системы (предварительно выйдя из программы): 1) Нажав клавишу TAB, выделите ПУСК; 2) Нажать клавишу ENTER; 3) Клавишами- стрелочками , поставить курсор на “завершение”; 4) Нажать ENTER; 5) Появилось окно завершения, необходимо нажать еще раз ENTER; Период Элементная база Быстродействие Програм. Обеспечение Применение Примеры 1 19461959 Электронные лампы 1020тыс. оп/c Машинные языки Расчетные задачи 2 19601969 Полупроводники 100500 тыс оп/с Инженерные, научные, экономические 3 19701979 Интегральные микросхемы порядка 1млн. оп/c 4 1980настоящее время БИС, микропроцессоры Десятки и сотни млн. оп/с Алг.Яз. , диспетчерские системы, пакетный режим Операц. Системы, режим раздел. Времни База и банки данных ЭНИАК (США), БЭСМ (СССР) IBM 701 (США) БЭСМ-6 БЭСМ-4 (СССР) Номер поколения АСУ, САПР, научнотехнические задачи Управление коммуникациями, АРМ, обработка текста IBM 360 (США) ЕС 1030, 1060 (СССР) ПЭВМ, серверы