Автор: Пользователь скрыл имя, 04 Января 2012 в 16:27, курсовая работа
Для хранения программ и данных в персональных компьютерах используют различного рода накопители, общая емкость которых, как правило, в сотни раз превосходит емкость оперативной памяти. По отношению к компьютеру накопители могут быть внешними и встраиваемыми (внутренними).
В реальных системах программирования перемешаны технологии и компиляции и интерпретации. В процессе отладки программа может выполняться по шагам, а результирующий код не обязательно будет машинным – он даже может быть исходным кодом, написанном на другом языке программирования (это существенно упрощает процесс трансляции, но требует компилятора для конкретного языка), или промежуточным машинно-независимым кодом абстрактного процессора, который в различных машинных архитектурах станет выполнять с помощью интерпретатора или компилировать в соответствующий машинный код.
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", "Як-цуп-цоп, парви каридулла"]