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

Презентация:



Advertisements
Похожие презентации
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
Advertisements

Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Язык программирования Turbo Pascal. Программирование Программирование – это запись разработанного алгоритма на языке программирования. 4 Автор языка Паскаль.
Колмыкова С.М. ЧИСЛЕННЫЕ ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ Язык программирования PASCAL.
Язык программирования Pascal. Программа это упорядоченный список команд, необходимых для решения некоторой задачи. Языком программирования называют систему.
Арифметические выражения. Выражение - это формальное правило для вычисления некоторого значения. В зависимости от типа значения выражения можно разделить.
Тема: « Линейные вычислительные алгоритмы. ». Язык Паскаль был разработан в 1970г. Никласом Виртом как язык обучения студентов программированию. Паскаль.
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
Массивы Паскаль. Массивы - это Заранее известное число однотипных элементов Элементы (каждое данное массива) имеют общее имя(имя массива) и тип (тип элементов.
ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ языка PASCAL. Темы: Операции Функции Приоритетность.
Структура программы на языке Pascal Program ; {блок описаний}; Begin {блок операторов}; End. Содержание.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Типы переменных в Паскале Учитель информатики и ИКТ ГБОУ СОШ 1297 г.Москва Александрова Е.В.
Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Выражения и функции в Паскале
10 класс Урок 55.. Выражения и операции Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими.
ОДНОМЕРНЫЕ МАССИВЫ. В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы,
Тест классы По программированию Pascal.
Транксрипт:

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

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

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

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

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

Арифметические операции над целыми 6 ОперацияСимво л Примечания сложение+Результат арифметической операции над целыми операндами есть величина целого типа. Результат выполнения операции деления целых величин есть целая часть частного. вычитание- умножение* Получение целой части от деления div17 div 2 = 8, 3 div 5 = 0. получение остатка от деления mod 17 mod 2 = 1, 3 mod 5 = 3

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

Стандартные функции ФункцияЗначение Abs(X), Sqr(X), Succ(X), Pred(X), абсолютное значение Х, Х в квадрате, Х+1, Х-1. Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X). синус, косинус и арктангенс угла, заданного в радианах, логарифм натуральный, экспоненту и корень квадратный соответственно. Odd(X)значение истина, если аргумент нечетный, и значение ложь, если аргумент четный Inc(X) X:=X+1 Inc(X,N) X:=X+N Dec(X) X:=X-1 Dec(X,N) X:=X-N 8

Действительные типы данных ТипДиапазон значенийКоличество цифр мантиссы Требуемая память, байт Real2.9e e Single1.5e e+3874 Double5.0e e Extended3.4e e Comp-9.2e e Определяют те данные, которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.

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

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

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

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

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

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

Операции вывода данных (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 – это количество цифр после запятой.

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

Присваивание в Паскале Операнд 1Операнд 2Результат Integer Real IntegerReal 19 X := (Y + Z) / (2 + Z * 10) - 1/3; LogPer := (A > B) And (C

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

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

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

Цикл с предусловием "Пока истинно условие, выполнять оператор". 23 While Do Begin ; ; ;... End; While I

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

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

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

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

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

Алгоритм 3. Проверка, является ли число простым Введем обозначения : delit – делители числа num; flag – переменная логического типа, которая используется для долгосрочного выхода из цикла. Текст алгоритма Writeln (Введите целое число); Readln(num); flag:=true;{предположим, что число простое} delit:=2; while flag and (delit

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

Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа выражение порядкового типа; - одна или более конструкций вида: : ; - константа того же типа, что и выражение ; - произвольные операторы Паскаля. 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] Индекс элемента массива

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

Описание массива Имя_массива: аrray [начальное _значение _индекса..конечное _значение_индекса] Of базовый тип; 34 Var B : Array [1..5] Of Real, {массив В, состоящий из 5 элементов вещественного типа} R : Array [1..34] Of Char; {символьный массив R, состоящий из 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] := random(65535); For I:= 2 To N Do Begin Log:= True; Repeat A[i]:= random(65535); J := 1; While Log and (j

Заполнение массива с клавиатуры используется обычно тогда, когда между элементами не наблюдается никакой зависимости 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)- мерные массивы

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

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

Ввод-вывод двумерного массива ВводВывод 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] := 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.

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

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

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

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

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

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

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