Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Erlang, Prolog, F#, Groovy, Nemerle, Perl, Python, Ruby, Scala, Smalltalk, Tcl




6) Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также разделдискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.

Самым известным языком логического программирования является Prolog.

7)

char   -128   char
uchar       unsigned char, BYTE
bool   0(false) 1(true) bool
short   -32 768 32 767 short, wchar_t
ushort     65 535 unsigned short, WORD
int   - 2 147 483 648 2 147 483 647 int
uint     4 294 967 295 unsigned int, DWORD
color   -1 16 777 215 int, COLORREF
long   -9 223 372 036 854 775 808 9 223 372 036 854 775 807 __int64
ulong     18 446 744 073 709 551 615 unsigned __int64
datetime   0 (1970.01.01 0:00:00) 32 535 244 799 (3000.12.31 23:59:59) __time64_t

 

8)

Тип Размер в байтах Минимальное положительное значение Максимальное значение Точность представления Аналог в С++
float   1.175494351e-38 3.402823466e+38 7 значащих цифр float
double   2.2250738585072014e-308 1.7976931348623158e+308 15 значащих цифр double

 

9) Приступая к решению задач этого раздела, следует вспомнить, что:

· инструкция присваивания предназначена для изменения значений переменных, в том числе и для вычислений "по формуле";

· в отличие большинства языков программирования, в C++ инструкция присваивания, выполняющая некоторое действие, может быть записана несколькими способами, например, вместо x=x+dx можно записать x+=dx, а вместо i=i + l воспользоваться оператором инкремента и записать i++;

· значение выражения в левой части инструкции присваивания зависит от типа операндов и операции, выполняемой над операндами. Целочисленное сложение и вычитание выполняется без учета перепонения. Например, если пременная п, объявленная как int, имеет значение 327 67, то в результате выполнения инструкции n=n+1 значение переменной п будет равно -32768;

· результатом выполнения операции деления над целыми операндами является целое, которое получается отбрасыванием дробной части результата деления.

10) Приведе́ние ти́па (type conversion) — преобразование значения переменной одного типа в значение другого типа. Выделяют явное и неявное приведения типов.

· При явном приведении указывается тип переменной, к которому необходимо преобразовать исходную переменную.

· При неявном приведении преобразование происходит автоматически, по правилам, заложенным в данном языке программирования.

· Также в языке могут быть заданы специальные функции для приведения.

· Не явное))))

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

· В языке C:

· double d; // вещественный тип · long l; // целый тип · int i; // целый тип · · if (d > i) d = i;· if (i > l) l = i;· if (d == l) d *= 2;

· Каждый раз при выполнении операции сравнения или присваивания переменные разных типов будут приведены к единому типу. Следует с осторожностью использовать неявное приведение типа. При переводе числа из вещественного типа в целочисленный, дробная часть отсекается. Обратное приведение из целочисленного типа к вещественному также может привести к понижению точности, что связано с различным представлением вещественных и целочисленных чисел на машинном уровне. К примеру, вещественный тип single стандарта IEEE 754 не может точно представить число 16777217, в то время как 32-битный целочисленный тип может. Это может привести к ситуациям, когда сравнение на равенство одного и того же числа, представленного типами (int и single) будет выдавать ложный результат (числа не равны друг другу).

Явное

Для явного приведения типов некоторой переменной перед ней следует указать в круглых скобках имя нового типа, например:

int X; int Y = 200; char C = 30; X = (int)C * 10 + Y; //переменная С приведена к типу int.

Грубых ошибок в данном примере от автоматического приведения типов не произойдет, так как переменная C, которая имеет тип char будет приведена к типу int, так как здесь идет речь о «повышении» типа переменной к старшему в выражении(переменная С перед присваиванием неявно приводится к типу переменной Y). Но возможен один нюанс - в зависимости от машинной реализации типа char при преобразовании char в int может получиться отрицательное число, потому рекомендуется использовать явное преобразование, а если все-таки есть преобразования типа char в int, char объявлять как беззнаковый(unsigned char).

 

 

11)

ОПЕРАТОР НАЗНАЧЕНИЕ
+ Сложение.
- Вычитание.
* Умножение.
/ Деление.
\ Деление с округлением числовых выражений и частного.
^ Возведение основания (первое числовое выражение) в степень (второе числовое выражение).
Mod Округление числовых выражений до целых чисел, деление первого целого числа на второе и возвращение остатка. Может использоваться для возращения каждой N-й (например, каждой седьмой) записи.

