Информатика 8 класс (Урок№14 - Запись линейных алгоритмов на языке программирования.)
Информатика 8 класс (Урок№14 - Запись линейных алгоритмов на языке программирования.) На уроке Вы узнаете, что такое запись линейных алгоритмов на языке программирования Паскаль. Особое внимание будет уделено типам данных, и арифметическим действиям. Вы также познакомитесь со стандартными функциями. Одним из важных моментов, который выполняется при составлении программы на языке программирования – это вопрос о памяти, занимаемой данными. В программе необходимо предусмотреть место в памяти компьютера под все используемые данные. Заметим, что в разных версиях языка Паскаль типы данных могут отличаться по названиям и отводимому под них объему памяти. К целочисленным типам относится тип Byte, это неотрицательные целые числа, не превышающие 255 (количество учеников класса, количество этажей в доме, номер квартиры). Под тип Integer в памяти отводится 4 байта. Этот тип можно использовать для работы с большими, как отрицательными, так и положительными целыми числами (количество жителей в городе, температура на улице, количество дней года). Вещественные числа имеют в своей записи не более 16 разрядов. Отдельно от самого числа записывается положение десятичной точки, которую можно передвинуть на 300 позиций влево или вправо. Например, тип real можно использовать для таких данных, как плотность, скорость, расстояние, температура человека. Под логический тип Boolean отводится один байт памяти. Он имеет всего два разных значения. Значение True (истина) и значение False (ложь). Используется для работы с признаками, имеющими только два возможных значения. Выражение типа Char – это один любой допустимый символ. Например, буква, знак арифметического действия, цифра и даже пробел. Из отдельных символов можно сложить строки произвольной длины. Для работы с длинными последовательностями символов используется тип String. Название этого типа отличает то, что слово string является зарезервированным словом. К строкам, как и к числовым типам, можно применять действие сложение (склеивание). Операция сложения на строках не подчиняется переместительному закону, так как на строках ‘1’ + ‘2’ = ‘12’, а ‘2’ + ‘1’ = ‘21’ Оговаривая тип данных, мы не только задаем размер памяти под данные, но и определяем правила работы с ними. Так к арифметическим действиям над целыми числами - сложение, вычитание, умножение, деление - в языке Паскаль добавляются две новые операции целочисленного деления: нахождение неполного частного и остатка от деления. Рассмотрим задачу. На фабрике автомат складывает карандаши в коробки. В одну коробку входит 7 карандашей. К концу рабочего дня в автомате осталось 30 карандашей. Сколько полных коробок сможет заполнить автомат? Сколько карандашей останется? Ответить на первый вопрос нам поможет операция целочисленного деления DIV. С помощью нее мы можем найти сколько получается полных коробок. 30 div 7 = 4 Количество карандашей, оставшихся после заполнения коробок можно найти с помощью операции MOD. 30 mod 7 = 2 Мы рассмотрели частный случай решения задачи с фиксированным количеством карандашей. Алгоритм, реализованный в программе должен обладать массовостью. Решим задачу в общем случае. На фабрике имеются N готовых карандашей. В одну коробку помещается K карандашей. Сколько получится полных коробок? Сколько карандашей в незаполненной коробке? Сколько надо добавить карандашей в последнюю неполную коробку? Все переменные в задаче целые. После записи заголовка программы определимся с именами переменных, используемых в программе. Для удобства в код добавляют комментарии. Текст после двойного слэш не проверяется компилятором, он необходим только для программиста. Назначение N и K оговорено в условии задачи. Количество заполненных коробок будем хранить в переменной B. Переменные p и d будут означать, сколько карандашей в последней неполной коробке и сколько необходимо добавить в последнюю коробку, чтобы она стала полной. programPencil; var N, K: integer; // N – всего, K - в одной коробке B: integer; // B - количество коробок p, d: integer;// p – в последней, d - добавить Количество заполненных коробок определяется как неполное частное. Действие NdivK определяет ответ на первый вопрос задачи. B := NdivK; Действием NmodK найдем количество карандашей в последней неполной коробке. При делении положительных чисел результат этого действия может быть положительным, может равняться 0, но никогда остаток не может быть равен делителю. p := N mod K; Добавив вывод ответа, получим программу: program Pencil; var N, K: integer; // N – всего, K - воднойкоробке B: integer; // B - количество коробок p, d: integer;// p – в последней, d - добавить begin readln(N, K); B := N div K; writeln ('Получилось ', B, ' коробок(и)'); p := N mod K; writeln ('В последней неполной коробке ', p, ' карандаша(ей)'); end. Последнее неизвестное значение в этой задаче, казалось бы, можно найти как разность количества карандашей, которые могут поместиться в коробку и значения карандашей в неполной коробке.
Информатика 8 класс (Урок№14 - Запись линейных алгоритмов на языке программирования.) На уроке Вы узнаете, что такое запись линейных алгоритмов на языке программирования Паскаль. Особое внимание будет уделено типам данных, и арифметическим действиям. Вы также познакомитесь со стандартными функциями. Одним из важных моментов, который выполняется при составлении программы на языке программирования – это вопрос о памяти, занимаемой данными. В программе необходимо предусмотреть место в памяти компьютера под все используемые данные. Заметим, что в разных версиях языка Паскаль типы данных могут отличаться по названиям и отводимому под них объему памяти. К целочисленным типам относится тип Byte, это неотрицательные целые числа, не превышающие 255 (количество учеников класса, количество этажей в доме, номер квартиры). Под тип Integer в памяти отводится 4 байта. Этот тип можно использовать для работы с большими, как отрицательными, так и положительными целыми числами (количество жителей в городе, температура на улице, количество дней года). Вещественные числа имеют в своей записи не более 16 разрядов. Отдельно от самого числа записывается положение десятичной точки, которую можно передвинуть на 300 позиций влево или вправо. Например, тип real можно использовать для таких данных, как плотность, скорость, расстояние, температура человека. Под логический тип Boolean отводится один байт памяти. Он имеет всего два разных значения. Значение True (истина) и значение False (ложь). Используется для работы с признаками, имеющими только два возможных значения. Выражение типа Char – это один любой допустимый символ. Например, буква, знак арифметического действия, цифра и даже пробел. Из отдельных символов можно сложить строки произвольной длины. Для работы с длинными последовательностями символов используется тип String. Название этого типа отличает то, что слово string является зарезервированным словом. К строкам, как и к числовым типам, можно применять действие сложение (склеивание). Операция сложения на строках не подчиняется переместительному закону, так как на строках ‘1’ + ‘2’ = ‘12’, а ‘2’ + ‘1’ = ‘21’ Оговаривая тип данных, мы не только задаем размер памяти под данные, но и определяем правила работы с ними. Так к арифметическим действиям над целыми числами - сложение, вычитание, умножение, деление - в языке Паскаль добавляются две новые операции целочисленного деления: нахождение неполного частного и остатка от деления. Рассмотрим задачу. На фабрике автомат складывает карандаши в коробки. В одну коробку входит 7 карандашей. К концу рабочего дня в автомате осталось 30 карандашей. Сколько полных коробок сможет заполнить автомат? Сколько карандашей останется? Ответить на первый вопрос нам поможет операция целочисленного деления DIV. С помощью нее мы можем найти сколько получается полных коробок. 30 div 7 = 4 Количество карандашей, оставшихся после заполнения коробок можно найти с помощью операции MOD. 30 mod 7 = 2 Мы рассмотрели частный случай решения задачи с фиксированным количеством карандашей. Алгоритм, реализованный в программе должен обладать массовостью. Решим задачу в общем случае. На фабрике имеются N готовых карандашей. В одну коробку помещается K карандашей. Сколько получится полных коробок? Сколько карандашей в незаполненной коробке? Сколько надо добавить карандашей в последнюю неполную коробку? Все переменные в задаче целые. После записи заголовка программы определимся с именами переменных, используемых в программе. Для удобства в код добавляют комментарии. Текст после двойного слэш не проверяется компилятором, он необходим только для программиста. Назначение N и K оговорено в условии задачи. Количество заполненных коробок будем хранить в переменной B. Переменные p и d будут означать, сколько карандашей в последней неполной коробке и сколько необходимо добавить в последнюю коробку, чтобы она стала полной. programPencil; var N, K: integer; // N – всего, K - в одной коробке B: integer; // B - количество коробок p, d: integer;// p – в последней, d - добавить Количество заполненных коробок определяется как неполное частное. Действие NdivK определяет ответ на первый вопрос задачи. B := NdivK; Действием NmodK найдем количество карандашей в последней неполной коробке. При делении положительных чисел результат этого действия может быть положительным, может равняться 0, но никогда остаток не может быть равен делителю. p := N mod K; Добавив вывод ответа, получим программу: program Pencil; var N, K: integer; // N – всего, K - воднойкоробке B: integer; // B - количество коробок p, d: integer;// p – в последней, d - добавить begin readln(N, K); B := N div K; writeln ('Получилось ', B, ' коробок(и)'); p := N mod K; writeln ('В последней неполной коробке ', p, ' карандаша(ей)'); end. Последнее неизвестное значение в этой задаче, казалось бы, можно найти как разность количества карандашей, которые могут поместиться в коробку и значения карандашей в неполной коробке.
