Основы информатики Введение в программирование Машинно-ориентированные (низкого уровня)

Скачать презентацию Основы информатики Введение в программирование Машинно-ориентированные (низкого уровня) Скачать презентацию Основы информатики Введение в программирование Машинно-ориентированные (низкого уровня)

38532-vvedenie_v_yazyk(5.11.14).ppt

  • Количество слайдов: 36

>Основы информатики Введение в программирование Основы информатики Введение в программирование

>Машинно-ориентированные (низкого уровня) –  каждая команда соответствует одной команде процессора (ассемблер) Языки высокого Машинно-ориентированные (низкого уровня) – каждая команда соответствует одной команде процессора (ассемблер) Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера: для обучения: Бейсик, ЛОГО, Паскаль профессиональные: Си, Фортран, Паскаль для задач искусственного интеллекта: Пролог, ЛИСП для Интернета: JavaScript, Java, Perl, PHP, ASP Языки программирования

>Язык Паскаль  1970 – Никлаус Вирт (Швейцария)  язык для обучения студентов Язык Паскаль 1970 – Никлаус Вирт (Швейцария) язык для обучения студентов разработка программ «сверху вниз» разнообразные структуры данных (массивы, структуры, множества)

>Тип данных в Pascal определяет: множество значений, которые может принимать переменная множество операций, допустимых Тип данных в Pascal определяет: множество значений, которые может принимать переменная множество операций, допустимых над данной переменной форму внутреннего представления данных

>Иерархия типов в ТР … Иерархия типов в ТР …

>Структура программы Программа на ТР Описание данных, с которыми оперируют действия Описание действий Структура программы Программа на ТР Описание данных, с которыми оперируют действия Описание действий

>Program <имя>;  USES <список модулей>;  LABEL <список меток>;   CONST <описание Program <имя>; USES <список модулей>; LABEL <список меток>; CONST <описание констант> TYPE <описание пользовательских типов> VAR <описание переменных> PROCEDURE <имя> (формальные параметры); FUNCTION <имя> (формальные параметры); Begin {тело программы – алгоритм решения задачи} <Операторы программы> End.

>const       i2 = 45; { целое число } const i2 = 45; { целое число } pi = 3.14; { вещественное число } qq = 'Вася'; { строка символов } L = True; { логическая величина }

>Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Типы переменных: integer { целая } real { вещественная } char { один символ } string { символьная строка } boolean { логическая }

>Стандартные числовые типы и действия с ними. Целые типы. Объявление переменных целых типов. Var Стандартные числовые типы и действия с ними. Целые типы. Объявление переменных целых типов. Var a,b: integer; c: byte; k: word;

>Характеристика целых типов Характеристика целых типов

>Характеристика вещественных типов Характеристика вещественных типов

>Математические функции Математические функции

>Функции, применимые к вещественным числам Функции, применимые к вещественным числам

>Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3); end. a ? 5 5 b ? 5+2 7 a 5 7*4 28

>Типы операторов в ТP Простые Оператор присваивания Процедуры ввода-вывода Оператор безусловного перехода (go to) Типы операторов в ТP Простые Оператор присваивания Процедуры ввода-вывода Оператор безусловного перехода (go to) Операторы вызова процедуры Пустой оператор Структурные Составной оператор Условный оператор Оператор выбора Операторы цикла

>Оператор присваивания  <имя> := <выражение>; Например:Sum:=pr + posl; Арифметическое выражение может включать константы Оператор присваивания <имя> := <выражение>; Например:Sum:=pr + posl; Арифметическое выражение может включать константы имена переменных знаки арифметических операций: + - * / div mod вызовы функций круглые скобки ( ) умножение деление деление нацело остаток от деления

>

>Ручная прокрутка программы program qq; var  a, b: integer; begin   a Ручная прокрутка программы program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3); b := a div 5; a := a mod b; a := a + 1; b := (a + 14) mod 7; end.

>Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, mod слева направо сложение Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, mod слева направо сложение и вычитание слева направо z := (5*a*c+3*(c-d))/a*(b-c)/ b; x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a)); 2 3 5 4 1 7 8 6 9 2 6 3 4 7 5 1 12 8 11 10 9

