Информационные технологии

Автор: Пользователь скрыл имя, 26 Мая 2015 в 15:47, реферат

Краткое описание

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

Файлы: 1 файл

Курсовой по ПО.doc

— 644.00 Кб (Скачать)

 

Программа по теме «Программа записи двоичного числа в восьмеричной, шестнадцатеричной системах счисления и наоборот».

Для запуска программы необходимо запустить файл Builov.exe.

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

    1. для продолжения работы программы нажмите любую клавишу;
    2. из меню программы необходимо выбрать один пункт (от 0 до 4) т.е.
    • для работы по переводу чисел из 2 сс в 8 сс   à ввести 1
    • для работы по переводу чисел из 2 сс в 16 сс à ввести 2
    • для работы по переводу чисел из 8 сс в 2 сс   à ввести 3
    • для работы по переводу чисел из 16 сс в 2 сс à ввести 4
    • для завершения работы программы                 à ввести 0;
    1. при требовании ввода числа в 8 сс необходимо использовать цифры: 0, 1, 2, 3, 4, 5, 6, 7.
    1. При требовании ввода числа в 16 сс необходимо использовать символы от 0 до 9 и букв латинского алфавита (без учёта регистра) от A до F (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).

ЗАКЛЮЧЕНИЕ

 

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

Уровень сложности поставленной задачи позволял реализовать основные этапы разработки реальных программ и расширить границы знания в области программирования на языке Паскаль.

Программирование богато и многообразно. Ведь кажется нет такой сферы человеческой деятельности, где нельзя было бы с пользой применить вычислительную машину для оценки, планирования, моделирования и т.п. И это многообразие задач переходит в многообразие программ, которые должны разрабатывать программисты. Они пытаются справиться с этим многообразием, «заключив» его в проблемно — ориентированные языки программирования. Языки вбирают в себя специфические черты конкретных сфер программирования - характерные структуры данных, принципы организации типичных процессов, соответствующую терминологию и таким образом делают сам процесс программирования более универсальным.

После того, как любая более или менее сложная задача сформулирована, каждый программист снова и снова остается один на один со своей собственной задачей: ему нужно составить программу. Выбрать, как именно следует расположить и связать данные в памяти, понять, какая именно последовательность операторов, способных выполнить поставленную задачу. И как организовать операторы в цикл, который будет с каждым шагом приближать машину к намеченной цели. Выбрать, понять, изобрести, проверить, усомниться и повторить всё с начала. 
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

 

1 Андреева Е., Фалина И. Системы счисления и компьютерная арифметика. Изд. 2-е,-М.: Лаборатория Базовых Знаний, 2008. – 327 с.

2 Погодин С.В. «Лекции по информатике: Системы счисления». Методические разработки для учащихся образовательных учреждений. г. Нелидово, Тверская область, 2012. – 527 с.

3 Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: учебник для студ. учреждений сред. проф. образования. – М.: Издательский центр «Академия», 2013. – 304 с.

4 Рудаков А.В. Технология разработки программных продуктов – 2-е изд., стер. – М.: Издательский центр «Академия», 2006. – 208 с.

5 Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов. – М.: Бином. Лаборатория Знаний, 2013. – 435 с.

6 http://www.vashdom.ru/gost/2_701-84/) сайт теории и практики программирования в среде Pascal ABC 2010-2013.

 

 

 

Приложение А

Текст программы с комментариями

 

Program semen;

  uses crt;

  var x,y:integer; c,w:char; t,s8,s16:string;

  const mas1:array['0'..'7'] of string[3]=('000','001','010','011','100','101','110','111');

 

  procedure iz2v8;

const

  m:array['0'..'7'] of string=('000','001','010','011','100','101','110','111');

var

  s,s2:string;

  n,i,p,pp:integer;

begin

repeat

    clrscr; writeln; Gotoxy(10,1); textcolor(15);        {Очистка, координаты текущей позиции x и y, цвет текста}

    writeln('Перевод из 2 сс в 8 сс');

    writeln;   textcolor(11);

    Gotoxy(0,3); textcolor(11);                                           {Цвет текста}

    write('Введите число в 2-й сс ');  x:=wherex; y:=wherey;

    repeat   Gotoxy(x,y); clreol; Readln(s2);

      n:= Length(s2);  pp:=0;

      for i:=1 to n do

        if s2[i] in ['0','1'] then pp:=pp+1;

    until pp=n;

    s8:=''; s:=s2;

   Case n mod 3 of                                                   {Добавление нулей}

   1:s2:='00'+s2;

   2:s2:='0'+s2;

   end; writeln; writeln;

   n:=length(s2);

   while n>0 do

   begin

    t:=copy(s2,n-2,3); delete(s2,n-2,3);

    for c:='0' to '7' do

    if t=mas1[c] then s8:=c+s8;

    n:=length(s2);

   end;

   writeln(s,' =====> ',s8); writeln;

   write('Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ');

   readln(p);

  until p=0; //iz2v8:=s8;

end;

 

procedure iz2v16;                                             //Программа перевода чисел из 2сс в 16сс

 Type tar=array[0..15] of string[4];

T16=array[0..15] of char;

var s2,chet,s16,s:string;                                    {Описание переменных}

     n,p,i:integer;

      const mas:tar=('0000','0001','0010','0011','0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111');

      mas16:T16=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

