КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
End Sub. | |
Передача параметров в C++ Передача параметров по значению. Передача параметров по значению производится по умолчанию и не требует особых «настроек». Передача параметров по ссылке. Для передачи параметра по ссылке при описании формального параметра его тип заканчивается знаком &. void pr(int& a, int b) { } | Передача параметров в Pascal Передача параметров по значению. Передача параметров по значению производится по умолчанию и не требует особых «настроек». Передача параметров по ссылке. Для передачи параметра по ссылке при описании формального параметра перед ним указывается ключевое слово Var. Procedure pr(Var a : integer; b : integer) begin end | Передача параметров в Basic Передача параметров по значению. Для передачи параметра по значению перед именем параметра ставим ключевой слово ByVal. Передача параметров по ссылке. Передача параметров по ссылке производится по умолчанию и не требует особых «настроек». В случае, когда явно необходимо указать передачу по ссылке перед именем параметра ставим ключевой слово ByRef. Sub pr(ByVal a As Integer, ByRef b As Integer) End Sub |
Массив – структурированный тип данных, состоящий из определенного числа элементов, имеющих один и тот же тип. Обращение к элементу массива происходит по его номеру в последовательности (индексу). Классификации массивов: 1. статические и динамические массивы; 2. одномерные и многомерные. | ||
Работа с массивами в C++ Описание массива <тип элементов> <имя массива> [<количество элементов>] <тип элементов> <имя массива> [<количество элементов>][<количество элементов>] int age[4]; int age[4]={21,12,3,23,1}; int ege[2][3]; int ege[2][3]={{1,2,3},{4,5,6}}; Нумерация элементов с 0. Обращение к элементу массива <имя массива>[<индекс>] <имя массива>[<индекс>][<индекс>] age[3] ege[2][1] | Работа с массивами в Pascal Описание массива Var <имя массива> : array [<нач. индекс>..<кон. индекс>] of <тип элементов> Var <имя массива> : array [<нач. индекс>..<кон. индекс>[, <нач. индекс>..<кон. индекс>]] of <тип элементов> Var a : array [1..10] of integer; Var a : array [10] of integer; Var b : array [1..10,1..5] of real; Var b : array [10, 5] of real; Нумерация элементов с 1. Обращение к элементу массива <имя массива>[<индекс>] <имя массива>[<индекс>,<индекс>] a[5] b[3,4] | Работа с массивами в Basic Описание массива Dim <имя массива> (<нач. индекс> To <кон. индекс>) [As <тип элементов>] Dim <имя массива> (<нач. индекс> To <кон. индекс> [,<нач. индекс> To <кон. индекс>]) [As <тип элементов>] Dim A(1 To 10) As Integer Dim A(10) As Integer Dim B(1 To 10, 1 To 5) As Single Dim B(10, 5) As Single Нумерация элементов с 0.Используя директиву Option Base 1 можно указать компилятору на нумерацию с 1. Обращение к элементу массива <имя массива>(<индекс>) <имя массива>(<индекс>,<индекс>) A(5) B(3,4) Переопределение массива Dim <имя массива>() [As <тип>] ReDim <имя массива>(<кол. эл-тов>) Dim A() As Integer ReDim A(5) |
Сортировка простыми обменами, сортировка пузырьком (англ. bubble sort) – простой алгоритм сортировки. Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При проходе алгоритма, элемент, стоящий не на своём месте, «всплывает» до нужной позиции как пузырёк в воде, отсюда и название алгоритма. | ||
Сортировка пузырьком в C++ for(i=1;i<=n-1;i++) for(j=i+1;j<=n;j++) If(arr[j]<arr[i]) { tmp=arr[j]; arr[j]=arr[i]; arr[i]=tmp; } | Сортировка пузырьком в Pascal for i:=1 to n-1 do for j:=i+1 to n do if arr[j]<arr[i] then begin tmp:=arr[j]; arr[j]:=arr[i]; arr[i]:=tmp; end; | Сортировка пузырьком в Basic For i=1 To n-1 For j=i+1 To n If arr(j)<arr(i) Then tmp=arr(j) arr(j)=arr(i) arr(i)=tmp End If Next j Next i |
Генератор псевдослучайных чисел (ГПСЧ, англ. Pseudorandom number generator, PRNG) – алгоритм, генерирующий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному). | ||
Работа с ГПЧ в C++ # include <cstdlib> # include <ctime> srand(time(NULL)); /* инициализация ГПЧ системным временем */ k = rand() % 52; /* получение случайного числа из диапазона от 0 до 51 */ | Работа с ГПЧ в Pascal Randomize; { инициализация ГПЧ } k:=Random; { генерация числа 0<=x<1 } k:=Random(n); { генерация числа 0<=x<n } | Работа с ГПЧ в Basic Randomize ‘ инициализация ГПЧ k=RND ‘ генерация числа 0<=x<1 |
Целочисленное деление и остаток от деления нацело в C++ Целочисленное деление: «/» MyValue=8/3 // 2 Остаток от деления нацело: «%» MyValue=8%3 // 2 | Целочисленное деление и остаток от деления нацело в Pascal Целочисленное деление: div MyValue:=15 div 3 { 5 } Остаток от деления нацело: mod MyValue:=15 mod 3 { 0 } | Целочисленное деление и остаток от деления нацело в Basic Целочисленное деление: «\» MyValue=11\4 ‘ 2 Остаток от деления нацело: mod MyValue=11 mod 4 ‘ 3 |
Строка – это связанная последовательность символов. | ||
Строковый тип в C++ # include <string> // библиотека string var1; // описание переменной | Строковый тип в Pascal String { неопределенный размер строки } String[N] { определенный размер строки } | Строковый тип в Basic String ‘неопределенный размер строки String*N ‘определенный размер строки |
Операторы для работы со строками в C++ <строковая переменная>.substr(<позиция>,<кол-во>) – функция substr() возвращает подстроку переданной строки s=‘маманя’; x=s.substr(2,2); // ‘ма’ <строковая переменная>.find(<подстрока>) – функция find() возвращает позицию первого вхождения подстроки в строку s=‘маманя’; x=s.find(‘ан’); // 3 <строковая переменная>.length() – функция length() возвращает динамическую длину строки s=‘маманя’; x=s.length(); // 6 strcat(<строка 1>, <строка 2>) – функция strcat добавляет строку 2 к строке 1 strcat(‘мам’,’а’); // ‘мама’ Также роль оператора конкатенации может выполнять «+». x=‘ма’ + ‘ма’; // “мама” <строковая переменная>.append(<кол-во>,<строка>) – функция append() добавляет заданное число символов в конец строки s=‘маманя’; x=s.append(1,‘!’); // ‘маманя!’ <строковая переменная>.erase(<позиция>,<кол-во>) – функция erase() удаляет заданное число символов из строки s=‘маманя’; x=s.erase(2,2); // ‘маня’ (int)<символьная переменная> - приведение типа char к типу int дает код символа s=‘b’; x=(int)s; // 98 (char)<числовая переменная> - приведение типа int к типу char дает символа s=98; x=(char)s; // ‘b’ (string)<переменная> - приведение типа переменной к типу string даст строку s=98; x=(string)s; // ‘b’ | Операторы для работы со строками в Pascal Copy(<строка>,<позиция>,<кол-во>) – функция Copy возвращает подстроку переданной строки X:=Copy(‘маманя’,3,4); { ‘маня’ } Pos(<строка>,<подстрока>) - функция Pos ищет первое вхождение подстроки в строку X:=Pos(‘маманя’,’ан’); { 4 } Length(<строка>) – функция Length возвращает динамическую длину строки X:=Length(‘маманя’); { 6 } Concat(<строка1>,<строка2>,..) – функция Concat конкатенирует переданные строки X:=Concat(‘мам’,’а’); { ‘мама’ } Также роль оператора конкатенации может выполнять «+». X:=‘ма’ + ‘ма’; { ‘мама’} Insert(<строка2>,<строковая переменная>, <позиция>) – процедура Insert добавляет строку1 в строковую переменную Insert(‘ма’,‘маня’,3); {‘маманя’} Delete(<строковая переменная>,<позиция>,<кол-во>) – процедура Delete удаляет заданное число символов из строки Delete(‘маманя’,2,2); { ‘маня’ } Ord(<символ>) – функция Ord возвращает код символа в таблице ASCII X:=Ord(‘b’); { 98 } Chr(<код символа>) – функция Chr возвращает символ по его коду в таблице ASCII X:=Chr(98); { ‘b’ } Str(<число>, <строковая переменная>) – процедура Str преобразовывает число в строку. Str(98,X); { ‘98’ } | Операторы для работы со строками в Basic Mid(<строка>,<позиция>,<кол-во>) – функция Mid возвращает подстроку переданной строки X=Mid(“маманя”,3,4) ‘ “маня” InStr([позиция],<строка>, <подстрока>) – функция InStr ищет первое вхождение подстроки в строку X=InStr(1,“маманя”,’ан’) ‘ 4 Len(<строка>) – функция Length возвращает динамическую длину строки X=Len(“маманя”) ‘ 6 Роль оператора конкатенации в Basic выполняют «+» или «&». X=“ма” + “ма” ‘ “мама” X=“ма” & “ма” ‘ “мама” Asc(<символ>) – функция Asc возвращает код символа в таблице ASCII X=Ord(“b”) ‘ 98 Chr(<код символа>) – функция Chr возвращает символ по его коду в таблице ASCII X=Chr(98) ‘ “b” Str(<число>) – функция Str преобразовывает число в строку. X=Str(98) ‘ “98” |
Файл – поименованная область памяти на внешнем носителе, предназначенная для хранения информации. Файлы разделяют на два основных вида: 1. текстовые, 2. типизированные. Текстовые файлы являются подмножеством двоичных файлов, но в отличие от двоичных не могут содержать весь набор символов. Вся информация в файле разбивается на строки, ограниченные символам возврат каретки (CR) и перевод строки (LF). Допустимые символы это символы с кодами от 32 до 255, символы с кодами ниже 32 являются управляющими и допустимы только следующие коды: 08 (BS) – возврат на шаг, 09 (TAB) – табуляция, 0A (LF) – перевод строки, 0C (FF) – перевод листа, 0D (CR) – возврат каретки, 1A (EOF) – конец файла. Типизированные файлы – то такой вид файлов, в котором содержатся записи одного типа и фиксированной длины. Часто используется или для организации мини баз, конфигураций, иногда для импорта/экспорта в специальных форматах. Работа с такими файлами не сложнее, чем работа с текстовыми файлами, наряду с освоенными методами добавляется только одно новое свойство. Если текстовые файлы чисто последовательные, то в типизированных файлах можно перемещаться на любую запись и затем производить последовательное чтение или запись. Типизированные файлы позволяют хранить в себе данные как стандартных, так и пользовательских типов. | ||
Работа файлами в C++ Структуры Структуры – это специальный тип данных похожий на массивы, но позволяют хранить в себе значения разных типов. Struct <имя структуры>{ <тип поля> <поле записи>; <тип поля> <поле записи>; <тип поля> <поле записи>; }; Struct Stud{ string FIO; string Gr; byte KD; }; Работа с переменными данного типа ничем не отличается от работы со стандартными типами C++, за исключением обращения к полям записи. Данное обращение производится с указанием имени переменной и имени поля, разделенных знаком «.» (точка). Stud S; cout << S.FIO; Для работы с файлами необходимо подключить модуль «fstream»: #include <fstream> Для работы с файлами необходимо создать файловую переменную типа fstream. Для открытия файла применяется функция open(): fstream file; file.open(“QWE.TXT”, ios::app | ios:out | ios::in); /* первый параметр указывает путь к файлу, второй параметр указывает режим открытия файла: in – для чтения, out – для записи, ate – чтение с конца файла, app – запись с конца файла, trunc – обрезать файл, если он существует, binary – открыть в бинарном режиме (используется для работы с типизированными файлами */ Для определения конца файла применяется функция eof(): while(!file.eof()){ }; /* пока не конец файла */ Для закрытия файла применяется функция close(): file.close(); Для чтения/записи файла применяются: >>, <<, get(), put(), read(), write(), getline(): file.get(ch); // чтение символа file.put(ch); // запись символа file.read( reinterpret_cast<char*> (&<перем>), sizeof(<перем>)); /* преобразует считанные данные и записывает в переменную */ file.write( reinterpret_cast<char*> (&<перем>), sizeof(<перем>)); /* преобразует переменную и записывает в файл */ file.getline(<перем>, <размер буфера>); /*считывает строку (до \n)*/ При работе с типизированными файлами применяются следующие функции: seekg(<позиция относительно начала>, ios::beg); /* перемещает указатель на определенную запись в файле. Позицией начала может выступать beg – начало, end – конец или cur – текущая позиция */ tellg(); /* возвращает текущую позицию в файле */ | Работа файлами в Pascal Тип Record Переменные данного типа представляют собой структуры сходные с массивами, но позволяющие хранить в себе значения разных типов. Type <имя типа> = Record <поле записи> : <тип поля>; <поле записи> : <тип поля>; <поле записи> : <тип поля>; end; Type Stud = Record FIO : string[45]; Gr : string[6]; DB : string[8]; KD : byte; end; Работа с переменными данного типа ничем не отличается от работы со стандартными типами Pascal, за исключением обращения к полям записи. Данное обращение производится с указанием имени переменной и имени поля, разделенных знаком «.» (точка). Var S : Stud; Write(S.FIO); Для работы с типизированным файлом необходимо связать сам файл с файловой переменной. Создание файловой переменной производится следующим образом: Var <имя файл. перем.> : file of <тип записи>; Для работы с текстовым файлом необходимо связать сам файл с файловой переменной. Создание файловой переменной производится следующим образом: Var <имя файл. перем.> : Text; При работе с файлами применяются следующие процедуры и функции: Assign(<файловая переменная>, ‘путь к файлу’); { данная процедура связывает файловую переменную с физическим файлом } Reset(<файловая переменная>); { открытие файла, указатель в начало файла } Rewrite(<файловая переменная>); { создание/перезапись файла } Read(<файловая переменная>, <переменная>); { считывает данные из файла в переменную } Write(<файловая переменная>, <переменная>); { записывает данные из переменной в файл } Close(<файловая переменная>); { закрытие файла } Erase(<файловая переменная>); { удаление файла } Rename(<файловая переменная>,<новое имя>); { переименование файла } EoF(<файловая переменная>); { возвращает true при достижении конца файла } При работе с типизированными файлами также применяются следующие процедуры и функции: Seek(<файловая переменная>, <позиция>); { перемещает указатель на определенную запись в файле } FilePos(<файловая переменная>); { возвращает текущую запись в файле} FileSize(<файловая переменная>); { возвращает размер файла в записях} | Работа файлами в Basic Тип Запись Переменные данного типа представляют собой структуры сходные с массивами, но позволяющие хранить в себе значения разных типов. Type <имя типа> <поле записи> As <тип поля> <поле записи> As <тип поля> <поле записи> As <тип поля> End Type Type Stud FIO As String Gr As String DB As String KD As Byte End Type Работа с переменными данного типа ничем не отличается от работы со стандартными типами Basic, за исключением обращения к полям записи. Данное обращение производится с указанием имени переменной и имени поля, разделенных знаком «.» (точка). Dim S As Stud MsgBox(S.FIO) Открытие файла для чтения: Open "<путь к файлу>" For Input As #<номер файла> Функция FreeFile возвращает ещё незанятый номер (от 1 до 511) файла: FileNum = FreeFile Оператор Line Input считывает из открытого файла по одной строке при каждом вызове. Line Input #<номер файла>, <перем> Функция EOF(<номер файла>) – возвращает true при достижении конца файла. Закрыть открытый файл можно оператором Close #<номер файла> Открытие файла для записи информации Open "<путь к файлу>" For Output As #<номер файла> Оператор Print записывает в открытый файл содержимое переменной. Print #<номер файла>, <перем> |
Дата добавления: 2015-01-01; просмотров: 147; Мы поможем в написании вашей работы!; Нарушение авторских прав |