- •2 Этапы развития эвм
- •3)Архитектура основные принципы работы эвм.
- •4) Операционные системы, их функции.
- •Вопрос 5
- •'Это текстовая строка'
- •'Это '' - символ одиночной кавычки'
- •Билет 6 Типы данных в Delphi
- •8 Вопрос Преобразование числовых данных в строковые и обратно. § 24. Строковый тип данных
- •24.1. Строковые величины
- •24.2. Операции со строковыми величинами
- •24.3. Стандартные подпрограммы
- •* 24.4. Преобразование строковых данных
- •* 24.5. Отображение числовой информации в графическом режиме
- •9 Вопрос
- •10 Билет- Язык блок-схем
- •Основные элементы схем алгоритма
- •Объектно-ориентированное программирование Основные понятия
- •Оператор цикла repeat
- •Оператор цикла while
- •Оператор цикла for
- •15 Вопрос
- •1. Основные понятия объектно-ориентированного программирования
- •2. Объект - как базовое понятие в объектно-ориентированном программировании
- •2.1 Инкапсуляция
- •2.2 Наследование как важнейшее свойство объекта
- •2.3 Экземпляры объектных типов
- •2.4 Поля объектов
- •2.5 Методы
- •2.6. Полиморфизм
- •3. Понятие класса
- •4. Процесс объектно-ориентированного проектирования
- •5. Объектно-ориентированные языки
- •6. Простая объектная модель и ссылочно-объектная модель
- •7. Языки и программное окружение
- •18 Вопрос
- •19 Вопрос
* 24.5. Отображение числовой информации в графическом режиме
Вся числовая информация при работе в графическом режиме должна быть предварительно преобразована в текстовую. Необходимые знания для выполнения таких преобразований Вы получили в п. 24.4.
Приведем с краткими комментариями порядок вывода числовой информации в Паскале:
STR (числовая переменная, строка); |
Преобразование числа в строку |
OutText (строка); или OutTextXY (X, Y, строка); |
Вывод строки |
Например, для вывода значения числовой переменной Т в текущую позицию графического экрана используйте последовательность операторов:
STR (T, S); OutText (S);
Здесь требуется описание переменных: Т – целого или вещественного типа, S – STRING.
Пример 1. Заданы значения двух переменных. Требуется в графическом режиме вывести их сумму, разность, произведение и частное.
Program Graph_Output;
Uses Graph;
Var a, b, m, n : Integer; S, R, P : LongInt; C : Real;
Sa, Sb, SS, SR, SP, SC : String;
Begin
Writeln ('Введите два натуральных числа');
Write ('a='); Readln (a);
Write ('b='); Readln (b);
S:=a+b; R:=a-b; P:=a*b;
STR (a, Sa); STR (b, Sb); STR (S, SS);
STR (R, SR); STR (P, SP);
m:=Detect; Initgraph (m, n, '');
OutTextXY (200, 150, Sa+'+'+Sb+'='+SS);
OutTextXY (200, 170, Sa+'-'+Sb+'='+SR);
OutTextXY (200, 190, Sa+'*'+Sb+'='+SP);
If b<>0 Then
Begin
C:=a/b; STR (C, SC);
OutTextXY (200, 210, Sa+'/'+Sb+'='+SC)
End
Else OutTextXY (200, 210, 'На нуль делить нельзя!');
Readln;
CloseGraph
End.
Напишите программы решения задач:
* 1. Реализуйте модель запуска ракеты: программа должна запросить время до старта (в секундах), изобразить ракету, направленную в небо, и рядом отсчитывать время до старта; когда время закончится, ракета должна подняться вертикально вверх и исчезнуть с экрана.
* 2. Напишите программу «Таймер»: программа должна запросить текущее время, изобразить на экране электронное табло, на котором отображать посекундное изменение времени (модификация: через определенное время раздается звуковой сигнал).
9 Вопрос
Логический тип
Логический, булев (англ. Boolean или logical data type) тип данных — примитивный тип данных в информатике, которые могут принимать два возможных значения, иногда называемых правдой (true) и ложью (false). Присутствует в подавляющем большинстве языков программирования как самостоятельная сущность или реализуется через численный тип. В подавляющем большинстве языков за истину полагается единица, за ложь — ноль.
Название Boolean получило своё название в честь английского математика и логика Джорджа Буля, среди прочего, занимавшегося вопросами математической логики в середине 19 века.
Реализация
Булев тип данных может быть реализован с использованием только одного бита, но обычно используется минимальная адресуемая ячейка памяти (байт) или машинное слово, как эффективная единица работы с регистрами и оперативной памятью.
Доступные операции
К этому типу данных применимы следующие операции:
И (логическое умножение) (AND, &, *),
ИЛИ (логическое сложение) (OR, |, +),
исключающее ИЛИ (умножение с переносом) (xor, NEQV, ^),
эквивалентность (равенство) (EQV, =, ==)
инверсия (NOT, ~, !)
сравнение (>, <, <=, >=)
Так же могут использоваться и другие операции булевой алгебры. Большинство языков программирования позволяют использовать булев тип и в арифметических операциях, приводя его к численному типу согласно принятым в языке правилам приведения типов.
Применение
Традиционным применением булева типа данных являются значения «да»/«нет» в отношении результата более сложных операций.
Все операции сравнения двух величин (равно, больше, меньше), операции вхождения элемента в множество и проверка на пересечение множеств возвращают в качестве результата булев тип.
Реализация в различных языках программирования
Ada
Язык программирования Ada определяет Boolean в пакете Standard как нумерованный тип со значениями False и True в котором False < True.
type Boolean is (False, True);
p : Boolean := True;
if p then
...
end if;
Родственные операторы (=, /=, <, <=, >, >=) применяются ко всем нумерованым типам, включая Boolean. Булевы операторы and, or, xor и not применимы к типу Boolean и любым объявленным подтипам. Булевы операторы также применимы к массивам, содержащим значения Boolean.
Algol
Algol 60 имеет тип данных boolean и соответствующие операторы, установленные в спецификации Algol 60. Тип данных был сокращён до bool в ALGOL 68.
C
В языке программирования C, который не предоставлял булевых значений в C89 (но вводит в C99) вместо значений true/false было установлено сравнение значения с нулём. Для примера, код
if (bool_variable) printf("True!\n");
else printf("False!\n");
равнозначен коду
if (bool_variable != 0) printf("True!\n");
else printf("False!\n");
Это было честно для целочисленного типа данных (integer); тем не менее, бинарные значения чисел с плавающей запятой (floating-point) были приближёнными к выводимым на экран десятичным значениям и это давало ошибки при сравнении. Традиционно, целое содержало одну (или более) булеву переменную (одну на каждый разряд целого).
Python
В языке Python булев тип данных обозначается как bool, для приведения других типов данных к булеву существует функция bool(), работающая по следующим соглашениям:
строки: пустая строка — ложь, непустая строка истина.
числа: нулевое число — ложь, ненулевое число (в том числе и меньшее единицы) — истина.
списки и кортежи: пустой список (кортеж) — ложь, непустой (даже содержащий один элемент, например пустой кортеж) — истина.
функции — всегда истина.
Для других объектов результат рассчитывается через метод __nonzero__, который в идеале должен возвращать значения True/False.
Булев тип приводится к следующим типам данных:
строковый: 'True' для истины, 'False' для лжи.
числовой (встроеные типы int, long, float): 1 для истины, 0 для лжи.
К другим типам данных булев тип не приводится.
Pascal
Описание переменных:
var a, b : Boolean
Арифметических операций нет, но допустимы логические операции: Not, And, Or, Xor, операции отношения =, <> и функции Ord, Pred, Succ.
var
A, B: Byte;
C, D, E, F: Boolean;
begin
A := Ord(False); {A=0}
B := Ord(True); {B=1}
C := Pred(False); {ошибка}
D := Pred(True); {D=False}
E := Succ(False); {E=True}
F := Succ(True); {ошибка}
end.
Ruby
В Ruby булев тип представлен двумя предопределенными переменными: true и false. Появляется логический тип в результате логических операций или вызова логических методов. По традиции, имя логических методов (то есть методов, которые возвращают значение true или false) заканчивается на «?».
В качестве false может выступать nil, а в качестве true — любой объект, в том числе переменная со значением «0» или пустая строка, что часто является неожиданностью для новичков.