При запуске программы вывод на экран abs 41

Задача. Автомат обрабатывает натуральное число N > 1 по следующему алгоритму:

1. Строится двоичная запись числа N.

2. В конец записи (справа) дописывается вторая справа цифра двоичной записи.

3. В конец записи (справа) дописывается вторая слева цифра двоичной записи.

4. Результат переводится в десятичную систему.

Пример. Дано число N = 11. Алгоритм работает следующим образом:

1. Двоичная запись числа N: 1011.

2. Вторая справа цифра 1, новая запись 10111.

3. Вторая слева цифра 0, новая запись 101110.

4. Результат работы алгоритма R = 46.

Для скольких значений N в результате работы алгоритма получится число, принадлежащее отрезку [150; 200]?

Как будем решать задачу?

Будем искать число N, для которого результат работы алгоритма будет принадлежать отрезку [150; 200].

Обнулим искомый счетчик чисел r:=0 .

Запустим цикл по подбираемым числам (по условию задачи это числа, больше 1, правую границу возьмем за 100, эту границу можно подбирать):

Только не говори никому.. Как легко можно восстановить жидкокристаллический экран..

for k:=2 to 100 do

За число N возьмем значение k.

Выполним перевод числа N в двоичную систему счисления: для этого пока число не равно 0, вычислим остаток от деления на 2 (это двоичная цифра), число уменьшим нацело в 2 раза. Чтобы получить двоичный код, превратим цифру n mod 2 в строку d процедурой str(n mod 2, d) , и накопим строку s — это и будет двоичный код числа N, причем будем к вновь полученной цифре добавлять строку, тогда цифры двоичного кода будут получены в правильном порядке:

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

s:=s+s[length(s)- 1 ]+s[ 2 ];

Далее проверим, принадлежит ли полученный двоичный код результата диапазону чисел [150, 200].

Читайте также:
Нужна ли почтовая программа

При запуске программы вывод на экран abs 41

Все, что необходимо начинающему и опытному программисту

Стандартные функции типа Integer
Многие стандартные действия с числовыми данными выполняются путем вызова функций из библиотеки Паскаля. Такие функции называются стандартными функциями.

Пример 2.3.
Демонстрация стандартных функций

Program Infunct;
var
А,В.С: integer;
begin
А:=-2;

При запуске программы вывод на экран:
Abs(-2)=2
Sqr(2)=4
Sqr(2+2)=16

Задание 2.3. Вычислите значение следующего выражения: |39 • 54 — 84 2 |.

Задание 2.4. В переменные А и В записаны целые числа (оператором присваивания, например, А:=20; В:=13). Поменяйте числа в этих переменных местами.
Будьте внимательны! Если записать А:=В, вы потеряете число 20 и получите в двух переменных число 13! Воспользуйтесь третьей переменной — С (рис. 2.4).

Рис. 2.4. Схема обмена значений двух переменных через третью ячейку. В кружках указан порядок операторов присваивания

Задание 2.5. Выполните задание 4 без использования третьей переменной. Используйте действия сложения и вычитания.

Одесса. НАЧАЛОСЬ!

Как представляются переменные целого типа в памяти компьютера

Вся информация в компьютере хранится в виде последовательностей нулей и единиц. Информация, для записи которой используется всего два знака: 0 и 1, называется двоичной. Информация в компьютере хранится в виде двоичных кодов (комбинации из нулей и единиц). Память мы представляем, как последовательность ячеек, каждая из которых имеет свой адрес ( см. рис. 2.1).
Стандартная длина ячейки — 8 бит, что равно 1 байт. В такую ячейку можно записать двоичный код длиной 8 бит.

Для переменной типа integer выделяется ячейка длиной в 2 байт =16 бит. Такая ячейка получает символьное имя — имя переменной, и вы обращаетесь к ней не по адресу, а по имени.

Читайте также:
Топ 10 программ для создания анимации

Крайняя левая позиция выделяется для знака числа:
0 — число положительно;
1 — число отрицательно.
Остальные 15 позиций выделяются для записи самого числа в двоичном виде (рис. 2.5).

Рис. 2.5. Распределение двоичных разрядов (бит) при хранении числа типа integer

На 15 позициях можно получить 2 15 двоичных кодов. Самое маленькое число состоит из 15 нулей, самое большое — из 15 единиц. Поскольку счет начинается с нуля, получаем всего (2 15 — 1) положительных двоичных чисел. С учетом знака числа (+ или -) получаем, что числа типа integer имеют диапазон представления -2 15 . +2 15 — 1, или -32 768. +32 767,

Тип integer является основой для нескольких производных типов — со знаком и без знака (табл. 2.1).

Таблица 2.1. Целочисленные типы данных языка Паскаль

Задание 2.6. Считая, что операция умножения и операция возведения в квадрат имеют одинаковую сложность, запишите оптимальным образом выражения:
а) х 5 ;
б) х 6 ;
в) х 8 ;
г) х 9 ;
д) х 10 .

2011-10-13 ответил Tasman

Источник: www.programmer-lib.ru

Тема 2 Как включить в работу числовые данные

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru