'

Использование переменных. Объявление переменной (тип, имя, значение). Локальные и глобальные переменные. Массивы

Понравилась презентация – покажи это...





Слайд 0

Использование переменных. Объявление переменной (тип, имя, значение). Локальные и глобальные переменные. Массивы Канд. пед. наук, доцент И.В. Попова Магнитогорск, 2012 1


Слайд 1

Данные 2 Исходные (входные) — это данные, известные перед выполнением задачи из условия. Выходные— результат решения задачи. промежуточные – данные, которые не являются ни аргументом, ни результатом алгоритма, а используются только для обозначения вычисляемого промежуточного значения


Слайд 2

Величина — это элемент данных с точки зрения их семантического (смыслового) содержания или обработки. Смысловое (семантическое) разбиение данных производится во время постановки задачи и разработки алгоритма ее решения (входные, выходные и промежуточные). 3 имя (идентификатор) — обозначение величины и её место в памяти тип — множество допустимых значений и множество применимых операций к ней значение — динамическая характеристика, может меняться многократно в ходе исполнения алгоритма Постоянная и переменная


Слайд 3

Типы данных ( Pascal) 4


Слайд 4

Целые типы   определяют константы, переменные и функции, значения которых реализуются множеством целых чисел,  допустимых в данной ЭВМ. 5


Слайд 5

Арифметические операции над целыми 6


Слайд 6

Операции отношения Операции отношения,  примененные к целым операндам, дают результат логического типа TRUE или FALSE ( истина или  ложь ).    В языке ПАСКАЛЬ имеются следующие операции отношения: равенство =, неравенство <>, больше или равно >=,  меньше или равно <=,больше >, меньше < . 7


Слайд 7

Стандартные функции 8


Слайд 8

Действительные типы данных 9 Определяют   те данные,   которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.


Слайд 9

Операции над действительными числами Арифметические : сложение + ,  вычитание - , умножение * , деление / . Все операции отношения, дающие булевский результат. Функции, дающие действительный результат: Abs(X), Sqr(X), Sin(X), ArcTan(X),  Ln(X),Exp(X), Sqrt(X), Frac(X), Int(X), Pi, Cos(X) Frac(X) возвращает дробную часть X, Int(X) – целую часть X. Trunc(X) целая часть действительного аргумента  путем отсечения дробной части Round(X) – округление до ближайшего целого 10


Слайд 10

Булевские операнды Not And Or Xor 11 False< True Boolean – 1 байт ByteBool, - 1 байт WordBool - 2 байта LongBool - 4 байта.


Слайд 11

Символьный тип определяет упорядоченную совокупность символов, допустимых    в  данной ЭВМ.  Значение символьной переменной или константы - это один символ из допустимого набора. Способы задания: как один символ, заключенный в апострофы, например:      'A'   'a'   'Ю'  'ю'; с помощью конструкции вида #K, где K - код соответствующего символа, при этом значение K должно находиться в пределах 0..255; с помощью конструкции вида ^C, где C - код соответствующего управляющего  символа, при этом  значение C должно быть на 64 больше кода управляющего символа. 12


Слайд 12

Операции над величинами символьного типа все операции отношения. Ord(C) - определяет порядковый номер символа С в наборе символов; Chr(K) – определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов; Pred(C) - определяет предыдущий символ Pred('F') = 'E' ; Succ(C) – определяет последующий символ Succ('Y') = 'Z' UpCase(C) – переводит буквы в верхний регистр 13


Слайд 13

Переменная - небольшая область в оперативной памяти компьютера, куда во время работы программы можно занести и хранить в закодированном виде некоторое значение (целое или действительное число либо символьный текст), которое в дальнейшем можно использовать или изменять. 14 Место переменной в общем объеме ОЗУ определяется адресом - ее порядковым номером в 16-ричной системе счисления. Например, в машинных кодах команда имеет вид: K A B C, где К - код операции; A, B, C - адреса ячеек памяти. Имя переменной - это название ячейки ОЗУ, используемое в программе на алгоритмическом языке вместо указания адреса.


