Внешняя память компьютера

Автор: Пользователь скрыл имя, 04 Января 2012 в 16:27, курсовая работа

Описание работы

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

Работа содержит 1 файл

Информатика.docx

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

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

     16). Языки программирования

 

     Программирование - это искусство создавать программные  продукты, которые написаны на языке  программирования. Язык программирования – это формальная знаковая система, которая предназначена для написания  программ, понятной для исполнителя (в нашем рассмотрении – это компьютер). Данный сайт предназначен для начинающих программистов, для чайников, для новичков, для детей, а также для профессионалов.

 

     Язык  программирования ( англ. Programming language ) - система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполняет исполнитель ( компьютер ) под ее управлением.

 

     Со  времени создания первых программируемых  машин было создано более двух с половиной тысяч языков программирования. Ежегодно их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты обычно применяют в своей работе несколько языков программирования.

 

      

 

     Языки программирования низкого уровня

 

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

 
 
 

     Пример  машинного кода и представления  его на ассемблере

 

     Трансляторы делятся на:

 

     компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).

     интерпретаторы - превращают часть программы в  машинный код, выполняют и после  этого переходят к следующей  части. При этом каждый раз при  выполнении программы используется интерпретатор.

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

 

     Преимущества

 

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

 

     Недостатки

 

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

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

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

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

 

     Ассемблер - язык низкого уровня, что широко применяется до сих пор.

      

 

     Языки программирования высокого уровня

 

     Можно сказать более понятными человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер. В основном достаточно просто перекомпилировать программу под определенную компьютерную архитектурную и операционную систему. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше. Значительно сокращается время разработки программы, что особенно важно при работе над большими программными проектами.

 

     К языкам программирования высокого уровня относятся:

 

     Фортран

     Кобол

     Алгол

     Pascal

     Java

     C

     C++

     C#

     Objective C

     Smalltalk

     Delphi

     Недостатком языков высокого уровня является больший  размер программ по сравнению с программами  на языке низкого уровня. Поэтому  в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем  памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным  является размер программы.

 

     На  данном сайте рассматриваются такие  языки высокого уровня, как: Паскаль (Pascal), Си (С++), Джава (Java), Матлаб (Matlab), Php, язык разметки Html. Язык программирования или более точнее язык запросов MySQL и низкоуровневый язык Ассемблер(Assembler).

 

     А также вы найдете информацию по таким  вопросам:

 

     - Программирование под Windows(процессы, нити, волокна)

 

     - Понятие объектно-ориентированное  программирования (ООП) полиморфизм,  наследование. Принципы и примеры  ООП.

 

     - Компьютерные сети: топологии сети, цифровое и логическое кодирование,  активное и пассивное оборудование, передача данных, протоколы.

     17)БТД

     Базовые типы данных

 

     Данные  любого типа в Ruby суть объекты тех или иных классов. Самые используемые встроенные типы данных:

     Fixnum (целые числа, меньшие 230),

     Bignum (целые числа, большие 230),

     Float (числа с плавающей запятой),

     Array (массивы),

     String (строки),

     Hash (ассоциативные массивы).

     Естественно, что это только базовые типы, но их вполне хватает для широкого спектра  задач.

     [править]Числа

     Числа в Ruby выглядят так:

     5 # целое число

     -12 # отрицательное целое число

     4.5 # число с плавающей запятой

     076 # восьмеричное число

     0b010 # двоичное число

     0x89 # шестнадцатиричное число

     Не  будем пока углубляться и мельком  взглянем на другие типы данных.

     [править]Логический тип

     Логический (булевый) тип — это вариация на тему «да» или «нет». В Ruby он представлен двумя предопределёнными переменными true («истина» или «да») и false («ложь» или «нет»). Появляется логический тип в результате логических операций или вызова логических методов.

     Чаще  всего логический тип возникает  как результат сравнения.

     Логические  операции

     Название  операции Символ операции Литерное обозначение

     Или || or

     И && and

     Не ! not

     Исключающее или ^ xor

     [править]Методы сравнения

     Название  метода Символ

     Равно ==

     Не  равно !=

     Меньше <

     Больше >

     Меньше  или равно <=

     Больше  или равно >=

     Часто молодые программисты, когда надо написать «меньше или равно», пишут  знак =< вместо <=. Запомнить правильное написание можно вслух проговорив «меньше или равно» и в этом же порядке писать < и =.

     Традиционно имена логических методов заканчиваются  на ? (знак вопроса).

     В качестве false может выступать nil, а в качестве true — любой объект.

     nil — это символ пустоты.

     [править]Массивы

     Разработчики  Ruby решили не реализовывать особых классов для динамических массивов, списков, стеков и тому подобного. Они все это реализовали в массивах — структурах данных типа (или класса — в Ruby всё равно) Array. Сделано это путём добавления специальных методов; например, методы .push и .pop для стека. Особенности массивов в Ruby:

     Нет ограничений (это общий принцип  языка). Массивы могут быть сколь  угодно длинными.

     Динамичность: размер массива легко меняется.

     Гетерогенность: один массив может хранить данные разных типов.

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

     Много других методов. Все элементарные задачи для массивов решаются вызовом нужного  метода.

     [1, 0, 740, 14, 88] # целочисленный массив

     ["a", "й", "6", 'Br', "Это массив строк, о них вы скоро узнаете"]

     [[1, 2], [3, 4]] # двумерный целочисленный  массив

                            # Матрица — это объект класса  Matrix

                            # Двумерный массив — это не  матрица целых чисел

     ["1-й  элемент смешанного массива", "7.343", [4, "вепрь"],

         [3, 67, 4326, 12, 3781357, 84221, "строка делает этот подмассив смешанным, но это не беда"]]

     array = ["Этот массив пойдёт в переменную array", "Як-цуп-цоп, парви каридулла"]

Информация о работе Внешняя память компьютера