Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Инициализация значения переменной при объявленииСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
При объявлении переменную можно проинициализировать, то есть присвоить ей начальное значение. Сделать это можно следующим образом. int x = 100; Таким образом, в переменную x при объявлении сразу же будет записано число 100. Лучше избегать смешивания инициализируемых переменных в одном операторе описания, то есть инициализируемые переменные лучше объявлять в отдельных строках.
Переменная любого типа может быть объявлена как немодифицируемая. Это достигается добавлением ключевого слова const к спецификатору типа. Переменные с типом const представляют собой данные, используемые только для чтения, то есть этой переменной не может быть присвоено новое значение. Если после слова const отсутствует спецификатор типа, то константы рассматриваются как величины со знаком, и им присваивается тип int или long int в соответствии со значением константы: если константа меньше 32768, то ей присваивается тип int, в противном случае long int. Пример: const long int k = 25; const m = -50; // подразумевается const int m=-50 const n = 100000; // подразумевается const long int n=100000
Для присваивания в Си служит знак "=". Выражение, стоящее справа от знака присваивания, вычисляется, и полученное значение присваивается переменной, стоящей слева от знака присваивания. При этом предыдущее значение, хранящееся в переменной, стирается и заменяется на новое. Оператор "=" не следует понимать как равенство. Примеры: x = 5 + 3; // сложить значения 5 и 3, // результат присвоить переменной x (записать в переменную x)
b = a + 4; // прибавить 4 к значению, хранящемуся в переменной a, // полученный результат присвоить переменной b (записать в переменную b)
b = b + 2; // прибавить 2 к значению, хранящемуся в переменной b, // полученный результат присвоить переменной b (записать в переменную b)
c = b * b + 3 * b;
Арифметические операции записываются в выражениях следующим образом:
Пример: x = 3; // переменной x будет присвоено значение 3
y = x + 5; // к значению, хранящемуся в переменной x, будет прибавлено число 5, // полученный результат будет записан в переменную y
z = x * y; // значения переменных x и y будут перемножены, // результат будет записан в переменную z
z = z - 1; // от значения, хранящегося в переменной z, будет отнято 1 // результат будет записан в переменную z
Кроме простого оператора присваивания "=", в Си существует еще несколько комбинированных операторов присваивания: "+=", "-=", "*=<", "/=", "%=". Примеры: x += y; // то же, что и x = x + y; - сложить x и y // и записать результат в переменную x
x -= y; // то же, что и x = x - y; - отнять от x значение y // и записать результат в переменную x
x *= y; // то же, что и x = x * y; - умножить x на y // и записать результат в переменную x
x /= y; // то же, что и x = x / y; - разделить x на y // и записать результат в переменную x
x %= y; // то же, что и x = x % y; // вычислить целочисленный остаток от деления x на y // и записать результат в переменную x
Если необходимо изменить значение переменной на 1, то используют инкремент или декремент. Инкремент - операция увеличения значения, хранящегося в переменной, на 1. Пример: x++; // значение переменной x будет увеличено на 1
Пример: x--; // значение переменной x будет уменьшено на 1
Примеры: y = x++;
y = --x;
4. Оператор присваивания. Операторы вычисления. Операторы ввода-вывода Линейный вычислительный процесс
Линейный вычислительный процесс (ЛВП) представляет собой набор операторов, выполняемых последовательно, один за другим. Основу программы ЛВП составляют операторы присваивания, ввода и вывода данных.
Оператор присваивания Оператор присваивания используется для сохранения результата вычисления арифметического выражения в переменной. Он имеет следующий общий вид: переменная:= выражение; Знак:= читается как "присвоить". Оператор присваивания работает следующим образом: сначала вычисляется выражение, стоящее справа от знака:=, затем результат записывается в переменную, стоящую слева от знака. Например, после выполнения оператора k:=k+2; текущее значение переменной k увеличится на 2. Тип переменной слева от знака присваивания должен быть не младше типа выражения. В частности, это означает, что если выражение дает целое число, результат можно писать и в целую, и в вещественную переменную, если результат вычисления выражения вещественный, писать его в целую переменную нельзя, т. к. может произойти потеря точности. Приведем примеры. 1. Записать оператор присваивания, который позволяет вычислить расстояние между двумя точками на плоскости с координатами (x 1, y 1) и (x 2, y 2). Оператор будет иметь вид d:=sqrt(sqr(x1-x2)+sqr(y1-y2)); 2. Записать последовательность операторов присваивания, обеспечивающих обмен значениями переменных x и y в памяти компьютера. c:=x; x:=y; y:=c; Здесь с -- дополнительная переменная того же типа, что x и y, через которую осуществляется обмен. Грубой ошибкой было бы, например, попытаться выполнить обмен операторами x:=y; y:=x; -- ведь уже после первого из них мы имеем два значения y, а исходное значение x потеряно.
Оператор ввода Базовая форма оператора ввода позволяет пользователю ввести с клавиатуры значения одной или нескольких переменных. Оператор ввода с клавиатуры может быть записан в одной из следующих форм: read(список_переменных); readln(список_переменных); Имена переменных в списке перечисляются через запятую. Здесь и далее список данных, передаваемых любому оператору (а позднее и написанным нами подпрограммам), мы будем называть параметрами. Таким образом, параметрами оператора (точней, стандартной процедуры) read являются имена переменных, описанных ранее в разделе var. По достижении оператора ввода выполнение программы останавливается и ожидается ввод данных пользователем. Вводимые значения переменных разделяются пробелом или переводом строки (нажатием Enter). После ввода значений всех переменных из списка работа программы продолжается со следующего оператора. Оператор readln отличается от read только тем, что все переменные должны быть введены в одну строку экрана, клавиша Enter нажимается один раз по окончании ввода. Форма записи readln используется, в основном, для ввода строк текста, для ввода числовых значений лучше использовать read, т. к. в этом случае пользователь может вводить данные более свободно (и в одну, и в несколько строк экрана). Если пользователь вводит данные недопустимого типа (например, строку текста вместо числа), то выводится системное сообщение об ошибке и работа программы прерывается. В качестве примера организуем ввод исходных данных для решения квадратного уравнения: var a,b,c:real; ... read (a,b,c); Для задания значений a=1, b=4, c=2.5 на экране вводится: 1_4_2.5 Здесь и далее "_" означает пробел, а "" -- нажатие Enter. Другой вариант ввода с клавиатуры: 2.5 Третий вариант: 4_2.5 Во всех вариантах пробелов может быть и несколько, лишние будут проигнорированы оператором. Как правило, перед оператором ввода ставится оператор вывода, служащий приглашением к вводу и поясняющий пользователю, что именно следует сделать (см. п. 4.3).
Оператор вывода Базовая форма оператора вывода позволяет отобразить на экране значения переменных, АВ или констант, а также строки текста в апострофах. Оператор записывается в одной из следующих форм: write(список); writeln(список); Элементы списка перечисляются через запятую. Элементы списка выводятся в пользовательское консольное окно программы. Вещественные значения выводятся в экспоненциальной форме. Строки выводятся "как есть". После вывода работа программы продолжается со следующего оператора. Оператор writeln отличается от write тем, что после вывода значения последнего элемента списка выполняется перевод курсора на следующую строку экрана. Приведем примеры. 1. Нужно дать пользователю возможность ввести с клавиатуры число, затем программа возведет это число в квадрат и выведет результат на экран. var a,a2:integer; ... writeln ('Введите целое число:'); {это приглашение к вводу} read (a); a2:=sqr(a); writeln ('Квадрат числа=',a2); Если ввести значение a=2, на экране будет напечатано Квадрат числа=4 | Символ |здесь и далее обозначает курсор. Видно, что оператор writeln перевел курсор на следующую строку. После вывода результата выполнение программы продолжится, а если оператор writeln был в ней последним, то и завершится. Чтобы пользователь успел прочитать результат, следует в конце программы добавить оператор readln; который будет ждать нажатия клавиши Enter. 2. Требуется вывести на экран результаты решения квадратного уравнения: значения x1=1.5 и x2=2.5: write ('x1=',x1,'_x2=',x2); Пробел в строкой константе '_x2=' нужен, чтобы значение x1 не слилось со строкой 'x2='. На экране будет напечатано: x1= 1.5000000000E+00 x2= 2.5000000000E+00| Курсор остался в конце строки, т.к. использована форма оператора write. Вещественные числа читать в подобной форме неудобно, для их вывода используйте решение из следующего раздела.
5. Оператор сравнения.Простые и сложные условия
Операторы сравнения, как это видно из их названия, позволяют сравнивать между собой два значения. Возможно вам будет интересно также ознакомиться с разделом Сравнение типов, в котором приведено большое количество соответствующих примеров.
В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа. Эти правила также распространяются на оператор switch. Преобразование типов не происходит при использовании === или!== так как в этом случае кроме самих значений сравниваются еще и типы. <?php switch ("a") { Для различных типов сравнение происходит в соответствии со следующей таблицей (по порядку).
Пример #1 Алгоритм сравнения обычных массивов <?php Одной из основных алгоритмических структур является ветвление (альтернатива). If <условие>
Итак высказывание истинно. ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ В ПРОГРАММАХ НА ПАСКАЛЕ. ОПЕРАТОР IF THEN... ELSE if x > 0 then
6. Оператор цикла for
Выполнение оператора цикла for начинается с вычисления "выражения1". Это своего рода инициализация цикла, которая выполняется только один раз и предшествует последующим действиям. После этого вычисляется "выражение2". Если оно истинно, то выполняется "оператор". Далее вычисляется "выражение3". Первая итерация цикла закончена. Вторая итерация начинается опять с вычисления "выражения2". Если оно истинно, то выполняется "оператор". Далее опять вычисляется "выражение3" и так продолжается до тех пор, пока "выражение2" будет истинным. Если же уже на первой итерации "выражение2" будет ложным, то цикл не исполнится ни разу. Если вникнуть в логику работы оператора цикла for, то можно заметить, что она полностью соответствует следующему фрагменту кода с использование оператора цикла while: выражение1;while (выражение2) { оператор; выражение3; }
7. Оператор цикла while
Формат оператора цикла while: while (выражение)оператор; Каждый раз перед выполнением "оператора" будет проверяться значение "выражения". Если "выражение" истинно, то "оператор" будет выполнен. Далее "выражение" проверяется еще раз. Если оно опять истинно, то "оператор" будет выполнен еще раз. И так будет продолжаться до тех пор, пока "выражение" будет равно true. Как только выражение станет ложным, произойдет выход из цикла и управление будет передано оператору, следующему за циклом while. Цикл while может быть не выполнен ни разу, если "выражение" изначально (при первой проверке) было ложным. Если требуется, чтобы в теле цикла выполнялся не один оператор, а несколько, нужно использоватьсоставной оператор, т.е. заключить несколько операторов в фигурные скобки {}. После закрывающей фигурной скобки } не должно стоять точки с запятой. К сожалению, в нашем первом эксперте я не использую цикл while, поэтому пример его использования мне придется просто придумать: int i = 0;while (i < 9) { Print(i); i++; } Print ("Done"); При первой проверке "выражение" (i<9) будет истинным (т.к. 0<9) и будет выполнен составной оператор, который состоит из функции Print (вывода информации в журнал экспертов), которая выведет число 0 в журнал, и из оператора i++, который увеличивает переменную i на единицу. Далее выражение i<9 будет вычислено еще раз. На этот раз оно опять будет истинным. В результате в лог файл будет выведено текущее значение переменной i (т.е. 1), а после этого значение переменной будет опять увеличено на единицу и станет равным 2. Цикл будет повторяться до тех пор, пока значение переменной i не станет равным 9. Тогда выражение i<9 перестанет быть истинным и цикл прервется, а управление будет передано следующему оператору: Print ("Done");
8. Процедуры и функции
В языке Паскаль, как и в большинстве языков программирования, предусмотрены средства, позволяющие оформлять вспомогательный алгоритм как подпрограмму. Это бывает необходимо тогда, когда какой-либо подалгоритм неоднократно повторяется в программе или имеется возможность использовать некоторые фрагменты уже разработанных ранее алгоритмов. Кроме того, подпрограммы применяются для разбиения крупных программ на отдельные смысловые части в соответствии с модульным принципом в программировании. Для использования подалгоритма в качестве подпрограммы ему необходимо присвоить имя и описать алгоритм по правилам языка Паскаль. В дальнейшем, при необходимости вызвать его в программе, делают вызов подпрограммы упоминанием в нужном месте имени соответствующего подалгоритма со списком входных и выходных данных. Такое упоминание приводит к выполнению входящих в подпрограмму операторов, работающих с указанными данными. После выполнения подпрограммы работа продолжается с той команды, которая непосредственно следует за вызовом подпрограммы. В языке Паскаль имеется два вида подпрограмм - процедуры и функции. Процедуры и функции помещаются в раздел описаний программы. Для обмена информацией между процедурами и функциями и другими блоками программы существует механизм входных и выходных параметров. Входными параметрами называют величины, передающиеся из вызывающего блока в подпрограмму (исходные данные для подпрограммы), а выходными - передающиеся из подрограммы в вызывающий блок (результаты работы подпрограммы). Одна и та же подпрограмма может вызываться неоднократно, выполняя одни и те же действия с разными наборами входных данных. Параметры, использующиеся при записи текста подпрограммы в разделе описаний, называют формальными, а те, что используются при ее вызове - фактическими.
назад содержание вперед
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 574; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.19.160 (0.016 с.) |