Автор работы: Пользователь скрыл имя, 31 Октября 2013 в 18:25, курс лекций
Лекция 1. Введение в информатику
1.1. Что такое инфоpматика?
Термин "информатика" (франц. informatique) происходит от французских слов information (информация) и automatique (автоматика) и дословно означает "информационная автоматика".
Широко распространён также англоязычный вариант этого термина — "Сomputer science", что означает буквально "компьютерная наука".
Инфоpматика — это основанная на использовании компьютерной техники дисциплина, изучающая структуру и общие свойства информации, а также закономерности и методы её создания, хранения, поиска, преобразования, передачи и применения в различных сферах человеческой деятельности.
Основные преимущества таковы:
Таким образом, алгоритмические языки в значительной мере являются машинно-независимыми. Они облегчают работу программиста и повышают надежность создаваемых программ.
Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика. |
Алфавит — это фиксированный для данного языка набор основных символов, т.е. "букв алфавита", из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются.
Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Точнее говоря, синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке.
Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.
Каждое понятие
Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксические правила показывают, как образуется данное понятие из других понятий и букв алфавита, а семантические правила определяют свойства данного понятия |
Основными понятиями в алгоритмических языках обычно являются следующие.
Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).
Опеpации. Типы операций:
Данные — величины, обpабатываемые пpогpаммой. Имеется тpи основных вида данных: константы, пеpеменные и массивы.
Пpимеpы констант:
Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций.
Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т.д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.
Различают выражения арифметические, логические и строковые.
Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:
Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).
При решении различных задач с помощью компьютера бывает необходимо вычислить логарифм или модуль числа, синус угла и т.д.
Вычисления часто |
Название и математическое обозначение функции |
Указатель функции | |
Абсолютная величина (модуль) |
| х | |
abs(x) |
Корень квадратный |
sqrt(x) | |
Натуральный логарифм |
ln x |
ln(x) |
Десятичный логарифм |
lg x |
lg(x) |
Экспонента (степень числа е " 2.72) |
ex |
exp(x) |
Знак числа x (-1,если х<0; 0,если x=0; 1,если x>0) |
sign x |
sign(x) |
Целая часть х (т.е. максимальное целое число,не превосходящее х) |
int(x) | |
Минимум из чисел х и y |
min(x,y) | |
Максимум из чисел х и y |
max(x,y) | |
Частное от деления целого х на целое y |
div(x,y) | |
Остаток от деления целого х на целое y |
mod(x,y) | |
Случайное число в диапазоне от 0 до х-1 |
rnd(x) | |
Синус (угол в радианах) |
sin x |
sin(x) |
Косинус (угол в радианах) |
cos x |
cos(x) |
Тангенс (угол в радианах) |
tg x |
tg(x) |
Котангенс (угол в радианах) |
ctg x |
ctg(x) |
Арксинус (главное значение в радианах) |
arcsin x |
arcsin(x) |
Арккосинус (главное значение в радианах) |
arccos x |
arccos(x) |
Арктангенс (главное значение в радианах) |
arctg x |
arctg(x) |
Арккотангенс (главное значение в радианах) |
arcctg x |
arcctg(x) |
В качестве аргументов функций
можно использовать константы, переменные
и выражения. Например:
sin(3.05) |
sin(x) |
sin(2*y+t/2) |
sin((exp(x)+1)**2) |
Каждый язык программирования имеет свой набор стандартных функций.
Арифметические выражения записываются по следующим правилам:
Математическая запись |
Запись на школьном алгоритмическом языке |
x*y/z | |
x/(y*z) или x/y/z | |
(a**3+b**3)/(b*c) | |
(a[i+1]+b[i-1])/(2*x*y) | |
(-b+sqrt(b*b-4*a*c))/(2*a) | |
(x<0) |
sign(x)*abs(x)**(1/5) |
0.49*exp(a*a-b*b)+ln(cos(a*a)) | |
x/(1+x*x/(3+(2*x)**3)) |
Типичные ошибки в
записи выражений:
5x+1 |
Пропущен знак умножения
между 5 и х |
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.
Условие |
Запись на школьном алгоритмическом языке |
Дробная часть вещественого числа a равна нулю |
int(a) = 0 |
Целое число a — четное |
mod(a,2) = 0 |
Целое число a — нечетное |
mod(a,2) = 1 |
Целое число k кратно семи |
mod(a,7) = 0 |
Каждое из чисел a,b положительно |
(a>0) и (b>0) |
Только одно из чисел a,b положительно |
((a>0) и (b<=0)) или |
Хотя бы одно из чисел a,b,c является отрицательным |
(a<0) или (b<0) или (c<0) |
Число x удовлетворяет условию a<x<b |
(x>a) и (x<b) |
Число x имеет значение в промежутке [1, 3] |
(x>=1) и (x<=3) |
Целые числа a и b имеют одинаковую четность |
((mod(a,2)=0) и (mod(b,2)=0) или |
Точка с координатами (x,y) лежит в круге радиуса r с центром в точке (a,b) |
(x-a)**2+(y-b)**2<r*r |
Уравнение ax^2+bx+c=0 не имеет действительных корней |
b*b-4*a*c<0 |
Точка (x,y) принадлежит первому или третьему квадранту |
((x>0) и (y>0)) или |
Точка (x,y) принндлежит внешности единичного круга с центром в начале координат или его второй четверти |
(x*x+y*y>1) или |
Целые числа a и b являются взаимнопротивоположными |
a = -b |
Целые числа a и b являются взаимнообратными |
a*b = 1 |
Число a больше среднего арифметического чисел b,c,d |
a>(b+c+d)/3 |
Число a не меньше среднего геометрического чисел b,c,d |
a>=(b+c+d)**(1/3) |
Хотя бы одна из логических переменных F1 и F2 имеет значение да |
F1 или F2 |
Обе логические переменые F1 и F2 имеют значение да |
F1 и F2 |
Обе логические переменые F1 и F2 имеют значение нет |
не F1 и не F2 |
Логическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет |
F1 и не F2 |
Только одна из логических переменных F1 и F2 имеет значение да |
(F1 и не F2) или |