Слайд 14

Виды переменных Область видимости переменной - место в программе, в котором доступно значение переменной. Статическая переменная создаётся в момент запуска программы Динамическая переменная создаётся в процессе её выполнения. Локальные переменные доступны конкретной подпрограмме Глобальные переменные доступны всей программе. Простые переменные не имеют внутренней структуры, доступной для адресации. 15


Слайд 15

Операции ввода данных (Pascal) Read(список переменных) ReadLn(список переменных) Var A : Real; B : Integer; C : Char; Begin Read(A, B, C) End. Читается: «Ввести вещественную А, целую В и символьную С». ReadLn(A, B, C); ReadLn(X); ReadLn(LogPer); ReadLn реагирует на конец строки, и в случае его обнаружения происходит сразу переход к следующей строке 16 Процедура, которая в режиме диалога с клавиатуры присваивает значение для переменной величины, называется процедурой ввода В списке ввода значения разделяются между собой пробелом


Слайд 16

Операции вывода данных (Pascal) Write (список констант и/или переменных, разделенных запятой) WriteLn (список констант и/или переменных, разделенных запятой) Write(A, B, C); WriteLn('Корнем уравнения является ', X); WriteLn(LogPer); вывод значений выражений, приведенных в его списке, на текущую строку до ее заполнения реализуется вывод значений выражений на одну строку дисплея и переход к началу следующей строки Процедура вывода с форматом для целого типа имеет вид: WriteLn(A : N, B : M, C : L);  N, M, L — выражения целого типа, задающие ширину поля вывода значений. 17 Процедура, которая выводит содержимое переменных на экран, называется процедурой вывода на экран Для десятичного представления значения R применяется оператор с форматами вида WriteLn(R : N : M). N – это количество цифр до запятой, M – это количество цифр после запятой.


Слайд 17

Общая структура программы на Pascal Program имя программы; {заголовок} Const {объявление констант} Константа1 = значение; Константа2 = значение; ... КонстантаN = значение; Type ...; {объявление типов} Var {описание переменных} Список Переменных1 : Тип; Список Переменных2 : Тип; ... Список ПеременныхN : Тип; Function {описание функции} Procedure {описание процедуры} Основная программа Begin {раздел операторов} End. 18


Слайд 18

Присваивание в Паскале 19 X := (Y + Z) / (2 + Z * 10) - 1/3; LogPer := (A > B) And (C <= D); переменная := выражение; - + * Деление – только Real


Слайд 19

Порядок действий при вычислении значения выражения: 1) вычисляются значения в скобках; 2) вычисляются значения функций; 3) выполняется унарные операции (унарный минус — смена знака); 4) выполняются операции умножения и деления (в том числе целочисленного деления и нахождения остатка от деления); 5) выполняются операции сложения и вычитания. 20


Слайд 20

1) вычисляются значения в скобках; 2) вычисляются значения функций; 3) выполняется унарные операции (операция NOT); 4) выполняется операция AND; 5) выполняются операции OR, XOR; Порядок действий при вычислении значения логического выражения: 21


Слайд 21

Условный оператор IF Если условие выполняется , то будет выполнен указанный оператор. IF условие THEN оператор1 ELSE оператор2; (полная форма) Добавление к конструкции служебного слова ELSE позволяет выполнить определенные действия в случае, когда условие не выполняются. 22 If a mod 2 = 1 then WriteLn(‘a-чётное число’); else WriteLn(‘a- нечётное число’); Может принимать одну из следующих форм: IF условие THEN оператор ; (неполная форма) Условие задаётся переменной и её соотношением с некоторой константой или значением выражения.


Слайд 22

