Pascal №1(Арифметические операции

advertisement
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
ПРАВИЛА ЗАПИСИ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ.
ТИПЫ ЧИСЕЛ.
ТИПЫ ВЕЛИЧИН.
КОМАНДА ПРИСВОИТЬ.
(часть 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
***ПРИМЕЧАНИЕ:
В языке Бейсик:
5x
= x^(1/5)
Вопросы:
1. Какие арифметические операции вы знаете?
2. Правила выполнения арифметических операций?
3. Правила записи арифметических выражений?
4. Какие математические функции вы знаете?
3
Наиболее распространенные ошибки.
Выражение
1
ab
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
ab
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)
abc
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) 2R
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.6531018
4) 998760410-24
5) 0.1102750.023454
6) 93270621000
6
7) 2751014:3981058
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
Общий вид команды присвоить:
переменная :=
=
x3 x y x3 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
(СССР)
ПЭВМ,
серверы
Download