Файл: Основы программирования на языке Pascal (Подготовка к работе).pdf
Добавлен: 29.03.2023
Просмотров: 63
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1. ЯЗЫК PASCAL: ИСТОРИЯ И ОСОБЕННОСТИ ОПЕРАЦИЙ
1.4 Операторы write, writeln, read, readln
1.6 Обработка данных. Математические операции. Условия. Логические операции
1.7 Процедуры и функции для управления программой
ГЛАВА 2. ОСНОВНЫЕ ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PASCAL
2.1 Входная информация и принятые обозначения
2.4 Распечатка контрольных примеров, демонстрирующих работу программы
begin
readln (b);
if not 5=4 then b:=b+1 else b:=b-1;
write (b);
end.
Условие 5=4 неверно, следовательно, будет выполняться первое действие.
• or (или) – логический оператор для условия из нескольких частей. Основное действие будет выполняться, если верно хотя бы одно условие;
program Usloviya;
var d:integer;
begin
readln (d);
if (5=4+1) or (5=4) then d:=d+1 else d:=d-1;
write(d);
end.
Одно из условий верно, поэтому программа перейдет к основному действию. Тоже повторится, если верными будут все условия. Если же ни одно условие не будет верно, то выполниться альтернативное действие.
• xor – с этим оператором основное действие выполняется, если верно только одно условие. Если верны несколько условий, или же ни одного, то выполнится альтернативное действие.
program Usloviya;
var n:integer;
begin
readln(n);
if (6=4) xor (3=5-2) then n:=n+1 else n:=n-1;
write (n);
end.
Не стоит забывать что приоритет логических операций выше чем математических, поэтому, если одни совмещаются с другими, то желательно выделять математические операции скобками, чтобы не возникало ошибок при выполнении программы.
1.7 Процедуры и функции для управления программой
Поговорим о упомянутой раньше метке. Эта процедура очень легка в использовании и позволяет при надобности перейти в любую часть программы, «перескочив» одну из следующих частей, или же наоборот, вернуться в предыдущую часть.
Прописывается метка очень просто: сперва описываем метку в разделе меток, а затем указывается место перехода, а нужный оператор помечается меткой.
program Metka;
label 1,2;
var A, B:integer;
begin
readln (A);
2: if A=5 then goto 1; {2: — действие после перехода на соответствующую метку,}
A:=A+1; {goto — переход на метку}
goto 2;
1: write (A);
end.
На данном примере, программа увеличивает на 1 введенное число, пока оно не станет равным пяти. Тут мы и можем проследить действие метки.
•Delay(время) – остановка программы с задержкой, время в кавычках указывается в миллисекундах.
•Readkey – остановка программы до нажатия клавиши, значение функции – код нажатой клавиши.
•Exit – досрочное завершение процедуры.
Следует заметить, что для работы delay, readkey, и exit необходимо подключить модуль crt (uses crt).
ГЛАВА 2. ОСНОВНЫЕ ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PASCAL
2.1 Входная информация и принятые обозначения
Процедура подготовки и решения задачи на ЭВМ – достаточно сложный и трудоемкий процесс, состоящий из следующих этапов:
1. Постановка задачи (задача, которую предстоит решать на ЭВМ, формулируется пользователем или получается в виде задания). Задача формулируется на уровне понятий проблемной области, к которой она относится, и должна быть понятна исполнителю (пользователю).
2. Математическая формулировка задачи (формализация задачи). Формализация задачи фактически представляет разработку математической модели решаемой задачи и включает в себя:
1) описание задачи с помощью формул;
2) определение перечней исходных данных и получаемых результатов;
3) задание начальных условий и точности вычислений.
3. Выбор (поиск) метода решения задачи. В ряде случаев одна и та же задача может быть решена с помощью различных методов.
4. Разработка алгоритма решения задачи. На данном этапе устанавливается необходимая логическая последовательность вычислений с учетом выбранного метода решения задачи и других действий, с помощью которых будут получены результаты.
5. Написание программы на одном из имеющихся языков программирования (в нашем случае – на языке Паскаль).
В курсовой работе необходимо определить тип запись, задать массив из элементов типа определенного ранее, заполнить массив данными, предусмотреть обработку и выборку данных в соответствии с полученным заданием: «Магазин игрушек».
Необходимо ввести информацию об ассортименте магазина игрушек: номер по порядку, наименование игрушки, цена, количество, возрастные границы и вывести всю информацию на экран (5 записей).
Дополнительно: вывести стоимость самой дорогой игрушки и ее наименование.
2.2 Описание алгоритма
Создать тип запись с именем Magazin, содержащий поля: порядковый номер (n), Наименование (Naimenowanie), цена (bakss), количество на складе (shtuk), возрастная категория(let).
Объявить массив с элементами типа Magazin (5 элементов)
Заполнить массив 5-ю записями.
Вывести всю информацию на экран
Просмотреть весь массив и сделав сравнение вывести на экран самую дорогостоящую игрушку.
Анализ программы:
2 строка – подключение стандартного модуля crt «Отдельная таблица»;
3-9 строка – создание типа Magazin c полями – порядковый номер (n), Наименование (Naimenowanie), цена (bakss), количество на складе (shtuk), возрастная категория(let).
9-11 строка объявление переменных, А – массив 5 элементов типа Magazin, i, k и stoimost – переменные счетчика.
13 строка – вывод на экран подсказки о необходимости ввода 5 элементов массива.
14-26 строка – ввод 5 элементов массива;
27 строка – процедура очистки экрана;
28 строка – на экран выводится строка рамки (верхняя граница будущей таблицы);
29 строка – вывод на экран заголовков будущей таблицы;
30 строка – переход курсора на новую строку;
31-37 строка – с помощью цикла выводится на экран содержимое массива (причем вывод форматированный, на каждый элемент массива отводится определенное число позиций, для того чтобы соответствующие элементы находились друг под другом);
38 строка – нижняя граница таблицы;
39 строка – вывод на экран подсказки о необходимости ввода массива;
40 строка - действие, которое должен выполнить оператор;
42 строка - очистка экрана;
43 строка – верхней границы таблицы;
44 строка - вывод на экран заголовков будущей таблицы;
49-51 строка – сравнивание массива цены с переменной счетчика;
52 строка - записи наибольшего массива;
55 строка - вывод с пояснением, на индивидуальный элемент массива исходя из дополнительного задания
56 строка – нижней границы таблицы;
2.3 Распечатка программы
Листинг программы:
1 program Primer;
2 uses crt;
3 type Magazin=record /Тип названия записать /
4 n:integer; /запасать как целое число/
5 Naimenowanie:string;/ Записать как строковый/
6 bakss:real; / не целое /
7 shtuk:string;
8 Let:string;
9 end;
10 var/Переменная для файла/
mas:array [1..5] of Magazin; /переменная для типизированного файла/
i,k:integer;
11 stoimost:real;
12 begin/начало/
13 writeln(' Ассортимент магазина игрушек');
14 for i:=1 to 5 do/ для «» увеличить «» выполнить/
15 begin
16 writeln(' Введите порядковый номер ');
17 readln(mas[i].n);
18 writeln(' Наименование игрушки ' );
19 readln(mas[i].Naimenowanie);
20 writeln(' Цена ');
21 readln(mas[i].bakss);
22 writeln(' Количество на складе ');
23 readln(mas[i].shtuk);
24 writeln(' Возрастная категория ');
25 readln(mas[i].let);
26 end;
27 clrscr;/очистка экрана/
28 writeln(>+< < >+< >+< >+< >+< >+< >+< >+< >+< >+< >+< );
29 write(№ наименование товара, Цена, Кол-во на складе, Возрастная категория);
30 writeln;
31 k:=0;
32 for i:=1 to 5 do
33 begin
34 k:=k+1;
35 write(k,mas[i].Naimenowanie:11,mas[i].bakss:18:2,'Руб',
mas[i].shtuk:13,'Шт.', mas[i].let:14);
36 writeln;
37 end;
38 writeln(>+< >+< >+< >+< >+< >+< >+< >+< >+< >+< >+< );
39 writeln(Продолжим!!!!);
40 writeln(Ведите ввод);
41 readln;
42 clrscr;
43 writeln('********************************************');
44 write(Наименование товара Стоимость игрушки);
45 writeln;
46 stoimost:=0;
47 for i:=1 to 5 do
48 begin
49 if mas[i].bakss>stoimost then
50 begin
51 stoimost:=mas[i].bakss;
52 k:=i;
53 end;
54 end;
55 writeln(Самая дорогая игрушка, mas[k].Naimenowanie:15,
mas[k].bakss:28:2,'Руб');
56 writeln('**************************************');
57 end
2.4 Распечатка контрольных примеров, демонстрирующих работу программы
Результат программы:
Рисунок 1. - Вывод на экран всех элементов массива
После очистки экрана выводиться на экран «Самая дорогая игрушка» среди всех пяти массивов (рисунок 2).
Рисунок 2
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы были закреплены теоретические знания и приобретение практических навыков разработки программ. Pascal – это отличный язык для начала программирования. Со всем уважением к Pascal можно сказать лишь одно – Паскаль устарел.
В системном программировании его опережает с большим разрывом многие программы. Паскаль имеет более простой синтаксис, нежели другие языки программирования.
Но язык Паскаль больше всего близок к идеальной алгоритмически процедурному языку. Поскольку он полностью реализует принципы структурного программирования. Короче говоря, Pascal проще в изучении, чем другие языки.
Считаю одним из достоинств Pascal это наличие компилятора во многих операционных системах.
Прямая работа с памятью компьютера. Использование понятных английских слов таких как begin, end, program и т. д хотя и не помешал бы и русский интерфейс команд.
В данной курсовой научились пользоваться и записывать алгоритм на языке программирования Паскаль, позволяющих некоторому исполнителю чисто «механически» (т. е. совершенно не вникая в смысл совершаемых им действий) решать любую конкретную задачу из некоторого класса однотипных задач.