36559

Понятие о языках программирования

Контрольная

Информатика, кибернетика и программирование

Мы все несомненно имеем некоторое представление о языке как средстве общения. Русский английский или японский язык это естественные языки общения людей созданные в процессе длительной эволюции. Однако наряду с естественными языками современная цивилизация широко использует так называемые искусственные или формальные языки.

Русский

2013-09-22

31.5 KB

5 чел.

Понятие о языках программирования.

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

В естественных языках семантика определяется неформально, так что смысл слова или фразы зависит, в том числе и от "окружения", т.е. от соседних слов и фраз и сформулировать семантические правила практически невозможно.

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

Любая программа общается с пользователем на некотором формальном языке, даже если он называется "подмножеством естественного языка". Система команд компьютера также является формальным языком. Этот язык носит название машинного языка. Процессор компьютера способен понимать непосредственно только машинный язык (который для него является "естественным").

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

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

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

Задача 4.2.6(27)

program Project27;

type mas=array[1..5,1..5] of Integer;

mass=array[1..5]of integer;

var a:mas;

b:mass;

i,j:Integer;

procedure p(x:mas; e:Integer; var y:integer);

var i,j,k:Integer;

begin

k:=0;

for i:=1 to 5 do

if x[i,e]<=x[e,e] then k:=k+1;

if k=5 then y:=1

else y:=0;

end;

begin

for i:=1 to 5 do

for j:=1 to 5 do

read(a[i,j]);

writeln;

for i:=1 to 5 do

begin

p(a,i,b[i]);

write(b[i],' ');

end;

 Readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

79999. ЭВОЛЮЦИЯ КАТЕГОРИИ «ДОБРОСОВЕСТНОСТЬ» В ГРАЖДАНСКОМ ПРАВЕ РОССИИ 283.24 KB
  Исследование содержания категории «добросовестность» в науке гражданского права и в правоприменительной практике. Выявление соотношения недобросовестного поведения и злоупотребления правом в цивилистической науке и судебной практике. Изучение презумпции добросовестности в цивилистике и правоприменительной практике.
80000. Интеллектуальный анализ влияния текущих событий на протекание связанных с ними процессов 336.53 KB
  Дипломная работа посвящена методике разработки программного продукта для поиска причин в изменениях трендов в данных. Рассмотрено создание системы предобработки данных и разработка системы классификации на базе различных алгоритмов машинного обучения. В работе определяется область применения разработанной программы. Для разработки системы предобработки данных использован язык программирования
80001. ОРГАНІЗАЦІЯ ОБЛІКУ ВИТРАТ ТА МЕТОДИКА АНАЛІЗУ СОБІВАРТОСТІ ПОСЛУГ 757 KB
  Привести існуючий порядок обліку затрат до Методичних рекомендацій з формування собівартості будівельно-монтажних робіт; запровадити зарубіжний досвід системи калькулювання «Директ-костинг»; автоматизувати облік, що підвищить продуктивність праці бухгалтерів;
80002. История поселка Хвойная 234 KB
  Хвойнинский район находится на северо-западе Европейской части России, на стыке трех областей: Ленинградской, Вологодской и Новгородской. Он граничит на Севере с Тихвинским районом Ленинградской области, на северо-востоке с Чагодощенским районом Вологодской области и районами Пестовским, Мошенским, Боровичским, Любытинским Новгородской области
80003. Задачи IV соросовской олимпиады по математике для 6 - 11 классов 1.94 MB
  В последнее десятилетие широкую известность получили так называемые соросовские олимпиады, проводимые под эгидой фонда Сороса. Уровень этих олимпиад весьма высок и успех на них возможен только при наличии незаурядных математических способностей.
80004. ВЛИЯНИЕ НЕСТАЦИОНАРНЫХ ЭФФЕКТОВ НА ДИНАМИКУ ВСПЛЫТИЯ ПУЗЫРЬКА 2.21 MB
  Данная работа состоит из трех разделов. В первом рассмотрена динамика всплытия пузырька в стационарном режиме. Приведены теоретические расчеты скорости пузырьков в различных растворах. При движении пузырьков в режиме ускорения на них действуют дополнительные силы: сила, приведенной массы, связанная с присоединенной массой и сила Бассэ.
80005. Сравнительный анализ «опыта потока» в игровой и продуктивной деятельности 1.15 MB
  Человек, переживающий поток, оказывается сверхвовлеченным и сверхсконцентрированным в своей деятельности, причем она доставляет ему огромное удовольствие. Поток принадлежит к кругу явлений внутренней мотивации: деятельностью, в которой возникает поток, люди продолжают заниматься ради самого процесса, конечный результат не столь важен для них.
80006. ОПТИМИЗАЦИЯ ПЛАНА РЕГЛАМЕНТНЫХ РАБОТ ПО КРИТЕРИЮ МАКСИМУМА СРЕДНЕГО ПОТОКА В СЕТИ ПРИМЕНИТЕЛЬНО К ЗАДАЧЕ ТРАНСПОРТИРОВКИ НЕФТИ ПО МАГИСТРАЛЬНОМУ НЕФТЕПРОВОДУ 960 KB
  проведена программная реализация алгоритма Форда – Фалкерсона нахождения максимального потока в сети, построен и программно реализован алгоритм субоптимального планирования регламентных работ на участках нефтепровода по критерию максимума потока в сети. Тем самым разработан и реализован метод решения задачи максимизации потока в нестационарной сети на основе алгоритма Форда – Фалкерсона.
80007. Анализ и моделирование расщепления ДНК ультразвуком 4.97 MB
  Количественный анализ экспериментальных данных по расщеплению молекул ДНК ультразвуком и развитие подходов к моделированию реакции ДНК на внешние воздействия. Такие подходы используются для решения задачи о физической интерпретации специфичности расщепления молекул ДНК ультразвуком.