Программирование на языке Turbo Pascal
Методические рекомендации по решению практических задач автоматизации вычислительных процессов с использованием языка программирования Turbo Pascal в части работы с массивами данных, построения таблиц идентификаторов и алгоритмов, разработки программ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | методичка |
Язык | русский |
Дата добавления | 18.10.2017 |
Размер файла | 218,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Бурятский филиал ГОУ ВПО СибГУТИ
Методические указания и задания
по выполнению курсовой работы
по дисциплине: "Информатика"
(для специальностей "Сети и системы коммутации", "Многоканальные телекоммуникационные системы")
Улан-Удэ, 2009 г.
Введение
Курсовая paботa начинается с титульного листа, пример оформления которого приведен в приложении 1. Должна иметь содержание, в конце работы указывается список использованной литературы. Курсовая работа должна содержать две части.
В первой части должны присутствовать:
* теоретический материал по теме: "Массивы";
* таблица соответствия обозначений;
* схема алгоритма программы;
* программа на языке Паскаль;
* тестирование и отладка программы.
Во второй части необходимо привести:
* теоретический материал по теме: "Записи и файлы";
* таблицу соответствия полей записи;
* схему алгоритма создания файла;
* таблицу с исходными данными для создания файла;
* программы создания файла;
* схему алгоритма обработки файла;
* программу обработки файла;
* таблицу с результатами обработки файла.
Схемы алгоритмов должны быть составлены с использованием установленных символов и правил их соединения.
Описание задания к первой части курсовой работы
Дана матрица N(строки)xM(столбцы). Пусть N (по вариантам) - количество цифровых станций, обслуживающих данный населенный пункт. М=6 - количество услуг (1 услуга - телефония, 2 услуга - поиск документов, 3 услуга - цветной факс, 4 услуга - передача файлов, 5 услуга - видеотелефония, 6 услуга - поиск видео). Количество услуг оказанных каждой станцией определяется формулой
ai=random(30*k+50),
где k - номер варианта.
В соответствии с вариантами задания, приведенными ниже, разработать схему алгоритма программы, затем описать алгоритм в виде программы на языке Паскаль.
Таблица. Варианты заданий
№ варианта, k |
Кол-во станцийN |
Задание |
|
1 |
4 |
Определить вид услуги с максимальным объемом |
|
2 |
5 |
Определить номер станции с наибольшим объемом оказанных услуг |
|
3 |
6 |
Определить общий объем по видам услуг на всех станциях |
|
4 |
8 |
Определить какой вид услуги пользовался наименьшим спросом |
|
5 |
5 |
Определить на каких станциях услуги (телефония и видеотелефония) оказаны более чем на 100. |
|
6 |
4 |
Определить на какой станции услуга "поиск документов" оказана в максимальном объеме |
|
7 |
6 |
Определить какая услуга была оказана в максимальном и минимальном объеме и вывести номера станций |
|
8 |
7 |
Определить количество станций оказавших объем всех услуг выше среднего |
|
9 |
5 |
Определить количество станций, оказавших услуги в объеме от 50 до 150 |
|
10 |
4 |
Определить на станции №5 виды услуг наибольшего и наименьшего объема |
|
11 |
3 |
Определить среднее значение объемов услуг по видам услуг |
|
12 |
6 |
Определить станцию, в которой объем услуг "Передача файлов" оказался наибольшим |
|
13 |
7 |
Определить на каких станциях общий объем услуг оказался меньше 100 |
|
14 |
4 |
Определить среднее значение объемов по станциям |
|
15 |
5 |
Определить станцию, на которой оказан минимальный объем услуг |
|
16 |
3 |
Определить на каких станциях общий объем услуг составляет выше 300 |
|
17 |
6 |
Определить рейтинг по видам услуг (упорядочить по убыванию, вычислив сумму по столбцам) |
|
18 |
7 |
Определить какая услуга пользовалась наименьшим спросом на станции №4 |
|
19 |
5 |
Определить рейтинг станций (упорядочить по убыванию, вычислив сумму по строкам) |
|
20 |
6 |
Определить средний объем услуг по станциям |
|
21 |
7 |
Определить на станциях 3,4,5 суммарный объем услуг |
|
22 |
5 |
Определить номера станций, на которых оказан общий объем услуг от 100 до 200 |
|
23 |
4 |
Определить суммарный объем услуг 1 и 2 видов, оказанных 2,3,4 станицей |
|
24 |
8 |
Определить процент от общего объема услуг по каждой станции |
|
25 |
6 |
Определить процент от общего объема услуг по видам услуг |
|
26 |
6 |
Определить общий объем услуг, оказанных каждой станцией |
|
27 |
5 |
Определить виды услуг, которые по объему оказаны ниже среднего арифметического объема всех услуг |
|
28 |
4 |
Определить номера станций, которые по объему оказали ниже среднего арифметического общего объема |
|
29 |
8 |
Вывести номера станций по убыванию объемов оказанных услуг |
|
30 |
7 |
Вывести названия видов услуг по убыванию объемов |
Методические указания по выполнению первой части курсовой работы
Перед тем, как приступить, к выполнению курсовой работы, необходимо изучить данные методические указания соответствующие теоретические разделы литературы.
Первую часть курсовой работы рекомендуется выполнять в следующем порядке: программирование turbo pascal
1. Выбрать вариант задания.
2. Определить перечень исходных и результирующих данных, дать имена (идентификаторы) этим данным, заполнить таблицу идентификаторов
3. Разработать схему алгоритма программы.
4. Составить программу по разработанному алгоритму.
5. Отладить и протестировать программу.
Пример выполнения первой части курсовой работы
Пример 1: Дана матрица N(строки)xM(столбцы). Пусть N (по вариантам) - количество цифровых станций, обслуживающих данный населенный пункт. М=6 - количество услуг (1 услуга - телефония, 2 услуга - поиск документов, 3 услуга - цветной факс, 4 услуга - передача файлов, 5 услуга - видеотелефония, 6 услуга - поиск видео). Количество услуг оказанных каждой станцией определяется формулой
ai=random(30*k+50), где k - номер варианта.
В соответствии с вариантами задания, приведенными ниже, разработать схему алгоритма программы, затем описать алгоритм в виде программы на языке Паскаль.
Индивидуальное задание: Определить какой вид услуги пользовался наименьшим спросом на станции №3.
Решение: В задании дана матрица NxM. Согласно варианту количество станций N=5. Таким образом, исходная матрица 5х 6. По заданию необходимо найти вид услуги, который пользовался наименьшим спросом на станции №3, т.е. нужно найти в массиве наименьший элемент в 3 строке и вывести номер столбца.
Таблица. Соответствие обозначений заданию №1
Идентификатор |
Назначение |
|
A |
исходный двумерный массив, из элементов целочисленного типа |
|
I, J |
Номер текущей строки и столбца элемента в массиве |
|
Maxstr |
Наименование подпрограммы-процедуры, определения максимальных элементов массива |
Построение алгоритма. Схема алгоритмов главной программы и подпрограммы
Рис. 1. Блок-схема основной программы
Схема алгоритма главной программы приведена на рисунке 1. Схема начинается с блока НАЧАЛО. В режиме диалога
запрашивается с клавиатуры размерность массива A.
После этого запускается на выполнение Цикл с известным количеством повторений FOR i:=1 to 6 do For j:=1 to 6 do Begin …End; создания исходного массива из элементов целочисленного типа с помощью счетчика случайных чисел. Создаются числа положительные, поэтому в формулу вводится математическое выражение a [i,j]:=random(100)-50 (что означает, что числа будут формироваться в диапазоне от -50 до 50). Во вложенном цикле FOR по строкам и столбцам формируется и вводится в виде таблицы двумерный массив А.
Далее следует блок обращения к подпрограмме определения максимального среди элементов четных столбцов в этом массиве, где MAXSTR- это имя подпрограммы. Оканчивается схема блоком КОНЕЦ.
Рис. 2. Блок-схема подпрограммы MAXstr
На рисунке 2 приведена БЛОК СХЕМА алгоритма подпрограммы. Схема начинается с блока ВХОД. Организуется цикл с известным количеством повторений for i:=1 to 6 do begin.. end; Затем задается начальное значение максимального элемента в каждой строке.
В теле цикла запускается поиск максимального в каждой строке. При условии F [i,j]> max, то max:=a [i,j].
После выхода из цикла FOR J.. выдается сообщение: "' B i-CTPOKE MAX='".
Оканчивается схема блоком КОНЕЦ.
Программа состоит из трех частей: заголовка, раздела описаний, раздела операторов.
Раздел описания переменных содержит совокупность данных, с которыми производятся действия.
program v_17zad1; type mas=array [1..6,1..6]of integer; var a:mas; i,j:byte; |
Заголовок программы с именем zv27 Раздел описания типов Двумерный массив, целочисленного типа Раздел описания переменных Двумерный массив целочисленные переменные |
Процедуры и функции языка программирования Паскаль, используемый в программе.
Вложенный цикл повтора FOR.
for i:=1 to 6 do for j:=1 to 6 do - Для i, изменяющегося от 1 до 6 делать
begin начало тела цикла
A [i,j]:=random(100)-50 функцией RANDOM формируется положительное число в диапазоне от -50 до 50.
write(a [i,j]); Процедурой вывода распечатывается полученный массив в виде таблицы.
end конец тела цикла
Во вложенном цикле FOR - выполняется обработка элементов массива.
В теле цикла оператор условия IF.. THEN. Проверяется условие, если значение a [i,j]больше max, то сохраняется значение max и выводится на экран после перебора всей строки.
if max<a [i,j]then max:=a [i,j]; writeln('B ',i,'-CTPOKE MAX=',max);
После завершения цикла FOR конец программы.
Текст программы.
program v_17zad1;
type mas=array [1..6,1..6]of integer;
var
a:mas; i,j:byte;
procedure maxstr(m:mas);
var i,j:byte; max:integer;
Begin
for i:=1 to 6 do
begin
max:=a [i,1];
for j:=1 to 6 do if max<a [i,j]then max:=a [i,j]; writeln('B ',i,'-CTPOKE MAX=',max);
end;
End;
BEGIN
randomize;
writeln('UCXODHUY MACCUB');
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
a [i,j]:=random(100)-50;
write(a [i,j]:5);
end;
writeln;
end;
maxstr(a);
END.
Результат работы программы
UCXODHUY MACCUB
B 1-CTPOKE MAX=37
B 2-CTPOKE MAX=27
B 3-CTPOKE MAX=43
B 4-CTPOKE MAX=49
B 5-CTPOKE MAX=30
B 6-CTPOKE MAX=39
Тест № 2
UCXODHUY MACCUB
B 1-CTPOKE MAX=49
B 2-CTPOKE MAX=38
B 3-CTPOKE MAX=41
B 4-CTPOKE MAX=32
B 5-CTPOKE MAX=27
B 6-CTPOKE MAX=46
Дан двумерный массив размерностью M x N. Значения чисел M (количество строк) и N (количество столбцов) вводятся с клавиатуры. Найти произведение положительных чисел
Описание идентификаторов, используемых в программе, приведено в таблице 1.
Таблица. Соответствие обозначений заданию 1
Идентификатор |
Назначение |
|
А |
исходный двумерный массив, из элементов целочисленного типа |
|
N, M |
количество элементов в строке и столбце массива |
|
I, J |
текущий индекс элемента в массиве |
|
P |
произведение положительных элементов массива |
|
F |
количество положительных элементов |
Построение алгоритма. Блок-схема алгоритма программы
Схема алгоритма главной программы приведена на рисунке 1. Схема начинается с блока НАЧАЛО. Затем осуществляется ввод количества строк в массиве, затем вводится количество столбцов в массиве А.
Создание значения элементов массива производится автоматически с помощью счетчика случайных чисел. Числа должны быть положительные и отрицательные по условию задания, поэтому в формулу вводится математическое выражение a [i,j]:=random(20)-10(Что означает, что числа будут в диапазоне от - 10 до 10).
Во вложенном цикле FOR по строкам и столбцам формируется и выводится в виде таблицы двумерный массив А.
Перед обработкой массива определяются начальные значение параметров цикла. Произведение Р=1, количество положительных элементов в массиве F =0.
Далее следует определения положительных элементов в массиве. Для этого запускается поэлементная обработка во вложенном цикле FOR. При условии A [I,J]>0 выполняется увеличение счетчика F и умножение положительного числа Р.
Рис. 1. Блок-схема основной программы
После окончания циклов проводим анализ полученного результата. Если значение Р=1 и F=0, тогда следует выдать сообщение: "'В массиве нет положительных чисел'", иначе выдается на экран результат обработки в виде
произведения положительных чисел в массиве.
Оканчивается схема блоком КОНЕЦ.
Описание тела программы. Программа состоит из трех частей: заголовка, раздела описаний, раздела операторов.
Раздел описания переменных содержит совокупность данных, с которыми производятся действия.
program dom1;vara:array [1..100,1..100]of integer;i,j,n,m,f:integer;p:double; |
Заголовок программы с именем dom1Раздел описания переменныхДвумерный массив, целочисленного типацелочисленные переменныепеременная вещественного типа |
Процедуры и функции языка программирования Паскаль, используемые в программе
write('Введите количество строк ='); Процедурой вывода WRITELN вывести сообщение
read(m); - в переменную М, сохраняется значение числа, введенного на клавиатуре
Вложенный цикл повтора FOR.
for i:=1 to N do for j:=1 to M do - Для i, изменяющегося от 1 до N делать
begin начало тела цикла
a [i,j]:=random(20)-10; функцией RANDOM формируется положительное число в диапазоне от 0 до 20. Для того, чтобы получить отрицательные числа используется вычитание - 10. В результате элемент массива примет значение в диапазоне от - 10 до 10.
write(a [i,j]); Процедурой вывода распечатывается полученный массив в виде таблицы.
end конец тела цикла
p:=1; f:=0; Операторы присвоить определяют начальное значение переменным P и F
Во вложенном цикле FOR - выполняется обработка элементов массива.
for i:=1 to n do for j:=1 to m do
В теле цикла оператор условия IF.. THEN. Проверяется условие, если значение a [i,j]больше нуля, то вычисляется произведение этих элементов и их количество.
if a [I,J]>0 then
begin
p:=p* a [i,j];
f:=F+1;
end
После завершения цикла FOR оператор условия IF..THEN проверяет результат вычисления и выводит ответ на экран.
if (p=1) and (f=0) then writeln('В массиве нет положительных чисел') else writeln('p=',p:5);
writeln; После завершения условия конец программы.
Текст программы
program dom1;
var a:array [1..100,1..100]of integer; i,j,n,m,f:integer; p:double;
BEGIN
write('введите кол-во строк= '); read(m);
write('введите кол-во столбцов= '); read(n);
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
a [i,j]:=random(20)-10;
write(a [i,j]:7);
end;
writeln;
end;
p:=1;f:=0;
for i:=1 to n do
for j:=1 to m do
if a [i,j]>0 then
begin
P:=P*A [I,J];f:=f+1; end;
IF (P=1) and (f=0) THEN writeln('В массиве нет положительных чисел')
ELSE writeln('Произведение чисел равно P= ',p:9:2);
END.
Тестовый пример к задаче 1
введите кол-во строк= 10
введите кол-во столбцов= 10
Произведение чисел равно P= 1.00
введите кол-во строк= 10
введите кол-во столбцов= 10
Произведение чисел равно P= 626180798766420937000000000000.00
введите кол-во строк= 10
введите кол-во столбцов= 10
В массиве нет положительных чисел.
Описание задания ко второй части курсовой работы
Во второй части курсовой работы дана структура исходных данных. Необходимо:
1. Разработать алгоритм и составить программу на языке Паскаль для создания последовательного файла, хранящего сведения заданной структуры.
2. Разработать алгоритм и составить программу на языке Паскаль для обработки последовательного файла с целью выдачи на печать в виде таблицы информации в соответствии с индивидуальным заданием.
Таблица. Задание по вариантам
№ |
Задача |
|
1 |
А. Создать файл, содержащий сведения о месячной заработной плате рабочих завода. Каждая запись содержит поля - фамилия рабочего, наименование цеха, размер заработной платы за месяц. Количество записей -30, из них три цеха по 10 человек.Б. Вычислить общую сумму выплат за месяц по цеху Х, а также среднемесячный заработок рабочего этого цеха. Вывести ведомость для начисления заработной платы рабочим этого цеха. Наименование цеха Х вводить отдельно с терминала. |
|
2 |
А. Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля - фамилия сборщика, количество изделий, собранных им ежедневно в течение шестидневной недели (понедельник, вторник, среда, четверг, пятница, суббота) Количество записей - более 25Б. По каждому сборщику просуммировать количество деталей, собранное им за неделю. Определить сборщика, собравшего наибольшее число изделий и день, когда он достиг наивысшей производительности труда. |
|
3 |
А. Создать файл, содержащий сведения о количестве изделий категории А, В, С, собранных рабочим за месяц. Структура записи имеет поля - Фамилия сборщика, наименование цеха, количество изделий по категориям, собранных рабочим за месяц. Количество записей -30, из них три цеха по 10 человек.Б. Считая заданными значения расценок Sa, Sb, Sc за выполненную работу по сборке единицы изделия категории А, В, С соответственно подсчитать:- общее количество изделий категорий А, В, С, собранных рабочим цеха;- ведомость заработной платы рабочих цеха Х,- Средний размер заработной платы работников этого цеха.Значения расценок Sa, Sb, Sc определить константами. Наименование цеха Х вводить отдельно с терминала |
|
4 |
А. Создать файл, содержащий сведения о телефонах абонентов. Каждая запись имеет поля- фамилия абонента, год установки телефона, номер телефона. Количество записей - более 25Б. По вводимой фамилии абонента выдать номер телефона. Определить количество установленных телефонов с ХХХХ года. Номер года вводится с терминала. |
|
5 |
А. Создать файл, содержащий сведения об ассортименте игрушек в магазине. Структура записи - Название игрушки, цена, количество, возрастные границы(например 2..5, т.е. от двух до пяти). Количество записей -25Б. Найти игрушки, которые подходят детям от 1 до 3 лет. Определить стоимость самой дорогой игрушки и её наименование. Определить игрушку, которая по стоимости не превышает Х рублей и подходит ребенку в возрасте от А до В лет. Значения Х, А, В- ввести с терминала. |
|
6 |
А. Создать файл, содержащий сведения о сдаче студентами первого курса сессии. Структура записи - Индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в общественной работе: "1"- активное участие, "0"- не участие. Количество записей -30, из них три группы по 10 человек.Б. Начислить студентам группы Х по ведомости стипендию. Студент, получивший все оценки "5" и активно участвующий в общественной работе, получает повышенную стипендию- доплата 50 %, не активно участвует - 25 %. Студенты, получившие "4" и "5", зачисляются на обычную стипендию. Студент получивший одну оценку "3", но активно-занимающийся общественной работой, также зачисляется на стипендию, в противном случае начисление стипендии не производится. Индекс группы вводится с терминала. |
|
7 |
А. Создать файл, содержащий сведения о сдаче студентами сессии. Структура записи- Индекс группы, фамилии студентов, оценки по пяти экзаменам и пяти зачетам("з"-зачет, "н"- незачет) Количество записей -30, из них три группы по 10 человек.Б. Определить фамилии, неуспевающих студентов с указанием индексов групп и количества задолженностей. Найти средний балл, полученный каждым студентом группы Х, и всей группой в целом. Индекс группы Х вводится с терминала. |
|
8 |
А. Создать файл, содержащий сведения о личной коллекции книголюба. Структура записи- шифр книги, автор, название, год издания, местоположение (номер стеллажа, шкафа и т.д.). Количество записей -25Б. Найти:- Местонахождение книги автора Х названия Y;- Список книг автора Z, находящихся в коллекции- Число книг издания ХХ года, имеющееся в библиотеке.Значения X, Y,Z, XX - вводятся по запросу с терминала. |
|
9 |
А. Создать файл, содержащий сведения о наличии билетов и рейсах Аэрофлота. Структура записи- номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в самолете. Количество записей -25Б. Найти время отправления самолетов в город Х, наличие свободных мест на рейс в город Х с временем отправления Y. Значения X, Y-вводятся по запросу с терминала. |
|
10 |
А. Создать файл, содержащий сведения об ассортименте обуви в магазине фирмы. Структура записи- артикул, наименование, количество, стоимость одной пары. Количество записей -25Артикул начинается с буквы D- для дамской обуви, М-для мужской, Р- для детской.Б. Определить наличие в файле обуви артикула Х, узнать её стоимость, вывести ассортиментный список дамской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели. Значения X-вводится по запросу с терминала. |
|
11 |
А. Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля- фамилия сборщика, количество изделий, собранных им ежедневно в течение шестидневной недели (в понедельник, вторник, среда, четверг, пятница, суббота). Количество записей - более 25Б. По каждому сборщику просуммировать количество деталей, собранное им за неделю. Определить сборщика, собравшего наименьшее число изделий, и день когда он собрал наименьшее количество изделий. |
|
12 |
А. Создать файл, содержащий сведения о количестве изделий категории А, В, С, собранных рабочим за месяц. Структура записи имеет поля - Фамилия сборщика, наименование цеха, количество изделий по категориям, собранных рабочим за месяц. Количество записей -30, из них три цеха по 10 человек.Б. Считая заданными значения расценок Sa, Sb, Sc за выполненную работу по сборке единицы изделия категории А, В, С соответственно подсчитать:- общее количество изделий категорий А, собранных рабочим цеха Х;- вывести три ведомости по заработной плате для рабочих каждого цехаЗначения расценок Sa, Sb, Sc определить константами. Наименование цеха Х вводить отдельно с терминала |
|
13 |
А. Создать файл, содержащий сведения о количестве изделий категории А, В, С, собранных рабочих за месяц. Структура записи имеет поля - Фамилия сборщика, наименование цеха, количество изделий по категориям, собранных рабочим за месяц. Количество записей -30, из них три цеха по 10 человек.Б. Считая заданными значения расценок Sa, Sb, Sc за выполненную работу по сборке единицы изделия категории А, В, С соответственно подсчитать:- общее количество изделий категорий А, В, С, собранных рабочими всех цехов;- ведомость заработной платы рабочих цеха Х и Y- Средний размер заработной платы работников этих цехов.Значения расценок Sa, Sb, Sc определить константами. Наименование цеха Х и Y вводить отдельно с терминала |
|
14 |
А. Создать файл, содержащий сведения о телефонах абонентов. Каждая запись имеет поля- фамилия абонента, год установки телефона, номер телефона. Количество записей - более 25Б. По вводимой фамилии абонента А выдать номер телефона. Определить количество установленных телефонов с ХХХХ года по YYYY год.Диапазон лет XXXX и YYYY и фамилия абонента вводится с терминала. |
|
15 |
А. Создать файл, содержащий сведения об ассортименте игрушек в магазине. Структура записи - Название игрушки, цена, количество, возрастные границы (например 2..5, т.е. от двух до пяти). Количество записей -25Б. Найти игрушки, которые подходят детям от 1 до 3 лет. Определить стоимость самой дешевой игрушки и её наименование и страну изготовителя. Определить игрушку, которая по стоимости не превышает Х рублей и подходит ребенку в возрасте от А до В лет и имеет страну изготовитель S. Значения Х, А, В, S - ввести с терминала. |
|
16 |
А. Создать файл, содержащий сведения о сдаче студентами первого курса сессии. Структура записи - Индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в общественной работе: "1"- активное участие, "0"- не участие. Количество записей -30, из них три группы по 10 человек.Б. Начислить студентам всех трех групп по ведомости стипендию. Вывести эти ведомости Студент, получивший все оценки "5" и активно участвующий в общественной работе, получает повышенную стипендию- доплата 50 %, не активно участвует - 25 %. Студенты, получившие "4" и "5", зачисляются на обычную стипендию. Студент получивший одну оценку "3", но активно-занимающийся общественной работой, также зачисляется на стипендию, в противном случае начисление стипендии не производится.Определить группу, получающую в сумме максимальную стипендию. |
|
17 |
А. Создать файл, содержащий сведения о сдаче студентами сессии. Структура записи- Индекс группы, фамилии студентов, оценки по пяти экзаменам и пяти зачетам ("з"-зачет, "н"- незачет) Количество записей -30, из них три группы по 10 человек.Б. Определить фамилии студентов, обучающихся на "отлично" и "хорошо", с указанием индексов групп. Найти средний балл, полученный каждым студентом группы Х, и всей группой в целом. Индекс группы Х вводится с терминала. |
|
18 |
А. Создать файл, содержащий сведения о личной коллекции книголюба. Структура записи- шифр книги, автор, название, год издания, местоположение (номер стеллажа, шкафа, полки.). Количество записей -25Б. Найти:- Местонахождение книги (номер стеллажа, шкафа, полки) автора Х названия Y и года S;- Список книг автора Z, находящихся в коллекции- Число имеющихся в библиотеке книг, изданных с ХХ года и их шифр.Значения X, Y,Z, XX - вводятся по запросу с терминала. |
|
19 |
А. Создать файл, содержащий сведения о наличии билетов и рейсах Аэрофлота. Структура записи- номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в самолете. Количество записей -25Б. Найти время прибытия самолета в город Н, наличие свободных мест на рейс в город Х с временем отправления Y и датой Z. Значения X, Y, H, Z - вводятся по запросу с терминала. |
|
20 |
А. Создать файл, содержащий сведения об ассортименте обуви в магазине фирмы. Структура записи- артикул, наименование, количество, стоимость одной пары. Количество записей -25.Артикул начинается с буквы D- для дамской обуви, М-для мужской, Р- для детской.Б. Определить наличие в файле обуви артикула Х, узнать её стоимость, вывести ассортиментный список детской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели. Значения X-вводится по запросу с терминала. |
|
21 |
А. Создать файл, содержащий сведения о телефонах абонентов. Каждая запись имеет поля- фамилия абонента, год установки телефона, номер телефона. Количество записей - более 25Б. По вводимому адресу и телефону выдать фамилию абонента. Определить количество установленных телефонов у абонентов с фамилиями начинающихся с буквы Х.Буква Х вводится с терминала. |
|
22 |
А. Создать файл, содержащий сведения об ассортименте товаров в магазине. Структура записи - артикул, название товара, цена, количество, страна-изготовитель. Количество записей -30Б. Подобрать список товаров, которые подходят по имеющийся в наличии суммы Х. Определить стоимость самого дорогого товара и выдать на экран наименование, цену и страну - изготовитель. Значения Х ввести с терминала. |
|
23 |
А. Создать файл, содержащий сведения о пациентах зубного врача продажи. Структура записи- фамилия, имя пациента, число поставленных ему пломб, стоимость одной пломбы, сумма внесенной оплаты (у некоторых может равна нулю).Б. Определить сумму задолженности за лечение для пациента Х. Вывести всех пациентов, полностью оплативших лечение. Вывести список пациентов, имеющих задолженность с указанием суммы.Значения Х ввести с терминала в режиме диалога. |
|
24 |
А. Создать файл, содержащий сведения о веществах в химической лаборатории. Структура записи- название вещества, его удельный вес, и проводимость (проводник, полупроводник, изолятор)Б. Определить удельные веса и названия всех полупроводников. Выбрать данные о проводниках и упорядочить их по убыванию удельных весов. |
|
25 |
А. Создать файл, содержащий сведения об экспортируемых товарах: указываются наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках.Б. Определить страны, в которые экспортируется данный товар, и общий объем его экспорта |
|
27 |
А. Создать файл, содержащий сведения об автомобиле, которые состоят из марки, номера, цвет кузова, количество дверей, фамилии владельца, месяц прохождения очередного технического осмотра, дата прохождения медицинского осмотра водителя (день, месяц, год).Б. Определить фамилии владельцев и номера автомобилей R марки. Вывести количество автомобилей каждой марки в идее таблицы.Значение R вводится в диалоге с терминала |
|
28 |
А. Создать файл, содержащий сведения об автомобиле, которые состоят из марки, номера, цвет кузова, количество дверей, фамилии владельца, месяц прохождения очередного технического осмотра, дата прохождения медицинского осмотра водителя (день, месяц, год).Б. Определить фамилии владельцев и номера автомобилей R марки. Вывести количество автомобилей каждой марки в идее таблицы.Значение R вводится в диалоге с терминала |
|
29 |
А. Создать файл, содержащий сведения об экспортируемых товарах: указываются наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках.Количество записей -30, из них три группы по 10 товаров для трех стран: Россия, Китай, США.Б. Определить страну, в которую экспортируют максимальный объем товараВывести общий объем его экспорта по каждой стране.Найти для указанной страны Х- наименование и объем экспортируемых товаров. |
|
30 |
А. Создать файл, содержащий сведения об ассортименте игрушек (Например: кукла, кубики, мяч, конструктор и т.п.) в магазине. Структура записи - Название игрушки, цена, количество, возрастные границы (например 2..5, т.е. от двух до пяти). Количество записей -25Б. Получить следующие сведения:название игрушек, которые подходят как детям 4 лет, так и детям 10 лет.Вывести цены для всех кубиков в рублях и копейках и страну изготовителя. Например:1. Кубик 25 руб. 50 коп. КитайОпределить название игрушек, которые не превышает Х рублей и подходит ребенку в возрасте А летЗначения Х, А - ввести с терминала. |
Пример выполнения 2 задания
Решение: В задании ко второй части курсовой работы необходимо разработать алгоритм и программу создания файла записей, содержащий сведения о станциях на ГТС. Структура записи приведена на рисунке 5.
Рисунок 5. Структура записи ZAP
В таблице 5 приведены пояснения идентификаторов записи ZAP.
Таблица 5
Идентификатор |
Пояснение |
Тип |
|
STATION |
Станция |
String [7] |
|
TIP |
Тип |
String [12] |
|
REGION |
Административный район |
String [12] |
|
EMK |
Ёмкость (номеров) |
Integer |
|
NX |
Абоненты нар. хозяйственного сектора |
Integer |
|
KV |
Абоненты квартирного сектора |
Integer |
|
TAX |
Таксофоны |
Integer |
|
MG |
М/г таксофон |
Integer |
|
PР |
Кабины переговорных пунктов |
Integer |
В таблице 6 приведены исходные данные, которые будут записывайся в файл.
Таблица 6. Сведения о станциях на ГТС
Станция |
Тип |
Район |
Емкость (номеров) |
Абоненты нар. хоз. сектора |
Абоненты квартир. сектора |
Таксофоны |
М/г таксофоны |
Кабины перегов. пунктов |
|
АТСЭ-10 |
Электрон |
Октябрьский |
10000 |
1866 |
7464 |
500 |
90 |
80 |
|
АТСК-23 |
Координат |
Центральный |
9900 |
2745 |
6405 |
600 |
70 |
80 |
|
АТСШ-46 |
Декад/Шаг |
Кировский |
9800 |
2310 |
6930 |
400 |
80 |
80 |
|
АТСЭ 17 |
Электрон |
Октябрьский |
8600 |
2376 |
5544 |
580 |
50 |
50 |
|
АТСШ-22 |
Декад/Шаг |
Центральный |
9250 |
2466 |
6104 |
570 |
50 |
60 |
|
АТСК-41 |
Координат |
Ленинский |
9800 |
2721 |
6349 |
580 |
70 |
80 |
|
AТСK-45 |
Координат |
Кировский |
9300 |
2640 |
6100 |
450 |
50 |
60 |
|
A'ТСШ-66 |
Декад/Шаг |
Октябрьский |
9640 |
2742 |
6398 |
400 |
50 |
50 |
|
АТСК-62 |
Координат |
Дзержинский |
9300 |
2661 |
6209 |
300 |
70 |
60 |
|
АТСК-26 |
Координат |
Заельцовский |
10000 |
1866 |
7464 |
500 |
90 |
80 |
|
АТСК-43 |
Координат |
Ленинский |
9100 |
2691 |
5669 |
600 |
70 |
70 |
|
АТСЭ-20 |
Электрон |
Центральный |
9800 |
2811 |
6559 |
300 |
70 |
60 |
|
АТСК-63 |
Координат |
Дзержинский |
9650 |
2685 |
6265 |
600 |
50 |
50 |
|
АТСЭ-24 |
Электрон |
Дзержинский |
9500 |
2682 |
6258 |
450 |
60 |
50 |
|
АТСК-64 |
Координат |
Дзержинский |
9800 |
2721 |
6349 |
580 |
70 |
80 |
|
АТСШ-67 |
Декад/Шаг |
Октябрьский |
9900 |
1766 |
7464 |
500 |
90 |
80 |
|
АТСК-44 |
Координат |
Кировский |
8700 |
2476 |
5544 |
580 |
50 |
50 |
|
АТС'К-35 |
Координат |
Советский |
10000 |
1876 |
7454 |
500 |
90 |
80 |
|
АТСК-28 |
Координат |
Заельцовский |
8600 |
1426 |
6494 |
580 |
50 |
50 |
|
АТСК-33 |
Электрон |
Советский |
9900 |
1566 |
7664 |
500 |
90 |
80 |
На рисунке 6 приведена схема алгоритма создания файла. В схеме сначала выполняется открытие файла. Затем организуется цикл ввода 20 записей. В этом цикле вводятся поля записи, вычисляется емкость станции и запись записывается в файл. После выхода из цикла файл закрывается.
Рисунок 6. Схема алгоритма создания файла
Текст программы создания файла
PROGRAM sozdan;
TYPE;
zap=record
station:string [7];
tip,region:string [12];
emk,nx,kv,tax,mg.pp:integer;
end;
VAR
f:file of zap;
x:zap;
I:integer;
BEGIN
ASSlGN (f, `atc.dat');
REWRITE (f);
WRITELN(' Введите сведения о 20 станциях ГТС');
FOR I=1 TO 20 DO
BEGIN
WRITE ('Станция:');
READLN (x.station);
WRITE ('ee тип:');
READLN (x.tip);
WRITE (' административный район');
READLN (x.region);
WRITЕ (' количество абонентов народохозяйственного cеktoра:');
REAULN (x.nx);
WRITE (' количество абонентов квартирного сектора:');
READLN (x.kv);
WRITE (' количество таксофонов:');
READLN (x.tax);.
WRITE (' количество междугородных таксофонов;');
READLN (x.ing);
WRITE (' количество кабин переговорных пунктов;');
READLN (x.pp);
x.emk:=x.nx+x.kv+x.mg+x.tax+x.pp;
WRITE (f,x);
END;
CLOSE (f);
END.
По индивидуальному заданию надо разработать алгоритм получения сведений о станциях, у которых более 75 % абонентов квартирного сектора. Алгоритм приведен на рисунке 7. Но алгоритму сначала открывается файл и организуется цикл чтения информации из файла. В этом цикле анализируется, какой процент составляют абоненты квартирного сектора. Если этот процент составлял более 75 %, то информация о этих станциях выводится на экран.
Текст программы приведен ниже:
PROGRAM obrab;
USES crt;.
TYPE
zap = record
station:string [7];
tip,region:string [12];
emk,nx,kv,tax,mg,pp;integer;
end;
VAR
F:file of zap;
x:zap;
pr:real;
BEGIN
ASSIGN (f,'atc.dat);
RESET (f);
WRITELN ('Сведения о станциях, у которых абоненты квартирного сектора >75 %');
WRITLN (' ____________________________________________');
WITELN ('|Станция|Тип|Админ.район|Емкость(ном) |Абон.нар.хоз.сект|Абон.кв.сект.| Такс. |
WHILE not eоf (f) DO
BEGIN
READ(f,x);
pr:=x.kv/(x.kv+x.nx+x.tax+x.mg+x.pp)*100;
IF pr > 75 THEN
WRITELN (`|', x.station:7,'|', x.tip:12;'|', x.region:12,'|', x.emk:5; `|':3, x.nx:5, `|':4, x.kv:5, `|':4, x.tax:4, `|', x.mg:4; `|', x.pp:4, `|':3);
END;
WRITELN ('Для окончания программы нажмите Enter… ');
WRITELN ('|______|________|__________|______|_____|______|_____|________|______|);
WHILE not keypressed DO;
CLOSE (f);
END.
Результаты обработки приведены в таблице 7.
Таблица 7. Сведения о станциях, у которых абонентов квартирного сектора>75 %
Станция |
Тип |
Район |
Емкость (номеров) |
Абоненты нар. хоз. сектора |
Абоненты квартир. сектора |
Таксофоны |
М/г таксофоны |
Кабины переговорного. пунктов |
|
АТСШ-67 |
Декад/Шаг |
Октябрьский |
9900 |
1766 |
7464 |
500 |
90 |
80 |
|
АТСК-28 |
Координат |
Заельцовский |
8600 |
1426 |
6494 |
580 |
50 |
50 |
|
АТСЭ-33 |
Электрон |
Советский |
9900 |
1566 |
7664 |
500 |
90 |
80 |
Приложение 1
Федеральное агентство связи
Бурятский филиал ГОУ ВПО СибГУТИ
КУРСОВАЯ РАБОТА
по дисциплине: "Информатика"
на тему: "Программирование на языке Turbo Pascal"
Выполнил:
студент
группа:
№ зач. книжки:
Проверил:
Билдушкина М.Н.
Улан-Удэ, 200__г.
Размещено на Allbest.ru
Подобные документы
Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.
реферат [64,0 K], добавлен 20.03.2016История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.
курсовая работа [519,3 K], добавлен 25.06.2011Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ.
курсовая работа [879,8 K], добавлен 11.02.2016Разработка алгоритмов методом пошаговой детализации. Типы данных и операции в Turbo-Pascal. Организация работы с подпрограммами. Составление алгоритмов и программ задач с использованием конечных сумм. Организация работы с динамическими переменными.
учебное пособие [1,4 M], добавлен 26.03.2014История появления и распространения Turbo Pascal - среды разработки для языка программирования Паскаль. Общий вид объявления файлового типа. Входная, выходная и промежуточная информация. Алгоритм решения задачи: словесный алгоритм, блок-схема, программа.
курсовая работа [359,4 K], добавлен 05.01.2010Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.
контрольная работа [286,3 K], добавлен 10.04.2011Понятие и история развития языка Turbo Pascal, оценка его графических возможностей и особенностей. Инициализация графического режима. Управление экраном и окнами, цветом и фоном, принципы работы с текстом. Построение графиков функций и изображений.
курсовая работа [159,9 K], добавлен 17.12.2014История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.
курсовая работа [102,7 K], добавлен 23.12.2011Символьный тип данных как составляющая языка программирования: управляющие символы, лексемы и разделители. Разработка программного обеспечения для практической реализации решения задач, содержащих символьные величины языка программирования Turbo Pascal.
курсовая работа [37,7 K], добавлен 03.05.2012Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.
отчет по практике [2,1 M], добавлен 02.05.2014