Программирование алгоритмов линейной структуры
Лабораторная работа №1
Введение в язык Паскаль
Контрольные вопросы:
1. Что такое алгоритмический язык?
2. Какие языки программирования вы знаете?
3. Поясните структуру языка Паскаль.
4. Из чего состоит алфавит языка Паскаль?
5. Как называются слова, имеющие фиксированное начертание и определенный смысл?
6. Можно ли ключевые слова использовать в качестве имен переменных?
7. Какие стандартные тригонометрические функции, реализованные на языке Паскаль, вы знаете?
8. Почему аргумент стандартной функции всегда записываются в круглых скобках?
Задачи:
Записать арифметические выражения на языке программирования Паскаль:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Литературы:
Основная литература:
1. Рапаков Г.Г. TURBO PASCAL 7.0 Учебный курс. М: 2002 г.-349 с.
2. Климова Л.М. PASCAL 7.0/ Практическое программирование. Решение типовых задач- М: «КУДИЦ-ОБРАЗ»,2002 г.-517 с.
3. Немнюгин С.А. TURBO PASCAL 7.0/Учебник. С-П: 2001 г.-491 с.
4. Калдыбаев С.У., Ахмедиярова А.Т. Курс лабораторных работ по программированию на языке Паскаль. Алматы,2003 г. 43 с.
5. Манежный О.А. TURBO PASCAL М: «Диалектика» 2001г.-446 с.
6. Епанешников А.М. TURBO PASCAL 7.0 .М: «Диалог» 2002 г.-367 с.
7. Глушаков С.В. TURBO PASCAL Харьков, «Фолио» 2002 г.-492 с.
Дополнительная литература:
1. Епанешников В. Программирование в среде Турбо Паскаль 7.0. - М.: ДИАЛОГ-МИФИ, 1993. - 288 с.
2. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка: Пер. с англ. - М.: Финансы и статистика, 1982. - 151 с.
3. Матчо Дж., Культин Н. TURBO PASCAL в задачах и примерах. Киев-2002 г.-256 с.
4. Юркин А.Г. Задачник по программированию. С-П: «Питер»-2002 г.
5. Фаронов В.В. TURBO PASCAL 7.0/Практика программирования. Учебное пособие.С-П:-2003 г.-1033 с.
6. Пестриков В.М., Маслобоев А.М. TURBO PASCAL 7.0 изучаем на примерах. М: 2002 г.-456 с.
7. Форсайт Р. Паскаль для всех: Пер. с англ.- М.: Машиностроение, 1986. - 288 с.
Методические указания:
Основу любого языка составляет алфавит, то есть конечный, фиксированный набор символов, используемых для составления текстов на данном языке (в нашем случае - программ). Конечно, стройность картины немного портит наличие диалектов, создающихся стихийно и очень часто включающих в себя апокрифические (неканонические) буквы и знаки. В программировании эта проблема решается введением понятия "стандарт языка". Оно практически неприменимо к языкам человеческим, вечно развивающимся и изменяющимся.
Алфавит языка Паскаль составляют:
1. буквы латинского алфавита;
2. арабские цифры;
3. специальные знаки.
Использование символов первой группы чаще всего вопросов не вызывает, но свои тонкости здесь имеются.
Во-первых, это употребление заглавных и строчных букв. Большинство существующих трансляторов не различают буквы разных регистров. Таким образом, записи "progRaM" и "PROGram" будем считать идентичными.
Во-вторых, некоторые символы латиницы и кириллицы совпадают по начертанию. Нельзя ли вместо буквы "К" латинской написать "K" русскую? Ответ: в тетради (если вы их сможете различить) - пожалуйста, в программе на ЭВМ - ни в коем случае. На вид они может быть и похожи, но уж коды-то у них совершенно разные, а компьютер, как вам известно, оперирует внутри себя не буквами, а их числовыми кодами.
По поводу привычных арабских цифр сказать можно только то, что с их помощью записываются не только числа. Цифры в качестве обыкновенных символов могут использоваться в различных других конструкциях языка.
Наиболее часто употребляемым специальным символом является пробел (в значимых местах мы будем обозначать его в записях знаком "V"). Его использование связано с форматами основной структуры программы, разделов описаний, операторов. Не следует путать наличие пробела с отсутствием символа.
Самым простым действием над переменной является занесение в нее величины соответствующего типа. Иногда говорят об этом, как о присвоении переменной конкретного значения. Такая команда (оператор), в общем виде, выглядит на языке Паскаль следующим образом:
<Имя переменной>:=<Выражение>;
Выражение, указанное справа от знака ":=", должно приводить к значению того же типа, какого и сама переменная, или типа, совместимого с переменной относительно команды присваивания. Например, переменной типа Real можно присвоить значение типа Integer или Word (впрочем, наоборот делать нельзя). Выражение будет сначала вычислено, затем, его результат будет положен в ячейки памяти, отведенные для переменной.
Что же представляет собой выражение на языке Паскаль? Многое зависит от типа выражения. Рассмотрим сначала выражения арифметические, то есть те, результатом которых является число.
В состав арифметического выражения на языке Паскаль могут входить:
· числовые константы;
· имена переменных;
· знаки математических операций;
· математические функции и функции,
· возвращающие число;
· открывающиеся и закрывающиеся круглые скобки.
Правила построения выражений напоминают математические с некоторыми уточнениями. Выражение записывается в одну строку (никакой многоэтажности) и между операндами обязательно должен стоять знак операции (Запись "2x" - не допускается). Знаки некоторых операций и названия некоторых функций отличается от привычных знаков.
Специальные и составные символы, зарезервированные слова и запись стандартных функции на языке программирования Паскаль приведены на 2-3 лекционных материалах (таблица 2.1.,2.2.,2.3.,3.6.).
Решение одного варианта:
1. Записать арифметические выражения на языке программирования Паскаль: .
Запись на Паскале: a*b/c+c/a*b
2. Выражения, записанные по правилам Паскаля, переписать в традиционной математической форме: sqrt(a+b)-cos((x+y)/2).
Математическая запись: .
Лабораторная работа №2
Программирование алгоритмов линейной структуры
Контрольные вопросы:
1. Что такое оператор?
2. Какие основные операторы языка Паскаль вы знаете?
3. Что такое алгоритм линейной структуры?
4. Что такое естественный порядок выполнения операторов?
Задачи:
1.Написать программу вычисления площади параллелограмма, если длина и ширина параллелограмма известны.
2.Написать программу вычисления объема параллелепипеда, если длина, высота и ширина параллелепипеда известны.
3.Написать программу вычисления площади поверхности параллелепипеда, если длина, высота и ширина параллелепипеда известны.
4.Написать программу вычисления объема куба, если известна длина ребра.
5.Написать программу вычисления объема цилиндра, если радиус основания и высота цилиндра известны.
6.Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей, если цена и количество известны.
7.Написать программу вычисления площади треугольника, если известна длина основания и высота.
8.Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами.
9.Написать программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (в километрах); количество бензина, которое потребляет автомобиль на 100 км пробега; цена одного литра бензина.
10. Написать программу пересчета расстояния из верст в километры (1 верста равняется 1066,8 м).
11. Написать программу пересчета веса из фунтов в килограммы (1 фунт равен 409,5 г).
12. Написать программу вычисления величины дохода по вкладу. Процентная ставка (в процентах годовых) и время хранения (в днях) задаются во время работы программы.
13. Написать программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.
14. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат (например, число 255 должно быть преобразовано к виду 25 тенге 05 тиын).
15. Найти при .
16. Найти при .
17. Найти при .
18. Найти при .
19. Найти при .
20. Найти при .
Литературы:
Основная литература:
1. Рапаков Г.Г. TURBO PASCAL 7.0 Учебный курс. М: 2002 г.-349 с.
2. Климова Л.М. PASCAL 7.0/ Практическое программирование. Решение типовых задач- М: «КУДИЦ-ОБРАЗ»,2002 г.-517 с.
3. Немнюгин С.А. TURBO PASCAL 7.0/Учебник. С-П: 2001 г.-491 с.
4. Калдыбаев С.У., Ахмедиярова А.Т. Курс лабораторных работ по программированию на языке Паскаль. Алматы,2003 г. 43 с.
5. Манежный О.А. TURBO PASCAL М: «Диалектика» 2001г.-446 с.
6. Епанешников А.М. TURBO PASCAL 7.0 .М: «Диалог» 2002 г.-367 с.
7. Глушаков С.В. TURBO PASCAL Харьков, «Фолио» 2002 г.-492 с.
Дополнительная литература:
1. Епанешников В. Программирование в среде Турбо Паскаль 7.0. - М.: ДИАЛОГ-МИФИ, 1993. - 288 с.
2. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка: Пер. с англ. - М.: Финансы и статистика, 1982. - 151 с.
3. Матчо Дж., Культин Н. TURBO PASCAL в задачах и примерах. Киев-2002 г.-256 с.
4. Юркин А.Г. Задачник по программированию. С-П: «Питер»-2002 г.
5. Фаронов В.В. TURBO PASCAL 7.0/Практика программирования. Учебное пособие.С-П:-2003 г.-1033 с.
6. Пестриков В.М., Маслобоев А.М. TURBO PASCAL 7.0 изучаем на примерах. М: 2002 г.-456 с.
7. Форсайт Р. Паскаль для всех: Пер. с англ.- М.: Машиностроение, 1986. - 288 с.
Методические указания:
Взаимодействие устройств обработки и хранения информации с внешней средой (хотя бы с пользователем) является совершенно необходимым. За такой интерфейс в языке Паскаль отвечают операторы ввода-вывода информации. Эти инструкции позволяют ввести аргументы, параметры расчетов во время выполнения программы (а не на этапе ее написания), осуществить вывод рассчитанных данных в понятном человеку виде.
Операторы ввода (форматы операторов):
Read(Список ввода);
Readln(Список ввода);
В таком формате эти команды позволяют вводить данные в переменные во время выполнения программы с клавиатуры. Элементами списка ввода могут быть имена переменных, которые должны быть заполнены значениями, введенными с клавиатуры.
Выполнение операторов ввода происходит так: ход программы приостанавливается, на экран выводится курсор, компьютер ожидает от пользователя набора данных для переменных, имена которых указаны в списке ввода. Пользователь с клавиатуры вводит необходимые значения в том порядке, в котором они требуются списком ввода, нажимает Enter. После этого набранные данные попадают в соответствующие им переменные, и выполнение программы продолжается.
Примечание: данные при вводе разделяются пробелами.
Разница между работой процедур Read и Readln (от Read line) состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln - с новой строки.
Для вывода информации в Паскале также есть две команды:
Write(Список вывода);
Writeln(Список вывода);
Такой формат использования Write и Writeln позволяет выводить на экран монитора данные из списка вывода. Элементами списка вывода могут являться имена переменных, выражения, константы. Прежде чем вывести на экран компьютер значения выражений сначала вычислит. Элементы списка, также как и в операторах ввода, разделяются запятыми.
Различие между двумя операторами вывода таково: после выполнения оператора Writeln (от Write line) происходит переход на новую строчку, а после выполнения инструкции Write, переход на новую строчку не происходит и печать по последующим командам вывода Write или Writeln будет происходить на той же строчке. При вызове оператора Writeln без параметров просто происходит переход на новую строчку.
Программа на языке Паскаль имеет следующую структуру:
program имя (input, output);
Uses модули;
Label метки;
Const объявление констант;
Type определение типов данных;
Var объявление переменных;
begin
……………
операторы, каждый из которых должен
заканчиваться точкой с запятой (;)
…………
end.
Первым в программе идет зарезервированное слово program. О разделе подключения модулей (Uses), разделе описания меток Label,разделе описания Const, разделе объявления переменных Var подробно написано в 3-лекционных материалах.
Каждая программа обязательно должна иметь часть, которая выполняет какие-либо действия и называется разделом операторов (иногда телом программы). Операторы программы, каждый из которых заканчивается точкой с запятой, располагаются между словами begin и end. Они так и называются – операторными скобками.
Решение одного варианта:Найти при .
Блок-схема: | Описание блок-схемы: 1-блок – начало алгоритма 2-блок – ввод значение x 3-блок – вычисление функции y по формуле 4-блок – печать полученного результата, значение y 5-блок – конец алгоритма |
Программа:
Program PLS;
Var x:integer; y:real;
Begin
Write(‘введите x’);
Read(x);
Y:=1+x/3-sqrt(x);
Write(‘y=’,y);
End.
Лабораторная работа №3