>Процедуры ввода-вывода   Read [ln] (x1, x2, xn);   Write [ln] (y1, Процедуры ввода-вывода Read [ln] (x1, x2, xn); Write [ln] (y1, y2, …yn);

>1.Процедуры ввода (чтения) данных: оператор ввода read ( a );    { 1.Процедуры ввода (чтения) данных: оператор ввода read ( a ); { ввод значения переменной a} read ( a, b ); { ввод значений переменных a и b} Как вводить два числа? через пробел: 25 30 через Enter: 25 30

>write ( a );   { вывод значения переменной a} writeln ( a write ( a ); { вывод значения переменной a} writeln ( a ); { вывод значения переменной a и переход на новую строчку} writeln ( 'Привет!' ); {вывод текста} writeln ( 'Ответ: ', c ); { вывод текста и значения переменной } writeln ( a, '+', b, '=', c ); 2.Процедуры вывода данных: оператор ввода

>Форматы вывода program qq; var i: integer;     x: real; begin Форматы вывода program qq; var i: integer; x: real; begin i := 15; writeln ( '>', i, '<' ); writeln ( '>', i:5, '<' ); x := 12.345678; writeln ( '>', x, '<' ); writeln ( '>', x:10, '<' ); writeln ( '>', x:7:2, '<' ); end. >15< > 15< >1.234568E+001< > 1.23E+001< > 12.35< всего символов всего символов в дробной части

>Полное решение  program qq;  var a, b, c: integer;  begin Полное решение program qq; var a, b, c: integer; begin writeln('Введите два целых числа'); read ( a, b ); c := a + b; writeln ( a, '+', b, '=', c ); end. это выводит компьютер это вводит пользователь Результат работы программы: Введите два целых числа 25 30 25+30=55

>Оператор безусловного перехода  Goto < метка>;  Например:  … Label m1; … Оператор безусловного перехода Goto < метка>; Например: … Label m1; … Begin … m1: … goto m1; … end.

>Пустой оператор  например:  … Label m; …  begin   … Пустой оператор например: … Label m; … begin … goto m; … m: … … End.

>Составной оператор begin   …  …  …  … end; . Составной оператор begin … … … … end; .

>Условный оператор If <P> then <S1>        Условный оператор If

then else ; If

then ; P – выражение булевского типа. S1, S2 – простые или составные операторы.

>Что неправильно?  if a > b then begin    a := Что неправильно? if a > b then begin a := b; end else b := a; end; if a > b then begin a := b; else begin b := a; end; if a > b then begin a := b; end; else begin b := a; end; if a > b then begin a := b; end else b > a begin b := a; end; begin end begin end

>program qq;  var a, b, max: integer;  begin    writeln('Введите program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := b; if ??? then ??? writeln ('Наибольшее число ', max); end. max := a; a > b

>Что неправильно?  if a > b then begin     Что неправильно? if a > b then begin a := b; else b := a; if a > b then begin a := b; end; else b := a; if a > b then else begin b := a; end; if a > b then a := b; else b := a; end; a := b end a := b if b >= a then b := a;

>Оператор выбора Case K of K1:S1; K2:S2; ……… KN: SN [Else S;] End; K Оператор выбора Case K of K1:S1; K2:S2; ……… KN: SN [Else S;] End; K – селектор выбора (переменная или выражение целочисленное, булевского или символьного типа) K1, K2, … KN – константы выбора (тип совпадает с типом селектора) S1, S1, … SN – простые или составные операторы. [else]

>Оператор цикла for (цикл с параметром) выход Формат записи: For i:=s1 to (downto) s2 Оператор цикла for (цикл с параметром) выход Формат записи: For i:=s1 to (downto) s2 do <тело цикла>; To – шаг «1» Downto – шаг «-1» i – параметр цикла S1 – начальное значение S2 – конечное значение

>Оператор цикла while (цикл с предусловием, «пока») Формат записи: While <P> do  <S>; Оператор цикла while (цикл с предусловием, «пока») Формат записи: While

do ; P – условие повторения тела цикла (выражение логического (булевского) типа). S – простой или составной оператор.

>Оператор цикла repeat (цикл с постусловием, «до») нет да выход Формат записи: Repeat Оператор цикла repeat (цикл с постусловием, «до») нет да выход Формат записи: Repeat Until

; P В цикле с постусловием условие цикла проверяется после очередного выполнения тела цикла. S – тело цикла; P – условие выхода из цикла (выражение булевского типа); Выход из цикла при P=TRUE. В цикле Repeat тело выполняется хотя бы один раз.