Шпаргалка по "Программированию"

Автор работы: Пользователь скрыл имя, 25 Декабря 2013 в 18:28, шпаргалка

Описание работы

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

Содержание работы

1. Понятие алгоритма. Способы записи алгоритмов.
2. Свойства алгоритма.
3. Ветвящийся алгоритм.
4. Циклический алгоритм с предусловием (схема).
5. Циклический алгоритм с постусловием (схема).
28.Событийное программирование.
29. События связанные с объектом Form.

Файлы: 1 файл

ответы.docx

— 76.44 Кб (Скачать файл)

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

Разработку программы  с использованием визуальных средств  называют визуальным программированием.

14.Базовые понятия  C#

Создателем языка является сотрудник Microsoft Андреас Хейлсберг. Он стал известным в мире программистов задолго до того, как пришел в Microsoft. Хейлсберг входил в число ведущих разработчиков одной из самых популярных сред разработки - Delphi. В Microsoft он участвовал в создании версии Java - J++, так что опыта в написании языков и сред программирования ему не занимать. Как отмечал сам Андреас Хейлсберг, C# создавался как язык компонентного программирования, и в этом одно из главных достоинств языка, направленное на возможность повторного использования созданных компонентов. Из других объективных факторов отметим следующие.

15. Понятие «тип», «класс», «переменная» в языке C#.

Класс – это так же программный блок, оформленный по правилам описания классов. Класс предназначен для описания характеристик объектов некоторого вида и методов работы с этими объектами. Имя класса определяет тип объектов, имеющих описанные характеристики. Создавая объекты, используют имя класса. При этом принят говорить, что «создан объект такого-то класса». Имеются встроенные классы, например класс математических функций Math. Собственные классы может разрабатывать и программист.

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

Значения в процессе решения  хранятся в переменных, которые имеют символические имена – идентификаторы. По сути переменная – это участок памяти компьютера, которому на время выполнения программы присвоено имя.

16. Классификация типов данных.

Еще одна важная классификация  типов – это их деление на значимые и ссылочные. Для значимых типов значение переменной (объекта) – это собственность переменной. Точнее, собственностью является память, отводимая значению, а само значение может изменяться. Для ссылочных типов значением служит ссылка на некоторый объект в памяти. Фактически ссылка – это адрес другого участка памяти, где и находятся сами данные. Таким образом, будем говорить, что переменная значимого типа содержит данные, а переменная ссылочного типа – адрес данных.

17. Операции языка C# (присваивание, арифметические, операции отношения)

Переменная может получить значение, если использовать операцию «присваивание». Операция обозначается знаком =. Операция бинарная, т.е. имеет  два операнда. Например, x = y. Операнд слева от знака может быть только переменной, объектом. Операнд справа может быть выражением, т.е. записью, в которой используются знаки других операций. Как правило, операция = является главной операцией, образующей оператор присваивания. Например, выражение x = y + Маth.Sin( t ); является оператором присваивания, в котором переменная x получает значение суммы значения переменной y и значения синуса t.

*

%

++

– –

Вычитание

Умножение

Деление

Деление по модулю

Инкремент

Декремент

X = x – y;

Z = x * y;

Z  = x / y;

Z = t % e;

Z++;

Z – – ;


 

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

Смысл и суть операций сложения, вычитания и умножения пояснений  не требует. Эти операции возможны и  с целыми, и с вещественными  числами. А вот операция деления  имеет особенность. Результат этой операции зависит от типа используемых данных. При делении вещественных чисел – результат вещественный. Если же делятся целые, то и результатом будет целое число.

Операции отношения используются для  сравнения  значений переменных или выражений. Результатом операций является значение булевого типа (bool): ИСТИНА (true) или ЛОЖЬ (false). Численных эквивалентов для этих значений в языке C# не существует. Перечень операций приведен в таблице. Все операции – бинарные, т.е. имеют два операнда. 

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

Операция 

назначение

пример

= =

! =

>

<

>=

<=

Равно

Не равно

Больше, чем

Меньше, чем

Больше или равно

Меньше или равно

I = = 0

K != 15

Z > 15.2

Tab <  -132.654

Z11 >= 0

Y2 <= 10


 

18. Логические операции языка C#.

Логические операции используются для составления логических (булевых) выражений. Значением булевого  выражения может быть ИСТИНА и ЛОЖЬ. В булевом выражении в качестве операнда может использоваться или булева переменная, или выражение, использующее  операцию сравнения. Перечень операций приведен в таблице.     

Операция 

Назначение 

пример

&&

||

!

Логическое И

Логическое ИЛИ 

Логическое НЕ

( R > 2 ) && ( R < 20 )

( L= = 12 ) || ( L > 15 )

! T


19. Приведение к типу. Методы класса Convert.

Для изменения типа можно  использовать операцию приведение к типу. Эта операция используется тогда, когда необходимо преобразовать значение одного типа в значение другого типа. Это так называемое явное преобразование типов. Операция задается указанием имени типа в круглых скобках.

Класс Convert, определенный в пространстве имен System, играет важную роль, обеспечивая необходимые преобразования между различными типами.

Методы класса Convert поддерживают общий способ выполнения преобразований между типами. Класс Convert содержит 15 статических методов вида To <Type> (ToBoolean(),...ToUInt64()), где Type может принимать значения от Boolean до UInt64 для всех встроенных типов, перечисленных в таблице типов данных.

20.Понятие исключения

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

21. Операторы языка C# (присваивание, вызов метода, составной оператор).

