Решение задач с помощью Turbo Pascal

Автор: Пользователь скрыл имя, 17 Октября 2011 в 00:29, курсовая работа

Описание работы

С помощью современных компьютеров можно решать различные математические и прикладные задачи. Одним из способов их решения является программирование алгоритмов решения на каком то языке программирования с последующим использованием этой программы в своих целях Turbo Pascal — это высокоуровневый язык программирования, разработанный Никлаусом Виртом в 1970 в качестве языка обучения структурному программированию.

Содержание

Введение…………………………………………………………………….......3
Задание 1.
1.1. Постановка задачи ………………………………………………………..4
1.2. Блок-схема……………………..…………………………………………...5
1.3. Текст программы………...………………………………………………....6
1.4. Результат работы…………………………..……………………………...12
1.5. Описание работы программы……………..…………………………......13
1.6. Анализ допущенных ошибок………………………..…………………...14
Задание 2.
2.1. Постановка задачи………..………………………………………………15
2.2. Блок-схема…..…………………………………………………………….16
2.3. Текст программы……..…………………………………………………..17
2.4. Результат работы………………………………………………………….21
2.5. Описание работы программы…………………………………………….22
2.6. Анализ допущенных ошибок………………………………………….....23
Заключение ……………………………………………………………………..24
Список литературы…………...………………………………………………..25

Работа содержит 1 файл

курсовая.doc

— 242.50 Кб (Скачать)

     Программа вычисляет  значения функции f(x)=sin(x/2)/cos(x/2)+cos(x) на промежутке [a;b] c количеством шагов m=20. Для решения задачи было предложено 3 способа: с помощью оператора цикла с параметром, с предусловием или с постусловием. После вывода результата на экран была представлена возможность печати на принтере или повторного расчета программы.

      Зная число m и вводимые с клавиатуры границы, программа вычисляет сам шаг от которого зависит аргумент.

      Оператор цикла for удобен лишь в том случае если число повторений известно к началу его выполнения.

For (от) x:=1 to (до) m do (выполняется)…;

     Оператор цикла repeat более удобный, так как к началу выполнения программы необязательно знать количество повторений, а завершается она тогда, когда аргумент впервые примет значение true.

Repeat (повторять) оператор1 until (до)логическое выражение оператор2;

     Оператор цикла while…do переводиться как «делать…пока». Выполнение цикла завершается тогда, когда оператор впервые примет значение false.

While(пока) условие do(делать) оператор; 
 
 
 
 
 
 

 

Анализ допущенных ошибок

1. 35: Label identifier expected

Требуется идентификатор метки.

2. 37: END expected

Требуется END

3. 50: DO expected

Требуется оператор DO.

    4. 81: Label already defined

    Данная  метка уже определена.

5. 85: ";" expected

Требуется указать ";".

6. 86: ":" expected

Требуется указать ":". 

 

ЗАДАНИЕ 2

2.1.Постановка  задачи

     Написать программу, считывающую в ряд не более 20 чисел и просматривающую все заполненные элементы ряда; если элемент положительный или равен нулю, то он пересылается в ряд «pos», если отрицательный – то в ряд «neg». Распечатать все 3 ряда. 
 

 

2.2.Блок-схема программы

 

2.3.Текст программы

Program massiv;

uses crt;

label 1,2,3;

const n=20;

var

a:array[1..n] of real;

pos:array[1..n] of real;

neg:array[1..n] of real;

i,j,l,m:integer;

k:char;

t:text;

begin

clrscr;

highvideo;

textattr:=yellow+16*red;

window (0,0,80,25);

clrscr;

gotoxy (33,9);

write('Курсовая  работа');

gotoxy(19,11);

write('на тему:"Программирование на языке Pascal"');

gotoxy(24,13);

write('студентки 1-го курса группы ЭТ-11');

gotoxy(32,15);

write('Сухорословой Виктории');

gotoxy(34,20);

textcolor(blue);

write('нажмите любую клавишу для продолжения...');

readkey;

textattr:=black+16*white;

window(0,0,80,25);

clrscr;

gotoxy(36,9);

write('ЗАДАНИЕ');

gotoxy(3,11);

write('написать программу, считывающую в ряд не более');

gotoxy(3,12);

write('20 чисел и просматривающую все заполненные элементы ряда;');

gotoxy(4,13);

write('если элемент положительный или равен 0, то он');

gotoxy(7,14);

write('пересылается в ряд "pos", если отрицательный, то в ряд "neg"');

gotoxy(13,15);

write('распечатать все 3 ряда');

gotoxy(35,20);

textcolor(blue);

write('нажмите любую клавишу для продолжения...');

readkey;

textattr:=black+16*yellow;

window(0,0,80,25);

1:;

clrscr;

begin

writeln('исходный  массив');

for i:=1 to n do read(a[i]);

clrscr;

writeln('Отсортированный  массив');

for i:=1 to n do

begin

if a[i]>=0 then

begin

j:=j+1;

pos[j]:=a[i];

end

else

begin

l:=l+1;

neg[l]:=a[i]

end;

end;

writeln('исходный  массив');

for i:=1 to n do  write(a[i]:2:1,' ');

writeln;

writeln('положительный  массив');

for m:=1 to j do  write(pos[m]:2:1,' ');

writeln;

writeln('отрицательный  массив');

for m:=1 to l do write(neg[m]:2:1,' ');

writeln;

readkey;

clrscr;

textattr:=black+16*yellow;

window(0,0,80,25);

gotoxy(22,11);

write('вывести на принтер?: Да/Нет, т.е. d/n');

readln(k);

if k='d' then

begin

assign(t,'prn');

write (t,a[i]:2:0,'  ');

end;

if k='n' then goto 3;

3:;

clrscr;

textattr:=green+16*yellow;

window(0,0,80,25);

gotoxy(22,11);

write('повторить расчет?: Да/Нет, т.е. d/n');

k:=readkey;

case k of 'd':goto 1;

          'n':halt;

end;

end;

end.

 

2.4.Результаты работы программы 

 

2.5.Описание работы программы

      Программа выводит исходный массив, который включает в себя не более 20 элементов. Далее, анализируя данные исходного массива, компьютер отбирает положительные или равные 0 значения элементов и отправляет их во второй массив «pos», остальные – в третий массив «neg». Таким образом программа наглядно отображает все 3 массива, что позволяет проверить правильность написания программы. 

 

2.6.Анализ допущенных ошибок

1. 26: Type mismatch

Несоответствие  типов.

2. 37: END expected

Требуется END

3. 50: DO expected

Требуется оператор DO.

4. 86: ":" expected

Требуется указать ":".

5. 85: ";" expected

Требуется указать ";".

6. 90: "=" expected

Требуется указать "=". 

 

ЗАКЛЮЧЕНИЕ

     В данной курсовой работе рассмотрено две разновидности программ, которые позволяют получить практические навыки в различных областях Pascal. Структура решения этих задач представлена двумя способами: блок-схемой и на языке программирования. Первый оказался более наглядным.

     В ходе разработки программ  были допущены некоторые недочеты, которые представлены в разделе «анализ допущенных ошибок». Таким образом, можно сделать вывод, что они появились вследствие невнимательности. Поэтому грамотность написания программы зависит от человеческой работоспособности и сосредоточенности.

 

СПИСОК  ЛИТЕРАТУРЫ

1. Павловская, Т.А., Паскаль. Программирование на языке высокого уровня: Учебник для вузов – СПб.:Питер, 2004. – 393с.:ил.

2. Алексеев, Е.Р., Турбо Паскаль 7.0 / Алексеев Е.Р., Чеснокова О.В. – М.: НТ Пресс 2006. – 314, [6] c.: ил. – (Самоучитель).

3. Потопахин, В.В., Turbo Pascal. Решение сложных задач: Учебное пособие для вузов – СПб.:Питер, 2003. – 256с.

Информация о работе Решение задач с помощью Turbo Pascal