МЕГА-ШПОРЫ по ИНФЕ (969694), страница 2
Текст из файла (страница 2)
Процедурные:
1)fortran, Visual-Basic
2)Borland Pascal, Delphi
3)C, C++, Turbo C, Visual C++
Программа – запись алгоритма на одном из языков программирования.
Редактирование программы – написание программы в текстовом редакторе, внесение в неё коррективов.
Отладка программы – специальные средства позволяющие выполнить программу по шагам и отследить ошибки.
Компиляция – процесс перевода алгоритма на язык машины.
Выполнение - -это последовательное осуществление в заданном порядке арифметических и логических операций над хранящимися в памяти словами, числами, кодами с оценкой получающихся результатов.
Вопрос №13
Структура программы на языке PASCAL. Program{имя программы}; uses{раздел описания модулей}; Label{метки}; Const{константы}; Type{типы}; VAR{переменные}; Procedure; Function; Begin{тело программы}END.
Вопрос №15.
Оператор – законченная синтаксическая форма языка, которая определяет этап обработки.
Операторы цикла
<оператор цикла с параметром>: :=for <параметр>:=<начальное значение> to (downto) <конечное значение> do <О> (только для переменных порядкового типа начальных значений)
<оператор цикла с предусловием>: :=while <логическое выражение> do <O>
<оператор цикла с постусловием>: :=Repeat <O> until <логическое выражение>
Вопрос №11
Структура языка Delphi
В основе:
1)алфавит(множество допустимых символов)
2)синтаксис(набор допустимых конструкций)
3)семантика(набор правил по описанию синтаксических конструкций )
Основные способы задания синтаксиса:
1)словесное
2)с помощью БНФ(Бэкус Наур форма)
::= - по определению есть
\/ - или
/\ - и
{} – может повторяться
[] – может не быть
3)синтаксические диаграммы
идентификатор – последовательность букв либо цифр, начинающихся с букв.
<идентификатор>::=<буква> /\<идентификатор>::=<буква,цифра>
Задать тип данных – задать множество значений этого типа и задать множество операторов.
Типы данных
-Простые:Порядковые(целые,логич,символь,перечисляемый,диапазон) ,вещест,дата-время.
-Структурированные: Массив,Записи,Множества,Файлы.
-Строковые
-Процедурные
-Указатели
-Классы
integer – тип целых чисел(Integer -32768 .. 32767 2 байта)
Real – тип вещественных чисел(Real 2.9e-39 .. 1.7e+38 8)
Boolean – логический тип данных(true или false)
char – символьный тип данных
Любую прогу можно написать, используя: следование, ветвление, повторение
Вопрос №12.
Классификация типов данных:
Простые - (вещественные, дата/время, порядковые – целые, символьные, логические, диапазон, перечисл)
Структурные (массивы, записи, множества, файлы)
Строки, процедурные, указатели, классы, варианты
Определения и более подробно:
-
Порядковые – типы для которых определено, какой элемент предшествует, а какой следует за ним.
Целочисленные типы и операции на ними:
-арифметические(div, mod)
-операции отношения(<, >, <>,<=, >=)
-поразрядные(and, or, xor, not)
-стандартные функции(inc(x), dec(x))
логические типы
Boolean, byteProol, wordProol
Принимают значения true, false.
Операции над ними: and, or, not, xor.
Пример:var B1,B2,B3:Boolean; x,b,a:real;
Begin
B1:=true;
B2:=not B1;
B1:=(x>=a) and (x<=a)/
Символьные типы данных
множество значений этого типа – символы кода ANS.
Char, Arschar.
Тип диапазон
<тип диапазон>::=<мин значение>,<макс значение>
Вещественный тип
real, single, double.
Операции:
Round(x) – округление;
Trunk(x) – округление путём отбрасывания дробной части.
Sin(x), cos(x)…
Массив– упорядоченная совокупность однотипных элементов
<тип данных массив>: :=array [<тип индекса>, {тип индекса}] of <тип компонента>
<тип индекса>: :=<порядковый тип>
<тип компонента>: :=<задание типа>/<имя типа>
Строка.
String – динамическая строка, short string – статическая строка, widestring. Операции присваивания, сравнения ‘ABCD’>’ABc’->false, объединения.
Процедуры для работы со строками: delete(s, I, count); insert(s1,s,i)-вставка s1 в s с i-того элемента, str(v,s)-преобразует число v в строку s, val(s,v,code)-преобразует строку S в целое/вещ. зн-ие и запоминает V,code показывает номер позиции 1ого символа. Нужно сначала If code=0,то можно работать с v.
Функции: length(s):integer, concat(s1,s2):string, copy(s,i,p) (copy(‘информатика, 3,6)=’формат’), pos(S1,s):byte, ansilowercase(st):string Sys utils: function strToInt(const s:string):integer; function strToFloat(const s:string):extended, function Float to str(value:extended):string; function Int to Str(value:integer):string; function upcase(ch:char):char; function uppercase(const s:string):string;
Множества – неупорядоченная совокупность однотипных неповторяющихся элементов (ограничения 0..255)
<задание множества типа>: :=set of <базовый тип> объединение (+), пересечение (*), дополнение (-), логическое сравнение, in – вхождение символа в множество. Базовый тип обязательно порядковый.
Type tset=set of char; var c:char; s:Tset; begin s:=[‘y’,’n’]; repeat writeln(‘vved y/n’); readln(c); until c in S; end;
Запись – совокупность разнотипных данных.сравнение- по полям. вывод тоже.
<тип запись>: :=record <список полей> end; <список полей>: :=<общая часть> <вариантная часть>
<общая часть>: :=<раздел записи>; <раздел записи>: :=<имя поля> {<имя поля>}<задание типа>;
<вариантная часть>: :=case<переменная выбор>:<имя типа>of <вариант>; <вариант>: :=<метка варианта>
Const n=25; Type:Tname=record fam:string[20]; name:string[20]; end; TGruppa=array [1..n] of Tname;
Файл – последовательность однотипных элементов, произвольной длины.
3 типа: типизированные (последовательность базоволго типа), не типизированные, текстовые (последовательность строк). Операции для типизированных – установочные и завершающие (открытие-закрытие reset, rewrite, closefile, fileexists(const: const filename:string):Boolean проверка существования файла; assignfile(f, filename) – отождествляет файловую переменную в программе с конкретным именем файла), ввода-вывода (read, Write), перемещение по файлу (seek(var F,N:Longint) seek(f,0) – переместиться в начало файла; truncate(f) – отбрасывание хвостовой части файла с того места, где стоит указатель), специальные (filesize(var F):Longint - размер типизированного файла; filepos(var f):longint, eof(var f):Boolean, rename(var f, name:String)).
Текстовые файлы.
Только последовательный способ доступа, преимущество – можно редактировать в любом текстовом редакторе. Операции: установочные и завершающие: read(f) только чтение, rewrite(f), только запись, append(f) открытие для дозаписи; ввод-вывод: read, write…
Вопрос №17.
Типы данных integer – тип целых чисел(Integer -32768 .. 32767 2 байта)
Real – тип вещественных чисел(Real 2.9e-39 .. 1.7e+38 6)
Boolean – логический тип данных(true или false)
char – символьный тип данных
Целые типы. ShortInt, LongInt, Byte, Word, SmallInt, Longword, Int64, cardinal, integer; операции определенные над целыми: арифметические (+ - * ,/-дает вещ.рез-т, div – показывает целую часть, mod-показывает остаток), отношения (>< >= <= <>) , поразрядные (and, or, not, xor)
Стандартные (процедуры: Inc(x, [i]), Dec(x,[i]) . функции: sqr(x), Abs(x),sqrt(x)логическая ODD(x) true если x нечетн
Вопрос №16
Подпрограммы – относительно самостоятельные фрагменты программы, оформленные особым образом и снабженные именами.
В Delphi подпрограммы реализованы в виде процедур и функций.
Функции отличаются от процедур тем что возвращают только одно значение.
<О ф-ии>: :=function <имя> [список формальных параметров]:<имя типа>; <раздел описания>
<О процедуры>: :=procedure <имя> [список формальных параметров]; <раздел описания>
<список формальных параметров>: :=<имя> {, имя}: <имя типа> (параметр значений – значение передается из главной программы в процедуру)
Var <имя> {, имя}:<имя типа>; var… (нетипизированные параметры – онформация передается по адресу, но не имеет значения какого типа)
Const <имя>:<имя типа> (передается по адресу. Но изменить значение параметра нельзя).
Параметр значения – информация из главной программы передаётся в процедуру или функцию через tag память.(внутри процедуры(ф-и) их изменить нельзя).
Нетипизированные параметры – неважен тип, значения, стоящие на месте главных параметров – фактические – значения которые принимают формальные параметры при обращении к процедуре.
по способу передачи формальные параметры бывают:
1)переменные Var <имя> {, имя}:<имя типа>;(входные и выходные)) (нетипизированные параметры – информация передается по адресу, но не имеет значения какого типа
2) константы Const <имя>:<имя типа> (передается по адресу. Но изменить значение параметра нельзя-только входные).
3) Параметр значения – информация из главной программы передаётся в процедуру или функцию через tag память.(внутри процедуры(ф-и) их изменить нельзя). –входные данные .Отличие от параметра const – там через адрес
4)Нетипизированные параметры – неважен тип, значения, стоящие на месте главных параметров – фактические – значения которые принимают формальные параметры при обращении к процедуре. (входные и выходные))
4)выходные out <имя>: <тип>
Нетипизированные параметры – неважен тип, значения, стоящие на месте главных параметров –
фактические – значения которые принимают формальные параметры при обращении к процедуре.
Переменные, определенные в основной программе, называются глобальными. Переменные, определенные в подпрограмме называются локальными по отношению к этой подпрограмме.
Вопрос №18.
Массив – упорядоченная совокупность однотипных элементов
<тип данных массив>: :=array [<тип индекса>, {тип индекса}] of <тип компонента>
<тип индекса>: :=<порядковый тип>
<тип компонента>: :=<задание типа>/<имя типа>
Существуют 2 способа задания массива:
1)Неявное
var A,B:Array[1..10] of byte;
C:Array[1..10] of byte;
A:=B;
2)Явное
const n=100;
Type TIndex=1..n;
TVector=Array[1..n] of byte;
Операции над массивами
Присваивание: копирование одного массива в другой
Вопрос №19.
Тип данных строка – последовательность символов.
String – динамическая строка(в памяти до 2 Гб), short string(255 символов) – статическая строка, widestring(широкая строка последний символ в формате WideChar). Операции сравнения(‘AB’<’c’;’AC’<’AZ’), объединения.
Процедуры для работы со строками: delete(s, I, count); insert(s1,s,i)-вставка s1 в s с i-того элемента, str(v,s)-преобразует число v в строку s, val(s,v,code)-преобразует строку S в целое/вещ. зн-ие и запоминает V,code показывает номер позиции 1ого символа. Нужно сначала If code=0,то можно работать с v.
Функции: length(s):integer, concat(s1,s2):string, copy(s,i,p) (copy(‘информатика, 3,6)=’формат’), pos(S1,s):byte, ansilowercase(st):string Sys utils: function strToInt(const s:string):integer; function strToFloat(const s:string):extended, function Float to str(value:extended):string; function Int to Str(value:integer):string; function upcase(ch:char):char; function uppercase(const s:string):string;
Различие между статической и динамической строкой – под статическую место в памяти в момент компиляции, под динамическую в момент выполнения.
Вопрос №20.