Далее определяется двумерный  массив w и делается попытка выполнить оператор присваивания v = w. Это ссылочное присваивание некорректно, поскольку объекты w и v – разных классов: оба они целочисленные, но имею разную размерность. Для них не выполняется требуемое для присваивания согласование по типу.

Теперь можно уточнить понятие «вызов метода». Описание метода может выполняться одним из двух способов в зависимости от вида метода. Метод может быть статический – тогда его вызов записывается так: Имя_класса.Имя_метода.

Например: Math.Sin – это вызов метода, вычисляющего синус. Метод является статическим и описан в классе Math. Другой пример: Generator.Next – это вызов метода, извлекающего случайное число из генератора случайных чисел. Generator – это не класс, это объект класса Random (класс генераторов случайных чисел). Метод Next является не статическим, а динамическим. Он используется для работы с конкретным объектом класса.

В данном примере ветвь if содержит составной оператор, ветвь else – опреатор вывода на экран. Вывод на экран выполняется методом Show из класса MessageBox. Если число в переменной k при делении на 7 дает в остатке 0 (т.е. делится на 7 нацело), то выполняется составной оператор. В противном случае – оператор вывода.

Разрешается не описывать  ветвь else, т.е. использовать оператор можно записать только с ветвью if.

22.Оператор ветвления

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

23.Операторы цикла.

Оператор цикла for обобщает известную конструкцию цикла типа арифметической прогрессии. Его синтаксис:

for (инициализаторы; условие; список_выражений) оператор

Оператор, стоящий после  закрывающей скобки, задает тело цикла. В большинстве случаев телом  цикла является блок. Инициализаторы задают начальное значение одной  или нескольких переменных, часто  называемых счетчиками или просто переменными  цикла. Условие задает условие окончания  цикла, соответствующее выражение  при вычислении должно получать значение true или false. Список выражений, записанный через запятую, показывает, как меняются счетчики цикла на каждом шаге выполнения. Если условие цикла истинно, то выполняется тело цикла, затем изменяются значения счетчиков и снова проверяется условие. Как только условие становится ложным, цикл завершает свою работу. В нормальной ситуации тело цикла выполняется конечное число раз. Счетчики цикла зачастую объявляются непосредственно в инициализаторе и соответственно являются переменными, локализованными в цикле.

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

В качестве примера рассмотрим классическую задачу: является ли строка текста палиндромом. Для ее решения  цикл for подходит наилучшим образом.

Циклы While

Цикл while (выражение) является универсальным видом цикла, включаемым во все языки программирования. Тело цикла выполняется до тех пор, пока остается истинным выражение while. В языке C# у этого вида цикла две модификации - с проверкой условия в начале и в конце цикла. Первая модификация имеет следующий синтаксис:

while(выражение) оператор

Эта модификация соответствует  циклу с предусловием. Тело такого цикла может ни разу не выполняться. В нормальной ситуации каждое выполнение тела цикла - это очередной шаг  к завершению цикла.

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

do  
оператор  
while(выражение);

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

Цикл forEach

Новым видом цикла, не унаследованным от С++, является цикл foreach, удобный при работе с массивами, коллекциями и другими подобными контейнерами данных. Его синтаксис:

foreach (тип идентификатор in контейнер) оператор

Цикл работает в полном соответствии со своим названием - тело цикла выполняется для каждого  элемента в контейнере. Тип идентификатора должен быть согласован с типом элементов, хранящихся в контейнере данных. Предполагается также, что элементы контейнера (массива, коллекции) упорядочены. На каждом шаге цикла идентификатор, задающий текущий  элемент контейнера, получает значение очередного элемента в соответствии с порядком, установленным на элементах  контейнера. С этим текущим элементом  и выполняется тело цикла - выполняется  столько раз, сколько элементов  находится в контейнере. Цикл заканчивается, когда полностью перебраны все  элементы контейнера. Серьезным недостатком  циклов foreach в языке C# является то, что цикл работает только на чтение, но не на запись элементов. Так что наполнять контейнер элементами приходится с помощью других операторов цикла.

24.Операторы перехода.

Оператор goto имеет простой синтаксис и семантику:

goto [метка|case константное_выражение|default];

Все операторы языка C# могут  иметь метку - уникальный идентификатор, предшествующий оператору и отделенный от него символом двоеточия. Передача управления помеченному оператору - это классическое использование  оператора goto. Два других способа использования goto (передача управления в case или default-ветвь) используются в операторе switch, о чем шла речь выше.

Применение данного оператора  не рекомендуется концепцией структурного программирования, так как нарушает структурированность кода и затрудняет понимание последовательности выполнения операторов.

Операторы break и continue

В структурном программировании признаются полезными «переходы  вперед», позволяющие при выполнении некоторого условия выйти из цикла, из оператора выбора, из блока. Для  этой цели можно использовать оператор goto, но лучше применять специально предназначенные для этих целей операторы break (прекратить выполнение текущего блока программы и выйти из него на 1 уровень вложенности блоков программы вверх) и continue (продолжить).

Оператор break может стоять в теле цикла или завершать case-ветвь в операторе switch. Пример его использования в операторе switch уже демонстрировался. При выполнении оператора break в телец

 Оператор return

Еще одним оператором, относящимся  к группе операторов перехода, является оператор return, позволяющий завершить выполнение процедуры или функции. Его синтаксис:

return [выражение];

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

Информация о работе Шпаргалка по "Программированию"