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

Содержание

Слайд 2

Данные

Исходные (входные) — это данные, известные перед выполнением задачи из условия.

Выходные—

Данные Исходные (входные) — это данные, известные перед выполнением задачи из условия.
результат решения задачи.

промежуточные – данные, которые не являются ни аргументом, ни результатом алгоритма, а используются только для обозначения вычисляемого промежуточного значения

Слайд 3

Величина

— это элемент данных с точки зрения их семантического (смыслового) содержания или

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

имя (идентификатор) — обозначение величины и её место в памяти

тип —
множество допустимых значений и множество применимых операций к ней

значение —
динамическая характеристика, может меняться многократно в ходе исполнения алгоритма

Постоянная и переменная

Слайд 4

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

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

Слайд 5

Целые типы

  определяют константы, переменные и функции, значения которых реализуются множеством целых

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

Слайд 6

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

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

Слайд 7

Операции отношения

Операции отношения,  примененные к целым операндам, дают результат логического типа TRUE

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

Слайд 8

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

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

Слайд 9

Действительные типы данных

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

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

Слайд 10

Операции над действительными числами

Арифметические : сложение + ,  вычитание - , умножение

Операции над действительными числами Арифметические : сложение + , вычитание - ,
* , деление / .
Все операции отношения, дающие булевский результат.
Функции, дающие действительный результат: 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) – округление до ближайшего целого

Слайд 11

Булевские операнды

Not
And
Or
Xor

False< True

Boolean – 1 байт
ByteBool, - 1 байт
WordBool - 2 байта
LongBool

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

Слайд 12

Символьный тип

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

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

Слайд 13

Операции над величинами символьного типа

все операции отношения.
Ord(C) - определяет порядковый номер символа

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

Слайд 14

Переменная

- небольшая область в оперативной памяти компьютера, куда во время работы программы

Переменная - небольшая область в оперативной памяти компьютера, куда во время работы
можно занести и хранить в закодированном виде некоторое значение (целое или действительное число либо символьный текст), которое в дальнейшем можно использовать или изменять.

Место переменной в общем объеме ОЗУ определяется адресом - ее порядковым номером в 16-ричной системе счисления. Например, в машинных кодах команда имеет вид:
K A B C,
где К - код операции; A, B, C - адреса ячеек памяти.

Имя переменной - это название ячейки ОЗУ, используемое в программе на алгоритмическом языке вместо указания адреса.

Слайд 15

Виды переменных

Область видимости переменной - место в программе, в котором доступно значение

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

Слайд 16

Операции ввода данных (Pascal)

Read(список переменных)

ReadLn(список переменных)

Var
A : Real; B : Integer; C

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

ReadLn(A, B, C);
ReadLn(X);
ReadLn(LogPer);
ReadLn реагирует на конец строки, и в случае его обнаружения происходит сразу переход к следующей строке

Процедура, которая в режиме диалога с клавиатуры присваивает значение для переменной величины, называется процедурой ввода

В списке ввода значения разделяются между собой пробелом

Слайд 17

Операции вывода данных (Pascal)

Write (список констант и/или переменных, разделенных запятой)

WriteLn (список констант

Операции вывода данных (Pascal) Write (список констант и/или переменных, разделенных запятой) WriteLn
и/или переменных, разделенных запятой)

Write(A, B, C);
WriteLn('Корнем уравнения является ', X);
WriteLn(LogPer);
вывод значений выражений, приведенных в его списке, на текущую строку до ее заполнения

реализуется вывод значений выражений на одну строку дисплея и переход к началу следующей строки
Процедура вывода с форматом для целого типа имеет вид:
WriteLn(A : N, B : M, C : L);
 N, M, L — выражения целого типа, задающие ширину поля вывода значений.

Процедура, которая выводит содержимое переменных на экран, называется процедурой вывода на экран

Для десятичного представления значения R применяется оператор с форматами вида
WriteLn(R : N : M). N – это количество цифр до запятой, M – это количество цифр после запятой.

Слайд 18

Общая структура программы на Pascal

Program имя программы; {заголовок}
Const {объявление констант}
Константа1

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

Слайд 19

Присваивание в Паскале

X := (Y + Z) / (2 + Z *

Присваивание в Паскале X := (Y + Z) / (2 + Z
10) - 1/3;
LogPer := (A > B) And (C <= D);

ПЕРЕМЕННАЯ := ВЫРАЖЕНИЕ;

-
+
*

Деление – только Real

Слайд 20

Порядок действий при вычислении значения выражения:

1) вычисляются значения в скобках;
2) вычисляются значения

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

Слайд 21