Цикл с предусловием "Пока истинно условие, выполнять оператор". 23 While <условие> Do <оператор>; While <условие> Do Begin <оператор #1>; <оператор #2>; <оператор #3>; . . . End; While I <= n Do Begin WriteLn (i,’,’); i:=2*I; End;


Слайд 23

Цикл с постдусловием "Выполнять оператор #1, оператор #2. : до выполнения условия". 24 Repeat <оператор> Until <условие>; Repeat <оператор #1>; <оператор #2>; <оператор #3>; . . . Until <условие>; Repeat WriteLn (I, ‘,’); i:=2*I; Until i>n; не требуется использование составного оператора, потому, что сами слова Repeat и Until являются операторными скобками


Слайд 24

Цикл с параметром Форматы: For <И.П.>:=<Н.З.> To <К.З.> Do <оператор>; For <И.П.>:=<Н.З.> Downto <К.З.> Do <оператор>; И.П. - имя переменной-параметра, Н.З. - его начальное значение, К.З. - соответственно конечное значение параметра. 25 Выполняется по следующему алгоритму: переменной-параметру присваивается начальное значение; выполняется тело цикла; переменная-параметр автоматически увеличивается на 1 (в первом случае формата); если параметр превышает конечное значение, то происходит выход из цикла, иначе - переход к пункту 2.


Слайд 25

Пример. Найти сумму квадратов всех натуральных чисел от 1 до 100 26


Слайд 26

Алгоритм 1. Выделение цифр в числе. Введем обозначения объектов алгоритма: num – целое число, подлежащее обработке; temp – переменная для хранения цифры числа. Текст алгоритма Writeln (‘Введите целое число’); Readln (num); Write (‘цифры числа:’); While num<>0 do begin temp:=num mod 10;{выделение цифры из числа} num:=num div 10; {уменьшение числа на один разряд} write (temp,’ ‘); end; 27


Слайд 27

Алгоритм 2. Делители числа. Введем обозначения объектов алгоритма: delit – делитель числа num. Текст алгоритма Writeln (‘Введите целое число’); Readln (num); For delit:=2 to num div 2 do If num mod delit=0 then write(delit,’ ‘); 28


Слайд 28

Алгоритм 3. Проверка, является ли число простым Введем обозначения : delit – делители числа num; flag – переменная логического типа, которая используется для долгосрочного выхода из цикла. Текст алгоритма Writeln (‘Введите целое число’); Readln(num); flag:=true;{предположим, что число простое} delit:=2; while flag and (delit <= num div 2) do if num mod delit=0 then flag:=false {нашелся делитель, отличный от 1 и num} else delit:=delit+1; if flag then writeln (‘число простое’) else writeln (‘число составное’); 29


Слайд 29

Алгоритмы решения задачи 4 30


Слайд 30

Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа. 31 <ключ_выбора> - выражение порядкового типа; <список_выбора> - одна или более конструкций вида: <константа_выбора>: <оператор>; <константа_выбора> - константа того же типа, что и выражение <ключ_выбора>; <операторы> - произвольные операторы Паскаля. Case n of 1: writeln(‘понедельник ’); 2: writeln(‘вторник ’); 3: writeln(‘среда ’); 4: writeln(‘четверг ’); 5: writeln(‘пятница ’); 6: writeln(‘суббота ’); 7: writeln(‘воскресенье’); else writeln(‘дня недели с номером’, n,’нет’);   end; Case <ключ_выбора> of <список_выбора> [else <оператор_иначе>] end


Слайд 31

Массив Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива). Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент 32 — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. А Массив Имя массива Элемент массива A[6] 1 2 3 4 5 6 Индекс элемента массива


Слайд 32

Виды массива 33


Слайд 33

Описание массива Имя_массива: аrray [начальное _значение _индекса..конечное _значение_индекса] Of базовый тип; 34 Var B : Array [1..5] Of Real, {массив В, состоящий из 5 элементов вещественного типа} R : Array [1..34] Of Char; {символьный массив R, состоящий из 34 элементов} Базовый тип элементов массива может быть любым, за исключением файлового Индекс в обозначении компонент массивов может быть: константой; переменной; выражением порядкового типа Размер массива?


