Министерство образования и науки Республики Казахстан
Средняя общеобразовательная профильная школа
дифференцированного обучения №17 города Павлодара
Линейные программы
Методические указания
по дисциплине «Информатика»
к выполнению практической работы №1
программирование в
Turbo Pascal
(для внутришкольного пользования)
г. Павлодар, 2007г.
СОГЛАСОВАНО:
Заместитель директора по УВР Шевченко Л.В.
Руководитель методического объединения учителей математики, информатики, физики Харитонова Т.В.
«20» августа 2007г. |
УТВЕРЖДАЮ:
Директор СОПШДО №17 города Павлодара Шиндлярская Г.Ш.
«20» августа 2007г. |
Составитель
: Преподаватель математики и информатики СОПШДО №17 г.Павлодара
Шкиль Владимир Григорьевич
Практическая работа №1
Тема:
Программирование линейных алгоритмов
Цель работы:
Получение навыков работы с линейными программами в Паскале.
1.
Теоретический материал.
Паскаль – язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан в 1968–1971 гг. Никлаусом Виртом. Первоначально был разработан для обучения, но вскоре стал использоваться для разработки программных средств в профессиональном программировании.
Паскаль популярен среди программистов по следующим причинам:
1. Прост для обучения.
2. Отражает фундаментальные идеи алгоритмов в легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
3. Позволяет четко реализовать идеи структурного программирования и структурной организации данных.
4. Использование простых и гибких структур управления: ветвлений, циклов.
5. Надежность разрабатываемых программ.
Турбо Паскаль – это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.). Слово Турбо в названии системы программирования – это отражение торговой марки фирмы-разработчика Borland International (США).
Систему программирования Турбо Паскаль называют интегрированной
(
integration – объединение отдельных элементов в единое целое) средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.
Основные файлы Турбо Паскаля:
Turbo.exe – исполняемый файл интегрированной среды программирования;
Turbo.hlp – файл, содержащий данные для помощи;
Turbo.tp – файл конфигурации системы;
Turbo.tpl – библиотека стандартных модулей, в которых содержатся встроенные процедуры и функции (SYSTEM, CRT, DOS, PRINTER, GRAPH, TURBO3, GRAPH3).
Запуск интегрированной среды программирования
Для запуска интегрированной среды программирования нужно установить текущим каталог с Турбо Паскалем (TP7BIN) и ввести команду: turbo.exe.
Почти все что вы видите и делаете в среде Турбо Паскаль происходит в окнах.
Окно
– это область экрана, которую можно перемещать, изменять в размере, перекрывать, закрывать и открывать.
Интегрированная среда программирования Турбо Паскаль позволяет иметь любое количество открытых окон, но в любой момент времени активным может быть только одно.
Активное
окно – это окно с которым вы в настоящий момент работаете.
Общие горячие клавиши:
F1 – выводит окно подсказки;
F2 – сохраняет файл активного окна;
F3 – появление диалогового окна и возможность открыть файл;
F4 – запускает программу до строки, на которой стоит курсор;
F5 – масштабирует диалоговое окно;
F6 – переходит к следующему открытому окну;
F7 – запускает программу в режиме отладки с заходом внутрь процедур;
F8 – запускает программу в режиме отладки, минуя вызов процедур;
F9 – компилирование программы в текущем окне;
F10 – возвращение в меню.
Как войти в меню? Всего есть три возможности:
- с помощью "мышки";
- с помощью клавиши F10;
- с помощью комбинации Alt+<выделенная буква>. О том, что мы в меню свидетельствует курсор
- прямоугольник зеленого цвета.
Open-F3 – открыть
существующий файл (при активизации этой опции появляется окно со списком файлов, где можно выбрать необходимый),
New – создать
новый файл (очищает память редактора и переводит в режим создания нового файла, которому присваивается имя Noname.pas; имя можно изменить при записи файла на диск),
Save-F2 – сохранить
файл (переписывает файл из памяти редактора на диск),
Save as – сохранить с новым именем
,
Save all – сохранить
все в окнах (записывает содержимое всех окон редактора в соответствующие файлы),
Change dir – смена каталога
(позволяет изменить установленный по умолчанию диск или каталог),
Print – печать
файла,
Get info – выдача информации
о текущем состоянии программы и используемой памяти,
DOS Shell – выход в DOS
без выгрузки из памяти (для возврата ввести команду exit),
Exit – выход
и выгрузка из памяти.
Программы на языке Паскаль имеют блочную структуру:
1. Блок типа PROGRAM – имеет имя, состоящее только из латинских букв и цифр. Его присутствие не обязательно, но рекомендуется записывать для быстрого распознавания нужной программы среди других листингов.
2. Программный блок, состоящий в общем случае из 7 разделов:
• раздел описания модулей (uses);
• раздел описания меток (label);
• раздел описания констант (const);
• раздел описания типов данных (type);
• раздел описания переменных (var);
• раздел описания процедур и функций;
• раздел описания операторов.
Общая структура программы на языке Паскаль следующая:
Рrogram ИМЯ
..; {заголовок программы}
Uses ...; {раздел описания модулей}
Var ..; {раздел объявления переменных}
...
Begin {начало исполнительной части программы}
... {последовательность
... операторов}
End. {конец программы}
Начнем знакомство с Паскалем с программы, которая складывает два числа и выводит сумму на экран.
Примечание
. Обратите внимание на оформление текста программы.
Задача 1.
Вычислить сумму двух чисел и вывести на экран.
Program
Summa
2;
Var
number1,
{переменная для хранения первого числа}
number2,
{переменная для хранения второго числа}
rezult
{переменная для хранения результата вычисления}
: integer;
Begin
{признак начала программы}
number1 := 3;
{присваиваем переменной number1 значение 3}
number2 := 4;
{присваиваем переменной number2 значение 4}
{складываем значения переменных number1 и number2 и результат присваиваем переменной rezult }
rezult := number1 + number2;
Write (number1, '+', number2,'=',rezult);
{вывод примера на экран}
End.
{признак конца программы}
Подведем итог.
Имя этой программы Summa2. Заметим, что требования к имени выполняются: оно отражает содержание программы, а также не содержит недопустимых символов. Из разделов описаний имеется лишь один – раздел переменных. Он начинается со служебного слова Var. Мы описали три переменные: number1, number2, rezult. Все они переменные целого типа. Поэтому мы перечислили их через запятую, поставили двоеточие и указали тип переменных. Подобные объявления разделяются между собой точкой с запятой.
После описательной части идет раздел операторов, начинающийся со служебного слова Begin, после которого идут операторы языка.
Недостатком этой программы является то, что значения переменных постоянны. А нам нужно научиться писать такие программы, которые решают поставленные задачи в общем виде, т. е. для любых значений переменных. Для этого мы научимся запрашивать значения у пользователя, анализировать их и выдавать соответствующий результат.
Оператор присваивания. Арифметические выражения
Оператор присваивания - основной оператор любого языка программирования. Общая форма записи оператора:
имя величины := выражение
Например, V:=A; или V:=A+1;
При помощи оператора присваивания переменной могут присваиваться константы и выражения, значения переменных любого типа.
Как только в программе встречается переменная, для неё в памяти отводится место. Оператор присваивания помещает значение переменной или значение выражения в отведённое место.
Если в процессе выполнения программы встречается пере присваивание (т.е. та же самая переменная принимает другое значение), то старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше понять смысл слова переменная (т.е. меняющая своё значение по ходу программы).
Выражение может быть арифметическим, логическим или литерным. Важно, чтобы тип величины был согласован с видом выражения.
Арифметические выражения должны быть записаны в так называемой линейной записи согласно следующим правилам:
• выражение должно быть записано в виде линейной цепочки символов;
• используемые операции приведены в таблице:
НАЗВАНИЕ ОПЕРАЦИИ |
ФОРМА ЗАПИСИ |
сложение |
x + y |
вычитание |
x - y |
умножение |
x * y |
деление |
x / y |
• нельзя опускать знаки операций, например писать 5b. Для записи произведения чисел 5 и b надо писать 5*b;
• аргументы функций (sin, cos и др.) как и аргументы вспомогательных алгоритмов, записываются в круглых скобках, например sin(x), cos(4*x).
Порядок выполнения операций
Порядок выполнения операций при вычислении арифметических выражений можно регулировать при помощи скобок по обычным правилам. Там, где скобки отсутствуют, ЭВМ выполняет операции в следующем порядке:
• вычисляет значение всех алгоритмов-функций и стандартных функций;
• выполняет справа налево все операции возведения в степень;
• выполняет слева направо все операции умножения и деления;
• выполняет слева направо все операции сложения и вычитания.
В нашем случае сначала переменной number1 присваивается значение равное 3 и переменной number2 присваивается значение равное 4, затем вычисляется значение выражения (number1 + number2) и оно присваивается переменной rezult.
Сумма чисел посчитана.
Теперь надо вывести ее значение на экран. Для этого используют оператор Write
– записать (вывести) на экран значение переменной, записанной в скобках. В нашем случае значение переменной number1, затем символ + , далее значение переменной number2, символ = и, наконец, значение результата rezult.
И, наконец, в конце раздела операторов стоит служебное слово End, после которого стоит точка.
Внимание
!
Не забывайте о порядке на дискете и в файле:
• имя программы должно соответствовать ее содержанию,
• имя файла должно быть таким же, как и имя программы,
• файлы, содержащие программы, относящиеся к одной теме, должны находиться в одном каталоге,
• название этого каталога должно отражать его содержание.
Основные определения. Типы данных.
Познакомимся с основными понятиями языка.
Алгоритм
– четкая последовательность действий, необходимая для решения задачи.
Программа
– алгоритм, записанный на языке программирования.
Алфавит языка
– набор элементарных символов, используемый для составления программ. Алфавит содержит:
52 буквы латинского алфавита (строчные и заглавные);
арабские цифры (0-9);
специальные символы:
знаки математических действий (+ – * / ),
знаки пунктуации (. : , ; " ` ),
скобки ( [ ] ( ) { } ),
знак пробела,
знаки отношений (< > =)
Идентификатор (имя)
– имя какого-либо элемента программы, которое должно удовлетворять следующим требованиям:
• длина имени не должна превышать 63 символа,
• первым символом не может быть цифра,
• переменная не может содержать пробел;
• имя не должно совпадать с зарезервированным (служебным) словом,
• прописные и строчные буквы воспринимаются одинаково.
Зарезервированные (служебные)
слова – это слова, использующиеся только по своему прямому назначению. Их нельзя использовать в качестве переменных, так как они выполняют определенную смысловую нагрузку.
Примеры зарезервированных слов: AND, GOTO, PROGRAM, ELSE, IF, RECORD, NOT, ARRAY, REPEAT, UNTIL, BEGIN, IN, SET, END, CASE, CONST, USES, INTERFACE, STRING, LABEL, THEN, OF, DIV, TO, VAR, DO, TYPE, WHILE, DOWNTO, FILE, FUNCTION, PROCEDURE и другие.
Переменные
(Var
) – вид данных, который может изменять свое значение в ходе программы, описывают переменные после зарезервированного слова Var.
Константы
(Const)
– вид данных, который является постоянным на всем протяжении выполнения программы, описывают константы после зарезервированного слова Const.
Комментарии
– некоторая запись, служащая для пояснения программы, которая записывается в фигурных скобках.
Типы данных.
Для временного хранения информации в операторах памяти машины в языке Паскаль используются константы и переменные. Они могут быть различных типов:
· целых чисел (см. ниже);
· действительных чисел (real);
· символьный тип (char);
· строковый (string);
· логический (boolean);
· сложные (комбинированный (record), множественный (set) и другие).
Целые типы
:
Название |
Длина в байтах |
Диапазон значений |
Byte |
1 |
0 ... 255 |
ShortInt |
1 |
-128 ... 127 |
Word |
2 |
0 ... 65535 |
Integer |
2 |
-32768 ... 32767 |
LongInt |
4 |
-2147483648 ... 2147483647 |
Над целыми типами определены такие операции:
1. "+" - сложение;
2. " * " - умножение;
3. " - " вычитание;
4. div - целочисленное деление;
5. mod - получение остатка от целочисленного деления.
Вещественные типы
.
Вещественные типы представляются с некоторой точностью, которая зависит от компьютера. Вам необходимо знать, что вещественный тип разделяется на несколько типов, но использовать мы будем вещественные данные только типа Real, которые занимают 6 байт, имеют диапазон возможных значений модуля от 2.9Е-39 до 1.7Е+38 и точность представления данных – 11...12 значащих цифр.
Примечание
. Несмотря на то, что в Turbo Pascal имеется широкий выбор вещественных типов, доступ к некоторым из них (single, double, extended) возможен при особых режимах компиляции. Особое положение в Turbo Pascal занимает тип comp, трактующийся как вещественное число без экспоненциальной и дробной частей. Он сохраняет 19 - 20 значащих цифр и знак числа. В то же время comp полностью совместим с любыми другими вещественными типами.
В языке Паскаль числа могут быть представлены в двух видах: с фиксированной точкой и плавающей запятой. Числа с фиксированной
точкой изображаются десятичным числом с дробной частью, которая может быть и нулевой. Например, 27.9, 5.00. Такие большие числа как 137.000.000 можно записать в виде чисел с десятичным порядком . Такие числа имеют вид mEp. Здесь m - мантисса; E - признак записи числа с десятичным порядком; p - степень числа 10. Получится 1.37Е+8. Такие числа, представленные с десятичным порядком и называются числами с плавающей
точкой. Например,
Математическая запись: |
Запись на Паскале: |
|
4E -4 |
|
0.62E+5 |
|
-10.88E12 |
Компьютер, по умолчанию, представляет действительные числа в виде чисел с плавающей точкой. Такое представление чисел не очень нравится пользователям. Поэтому мы будем “заставлять” компьютер выдавать действительные числа в более привычном варианте следующим образом:
R:m:n
, где R – действительное число, m – количество позиций, отводимых для целой части, n – количество позиций, отводимых для дробной части.
Например
, если мы хотим вывести на экран число Chislo с фиксированной точкой, причем знаем, что для вывода целой части этого числа достаточно 7 мест, а вывод дробной части ограничим сотыми, то мы запишем вывод так:
Write (Chislo:7:2
)
<
.
Значениями данного типа является множество всех символов компьютера: русская или латинская большая или маленькая буква, цифра, знак препинания, специальный знак (например, "+", "-", "*", "/", "", "=" и др.) или пробел " ". Каждый из символов имеет уникальный номер от 0 до 255, т. е. внутренний код, который возвращает функция ORD. Символьная константа или символьная переменная - любой символ языка, заключённый в апострофы. Например,
Var
Simvol : char;
Строковый тип (string)
.
Значением строковой величины является строка переменной длины (быть может пустая). Строковая константа или строковая переменная представляет собой произвольную последовательность символов, заключенную в апострофы. Например,
Var
Stroka : string;
Логический тип (boolean).
Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя математической логики. В языке Паскаль имеются две логические константы TRUE и FALSE. Логическая переменная принимает одно из этих значений и имеет тип Boolean. Для сравнения данных предусмотрены следующие операции отношений: <, <=, =, <>, >, >=. А также существуют специфичные для этого типа логические операции OR - или; AND - и; NOT - не.
При проверке некоторых условий результат операции может быть истинным или ложным. Например, 3>5 ложь.
Более подробно этот тип данных мы рассмотрим при изучении условного оператора.
Сложные типы.
К сложным или структурированным типам относятся массивы, записи, множества, которые требуют специального изучения и здесь рассматриваться не будут.
Задача2
.
Найти среднее значение трех чисел.
Примечание
. Чтобы найти среднее значение нескольких чисел, нужно сложить эти числа и сумму разделить на количество этих чисел.
Program Srednee;
Uses Crt;
Var
First, Second, Third : integer;
Sum : real;
Begin
ClrScr;
Write (‘Введите первое число ‘);
ReadLn(First);
Write (‘Введите второе и третье числа через пробел ‘);
ReadLn(Second, Third);
Sum := First + Second + Third;
Sum := Sum/3;
Write (‘Среднее значение ‘, First, ‘, ‘,Second, ‘ и ‘, Third, ‘ равно ‘, Sum:5:2);
ReadLn;
End.
Имя программы Srednee отражает содержание задачи. Далее идет подключение модуля Crt. В разделе Var описаны First, Second, Third как переменные целого типа, а Sum – действительного типа. Раздел операторов начинается со стандартной процедуры очистки экрана ClrScr (Clear Screen), которая находится в модуле Crt. Далее оператором Write мы выводим на экран сообщение ‘Введите первое число ‘, получив которое пользователь должен ввести число. Теперь компьютер должен считать введенные символы и занести их в переменную First, это произойдет при выполнении следующего оператора ReadLn(First). Затем с помощью оператора Write запрашиваем значения еще двух чисел и считываем их в переменные Second и Third. Затем вычисляем их сумму и присваиваем полученное число переменной Sum. Чтобы найти среднее, нужно теперь полученное число разделить на 3 и сохранить результат в какой-либо переменной. Совсем не обязательно описывать еще одну переменную для сохранения результата. Можно, как в нашей программе, значение переменной Sum разделить на 3 и результат опять присвоить той же переменной Sum. Теперь можно вывести результат вычислений на экран с помощью процедуры Write. И, наконец, последняя процедура ReadLn задержит наш вывод на экране до нажатия на клавишу.
Нажмите клавиши <Ctrl>+<F9>. Введите значения переменных 5, 7 и 12, на экране увидите следующее:
Среднее значение 5, 7 и 12 равно 8.00
Просмотрите внимательно эту строчку и сравните со строчкой вывода результата в нашей программе. Протестируйте программу еще несколько раз для других значений переменных.
Стандартные функции и процедуры.
Применение в простейших линейных программах.
Для решения задач нам понадобятся стандартные функции и процедуры.
Функция
– это такая организация преобразования переданного ей значения, при которой это измененное значение передается обратно.
Процедура
– это такая организация преобразования переданного ей значения параметра, при которой изменяется значение этого параметра, и, в отличие от функции, не возвращает никакого значения.
Познакомимся с основными, наиболее часто используемыми.
I Арифметические функции
1) Abs(x)
, где аргумент и результат являются переменными целого или вещественного типа – вычисляет модуль (абсолютную величину) числа х;
2) Cos(x),
где аргумент и результат являются переменными вещественного типа – вычисляет косинус х;
3) Sin(x)
, где аргумент и результат являются переменными вещественного типа – вычисляет синус х;
4) Frac(x),
где аргумент и результат являются переменными вещественного типа – выделяет дробную часть числа х;
5) Int(x),
где аргумент и результат являются переменными вещественного типа – выделяет целую часть числа х;
6) Pi,
где результат является переменной вещественного типа – вычисляет значение ;
7) Random(x),
где аргумент и результат являются переменными целого типа – генерирует случайное число в пределах от 0 до х включительно. Если параметр х не задан, то формируется вещественное число от 0 до 1. Перед использованием данной функции нужно инициализировать генератор случайных чисел при помощи процедуры Randomize (см. ниже);
8) Sqr(x)
, где аргумент и результат являются переменными целого или вещественного типа – вычисляет ;
9) Sqrt(x),
где аргумент и результат являются переменными целого или вещественного типа – вычисляет .
II Функции преобразования типов
1) Chr(x),
где аргумент типа Byte, а результат типа Char– возвращает символ, у которого код в таблице ASCII равен х;
2) Ord(x),
где аргумент может быть любого порядкового типа, а результат типа LongInt – возвращает порядковый номер значения х при начале нумерации с нуля;
3) Round(x),
где аргумент вещественного типа, результат типа LongInt – округляет число х до ближайшего целого;
4) Trunc(x),
где аргумент вещественного типа, результат типа LongInt – выделяет целую часть числа х.
III Функции для порядковых типов
1) Odd(x),
где аргумент типа LongInt, а результат логического типа – определяет, является ли число четным (результат false) или нечетным (результат true);
2) Pred(x),
где аргумент и результат любого порядкового типа – получает предшествующее значение;
3) Succ(x),
где аргумент и результат любого порядкового типа – получает последующее значение;
4) Upcase(x),
где аргумент и результат типа Char – преобразует букву латинского алфавита в соответствующую ей заглавную (буква х может быть как строчной, так и заглавной).
IV Процедуры для порядковых типов
1) Dec(x),
где аргумент любого порядкового типа – уменьшает значение переменной х на 1;
2) Dec(x,n),
где х любого порядкового типа, а n типа LongInt – уменьшает значение переменной х на n;
3) Inc(x),
где аргумент любого порядкового типа – увеличивает значение переменной х на 1;
4) Inc(x,n),
где х любого порядкового типа, а n типа LongInt – увеличивает значение переменной х на n;
5) Randomize
– инициализирует генератор случайных чисел.
Правила применения функций:
• чтобы воспользоваться функцией, нужно указать ее в правой части оператора присваивания;
• при обращении к функции необходимо в круглых скобках указать ее аргументы;
• в разделе описания переменных правильно указывайте типы переменных, которые хотите употребить в качестве аргумента или результата функции;
• в одном выражении можно обратиться к нескольким функциям.
Правила применения процедур:
• для выполнения процедуры ее надо вызвать в программе в виде оператора;
• в разделе описания переменных правильно указывайте тип переменной, которую хотите употребить в качестве аргумента процедуры.
Задача 3
. Найти значения выражений:
a) (1+x)2 b) c) |a+ bx|
Прежде чем приступить к составлению программы, необходимо перевести данные выражения с математического языка на язык Паскаль.
a) (1+x)2 - sqr(1+x)
b) - sqrt((1+A)*5)
|
c) - abs(A+b*x)
Теперь уже можно переходить к составлению программы.
Program Primer;
Uses
Crt;
Var
A : word; {так как подкоренное выражение должно быть положительно}
b, x, Rezult : integer;
Begin
ClrScr;
Writeln(‘Введите значения переменных (A-положительно)’);
Write(‘A=’);
Readln(A);
Write(‘b=’);
Readln(b);
Write(‘x=’);
Readln(x);
Result := sqr(1+x);
Write (‘sqr(1+x)=’, Rezult);
Result := sqrt((1+A)*5);
Write (‘sqrt((1+A)*5)=’, Rezult);
Result := abs(A+b*x);
Write (‘abs(A+b*x)=’, Rezult);
Readln;
End.
2. Задание
По номеру варианта взять задание и составить программу.
Группа А
1. Ввести два числа a и b. С помощью оператора присваивания обменять их значения:
а) с использованием промежуточной переменной (x:=a; a:=b; b:=x);
b) без использования промежуточной переменной (a:=a-b; b:=a+b; a:=b-a).
2. Составить программу, которая запрашивает у пользователя целое число, действительное число, произвольный символ и строку, а затем все выводит в одной строчке.
3. Выведите на экран свою фамилию, имя и отчество, а через две строки – дату своего рождения.
4. Написать программу для печати звездочками одной из фигур:
а) елочки (нескольких елочек);
б) снежинки (нескольких снежинок);
в) домика.
Например,
*
* *
* *
**********
* *
* *
* *
* *
**********
5. Составить свою визитную карточку.
*******************************
* Иванов Сергей *
* Катаева 74 кв. 55 *
* Телефон 45-72-88 *
*******************************
6. Составьте диалог пользователя с компьютером на произвольную тему.
Например, машина задает два вопроса “Как тебя зовут?” и “Сколько тебе лет?”; после введения имени (Антон) и числа (15) выводит на экран “Да... Через 50 лет тебе уже будет 65 лет, а звать тебя будут не Антон, а дед Антон”
7. Запросить у пользователя два числа и вывести на экран результат суммы, разности, произведения и частного этих чисел полным ответом.
8. Запросить у пользователя два числа и вывести на экран результат целочисленного деления и остаток от целочисленного деления в виде таблицы. Например, при вводе чисел 5 и 3 на экране должна быть такая таблица:
**************************
* X * Y * div * mod *
**************************
* 5 * 3 * 1 * 2 *
**************************
9. Написать программу, которая запрашивает название животного и число, а затем выводит на экран фразу типа "Белка съест 10 грибов" (при вводе слова "белка" и числа 10).
10. Организуйте диалог продавца (компьютер) и покупателя (пользователь) при покупке какого-либо товара по следующей схеме: предложение товара по определенной цене, запрашивание количества покупаемого товара, определение и вывод на экран денежной суммы, которую должен заплатить покупатель за покупку.
Группа В
1. Найти значение арифметического выражения, запросив значения переменных у пользователя:
а) b) c)
2. По данным сторонам прямоугольника вычислить его периметр (P), площадь (S) и длину диагоналей (D) по формулам: Р=2(a+b); S=ab; D=
3. Запросите действительное число и найдите целую часть этого числа и округлите его до ближайшего целого.
4. Найти площадь круга (S) и длину окружности (L) заданного радиуса.
S=R, L=2R
5. Выполнить целочисленное деление натурального числа х на натуральное число у и вывести на экран частное q и остаток r (см. формулы).
6. Составить программу вычисления площади произвольного треугольника, пользуясь любой из известных формул (задав необходимые исходные данные):
S=, где а – основание треугольника, h – высота, проведенная к этому основанию;
S=, где a, b, с – стороны треугольника, а р =;
S=С, где a, b – стороны треугольника, С – угол между ними.
7. Вычислить рациональным способом, то есть за минимальное количество операций:
a) y=x, (т.е. за три операции y=
b) y=x, (т.е. за три операции y=
c) y=x, (т.е. за три операции y=
8. Найти значение выражения:
a) d= b) d=
9.Вычислить объем (V) и площадь (S) полной поверхности прямоугольного параллелепипеда по длинам его ребер а, в, с.
V=abc; S=2ab+2bc+2ac
10. По данной высоте Н и диаметру основания D прямого кругового цилиндра вычислить его площадь полной поверхности (S) и объем (V).
S=; V=
11. По известному радиусу вычислите объем и площадь поверхности шара.
S=4, V=
12. Составьте программу вычисления длин высот треугольника, у которого длины сторон a, b, c.
Примечание
. Высотой треугольника называется перпендикуляр, опущенный из любой вершины треугольника на противолежащую сторону или ее продолжение. Высота треугольника, опущенная на сторону а можно найти по формуле:
, где
13. Составьте программу вычисления длин медиан треугольника, у которого длины сторон a, b, c.
Примечание
. Медианой называется отрезок, соединяющий любую вершину треугольника с серединой противоположной стороны. Медиану, соединяющую вершину треугольника А с серединой стороны а, можно найти по формуле:
14. Составить программу вычисления давления столба жидкости плотностью высотой H на дно сосуда, пользуясь формулой P=gH, где g=9,8
15. Составьте программу вычисления силы давления, действующей на пол со стороны стола массой m, если суммарная площадь (S) опоры ножек стола 100 см, пользуясь формулой , где g=9,8
16. Составьте программу вычисления выталкивающей силы , действующей на тело объемом V, наполовину погруженное в жидкость плотностью , пользуясь формулой F=gV.
17. Составьте программу вычисления потенциальной энергии тела массой м на высоте h относительно Земли, пользуясь формулой E=gmh.
18. Составьте программу вычисления механической работы, когда тело равномерно движется под действием приложенной к нему силы, пользуясь формулой A=FS, где F – приложенная сила, а S – пройденный путь.
19. Ввести 4-значное число. Превратить его в 2-значное, отбросив первую и последнюю цифру.
20. С клавиатуры задается число К. Выбросить из записи К цифру, обозначающую сотни. Вывести полученное число на экран.
Группа С
Задание:
Найти значение арифметического выражения, запросив значения переменных у пользователя.
1. 11.
2. 12.
3. 13.
4. 14.
5. 15.
6. 16.
7. 17.
8. 18.
9. 19.
10. 20.
3. Отчёт
Отчёт должен содержать:
1) задание к работе;
2) программу;
3) результаты расчётов.
4. Контрольные вопросы
1). Почему при записи формул на Паскале их "вытягивают" в линию? Почему знак
умножения всегда выписывают явно?
2) Почему на Паскале аргумент функции всегда записывают в скобках (например,
ln(5), а не ln5)
3) Укажите символы, буквы, составные символы: ^, Y, <>, +, *, R, k, $, !, ф
4) Что в списке можно рассматривать как идентификаторы:
FIO, ФИО, 33719, X, Y, >=, $, &, Summa, _
Rezult
5) Какие идентификаторы удобнее использовать и почему:
klass1, Klass_
1, summadohoda, SummaDohoda, nomerdoma, Nomer_
Doma
6) Найдите в следующем списке зарезервированные слова:
X, Program, Y, Summa, MyMoney, Произведение, Volvo, begin, end, if, repeat, Read.
7) В каких случаях надо использовать переменные:
• если в программе используется какое-то число,
• если в вычислениях какой-то операнд постоянно меняет свое значение,
• если операнд в выражении хотя бы раз меняет свое значение.
8) Какая структура программы правильна:
a) Program MyProgram; b) Program MyFirst;
Begin Begin
WriteLn(‘Привет!’); X:=Y+100;
End. End.
9) Какой из перечисленных разделов обязателен в программе?
• раздел Var
• раздел Const
• раздел Type
• раздел Begin ... End
• раздел Label
10) Для чего используется слово Uses?
11) В разделе процедур и функций описываются только стандартные процедуры?
• да,
• нет, только пользовательские,
• и стандартные, и пользовательские.
12) Найдите ошибки в программах:
a) Program Ошибки1;
Begin
Summa:=6+8;
End;
b) Program Ошибки2;
Begin
Var
X:integer;
X:=6+8;
Write(X);
End;
13) С чего начинается программа?
14) Как описываются переменные?
15) С чего начинается основная программа?
16) Как выглядит оператор вывода? Для чего он служит? Какое существует различие
между выводом сообщения и выводом значения переменной? Можно ли с
помощью оператора вывода выполнить два действия? Если – да, то какие?
17) Что собой представляет оператор ввода? Для чего он служит? Как можно его
использовать, чтобы осуществить задержку экрана?
18) Как происходит присваивание переменной какого-либо значения? Как называется
этот оператор?
19) Чем заканчивается программа?
20) Как сохранить программу на диске?
21) Как сохранить программу под другим именем? Зачем это бывает необходимо?
22) Как отрыть новый файл?
23) Как отрыть уже существующий файл?
24) Как выйти из программы?
25) Какие есть способы загрузки программы Турбо Паскаля в оперативную память?
26) Что такое процедура и чем она отличается от процедуры?
27) Что означает понятие "зарезервированное слово" ?
28) Какие имена можно использовать в языке TurboPascal?
29) Из каких частей состоит программа, написанная на языке TurboPascal?
30) Для чего необходим в программе раздел описаний?
31) Какие стандартные типы вам известны?
32) Какие типы относятся к порядковым.?
33) В чем различия между данными действительного и целого типов?
34) Назовите функции горячих клавиш F1-F10.
35) С помощью какой клавиши можно выйти в главное меню?
5. Литература
1. Новичков В.С. ПАСКАЛЬ – В.С. Новичков, Н.И. Парфилов, А.Н. Пылькин - М.: Высшая школа, 1990г.
2. Савельев А.Я. ЯЗЫКИ ПРОГРАММИРОВАНИЯ (Паскаль, ПЛ/М). – М.: Высшая школа. 1987г.
3. Боон К. ПАСКАЛЬ ДЛЯ ВСЕХ. – М.- Энергоатомиздат, 1988г.