Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, полный углубленный курс, 4 часа в неделю)



Уроки 68 - 69
Простейшие программы. Вычисления. Стандартные функции
§54. Алгоритм и его свойства. §55. Простейшие программы. §56. Вычисления






Содержание урока

§54. Алгоритм и его свойства
§55. Простейшие программы

Пустая программа

Вывод текста на экран

Переменные

Вопросы и задания

Задачи

§56. Вычисления

§55. Простейшие программы


Переменные


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

1) запрашивает у пользователя два целых числа;
2) складывает их;
3) выводит результат сложения.

Программу на псевдокоде (смеси русского и школьного алгоритмического языков) можно записать так:

алг Сумма

нач

ввести два числа

сложить их

вывести результат

кон

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

В отличие от предыдущих задач здесь требуется хранить данные в памяти. Для этого используют переменные.

Переменная — это величина, которая имеет имя, тип и значение. Значение переменной может изменяться во время выполнения программы.

Переменная определяет область памяти, где хранится только одно значение. При записи в неё нового значения «старое» стирается, и его уже никак не восстановить.

Переменные в программе необходимо объявлять 1. При объявлении указывается тип переменной и её имя (идентификатор). Значение переменной сразу после объявления неопределённое: переменной выделяется некоторая область памяти, и там могло быть до этого записано любое число.


Некоторые языки, например язык Си, позволяют записывать в переменную значение другого типа, но вся ответственность за результат ложится на программиста.



Вот так объявляются целочисленные переменные (в которых могут храниться только целые значения) с именами а, b и с:

цел а, b, с            var а, b, с: integer;

В языке Паскаль описание переменных начинается с ключевого слова var, после него записывают список переменных и в конце через двоеточие — их тип, в данном случае целочисленный (англ, integer).

Имена переменных строятся по тем же правилам, что и имена программ. В языке Паскаль можно использовать в именах латинские буквы (строчные и заглавные буквы не различаются), цифры (но имя не может начинаться с цифры, иначе транслятору будет сложно различить, где начинается имя, а где — число) и знак подчёркивания «_».

В школьном алгоритмическом языке в именах разрешены кроме перечисленных символов ещё пробелы и русские буквы, причём строчные и заглавные буквы различаются (поэтому х и X — это разные имена переменных).

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

Тип переменной нужен для того, чтобы:

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


2 Некоторые языки, например язык Си, позволяют записывать в переменную значение другого типа, но вся ответственность за результат ложится на программиста.



В алгоритмическом языке можно при объявлении задать начальные значения переменных:

цел а, b=1, с=55

Значение переменной а осталось неопределённым.

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

Приведём полную программу сложения двух чисел:

Оператор ввод (в Паскале — процедура read) предназначен для ввода данных (например, с клавиатуры).

Оператор, содержащий символы «:=», — это оператор присваивания, с его помощью изменяют значение переменной. Он выполняется следующим образом: вычисляется выражение справа от символов «:=», а затем результат записывается в переменную, записанную слева от символов «:=». Поэтому, например, оператор

i:=i+l         i:=i+1;

увеличивает значение переменной i на 1.

У приведённой выше программы сложения чисел есть два недостатка:

1) перед вводом данных пользователь не знает, что от него требуется (сколько чисел нужно вводить и каких);
2) результат выдаётся в виде числа, которое означает неизвестно что.

Хотелось бы, чтобы диалог программы с пользователем выглядел так:

Введите два целых числа: 2   3

2 + 3 = 5

Подсказку для ввода вы можете сделать самостоятельно. При выводе результата ситуация несколько усложняется, потому что нужно вывести значения трёх переменных и два символа: «+» и «=». Для этого строится список вывода, элементы в котором разделены запятыми:

вывода, '+', b, '=',с     write(a, '+', b, ’=',с);

Обратите внимание, что имена переменных записаны без апострофов.

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

вывод а, '+', b, '=', a + b     write (а, '+', b, '=', а + b);

В обоих языках (в среде КуМир — начиная с версии 2.0) можно использовать форматный вывод: после двоеточия указать общее количество знакомест, отводимое на число. Например, программа

а := 123     а := 123;

вывод а:5     write ( а:5 );

выведет значение целой переменной а, заняв ровно 5 знакомест:

123

Поскольку само число занимает только 3 знакоместа, перед ним выводятся два пробела, которые здесь мы обозначили как « ».

Следующая страница Вопросы и задания



Cкачать материалы урока







Наверх