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.


 

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

11938. Схемотехника Методические указания к выполнению лабораторных работ 5.09 MB
  Схемотехника Методические указания к выполнению лабораторных работ Изложена методика выполнения лабораторных работ целью которых является знакомство с принципами работы основных узлов цифровой техники и выработка практических навыков инженерного проектирова...