Что выполняет данная строка программы var d s real

Хотите стать программистом? Научиться писать программы? С чего начать? Давайте начнем с языка Паскаль.

пятница, 17 октября 2014 г.

Занятие 1. Язык программирования Pascal. Первое знакомство.

Итак, мы собираемся писать программы на языке программирования Паскаль. Причем нам необходимо научиться этому ОЧЕНЬ быстро. Попробуем.

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

«Тело программы» начинается английским словом Begin и заканчивается английским словом end . Вообще, в нашей программе может быть много Begin и end , но только самый последний « end .» будет с точкой после него. В смысле, не просто конец, а совсем-совсем конец программы.

Все, что написано перед первым в вашей программе Begin не выводится на экран, но без всего этого программа просто не работает.

Посмотрите на картинку: в красном прямоугольнике — имя программы, в желтом — «шапка», а в зеленом — «тело программы». Там много пока незнакомых слов, но мы поговорим о них чуть позже.

#3. Переменные, оператор присваивания, функции type и id | Python для начинающих

Самым главным в нашей «шапке» будет раздел Var . В этом разделе мы говорим компьютеру, сколько переменных какого типа он должен приготовить. Это нужно для того, чтоб у нас получился верный результат. Если ваша мама собирается готовить борщ, яичницу и чашечку кофе, она возьмет кастрюлю, сковородку и джезву (джезва – эта такая специальная маленькая кастрюлька для кофе, с длинной ручкой, но это сейчас не важно).

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

И тут резонный вопрос – что такое переменные. Задачи на компьютере почти никогда не пишут для решения конкретного примера с конкретными цифрами. Например, мы хотим написать программу, чтоб узнать сколько будет 2+3. А если через 5 минут мы захотим узнать, сколько будет 4+1, нам что, еще одну программу писать? Конечно, нет.

Поэтому, когда мы пишем программу, мы говорим компьютеру, чтоб он приготовил ячейку памяти а и будем её использовать для первого слагаемого. Чтоб он не забыл про ячейку памяти b , для второго слагаемого. И ячейку памяти c , чтоб было куда запоминать результат. И программа у нас будет про то, что a + b = c . Тогда мы сможем подставлять при запуске программы любые числа, и узнавать их сумму.

Читайте также:
Что такое программа tdms

var c# что это | VAR ЭТО НЕ ТИП ДАННЫХ | неявно типизированные переменные c# | C# Урок #53

Что такое переменные – мы разобрались. Теперь поговорим о типах переменных. Удобно ли жарить яичницу в кастрюле? Нет. Чтоб правильно выполнить задачу, компьютеру надо рассказать о том, что яичницу мы будем жарить в сковородке. Итак:

Integer – это целые числа от -32 727 до 32 727. Число 33 000 и даже 32 728 компьютер уже целым не считает. У него в голове такое длинное число не укладывается. Что делать, если нужно работать с большим числом или с дробью? Для этого есть другой тип.

Real – это не только большие положительные или отрицательные числа, но и дробные числа. Запомните, компьютер будет следить за тем, чтоб ваши переменные ВСЕГДА были нужного типа. Если вы сложите два целых числа, умножите целое на целое или отнимите от одного целого числа другое, вы все равно получите целое число. А если вы разделите целое на целое? Результат может быть и дробным. Поэтому переменная, которая получается в результате деления, должна быть типа Real .

Числа, которые компьютер выводит на экран в этом типе, выглядят непривычно. Вот так, например:
3,2000000000Е+4 это 32 000
3,2000000000Е-2 это 0,032

Откуда я знаю? Все просто. Считайте, что знак «+» после буквы Е означает слово «умножить», а знак «-», соответственно, «разделить». Сама буква Е означает, что делить и умножать мы будем на число 10. А число после знака указывает, сколько раз мы должны выполнить это действие. Когда-нибудь на уроках математики вам расскажут о «стандартном виде числа», т.е. о том, что любое число можно записать в виде десятичной дроби, умноженной на 10 в какой-то степени, например:

3,2·10 4 = 3,2·10·10·10·10 =32 000
Но вы быстро привыкните к этой записи и перестанете обращать на неё особое внимание.

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

String – это уже не одна буква, а много. Целая строчка разных символов. Можно даже с пробелами между словами. Надо записать ваше имя – берите тип String . Если, конечно, вас зовут Ы – тогда можно и Char . Но если в вашем имени больше, чем одна буква – тогда String .

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

Читайте также:
Программа r12 в ростелекоме инструкция по применению

Мы знаем уже достаточно, чтобы написать первые программы на Паскале.