12) Арифметическое выражение – это запись математической формулы с использованием констант, переменных, функций, знаков арифметических операций и круглых скобок.

Знаки арифметических операций

+ (плюс) сложение

- (минус) вычитание

* (звёздочка) умножение

/ (следж) деление

** (две звездочки) возведение в степень.

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

В C++ различают явное и неявное преобразование типов данных. Неявное преобразование типов данных выполняет компилятор С++, ну а явное преобразование данных выполняет сам программист. О преобразовании типов данных скажу следующее: «Результат любого вычисления будет преобразовываться к наиболее точному типу данных, из тех типов данных, которые участвуют в вычислении». Для наглядного примера представлю таблицу с преобразованиями типов данных. В таблице рассмотрим операцию деления. В качестве целочисленного типа данных возьмем int, ну и вещественный тип данных у нас будет float.

13) Логическое выражение в программировании — конструкция языка программирования, результатом вычисления которой является «истина» или «ложь».

14 Операция инкремента увеличивает значение операнда на единицу. Операция декремента уменьшает значение операнда на единицу.

тут нужно различать префиксный и постфиксный инкримент/декримент. Префиксный инкримент сначала меняет значение переменной и потом выводит значение выражения.

Т.е. c= ++a

сначала значение а меняется (а+1=2), потом выводится значение с (2)

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

Т.е. d= b++ сначала выводим сначение d перед тем как значение b изменится: d=1

потом меняется значение b (b=2)

 

 

15)В С++ существует три логические операции:

1. Логическая операция И &&, нам уже известная;

2. Логическая операция ИЛИ ||;

3. Логическая операция НЕ! или логическое отрицание.

Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий. Эти операции упрощают структуру программного кода в несколько раз. Да, можно обойтись и без них, но тогда количество ифов увеличивается в несколько раз, в зависимости от условия. В следующей таблице кратко охарактеризованы все логические операции в языке программирования С++, для построения логических условий.

17) if условие1 then команды1 else if условие2 then команды2 else if условие3 then команды3... else if условиеN-1 then командыN-1 else командыN end;

18) Оператор if является вложенным, если он вложен, т.е. находится внутри другого оператора if или else. В практике программирования вложенные условные операторы используются довольно часто. Во вложенном условном операторе фраза else всегда ассоциирована с ближайшим if в том же блоке, если этот if не ассоциирован с другой фразой else. Например:

19)

 

 

20) Инструкция предназначена для организации циклов с заранее известным числом повторений. В нем каждый проход цикла нумеруется индексной переменной i. В этой инструкции используется инкрементный вариант изменения индекса цикла, когда индексная переменная i при новом проходе цикла увеличивается c шагом 1. Формат инструкции

for i:=<Начало> to <Конец> do <Инструкция>;

Требования и особенности:

· Переменная цикла i должна быть порядкового типа.

· Значение <Конец> должно быть не меньше значения <Начало>.

· Переменная цикла i должна быть объявлена в том же блоке, где находится инструкция цикла.

· Если в теле цикла требуется выполнить несколько инструкций, то их следует превратить в составную инструкцию, используя блок begin…end.

· Нельзя в теле цикла менять значение переменной цикла. Компилятор расценивает такое действие, как ошибку. Будьте внимательны.

· При естественном завершении цикла переменная цикла i объявляется не определенной.

· При принудительном завершении цикла с помощью инструкции перехода goto переменная цикла i сохраняет значение, имевшееся на момент перехода.

22) Циклы с предусловием используются тогда, когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла.

При выполнении оператора while определенная группа операторов выполняется до тех пор, пока определенное в операторе while булево условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.

Общая форма записи следующая

while <булево выражение> do begin группа операторов end;

На русском языке это звучит примерно так:

пока выполняется это условие, делай
от начала
группа операторов
до конца;

while <Условие> do <Инструкция>;

21) Оператор цикла с предусловием имеет вид

while (выражение) оператор

Оператор называют телом цикла.

При выполнении такого оператора сначала вычисляется значение выражения. Если оно равно 0, то оператор не выполняется и управление передается оператору, следующему за ним. Если значение выражения отлично от 0, то выполняется оператор, затем снова вычисляется выражение и т.д.

Возможно, что тело цикла не выполнится ни разу, если выражение сразу будет равно 0.