begin

  repeat clrscr; writeln; Gotoxy(10,1); textcolor(15); {Очистка, координаты текущей  позиции x и y, цвет текста}

   writeln('Перевод из 2 сс в 16 сс');

   writeln;

   textcolor(11);

  Gotoxy(0,3);

   textcolor(11);                                                 {Цвет текста}

   write('Введите число в 2-й сс ');

   x:=wherex; y:=wherey;

    repeat

     Gotoxy(x,y); clreol;

     readln(s2); n:=length(s2); s:=s2; s16:='';

     for i:=1 to n do

   until s[i] in ['0','1'];

    Case n mod 4 of                                           {Добавление нулей}

     1:s:='000'+s;

     2:s:='00'+s;

     3:s:='0'+s;

    end; writeln; writeln;

    n:=length(s);

   while n>0 do

   begin

    chet:=copy(s,n-3,4); delete(s,n-3,4);

    for i:=0 to 15 do if chet=mas[i] then s16:=mas16[i]+s16;

    n:=length(s);

   end;

   writeln(s2,' ==> ',s16); writeln;

   write('Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ');

   readln(p);

  until p=0;

end;

 

procedure iz8v2;

const

  m:array['0'..'7'] of string=('000','001','010','011','100','101','110','111');

var

  s,s2,s8:string;

  n,i,p,pp:integer;

begin

repeat

    clrscr; writeln; Gotoxy(10,1); textcolor(15);   {Очистка, координаты  текущей позиции x и y, цвет текста}

    writeln('Перевод из 8 сс в 2 сс');

    writeln;

    textcolor(11);

    Gotoxy(0,3);

    textcolor(11);                                              {Цвет текста}

    write('Введите число в 8-й сс ');

    x:=wherex; y:=wherey;

    repeat

      Gotoxy(x,y); clreol; Readln(s8);

      n:= Length(s8);

      pp:=0;

      for i:=1 to n do

        if s8[i] in ['0'..'7'] then pp:=pp+1;

    until pp=n;

    s:='';

   for i:=1 to n do s:=s+m[s8[i]];

    writeln; writeln(s8,' ==> ',s);   writeln;

    writeln('Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ');

    readln(p);

until p=0;

end;

 

procedure iz16v2;

const

  m:array['0'..'F'] of string=('0000','0001','0010','0011','0100','0101','0110','0111',

     '1000','1001','','','','','','','','1010','1011','1100','1101','1110','1111');

var

  s,s2,s16:string;

  n,i,p,pp:integer;

begin

repeat clrscr; writeln; Gotoxy(10,1); textcolor(15);               {Очистка, координаты текущей позиции x и y, цвет текста}

   writeln('Перевод из 16 сс в 2 сс'); writeln;

   textcolor(11);

   Gotoxy(0,3);

   textcolor(11);                                                      {Цвет текста}

    write('Введите число в 16-й сс ');

    x:=wherex; y:=wherey;

    repeat

      Gotoxy(x,y); clreol; Readln(s16);

      n:= Length(s16);

      pp:=0;

      s16:=UpperCase(s16);

      for i:=1 to n do

       if s16[i] in ['0'..'9','A'..'F','a'..'f'] then pp:=pp+1;

    until pp=n;

      s:='';

     for i:=1 to n do s:=s+m[s16[i]];

      writeln; writeln(s16,' ==> ',s);   writeln;

     writeln('Продолжить ввод? Да - нажмите любую клавишу, Нет - 0 ');   read;

    readln(p);

until p=0;

end;

 

begin

textbackground(1); TextSize(18); Clrscr;                                            //Титульный лист

Gotoxy(17,5); TextColor(14);

 write('Программа записи двоичного числа в восьмиричной,');

 Gotoxy(17,6); TextColor(14);

 write('шестнадцатиричной системах счисления и наоборот');

 Gotoxy(47,13); TextColor(14);

write('Руководитель:');

Gotoxy(61,14); TextColor(11);

write('Кулида Н.П');

Gotoxy(47,15); TextColor(14);

write('Выполнил студент  группы ВЭПК-401: ');

Gotoxy(61,16); TextColor(11);

write('Буйлов С.Н');

Gotoxy(40,22); TextColor(11);

write('2015',' ');

Gotoxy(25,24); TextColor(11);

write('Для продолжения  нажмите любую клавишу'); c:=readkey;

 

repeat clrscr;

  window(18,5,70,24); Gotoxy(10,1); textcolor(15); writeln;

  writeln('Меню программы':25); writeln;  textcolor(11);             {Меню программы}

  writeln('Перевод из 2 сс в 8 сс ',' ':10,' ===> 1'); writeln;

  writeln('Перевод из 2 сс в 16 сс ',' ':9,' ===> 2'); writeln;

  writeln('Перевод из 8 сс в 2 сс ',' ':10,' ===> 3'); writeln;

  writeln('Перевод из 16 сс в 2 сс ',' ':9,' ===> 4'); writeln;

  writeln('Выход из программы ',' ':14,' ===> 0'); writeln;

  writeln;

  write('Выберите пункт меню (0..4) ');

  x:=wherex; y:=wherey;               {Координаты текущей позиции x и y}

   repeat Gotoxy(x,y); ClrEol;                      {Удаление символа строки}

   readln(w); until w in ['0'..'4'];

  Case w of                                                       {Соединение процедур}

   '1':begin iz2v8  end;

   '2':begin iz2v16 end;

   '3':begin iz8v2  end;

   '4':begin iz16v2 end;

   '0':exit;

  end;

until w='0';

End.


Информация о работе Информационные технологии