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.


 

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

10201. Психолого-педагогическое сопровождение застенчивых детей старшего дошкольного возраста в группе ДОУ 307.5 KB
  Застенчивые люди испытывают большие трудности в установлении межличностных контактов; пассивны в деятельности и жизнедеятельности в целом; чрезмерно озабочены оценкой себя другими людьми; более зависимы от других, ранимы, внушаемы, поддаются давлению со стороны окружения
10202. Организация циклов. Алгоритмическая структура циклов 50.5 KB
  Лабораторная работа № 3 Тема: Организация циклов Цель работы: освоить алгоритмическую структуру цикл а также работу команд в данной структуре. Образец решения задач. Задача № 1. Напишите программу печати таблицы перевода расстояний из километров в метры для значен
10203. Работа с простой переменной. Алгоритмы целочисленной арифметики 58 KB
  Лабораторная работа № 4 Тема: Работа с простой переменной. Алгоритмы целочисленной арифметики Цель работы: освоить работу с простой переменной и алгоритмами их обработки при решении задач целочисленной арифметики. Типовые алгоритмы обработки простой переменной Р
10204. Подпрограммы. Процедуры и функции 35 KB
  Лабораторная работа № 5 Тема: Подпрограммы. Процедуры и функции Цель работы: отработать навыки использования подпрограмм процедур и функций при написании программного кода. Образцы решения задачи. Задача № 1. Определить количество и сумму цифр в числе. Анализ по...
10205. РАЗВИТИЕ ВНИМАНИЯ СТАРШИХ ДОШКОЛЬНИКОВ В ИГРОВОЙ ДЕЯТЕЛЬНОСТИ 527.5 KB
  В дошкольном возрасте эти изменения касаются всех видов и свойств внимания. В целом, ребенок становится более сосредоточенным, у него появляется способность распределять внимание между различными предметами и переключаться с одного сложного объекта на другой.
10206. Организация перевозок скоропортящихся грузов на направлении 1.91 MB
  В курсовой работе необходимо определить особенности и условия перевозок скоропортящихся грузов на направлении, рассчитать годовую потребность для погрузки, количество «холодных поездов», произвести теплотехнический расчет, разработать технологию обслуживания рефрижераторного подвижного состава, схему размещения пунктов экипировки и технологического обслуживания
10207. Использование модулей при написании программного кода 69.5 KB
  Лабораторная работа № 8 Тема: Модули Цель работы: отработать навыки использования модулей при написании программного кода. Образец решения задачи. Задача № 1. Вставьте в двумерный массив строку из нулей после строки с номером t. Анализ постановки задачи В задаче ...
10208. Разработка карты наладки для обработки деталей на токарном станке с ЧПУ 23 KB
  Лабораторная работа №1 Разработка карты наладки для обработки деталей на токарном станке с ЧПУ Контрольные вопросы: 1. Назначение технологической документации. 2. Виды и классификация технологической документации. 3. Назначение карты наладки. Задание. 1. ...
10209. Изучение пульта оператора токарного станка с ЧПУ 34 KB
  Лабораторная работа №2 Изучение пульта оператора токарного станка с ЧПУ Цель работы: Ознакомление с пультом системы ЧПУ и режимы работы данной системы. Задание Изучить пульт управления станком; система Электроника НЦ31; изучить работу станка в различных ре