Слайд 34

Заполнение массива с помощью оператора присваивания Заполнить одномерный массив элементами, отвечающими следующему соотношению: a1=1; a2=1; ai=ai-2+ai-1 (i = 3, 4, ..., n). Заполнить одномерный массив с помощью датчика случайных чисел таким образом, чтобы все его элементы были различны A[1]:= 1; A[2]:= 1; FOR I:= 3 TO N DO A[I]:= A[I - 1] + A[I - 2]; Program Create; Type Mas = Array[1..100] Of Integer; Var A : Mas; I, J, N : Byte; Log : Boolean; Begin randomize; A[1] := -32768 + random(65535); For I:= 2 To N Do Begin Log:= True; Repeat A[i]:= -32768 + random(65535); J := 1; While Log and (j <= i - 1) Do begin Log := a[i] <> a[j]; j := j + 1 End Until Log End; End. 35


Слайд 35

Заполнение массива с клавиатуры используется обычно тогда, когда между элементами не наблюдается никакой зависимости 36 Program Vvod; Var N, I : Integer; A : Array [1..20] Of Integer; Begin Write('Введите количество элементов массива '); ReadLn(N); FOR I:= 1 TO N DO Begin Write('Введите A[', I, '] '); ReadLn(A[I]) End End.


Слайд 36

Двумерный массив(таблица) - способ организации данных, при котором каждый элемент определяется номером строки и номером столбца, на пересечении которых он расположен. 37 имя массива: Array [начальное значение индекса..конечное значение индекса (число строк), начальное значение индекса..конечное значение индекса (число столбцов) ] Of базовый тип; Var B : Array [1..5, 1..6] Of Real; {массив вещественных чисел В, состоящий из 5 строк и 6 столбцов } R : Array [1..34, 1..5] Of Char; {символьный массив R, состоящий из 34 строк и 5 столбцов} n-мерный массив - это одномерный массив, элементами которого являются (n-1)-мерные массивы


Слайд 37

Описание матрицы на языке Паскаль 1 способ 2 способ <имя матрицы>: array <количество строк> of array <количество столбцов> of <тип переменной>; Var A : Array [1..20] Of Array [1..30] Of Integer; <имя матрицы>: array <количество строк >,<количество столбцов> оf <тип переменной>] Var A : Array [1..20,1..30] Of Integer 38 двумерный массив, соответствующий таблице, состоящей из 20 строк и 30 столбцов


Слайд 38

Соотношение индексов в квадратной матрице1 Главная диагональ Побочная диагональ I=J : элементы матрицы расположены на главной диагонали J=N-I+1 : элементы матрицы расположены на побочной диагонали (N - количество строк или столбцов в квадратной матрице) 39 i j i j a [i, j] a[i] 1число строк матрицы равно числу столбцов


Слайд 39

Ввод-вывод двумерного массива Ввод Вывод for i:= 1 to N do begin for j:= 1 to M do read (A[i,j]:4); writeln; end; for i:= 1 to N do begin for j:= 1 to M do write (A[i,j]:4); writeln; {переводит строку, для того, чтобы массив выводился в виде таблицы} end; 40 В результате выполнения программы: Program Vvod2; Var I, J : Integer; A : Array [1..20, 1..20] Of Integer; Begin FOR I := 1 TO 3 DO FOR J := 1 TO 2 DO A[I, J] := 456 + I End. элементы массива примут значения A[1, 1] = 457; A[1, 2] = 457; A[2, 1] = 458; A[2, 2] = 458; A[3, 1] = 459; A[3, 2] = 459.


Слайд 40