1) вычисляются значения в скобках;
2) вычисляются значения функций;
3) выполняется унарные операции (операция

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

Порядок действий при вычислении значения логического выражения:

Слайд 22

Условный оператор IF

Если условие выполняется , то будет выполнен указанный оператор. IF

Условный оператор IF Если условие выполняется , то будет выполнен указанный оператор.
условие THEN оператор1 ELSE оператор2; (полная форма)
Добавление к конструкции служебного слова ELSE позволяет выполнить определенные действия в случае, когда условие не выполняются.

If a mod 2 = 1
then WriteLn(‘a-чётное число’);
else WriteLn(‘a- нечётное число’);

Может принимать одну из следующих форм: IF условие THEN оператор ; (неполная форма)
Условие задаётся переменной и её соотношением с некоторой константой или значением выражения.

Слайд 23

Цикл с предусловием

"Пока истинно условие, выполнять оператор".

While <условие> Do <оператор>;

While <условие>

Цикл с предусловием "Пока истинно условие, выполнять оператор". While Do ; While
Do Begin
<оператор #1>; <оператор #2>; <оператор #3>; . . .
End;

While I <= n Do Begin
WriteLn (i,’,’);
i:=2*I;
End;

Слайд 24

Цикл с постдусловием

"Выполнять оператор #1, оператор #2. : до выполнения условия".

Repeat <оператор>

Цикл с постдусловием "Выполнять оператор #1, оператор #2. : до выполнения условия".
Until <условие>;

Repeat
<оператор #1>; <оператор #2>; <оператор #3>; . . .
Until <условие>;

Repeat
WriteLn (I, ‘,’);
i:=2*I; Until i>n;

не требуется использование составного оператора, потому, что сами слова Repeat и Until являются операторными скобками

Слайд 25

Цикл с параметром

Форматы:
For <И.П.>:=<Н.З.> To <К.З.> Do <оператор>; For <И.П.>:=<Н.З.> Downto <К.З.> Do

Цикл с параметром Форматы: For := To Do ; For := Downto
<оператор>;
И.П. - имя переменной-параметра,
Н.З. - его начальное значение,
К.З. - соответственно конечное значение параметра.

Выполняется по следующему алгоритму:
переменной-параметру присваивается начальное значение;
выполняется тело цикла;
переменная-параметр автоматически увеличивается на 1 (в первом случае формата);
если параметр превышает конечное значение, то происходит выход из цикла, иначе - переход к пункту 2.

Слайд 26

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

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

Слайд 27

Алгоритм 1. Выделение цифр в числе.

Введем обозначения объектов алгоритма:
num – целое число,

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

Слайд 28

Алгоритм 2. Делители числа.

Введем обозначения объектов алгоритма:
delit – делитель числа num.
Текст алгоритма
Writeln

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

Слайд 29

Алгоритм 3. Проверка, является ли число простым

Введем обозначения :
delit – делители числа

Алгоритм 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 (‘число составное’);

Слайд 30

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

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

Слайд 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

Слайд 32

Массив

Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом.

Массив Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и

Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).
Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент

— это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем.

А

Массив

Имя массива

Элемент массива A[6]

1

2

3

4

5

6

Индекс элемента массива

Слайд 33

Виды массива

Виды массива

Слайд 34

Описание массива

Имя_массива: аrray [начальное _значение _индекса..конечное _значение_индекса] Of базовый тип;

Var
B

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

Базовый тип элементов массива может быть любым, за исключением файлового

Индекс в обозначении компонент массивов может быть:
константой;
переменной;
выражением порядкового типа

Размер массива?

Слайд 35

Заполнение массива с помощью оператора присваивания

Заполнить одномерный массив элементами, отвечающими следующему соотношению:

Заполнение массива с помощью оператора присваивания Заполнить одномерный массив элементами, отвечающими следующему
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.

Слайд 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.

Слайд 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)-мерные массивы

Слайд 38

Описание матрицы на языке Паскаль

1 способ

2 способ

<имя матрицы>: array <количество строк> of

Описание матрицы на языке Паскаль 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

двумерный массив, соответствующий таблице, состоящей из 20 строк и 30 столбцов

Слайд 39

Соотношение индексов в квадратной матрице1

Главная диагональ

Побочная диагональ

I=J : элементы матрицы расположены на

Соотношение индексов в квадратной матрице1 Главная диагональ Побочная диагональ I=J : элементы
главной диагонали

J=N-I+1 : элементы матрицы расположены на побочной диагонали (N - количество строк или столбцов в квадратной матрице)

i

j

i

j

a [i, j]

a[i]

1число строк матрицы равно числу столбцов

Слайд 40

Ввод-вывод двумерного массива

Ввод

Вывод

for i:= 1 to N do
begin for j:= 1 to

Ввод-вывод двумерного массива Ввод Вывод for i:= 1 to N do begin
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;
В результате выполнения программы:
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.

Слайд 41

Задачи для самостоятельного решения

Дана масса в килограммах. Найти число полных тонн в

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

Слайд 42

Задачи для самостоятельного решения

1. Рассчитать значение y при заданном значении x:
Sin²x

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

Слайд 43

Задачи для самостоятельного решения

1. Дано трехзначное число. Найти полученное число при прочтении

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

Слайд 44

Задачи для самостоятельного решения

1. Из трехзначного числа х вычли его последнюю цифру.

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

Слайд 45

Условный оператор. Задачи для самостоятельного решения

1. Определить, является ли число a делителем

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

4. Дано двузначное число. Определить:
а) является ли сумма его цифр двузначным числом;
б) больше ли числа а сумма его цифр.
5. Дано трехзначное число. Выяснить, является ли число полиндромом, т.е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево.
6. Дано трехзначное число. Определить, равен ли квадрат этого числа сумме кубов его цифр.

Слайд 46

Условный оператор. Задачи для самостоятельного решения

7. Дано трехзначное число. Определить:
а) является

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