Файл: Разработка приложения.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.12.2023

Просмотров: 78

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Входными данными для программы являются: исходный файл, содержащий числа в шестнадцатеричной системе счисления;

Выходными данными являются: выводимая на экран информация.


4.2 Разработка исходных текстов программ



program pr1; // Программа pr1
// Переводим символ в число

function ChToInt( ch: char ): integer;

begin // начало блока

Result := -1; // присваиваем к Result значение -1
if ( ('0' <= ch) and (ch <= '9') ) then // проверяем условие ( ('0' <= ch) and (ch <= '9') )

Result := ord(ch) - ord('0'); // присваиваем к Result значение ord(ch) - ord('0')

if ( ('a' <= ch) and (ch <= 'f') ) then // проверяем условие ( ('a' <= ch) and (ch <= 'f') )

Result := ord(ch) - ord('a') + 10; // присваиваем к Result значение ord(ch) - ord('a') + 10

if ( ('A' <= ch) and (ch <= 'F') ) then // проверяем условие ( ('A' <= ch) and (ch <= 'F') )

Result := ord(ch) - ord('A') + 10; // присваиваем к Result значение ord(ch) - ord('A') + 10

end; // конец блока
var // обьявление переменных f: TextFile;

// Обьявляем переменную f с типом TextFile s, s2: string;

// Обьявляем переменные s, s2 с типом string n, n2, sys, t, p, p2, i: longint;

// Обьявляем переменные n, n2, sys, t, p, p2, i с типом longint

begin // начало блока

Assign( f, 'input.txt' ); // присвоить файловой переменной f файловое имя 'input.txt'

reset(f);

readln( f, s ); // ввести f, s close(f);
writeln('Во что переводить?' ); // вывести 'Во что переводить?' writeln('1. Восьмеричная' ); // вывести '1. Восьмеричная' writeln('2. Десятичная' ); // вывести '2. Десятичная'

writeln('3.
Дополнительный код' ); // вывести '3. Дополнительный код' readln(t); // ввести t

{ Находим все числа }

p := 1; // присваиваем к p значение 1

while (p <= length(s)) do // Пока истинно выражение (p <= length(s))

begin // начало блока

{ Находим края слова }

if (s[p] = ',') then // проверяем условие (s[p] = ',')

begin // начало блока

inc(p); // увеличиваем p на единицу

continue; // продолжить итерацию цикла

end; // конец блока
p2 := p+1; // присваиваем к p2 значение p+1

while (p2 <= length(s)) do // Пока истинно выражение (p2 <= length(s))

if (s[p2] <> ',') then // проверяем условие (s[p2] <> ',') inc(p2)

else

break; // прервать цикл
{ Нашли что-нибудь? }

if (p2 = p) then // проверяем условие (p2 = p)

break; // прервать цикл

s2 := copy(s, p, p2-p ); // присваиваем к s2 значение copy(s, p, p2-p ) n := 0; // присваиваем к n значение 0

for i := 1 to length(s2) do

n := n * 16 + ChToInt(s2[i]); // присваиваем к n значение n * 16 + ChToInt(s2[i])
n2 := n; // присваиваем к n2 значение n write(s2,'='); // вывести s2,'='

if (t = 1) then // проверяем условие (t = 1)

begin // начало блока

s2 := ''; // присваиваем к s2 значение ''
while (n2 > 0) do // Пока истинно выражение (n2 > 0)

begin

// начало блока

s2 := Chr(ord('0')+ (n2 mod 8)) + s2; // присваиваем к s2 значение Chr(ord('0')+ (n2 mod 8)) + s2

n2 := n2 div 8; // присваиваем к n2 значение n2 div 8

end; // конец блока writeln( s2 ); // вывести s2

end; // конец блока

if (t = 2) then // проверяем условие (t = 2) writeln(n2); // вывести n2

if (t = 3) then // проверяем условие (t = 3)

begin // начало блока

n2 := -n2; // присваиваем к n2 значение -n2 s2 := ''; // присваиваем к s2 значение ''
for i := 0 to 32 do

if ( (n2 and (1 shl i)) <> 0 ) then // проверяем условие ( (n2 and (1 shl i)) <> 0 )

s2 := '1' + s2

else

s2 := '0' + s2; // присваиваем к s2 значение '0' + s2
writeln(s2); // вывести s2

end; // конец блока
p := p2; // присваиваем к p значение p2

end; // конец блока

end. // конец блока


Заключение



В данной курсовой работе был разработан алгоритм для перевода чисел в различные системы счисления.

В ходе курсового проектирования были изучены теоретические основы метода Эйлера и его модификации для решения дифференциальных уравнений. Рассмотрены основные характеристики используемых языков программирования – Pascal . На основе разработанного алгоритма решения задачи была разработана программа : на языке Pascal. Все программы протестированы на различных наборах данных и ошибок выявлено не было.

Список литературы





  1. Алексенко А. Г. Микросхемотехника. М: ”Радио и связь” 1990г.

  2. Шауман А. М. Основы машинной арифметики. Ленинград, Издательство Ленинградского университета. 1979г.

  3. Ролич Ч. Н. – От 2 до 16, Минск, «Высшая школа», 1981г.





  1. Выгодский М.Я. Справочник по элементарной математике, М.: Государственное издательство технико-теоретической литературы, 1956.

  2. Каган Б.М. Электронные вычислительные машины и системы, М.: Энергоатомиздат, 1985.

  3. Кодирование информации (Двоичные коды). Березнюк Н. Т. Андрущенко А. Г. И др. Харьковю 1978.

  4. Майоров С.А., Кириллов В.В., Приблуда А.А., Введение в микроЭВМ, Л.: Машиностроение, 1988.

  5. Математическая энциклопедия. М: “Советская энциклопедия” 1985г.




  1. Калабеков Б. А. Цифровые устройства и микропроцессорные системы. М: “Горячая линия - Телеком” 2000г.

  2. Ворощук А. Н. Основы ЦВМ и программирования. М:”Наука” 1978г.

  3. Фомин С.В. Системы счисления, М.: Наука, 1987.