Задачи для самостоятельного решения Дана масса в килограммах. Найти число полных тонн в нем. С некоторого момента прошло n число дней. Сколько полных недель прошло за этот период? Дан прямоугольник со сторонами 543х130. Сколько квадратов со стороной 130 мм можно отрезать от него? С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Присвоить целочисленной величине x значение 1, 2, 3…11,12 в зависимости от того, каким месяцем является месяц этого дня. Например, при n=3 значение x равно 4. 41


Слайд 41

Задачи для самостоятельного решения 1. Рассчитать значение y при заданном значении x: Sin?x при x>0, y=1+2 Sin?x в противном случае. 2. Даны два различных вещественных числа. Определить: а) какое из них больше; б) какое из них меньше. 3. Найти корни для квадратного уравнения: ax?+bx+c=0. 42


Слайд 42

Задачи для самостоятельного решения 1. Дано трехзначное число. Найти полученное число при прочтении его справа налево. 2. Дано трехзначное число. В нем зачеркнули последнюю цифру и приписали ее в начале. Вывести новое число. 3. Дано трехзначное число. Найти число, полученное при перестановке первой и второй цифр числа. 4. Дано четырехзначное число. Найти: а) сумму его цифр; б) произведение его цифр. 43


Слайд 43

Задачи для самостоятельного решения 1. Из трехзначного числа х вычли его последнюю цифру. Когда результат разделили на 10, а к частному слева приписали последнюю цифру числа х, то получилось число n. Найти число n. По заданному n найти число x (значение n вводится с клавиатуры, 10<=n<=999 и при этом число десятков в n не равно нулю). 2. В трехзначном числе х зачеркнули первую цифру. Когда оставшееся число умножили на 10, а произведение сложили с первой цифрой числа х, то получилось число 564. Найти число х. 44


Слайд 44

Условный оператор. Задачи для самостоятельного решения 1. Определить, является ли число a делителем числа b? 2. Дано натуральное число. Определить: а) является ли оно четным; б) оканчивается ли оно цифрой 7. 3. Дано двузначное число. Определить: а) какая из его цифр больше; б) одинаковы ли его цифры. 4. Дано двузначное число. Определить: а) является ли сумма его цифр двузначным числом; б) больше ли числа а сумма его цифр. 5. Дано трехзначное число. Выяснить, является ли число полиндромом, т.е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево. 6. Дано трехзначное число. Определить, равен ли квадрат этого числа сумме кубов его цифр. 45


Слайд 45

Условный оператор. Задачи для самостоятельного решения 7. Дано трехзначное число. Определить: а) является ли сумма его цифр двузначным числом; б) является ли произведение его цифр трехзначным числом; в) больше ли числа a произведение его цифр; г) кратна ли 5 сумма его цифр; д) кратна ли сумма его цифр числу a. 8. Дано трехзначное число. а) Верно ли, что все его цифры одинаковые? б) Определить, есть ли среди его цифр одинаковые. 9. Дано четырехзначное число. Определить: а) кратна ли трем сумма его цифр; б) кратно ли 4 произведение его цифр; в) кратно ли произведение его цифр числу а. 10. Дано натуральное число. а) Верно ли, что оно заканчивается четной цифрой? б) Верно ли, что оно заканчивается нечетной цифрой? 46


Слайд 46

Оператор выбора. Задачи для самостоятельного решения 1. Составить программу, которая в зависимости от порядкового номера дня недели (1,2..,7) выводит на экран его название (понедельник, вторник,…, воскресенье). 2. Составить программу, которая в зависимости от порядкового номера дня месяца (1, 2,…,12) выводит на экран его название (январь, февраль,…, декабрь). 3. Составить программу, которая в зависимости от порядкового номера дня месяца (1, 2,…,12) выводит на экран время года, к которому относится этот месяц. 4. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» - 1, масти «трефы» - 2, масти «бубны» - 3, масти «червы» - 4. По заданному номеру масти определить название соответствующей масти. 47


×

HTML:





Ссылка: