Автор работы: Дина Жолобова, 04 Октября 2010 в 20:06, курсовая работа
В наше время программированием занимаются многие ПК-пользователи. И это вполне объяснимо: с помощью программ можно решать достаточно сложные задачи – задачи, которые могут отнять у человека много драгоценных часов, в то время как компьютер решит их за доли секунд. Кроме того, поработав какое-то время с чужими программами, хочется создать нечто свое, родное. И тогда возникает вопрос: с чего начать? Выбор языков программирования на данный момент очень велик: Basic, Pascal, C, Perl и так далее. Basic – самый легкий из этого списка, его не зря называют основой программирования, так как обычно начинают именно с него. Однако этот язык недостаточно мощный, поэтому сейчас многие начинают с чего-то более серьезного, например, с Паскаля (Pascal)1.
Именно с ним в данной курсовой работе мы и будем работать. В качестве среды для разработки приложений на этом языке выберем среду языка Delphi, который развился из Турбо Паскаля, а тот, в свою очередь, – из Паскаля.
Delphi позволяет разрабатывать приложения Windows. Но в этой работе мы рассмотрим только создание программ в стиле MS-DOS, называемых консольными приложениями.
Введение 3
Глава 1. Простейшие арифметические и логические операции 5
Глава 2. Линейные программы 9
Глава 3. Ветвящиеся программы 11
Глава 4. Циклические программы 14
Глава 5. Двумерные массивы 16
Глава 6. Строковый тип данных 21
Глава 7. Операции с файлами. 24
Заключение 30
Список использованной литературы 31
Создадим цикл while…do, который будет продолжаться до тех пор, пока не будет достигнут конец файла «rec.txt».
Функция eof(f) (строка 1) принимает значение «истина» (true), если достигнут конец файла, иначе – «ложь» (false).
В теле цикла while…do происходит построчное считывание из файла «rec.txt» в переменную S типа string (так как считанные из файла данные имеют строковой тип). В третьей строке считываем фамилию рабочего, в четвертой – записываем в файл. Далее (строка 5) считываем имя рабочего и записываем первую букву в файл «abc.txt» вместе с точкой (строка 6). То же самое делаем в седьмой и восьмой строке с отчеством: считываем и записываем в файл «abc.txt» первую букву отчества, так же добавив после нее точку.
В строках 9 и 10 считываем дату рождения и адрес. Эти данные нам не нужны, но пропустить мы их не можем. В строке 11 считываем количество детей. Так как мы имеем дело со строковыми данными, математические операции мы с ними проводить не можем. Но мы можем преобразовать эти данные в их численные значения с помощью процедуры val, где первый параметр – строка, которую необходимо преобразовать, второй – переменная соответствующего численного типа, в которую будет записан результат, а третий параметр хранит позицию первого недопустимого символа. Так, если после преобразования третий параметр больше нуля – выходим из цикла.
Таким образом, мы считаем из файла «rec.txt» и запишем в переменные ch, h, z количество детей, количество отработанных часов и расценку одного часа соответственно.
В строке 20 рассчитаем налог в процентах, который будет вычитаться из зарплаты: умножим 0,01 на количество детей и вычтем это произведение из 13. Затем, в строке 21, мы умножим расценку одного часа на количество отработанных часов. А в строке 22 посчитаем зарплату рабочих с учетом налога. И, наконец, запишем зарплату в файл «abc.txt». Отметим, что после чтения или записи все открытые файлы рекомендуется закрыть.
Приведем полный код программы.
program Project7;
{$APPTYPE CONSOLE}
uses
SysUtils;
var f,f1:textfile;
j,ch,h:integer;
n,z:real;
S:string;
begin
assign(f, 'C:\rec.txt');
assign(f1, 'C:\abc.txt');
reset(f); //открыть файл «rec.txt» в режиме чтения
rewrite(f1); //открыть файл «abc.txt» в режиме записи
while not eof(f) do //пока не будет достигнут конец файла, выполнять цикл
begin
readln (f,S); //считываем из файла фамилию
write(f1,S,' '); //записываем ее в «abc.txt»
readln (f,S); //считываем имя
write(f1,S[1],'. '); //записываем его первую букву в файл
readln (f,S); //считываем отчество
writeln(f1,S[1],'.');
readln (f,S); //считываем дату рождения
readln (f,S); //считываем адрес
readln (f,S); //считываем количество детей
Val(S,ch,j); //преобразуем строку в число
if j>0 then break; //если преобразование некорректно, выйти из цикла
readln (f,S); //считываем количество отработанных часов
Val(S,z,j);
if j>0 then break;
readln (f,S); //считываем расценку одного часа
Val(S,h,j);
if j>0 then break;
n:=13-(ch*0.01); // налог с учетом детей
z:=h*z;
z:=z-(z/100)*n; //зарплата с учетом налога
writeln(f1,z:2:2); //записываем зарплату в файл «abc.txt»
end;
close(f1); //закрываем файл «abc.txt»
close(f); //закрываем файл «rec.txt»
end.
В заключение стоит заметить, что если файл «abc.txt», в случае его отсутствия в указанной папке, создается автоматически после запуска программы, то файл «rec.txt» должен существовать, иначе возникнет ошибка, и программа не сможет корректно работать. На рис. 7.1. показан результат работы программы, а на рис. 7.2. и рис. 7.3. показано содержимое файлов «rec.txt» и «abc.txt».
В наше время среднестатистическому ПК-пользователю достаточно редко приходится сталкиваться с консольными приложениями, большее предпочтение он отдает оконным. И кажется, что программы с текстовым интерфейсом уходят в прошлое. Напрасно. На самом деле такие программы и в настоящее время необходимы. Может быть, внешне они и малопривлекательны, однако, как мы выше уже убедились, по функциональности ничем не уступают приложениям с богатым графическим интерфейсом – а это самое главное.
В результате проделанной работы мы получили семь консольных приложений для решения различных задач. Они эффективны в работе, малотребовательны к ресурсам и могут работать на маломощных компьютерах.
Хотелось бы еще добавить, что все-таки в современном мире обойтись без программирования крайне сложно. В самом начале я уже говорила, что существует немало таких задач, решение которых у человека отнимает много времени. Возьмем для примера хотя бы задачу 4.7 (стр. 13). Вообразите, сколько времени ушло бы на ее решение без помощи программы, если бы m было равно, например, 10000? Не говоря уже о том, что человек – не робот, он способен допускать различные ошибки в расчетах, особенно когда ему приходится проделывать долгую и утомительную работу. В то время как компьютер всегда максимально точен.
А, к примеру, в современной экономике ошибки, пусть даже самые, казалось бы, мелкие, могут привести к катастрофическим последствиям. Именно поэтому очень важно уметь грамотно и качественно писать различные программы для решения экономически важных задач, которые с каждым новым этапом в развитии страны становятся все сложнее.
Информация о работе Разработка консольных приложений в среде Delphi