русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

WriteLN ?


Дата добавления: 2015-08-31; просмотров: 1008; Нарушение авторских прав


LN - это сокращение от английского слова LINE, т.е. СТРОКА и наличие этих букв обозначает, что, после завершения вывода этого текста нужно переместить курсор к началу следующей строки.

Для справки : курсор - это специальный символ (знак подчеркивания или прямоугольник), который указывает позицию экрана, в которую будет выводится очередной символ.

for i:=1 to 10 do readln(a[i]);

Эта строка в программе как раз и обеспечивает ввод в объявленный нами массив A с клавиатуры 10 чисел.

Дословно эта строчка читается так:

Для I от 1 до 10 делать читать A[i]

Т.о., компьютер, повинуясь этой строчке нашей программы, ждет, пока мы наберем на клавиатуре число и нажмем клавишу "Ввод" ("Enter"). Это число он занесет в элемент массива A[1], т.е. первый элемент массива A. Потом компьютер ждет, пока мы наберем на клавиатуре второе число, что бы занести его в A[2] и так далее, до 10-го элемента, который он занесет в A[10].

s:=0;

Вспомним, что переменную S мы завели, что бы накапливать там сумму введенных чисел. Понятно, что начальное значение этой переменной, т.е. значение переменной S пока мы не начали складывать, должно быть равно 0.

Это как раз и обеспечивается данным оператором.

А дословно он читается так:

В переменную S занести число 0.

Или так:

Переменной S присвоить значение 0.

for i:=1 to 10 do s:=s+a[i];

Дословно эта строка читается так:

Для I от 1 до 10 делать

новое значение переменной S вычислить как результат сложения старого значения переменной S и элемента массива A[i]

Или, по другому, ее можно читать и так :

Для I от 1 до 10 делать

взять старое значение переменной S, прибавить к нему значение элемента A[i] и занести полученную сумму обратно в переменную S.

И вот это - единственная строчка в программе, которая и решает непосредственно поставленную задачу - т.е. последовательно суммирует введенные 10 чисел в переменной S, добавляя туда сначала значение A[1] - т.е. первого элемента массива A (т.е первого числа, которое мы ввели с клавиатуры), потом значение A[2] - т.е. второго элемента массива A (т.е второго числа, которое мы ввели с клавиатуры), потом значение A[3] - т.е. третьего элемента массива A (т.е третьего числа, которое мы ввели с клавиатуры), и так далее, наконец, значение A[10] - т.е. десятого элемента массива A (т.е десятого числа, которое мы ввели с клавиатуры).



После завершения выполнения этой строки в переменной S находится искомый результат - требуемая нам сумма!

writeln('исходный массив');

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

for i:=1 to 10 do write(a[i], ' ');

Дословно эта строка читается так: Для I от 1 до 10 делать

вывести на экран A[i], а потом символ пробел (' ')

Обратите внимание на то, что используется оператор WRITE, а не WRITELN (как это было ранее). При этом курсор НЕ переводится к началу следующей строки, а остается за последним выведенным символом, таким образом числа массива A выводятся одно за другим в одной строке, а что бы они не "слиплись", мы разделяем их, выводя после каждого числа символ пробел (' ').

Если бы мы использовали оператор WRITELN, то числа выводились бы в столбик - а это, в нашем случае, менее наглядно.

writeln;

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

writeln('ответ ‘,s);

Понятно, что это оператор мы используем, что бы дать понять, что далее мы намерены сообщить результат работы нашей программы.

End.

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

Ну вот мы и разобрали первую простейшую программу на ПАСКАЛЕ. А что измениться в программе, когда Вы будете писать другие программы, обрабатывающие одномерные массивы?

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

А менять от программы к программе необходимо только ту часть, которая собственно занимается расчетами.

Например, что нужно изменить в нашей программе, если мы захотим не сложить, а перемножить введенные числа ?

Безусловно, Вы догадались, что изменить нужно всего лишь 2 символа: + на * и 0 на 1 получив при этом следующую расчетную часть:

s:=1; {Перемножение элементов}

for i:=1 to 10 do s:=s*a[i]; {одномерного массива}

Ну а программа, которая будет перемножать, а не складывать введенные числа будет выглядеть так:

program Mul_1mas; {Перемножение элементов одномерного массива}

var {Обьявление}

a : array [1..10] of integer; {массива a из 10 элементов}

i, s : integer;

begin

writeln('Вводите 10 чисел'); {поясняющий текст}

for i:=1 to 10 do readln(a[i]); {Ввод одномерного массива}

s:=1;

for i:=1 to 10 do s:=s*a[i]; {Перемножение элементов одномерного массива}

writeln('исходный массив'); {Поясняющий текст}

for i:=1 to 10 do write(a[i], ' '); {Вывод одномерного массива}

writeln;

writeln('ответ',s); {результат}

end.

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

Простейшие алгоритмы на одномерном массиве:

s:=0; {Подсчет элементов равных заданному например – 5}

for i:=1 to 10 do

if a[i]=5 then s :=s+1;

...

s:=a[1]; {Поиск максимального элемента }

for i:=2 to 10 do

if a[i]>s then s:=a[i];

...

s:=a[1]; {Поиск минимального элемента}

for i:=2 to 10 do

if a[i]<s then s:=a[i];

...

i:=1; {Поиск элементов равных заданному например – 3}

while (i<=10) and (a[i]<>3) do i:=i+1;

if i>10

then writeln('3 нет ')

else writeln('первая 3 имеет индекс ',i);

...

Давайте рассмотрим их по порядку



<== предыдущая лекция | следующая лекция ==>
Стандартная обработка одномерных массивов | Подсчет элементов, обладающих заданным свойством


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.084 сек.