Файл: Классификация языков программирования высокого уровня (Языки Символического Кодирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 71

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Хотя в операторе for заложены большие возможности, используется он, главным образом, для перечислений, когда их число известно, например, фрагмент кода:

int s=0;

for (int k = 1; k <= N; k++) s += k * k;

В операторах цикла используется оператор continue. Он имеет две формы. Первая форма состоит только из слова continue и осуществляет немедленный переход к следующей итерации цикла. В очередном фрагменте кода оператор continue позволяет обойти деление на нуль:

for (int i = 0; i < N; i++){

if (i '== j) continue;

s += 1.0 / (i - j); }

Вторая форма содержит метку:

continue метка

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

Также в операторах цикла используется оператор break для немедленного выхода из циклических конструкций. (С.В., 2000)[73]

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

Ml: { // Внешний блок

М2: { // Вложенный блок — второй уровень

М3: { // Третий уровень вложенности... if (что-то случилось) break M2; } \// Если true, то здесь ничего не выполняется // Здесь тоже ничего не выполняется}

// Сюда передается управление}

Поначалу сбивает с толку то обстоятельство, что метка ставится перед блоком или оператором, а управление передается за этот блок или оператор. Поэтому мне кажется что не стоит увлекаться оператором break с меткой .

3.5 Циклы в языке С#

Управляемые итерации, или циклы, в С# выполняют операторы for, while, do/while и foreachВ каждом случае исполняется простой или составной оператор, пока значение булевского выражения остается равным true.Исключение составляет foreachпроизводящий итерацию списка объектов. Цикл , for предоставляет механизм для прохода по циклу, при котором инициализируется некоторая локальная переменная и выполняется оператор в цикле до тех пор, пока заданное условие истинно, причем перед переходом к следующей итерации производится какой-нибудь простой шаг. (Дж.Бишоп, и др., 2005)[74]

Синтаксис цикла:

for(инициализатор; условие; итератор;) оператор {ы}

Где инициализатор-выражение, вычисляемое до начала выполнения цикла (обычно здесь инициализируется локальная переменная, используемая в качестве счетчика цикла), условие-выражение, которое вычисляется перед выполнением каждой итерации цикла (например, проверка того, что счетчик цикла меньше определенного значения), итератор-это выражение, которое будет выполнятся после каждой итерации цикла (например, увеличение счетчика цикла).Цикл, for известен также как цикл с предусловием, поскольку условие цикла вычисляется до выполнения операторов цикла, а в том случае, если условие сразу оказывается равным false, операторы цикла вообще не будут исполнены. Перед каждой итерацией цикла условие вычисляется вновь. (С.Робинсон, и др., 2005)[75]


Цикл завершается, как только результат вычисления условия становится false. Цикл for превосходно подходит для повтора оператора или нескольких операторов заранее определенное число раз. Следующий пример показывает типичное использование цикла for:

for ( int I = 0; I < 100; i ++)

{ //Цикл будет выполнен 100 раз}

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

// Этот цикл проходит по строкам

for ( int i = 0; i < 100; i ++)

{// Это цикл проходит по столбцам

for ( int j = 0; j < 100; j ++){

a[ i , j] = 0;}}

Рассмотрим цикл while, его общая форма имеет такой вид:

whi1е (условие) инструкция;

Здесь под элементом инструкция понимается либо одиночная инструкция, либо блок инструкций. Работой цикла управляет элемент условие, который представляет собой любое допустимое выражение типа bool. Элемент инструкция выполняется до тех пор, пока условное выражение возвращает значение истина. Как только это условие становится ложным, управление передается инструкции, которая следует за этим циклом. (С.Робинсон, и др., 2005)[76]

Цикл while работает следующим образом. Проверяется значение переменной num. Если оно больше нуля, счетчик mag инкрементируется, а значение num делится на 10. Цикл повторяется до тех пор, пока num больше нуля. Когда num станет равным нулю, цикл завершится, а переменная mag будет содержать порядок исходного числа. Подобно циклу for, условное выражение проверяется при входе в цикл while, a это значит, что тело цикла может не выполниться ни разу. (Ручко., 2004)[77]

Это свойство цикла (иллюстрируемое следующей программой) устраняет необходимость отдельного тестирования до начала цикла:

// Вычисление целых степеней числа 2.

using System;

class Power {

public static void Main() {

int e;

int result;

for(int i=0; i < 10;

result = 1;

e = i;

while(e > 0) {

result *= 2;

e—;

Console.WriteLine("2 в степени " + i + " равно " + result);

Третьим циклом в С# является цикл do-while. В отличие от циклов for и while,в которых условие проверяется при входе, цикл do-while проверяет условие при выходе из цикла. Это значит, что цикл do-while всегда выполняется хотя бы один раз. Его общий формат имеет такой вид:

do {инструкции;} while {условие);


Несмотря на то, что фигурные скобки необязательны, если элемент инструкции состоит только из одной инструкции, они часто используются для улучшения читабельности конструкции do-while, не допуская тем самым путаницы с циклом while. Цикл do-while выполняется до тех пор, пока остается истинным элемент условие,который представляет собой условное выражение. В следующей программе цикл do-while используется для отображения в обратном порядке цифр, составляющих заданное целое число. (В.В, 1978)[78]

using System;

class DoWhileDemo {

public static void Main() {

int num;

int nextdigit;

num = 198;

Console.WriteLine("Число: " + num);

Console.Write("Число с обратным порядком цифр: " ) ;

do {nextdigit = num % 10;

Console.Write(nextdigit);

num = num / 10;

} while(num > 0) ;Console.WriteLine();}}}

И еще одна циклическая конструкция foreach. Цикл foreach предназначен для опроса элементовколлекции. Коллекция — это группа объектов. В С# определено несколько типов коллекций, среди которых можно выделить массив. Формат записи цикла foreach имеет такой вид:

foreach (тип имя__переменной in коллекция) инструкция;

Здесь элементы тип и имя_переменной задают тип и имя итерационной переменной, которая при функционировании цикла fоreach будет получать значения элементов из коллекцииЭлемент коллекция служит для указания опрашиваемой коллекции (в данном случае в качестве коллекции мы рассматриваем массив). Таким образом, элемент тип должен совпадать (или быть совместимым) с базовым типом массива. Здесь важно запомнить, что итерационную переменную применительно к массиву можно использовать только для чтения. Следовательно, невозможно изменить содержимое массива, присвоив итерационной переменной новое значение. (П.Терренс, 1979 )[79]

Рассмотрим простой пример использования цикла foreach. Приведенная ниже программа создает массив для хранения целых чисел и присваивает его элементам начальные значения. Затем она отображает элементы массива, попутно вычисляя их сумму (С.Робинсон, и др., 2005) (Троелсен, 2004)[80]

// Использование цикла foreach.

using System;

class ForeachDemo {

public static void Main() {

int sum = 0;int[] nums = new int[10];

// Присваиваем элементам массива nums значения,

for(int i = 0; i < 10; i++){ nums[i] - i;

// Используем цикл foreach для отображения значений

// элементов массива и их суммирования,

foreach(int x in nums) {

Console.WriteLine("Значение элемента равно: " + х);


sum += х;}

Console.WriteLine("Сумма равна: " + sum);}}}

Исследование циклических конструкций в языках высокого уровня, можно сделать вывод, что по принципам построения они схожи между собой, а если и есть различия, то они связанные с синтаксисом. Основная задача циклических конструкций – это многократное выполнение одних и тех же операций, что существенно облегчает работу программисту и позволяет организовать выполнение итерационных процессов. (Р.А., 2005)[81]

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

Программа немыслима без циклических конструкций, так как все программы основаны на повторении. (С.В., 2000)[82]

ЗАКЛЮЧЕНИЕ

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

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

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

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


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

C# в кратком изложении [Книга] / авт. Дж.Бишоп Н. Хорспул и Бином пер.с.англ. - М.:. - 2005.

Полный справочник по C# [Книга] / авт. Ручко. Шилдт Г . пер. с англ. Н.М.. - [б.м.] : дом Вильямс, 2004.

"LEX - генератор программ лексического анализа" [Книга] / авт. М.И Давидов и В.Г. Антонов. - [б.м.] : МОСКВА, 1985.

"Язык программирования Си." [Книга] / авт. Б.В. Керниган Д. Ритчи, А. Фьюэр.. - [б.м.] : Москва: Финансы и Статистика, 1985.

"Языки программирования: разработка и реализация" [Книга] / авт. П.Терренс. - 1979 .

BASIC FACE OFF [Книга] / авт. Justin J.Crom PC Tech Journal перевод Лопухов Н.В. - [б.м.] : Promt98, 1987.

C# для профессионалов [Книга] / авт. С.Робинсон О. Корнес, Д.Глин, Б. Харвей и др. и Труфанов. пер. с англ. С. Кортыгин и О.. - [б.м.] : ЛОРИ, 2005. - Т. 1.

C# и платформа. NET. Библиотека программиста [Книга] / авт. Троелсен Э.. - [б.м.] : Питер, 2004.

C++,Turbo Paskal QBasik [В Интернете] / авт. программирования Эволюция языков. - 25.01.10 r.. - http://langprog.far.ru/historylangprog.html.

Алгоритмические языки реального времени [Книга] / авт. С. Янг. - 1985.

Введение в программирование на языке Ассемблер ч.1 [Книга] / авт. Э.Г. Касвандс. - 1983.

Информатика [Книга] / авт. Курносов А.П. Кулев С.А., Улезько А.В. и др. и Курносова. Под ред. А.П.. - [б.м.] : М.: КолосС, 2005.

Информатика под редакцией проф.Н.В Макаровой [Книга] / авт. Н.В Макарова. - [б.м.] : м.Финансы и статистика, 1997.

Информатика.Базовый курс [Книга] / авт. С.В. Симонович. - [б.м.] : "Питер", 2000.

Информатика:учебник для вузов [Книга] / авт. В.А. Островский. - [б.м.] : Высшая школа, 2000.

Локальные вычислительные сети: Учебное пособие [Книга] / авт. Р.А. Малышев. - [б.м.] : РГАТА. – Рыбинск, 2005.

Мир Лиспа [Книга] / авт. Хьювенен Э. Сеппенен Й.. - 1990. - Т. 1.

Новые языки программирования и тенденции их развития [Книга] / авт. Ушкова В.. - 1982 г..

Основы автоматизации ч.1 [Книга] / авт. В.В Золотарев. - 1978.

Турбо-Паскаль7.0 Начальный уровень [Книга] / авт. В.В. Фаронов. - [б.м.] : Нолидж, 1999.

Язык С. Руководство для начинающих [Книга] / авт. Уэйт М.. - Прага : Мир, 1995.

Языки программирования [Книга] / авт. Малютин Э.А. Малютина Л.В.. - 1982.

Языки программирования высокого уровня [Книга] / авт. Г. Хротко. - 1982.