Пример 1:

char с;
while (cin.get(c)) cout<< c;

Здесь происходит копирование символов, включая пробельные, из потока cin (в данном случае из буфера клавиатуры) в поток cout (в данном случае на экран дисплея). Здесь функция get(c) (член класса) извлекает один символ из входного потока, включая пробельные символы. Возвращает ненулевое значение до тех пор, пока не достигнет конца файла (признак конца файла - ctrl-z).

Пример 2:

while (1) { операторы... }
Это - бесконечный цикл.

Пример 3:

char c;
while ((c = cin.get ()) == ' ' || c == '\n' || c == '\t');

Этот оператор цикла пропускает при считывании из потока cin так называемые пробельные символы. Здесь get() - другая форма функции, считывающей из потока один символ. Она возвращает целое число - код символа, или число -1, если встретился признак конца файла.

23) Фу́нкция в программировании — поименованный фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции. После выполнения функции, управление возвращается обратно в адрес возврата — точку программы, где данная функция была вызвана.

Функция может принимать параметры и должна возвращать некоторое значение.

Функция должна быть соответствующим образом объявлена и определена. Объявление функции, кроме имени, содержит список имён и типов передаваемых параметров (или: аргументов), а также, тип возвращаемого функцией значения. Определение функции содержит исполняемый код функции. В одних языках программирования объявление функции непосредственно предваряет определение функции, в то время как в ряде других языков необходимо сначала объявить функцию, а уже потом привести её определение.

Функции, которые не возвращают значений, иногда называют процедурами. В некоторых языках программирования объявления функций и процедур имеют различный синтаксис, в частности, могут использоваться различные ключевые слова.

В объектно-ориентированном программировании функции, объявления которых являются неотъемлемой частью определения класса, называются методами.

Для того, чтобы использовать ранее определённую функцию, необходимо в требуемом месте программного кода указать имя функции и перечислить передаваемые в функцию параметры. Параметры, которые передаются функции, могут передаваться как по значению, так и по ссылке: для переменной, переданной по значению создаётся локальная копия и любые изменения, которые происходят в теле функции с переданной переменной, на самом деле, происходят с локальной копией и никак не сказываются на самой переменной, в то время как изменения, которые происходят в теле функции с переменной, переданной по ссылке, происходят с самой переданной переменной.

Функция определяет собственную (локальную) область видимости, куда входят входные параметры, а, также, те переменные, которые объявляются непосредственно в теле самой функции.

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

· фактический параметр — аргумент, передаваемый в функцию при ее вызове;

· формальный параметр — аргумент, указываемый при объявлении или определении функции.[

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

Все формальные параметры можно разбить на четыре категории:

  • параметры-значения;
  • параметры-переменные;
  • параметры-константы (используются только в версии 7.0);
  • параметры-процедуры и параметры-функции.

24) Побитовое отрицание (NOT) [править | править исходный текст]

Побитовое отрицание (или побитовое НЕ, или дополнение) — это унарная операция, действие которой эквивалентно применению логического отрицания к каждому биту двоичного представления операнда. Другими словами, на той позиции, где в двоичном представлении операнда был 0, в результате будет 1, и, наоборот, где была 1, там будет 0. Например:

НЕ  
 
   

Побитовое И (AND) [править | править исходный текст]

Побитовое И — это бинарная операция, действие которой эквивалентно применению логического И к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 1, результирующий двоичный разряд равен 1; если же хотя бы один бит из пары равен 0, результирующий двоичный разряд равен 0.

Пример:

И  
 
 
   

Побитовое ИЛИ (OR) [править | править исходный текст]

Побитовое ИЛИ — это бинарная операция, действие которой эквивалентно применению логического ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 0, двоичный разряд результата равен 0; если же хотя бы один бит из пары равен 1, двоичный разряд результата равен 1.

Пример:

ИЛИ  
 
 
   

Сложение по модулю два (XOR) [править | править исходный текст]

Основная статья: Сложение по модулю два

Сложение по модулю два (или двухместная операция исключающее ИЛИ) — это бинарная операция, результат действия которой равен 1, если число складываемых единичных битов нечетно, если же их число четно, то результат равен 0.

Пример:

Искл. ИЛИ  
 
 
   

 




Поделиться с друзьями:


Дата добавления: 2015-06-25; Просмотров: 562; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.256 сек.