Необходимо установить на свой компьютер собственно среду программирования – программу, в которой мы будем писать другие программы. Загрузите программу ОТСЮДА .

Решим задачу:
Ввести два целых числа. Найти их сумму и разность.

Давайте сначала определимся, сколько переменных нам будут необходимы. Если мы вводим два числа – это уже две переменные. Пусть их зовут a и b , они по условию будут содержать целые числа, значит будут типа Integer . Еще нужны переменные c и d , в которые мы будем сохранять результат сложения и вычитания соответственно. Какого типа будут эти переменные?

Ответьте самостоятельно и объясните, почему.

Внимание, несколько важных замечаний:
· Слова, написанные курсивом – это комментарий для вас, его вводить в текст программы не надо.
· Паскаль выполняет все строки программы в том порядке, в котором они написаны, сверху вниз.

· Каждая строка, если представляет собой законченную мысль, должна заканчиваться точкой с запятой «;». О строках, которые не заканчиваются этим знаком мы поговорим отдельно.

Источник: informatika117pas.blogspot.com

Программирование линейных алгоритмов

Локальные и глобальные переменные

Напомним, что каждый модуль (процедура, функция, программа) состоит из заголовка ( procedure . , function . , program . ) и блока.

Если блок какой-либо процедуры p1 содержит внутри процедуру p2 , то говорят, что p2 вложена в p1 . Пример:

procedure p1(x: real; var y: real); var c: integer; procedure p2(var z: real); . end; begin . end;

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

procedure t1; var y1, y2: real; procedure sq1; var a, b, c, d: real; begin < Переменные a, b, c, d являются локальными для sq1, область их действия – процедура sq1 >. end; begin < Переменные y1, y2 — нелокальные для sq1, область их действия – t1 и sq1 >. end;

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

При написании программ, имеющих вложенные модули, необходимо придерживаться следующих правил:

  1. Описывать идентификаторы в том блоке, где они используются, если это возможно.
  2. Если один и тот же объект (переменная, тип, константа) используются в двух и более блоках, то описать этот объект надо в самом внешнем из них, содержащем все остальные блоки, использующие данный объект.
  3. Если переменная, используемая в процедуре, должна сохранить свое значение до следующего вызова этой процедуры, то такую переменную надо описать во внешнем блоке, содержащем данную процедуру.
Читайте также:
С помощью какой программы открыть iso

Локализация переменных дает программисту большую свободу в выборе идентификаторов. Так, если две процедуры a и b полностью отделены друг от друга (т.е. не вложены одна в другую), то идентификаторы в них могут быть выбраны совершенно произвольно, в частности, могут повторяться. В этом случае совпадающим идентификаторам соответствуют разные области памяти, совершенно друг с другом не связанные.

var k: integer; procedure a; var x, z: real; begin < через x, z обозначены две величины – локальные переменные для a; k – глобальная переменная для a >. end; procedure b; var x, y: integer; begin < через x, y обозначены две другие величины – локальные переменные для b; k – глобальная переменная для b >. end; begin < k – единственная переменная, которую можно использовать в основной ветке программы >. end.

Если один и тот же идентификатор описан в блоке b и второй раз описан во вложенном в b блоке c , то надо помнить, что эти два одинаковых идентификатора соответствуют разным ячейкам памяти.

var i: integer; a: real; procedure p(var d: real); var i: integer; begin i := 3; d := i + 10 * d; end; begin a := 2.0; i := 15; p(a); writeln(‘ i = ‘, i, ‘ a = ‘, a); end.

Глобальным переменным i и a отводятся две ячейки памяти. Первыми выполняются операторы a := 2.0 и i := 15 . Затем вызывается процедура p(a) . В процессе работы p отводится ячейка для локальной переменной i и туда засылается число 3. После окончания работы процедуры p эта ячейка i программой «забывается». После возврата на оператор writeln программа знает только одну ячейку i – глобальную, т.е. ту, которая содержит число 15. Поэтому программа выдаст на печать i = 15, a = 23.0 , т.к. a = 3 + 10 * 2 .

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

type ab = array[1..3] of real; var a: ab; procedure q; var b: ab; . end;

В этом примере переменные a и b описаны через общий тип ab . Если же локальная и глобальная переменные описаны одинаково, но не через общий тип, то программа может «не понять», что эти переменные принадлежат одному типу.

var a: array[1..3] of real; procedure q; var b: array[1..3] of real; . end;

В этом примере переменные a и b – одинаковые массивы, т.е. типы этих переменных одинаковы, но программа, тем не менее, «не считает», что a и b принадлежат одному типу. Это происходит из-за того, что описание массивов дано в разных блоках.

Источник: pas1.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru