Знакомство с turbo Pascal 7. 0 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Знакомство с turbo Pascal 7. 0



СОДЕРЖАНИЕ

 

1. Знакомство с редактором Turbo Pascal 7.0. Стандартные функции. Математические вычисления. Структура программы. Оператор вывода.

2. ЭВМ в режиме калькулятора.

3. Линейная программа.

4. Решение физических задач.

5. Оператор условного перехода.

6. Оператор условного перехода. Логические связки AND, NOT, OR.

7. Оператор условного перехода. Операторные скобки BEGIN...END.

Решение квадратного уравнения.

8. Оператор варианта.

9. Вычисление площадей фигур.

10. Примерные задания к контрольной работе.

11. Циклические процессы. Цикл с предусловием (цикл "ПОКА").

12. Циклические процессы. Цикл с постусловием (цикл "ДО").

13. Циклические процессы. Цикл с заданным параметром (цикл “ДЛЯ”).

14. Сумма. Произведение. Табулирование.

15. Применение ширины поля вывода и оператора GOTOXY(x,y).

16. Вложенные циклы. Таблица Пифагора.

17. Процедуры.

18. Процедуры. Локальные и глобальные переменные.

19. Процедуры с параметрами. Параметры-значения, параметры-переменные.

20. Функции.

21. Функции. Решение задач.

22. Примерные задания к контрольной работе.

23. Повторение.

24. Строковые функции.

25. Строковые функции. Процедуры над строковыми функциями.

26. 27. 28. 29. Обработка строковых величин.

30. МАССИВЫ. Заполнение и вывод массивов.

31. Заполнение и вывод массивов (продолжение).

32. Суммирование элементов массива.

33. Сумма элементов массива по условию.

34. Определение числа элементов массива по условию.

35. Сумма двух одинаковых по размеру массивов.

36. Объединение двух массивов с чередованием элементов.

37. Инвертирование массива.

38. Формирование массива из элементов другого массива, по заданному условию.

39. Поиск максимального элемента в массиве с запоминанием его положения (индекса).

40. Поиск заданного элемента в массиве.

41. Упорядочение массива.

42. Матрицы. Ввод и вывод матриц.

43. Сумма элементов матрицы.

44. Вычисление следа матрицы. Вычисление суммы элементов строк матрицы.

45. Примерные задания к контрольной работе.

46. Записи.

47. Файлы.

48,49. Задачи оптимизации.

50. Знакомство с IBM.

Приложение для PascalABC.

 

Введение

 

В последние годы произошли значительные изменения в программах преподавании информатики предлагаемых МО РФ, особенно в количестве часов выделяемых на изучение информатики (сокращение часов). Вместе с тем ФИПИ требует знаний учащихся в старом объеме курса информатики, особенно в части знания программирования. Так из 32 экзаменационных заданий 11 – проверка знаний алгоритмизации и программирования.

Переход на профильное преподавание информатики задачу подготовки к ЕГЭ не решает по ряду объективных причин. Статистика итогов проведения ЕГЭ по информатике показывает, что умение создавать собственные программы для решения задач средней сложности составляет всего 12%. Приказ МО РФ №365 ставит задачу значительного улучшения преподавания информатики и в частности программирования, так как для поступления на многие инженерные специальности требуется сдавать ЕГЭ по информатике и ИКТ.

Пособие призвано облегчить работу учителя в вопросах изучения программирования, и может оказать значительную помощь учащимся при самостоятельном изучении программирования.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 1

ЗНАКОМСТВО С TURBO PASCAL 7.0

Turbo Pascal 7.0 - реализация языка Pascal фирмой Borland International для IBM PC. Можно работать в Pascal ABC, заменяя readkey на readln. (см. приложение стр. 65, 66)

Цель разработки: обеспечение всесторонней поддержки всего технологического цикла создания программ производственного, научного и коммерческого назначения.

ВХОД В СРЕДУ TurboPascal: Войти в меню пользователя, выбрать версию Turbo Pascal и нажать Enter. Либо найти файл turbo.exe в папке c:\Pascal\turbo7\bin и щелкнуть Enter.

ГЛАВНОЕ МЕНЮ (F10 - выход в меню)

File - меню работы с файлами;

Edit - меню редактора;

Search - меню службы поиска;

Run - меню запуска программы;

Compile - меню компиляции;

Debug - меню отладки;

Options - меню установок;

Window - меню окон;

Help - меню справочной службы.

File: Open...F3 - открыть существующую на диске программу;

New - открыть новое окно редактора;

Save F2 - записать программу на диск с текущим именем;

Save as - записать программу на диск с указанием имени;

Exit - выход из среды или Alt+X

Ctrl+F2 - прекратить отладку (убрать голубую полосу); Ctrl+F8 – красную полосу.

Ctrl+F4 - просмотр значения переменной из редактора;

 

ФУНКЦИИ КЛАВИШ

Ctrl,Alt,Shift - управляющие клавиши;

Esc - отмена команды;

BackSpace - удаление символа слева от курсора со сдвигом строки;

Insert - переключение режима вставки/замены;

Delete - удаление символа над курсором;

Home - курсор в начало строки;

End - курсор в конец строки;

Page Up - курсор на страницу вверх;

Page Down - курсор на страницу вниз;

Caps Lock - переключения заглавные/строчные или Shift+буква;

Ctrl+Break+Break - останов работы программы;

Ctrl+Y - удалить строку;

Ctrl+N - вставить строку;

Shift+↑ [↓,®,←,Home, End, Page Up, Page Down] - выделить фрагмент программы

Ctrl+K B - отметить начало выделения фрагмента;

Ctrl+K K - отметить конец выделения фрагмента;

Ctrl+K C - скопировать выделенный фрагмент;

Ctrl+K V - переместить выделенный фрагмент;

Ctrl+K Y - удалить выделенный фрагмент;

Ctrl+K H - снять/вернуть выделение;

Ctrl+F9 - выполнить компиляцию и запуск программы;

 

М О Д У Л И

 

Turbo Pascal содержит библиотеку модулей: SYSTEM, DOS, CRT, GRAPH и др.

 

Если работа производится в текстовом режиме, надо объявлять модуль CRT, если требуется выполнить графические работы, то объявляется графический модуль Graph.

 

Например,

Program Primer;

USES CRT, GRAPH;

Var...

Чтобы увидеть результаты после выполнения программы, надо перед окончанием программы указать READLN или READKEY, без этих команд после выполнения программы осуществляется автоматических возврат в редактор, в этом случае для просмотра экрана пользователя надо нажать клавиши Alt+F5;

 

З А Д А Н И Я

 

1. Выйти в редактор и получить на экране строки:

 

*: = - /? () [ { ] } ' `,. "; + < > % ъ _ 1 2 0 9 4 8 7 6 3 5

Abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ

PROGRAM program CONST const type TYPE Begin End procedure

{ Программа вычисления функции Y=sin(x) }

 

2. В полученном на экране тексте раздвинуть строки.

3. Разделить первые три строки пополам, т.е. получить семь строк.

4. Удалить шестую строку.

5. Удалить пустые строки.

6. Скопировать первую строку в конец текста.

7. Поместить первую строку между 4 и 5 строками.

8. Переместить 3 и 4 строки в начало текста.

9. Подчеркнуть строки 1-ю -'*', 2-ю - '=', 3-ю - '-'.

 

ПРИЛОЖЕНИЕ К ПРАКТИЧЕСКОМУ ЗАНЯТИЮ

 

ОСНОВНЫЕ ТИПЫ ЯЗЫКА ПАСКАЛЬ:

Integer -целый тип - целое число от -32768 до +32767,занимает 2 байта памяти

Real - вещественный тип - числа от 1Е-37 до 15.9Е37

Boolean - логический тип - значение высказывания true или false

char - символьный тип (один символ)

byte - стандартный байтовый тип - целые от 0 до 255, занимает 1 байт памяти

string - строковый тип.

 

Целые типы:

BYTE - целые положительные из интервала [ 0; 255 ];

WORD - целые положительные из интервала [ 0; 65535 ];

SHORTINT - целые из интервала [ -128; 127 ];

INTEGER - целые из интервала [ -32768; 32767 ];

LONGINT - целые из интервала [ -2147483648; 2147483647 ];

 

СТРУКТУРА ПРОГРАММЫ

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

Program Name; { название программы без пробелов }

{ разделы описаний записываются по мере надобности }

Uses - раздел объявления модулей;

label - раздел описания меток;

const - раздел описания констант;

type - раздел описания нестандартных типов;

var - раздел описания переменных (используется чаще всего);

function - раздел описания функций;

procedure - раздел описания процедур;

{ основная программа }

Begin

{ тело основной программы }

Readkey; или Readln; - ожидание нажатия клавиши (Enter) для просмотра результата.

End.

Зарезервированные слова нельзя использовать в качестве имен переменных, констант, функций, процедур и типов. Текст программы может записываться как большими, так и маленькими буквами. Русские буквы используются только для комментариев, которые записываются двумя способами: { текст комментария } или (* текст комментария *).


ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 2

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 3

РЕШЕНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ

ЛИНЕЙНАЯ ПРОГРАММА

 

ЛИНЕЙНОЙ называют программу, реализующую конструкцию следования, когда инструкции расположены одна под другой и последовательно выполняются.

 

:= - символ присваивания переменным значений;

x:=3.4 - инструкция присваивания (переменной х присваивается значение 3.4).

 

readln(а); - стандартная процедура ввода значения переменной а с клавиатуры

 

З А Д А Н И Я:

 

1. Набрать готовую программу вычисления площади прямоугольника S=a*b.

Во всех программах не забывать в начале Uses crt; и в конце readkey: или readln;

 

Program Area; Uses crt; { Л И Н Е Й Н А Я ПРОГРАММА (см. конспект)}

var a,b,s: real; { описание переменных. Тип вещественный }

Begin { начало программы S }

ClrScr; { очистка экрана. От англ. CLeaR SCReen }

write('a='); readln(a); {ввод длины и переход на следующую строку}

write('b='); readln(b); {ввод ширины и переход на следующую строку}

s:=a*b; { вычисление по формуле }

write('S=',s); { вывод результата на экран }

readkey; {удержание изображения до нажатия клавиши}

End. { конец программы Area }

 

Запустить программу. Получить результат.

 

2. Добавить в программу комментарий к вводу переменных и выводу ответа

(Например: Введите сторону а= Площадь прямоугольника S=).

3. Составить программу вычисления площади круга:

4. Составить программу вычисления площади треугольника:

1) выделить целую часть результата;

2) выделить дробную часть результата;

3) получить целый остаток от деления;

4) округлить результат

5) округлить до целого, не превосходящего результат.

 

5. Составить программу вычисления выражения: Y=Sin(a+b/2)

при a=15, b=30 (градусов).

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 4

РЕШЕНИЕ ФИЗИЧЕСКИХ ЗАДАЧ

 

ОСОБЕННОСТИ:

 

- греческие буквы надо заменять на латинские буквы;

- описать назначение переменных;

- задача предварительно решается на бумаге, и конечная формула вводится в программу. На основании анализа результата делается вывод о правильности решения задачи;

- результат должен иметь указание единиц измерения;

- особого внимания требует правильный перевод единиц измерения физических величин;

- постоянные физические величины описываются в разделе описания констант.

- на Паскале нет различия между строчными и заглавными буквами: G=g, А=а.

 

Составить программу вычисления силы Всемирного тяготения:

 

Program Ff; Uses crt;

const g=6.672E-11; { гравитационная постоянная }

var m1,m2, { массы взаимодействующих тел }

r, { расстояние между точечными телами }

f: real; { сила Всемирного тяготения }

Begin

ClrScr;

write('Введите массу m1='); readln(m1);

write('Введите массу m2='); readln(m2);

write('Введите расстояние r='); readln(r);

f:=g*m1*m2/(r*r);

writeln; { получение пустой строки }

write('Сила притяжения F=',f:8:4,' Н');

readkey;

End.

 

З А Д А Н И Я:

1. Набрать программу вычисления силы Всемирного тяготения.

Запустить программу

Вычислить при m1=m2=50 кг и r=1 м. Ответ перевести в мг силы.

2. Составить программу вычисления кинетической энергии

 

3. Подчеркнуть результат звездочками.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 5

 

ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА

 

Неполная форма: IF условие THEN серия;

УСЛОВИЕ - это логическое выражение, принимающее значение истина или ложь.

Выполняется инструкция так: если условие истинно, то выполняется серия,

иначе выполняется следующая за IF..THEN инструкция.

СЕРИЯ - один оператор языка.

Полная форма: IF условие THEN серия1

ELSE серия2;

Если условие истинно, то выполняется серия1, иначе выполняется серия2.

В Н И М А Н И Е! Перед словом ELSE точка с запятой не ставится!!

 

Найти большее из двух чисел а и b.

Program Bid; Uses crt;

var a,b,max: integer;

Begin

ClrScr;

write(' Введите целое число а='); readln(a);

write(' Введите целое число b='); readln(b);

if a>=b then max:=a { если условие =true,то max:=а }

else max:=b; { если условие =false,то max:=b }

writeln('Max=',max);

readkey;

End.

 

При нажатии цифры 1 печатается слово1, а при нажатии любой клавиши слово2.

Program Text; Uses crt;

var x: integer;

Begin

ClrScr;

write('Введите цифру 1 или любую:'); readln(x); ClrScr;

if x=1 then write(' В а с я')

else write(' П е т я');

readkey;

End.

 

З А Д А Н И Я:

 

1. Набрать программу Bid и проверить ее работу для '+' и '-' чисел.

2. В программе Bid применить округление для вещественных чисел.

3. Набрать программу Text, получить результат.

4. Изменить программу Text так, чтобы второе слово выводилось только при нажатии цифры 2, а при нажатии цифры кроме 1 и 2 выводилось сообщение “ERROR”.

5. Составить программу вычисления для любого х функции Y =1/x,

при х=0 выдать сообщение ' функция не существует '.

6. Найти наибольшее из трех чисел.


 

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 6

 

ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА (продолжение)

 

При сложных условиях применяются логические связки:

 

And - истинно, когда истинны все составляющие логические выражение

Пример: ((x>=0) and (x<=5)) истинно для x из интервала [0;5] и ложно при x=6

 

Not -истинно, когда ложно исходное логическое выражение

Пример: not(x>=0) истинно для x=-5 и ложно для x=6

Or - истинно, когда истинно хотя бы одно из логических выражений

Пример: ((a<5) or (a>9)) истинно для a=2 и ложно для a=6

 

при x<0

Вычислить: Y=

при x ³0

 

Program Primer; Uses crt;

var x: integer;

Begin

ClrScr;

write('Введите значение x='); readln(x);

if x<0 then write(' Y1=',1/(x-1))

else write(' Y1 - не существует по условию');

if (x>=0) and (x<>5) then write(' Y2=',1/(x-5))

else write(' Y2 - не существует по условию');

readkey;

End.

 

З А Д А Н И Я:

 

1. Набрать программу и проверить ее работу для Х: -2, 1, 5, 6.

2. Эту же задачу решить для условия:

1) Х<0 или Х=5 или Х=8

2) Х>=0 и Х<>5 и Х<>6

Проверить работу программы для Х: -2, 0, 2, 5, 6, 8, 9.

3. Эту же задачу решить для условия: 1) -2<=Х<=5 Х<>1,

2) -1<=Х<=8 Х<>5

Проверить все контрольные точки: -3, -2, -1, 0, 1, 5, 8, 9.

 


 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 7

ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА (продолжение)

 

Если требуется после THEN или ELSE применить более одного оператора, то применяются ОПЕРАТОРНЫЕ СКОБКИ BEGIN..END

 

Решение КВАДРАТНОГО УРАВНЕНИЯ

 

Program Kwur; Uses crt;

var a,b,c,x1,x2,d: real;

Begin

ClrScr;

write('Введите коэффициенты a,b,c:'); readln(a,b,c);

d:=b*b-4*a*c;

if d<0 then writeln('Нет корней.')

Else begin

if d=0 then begin

x1:=-b/(2*a);

x2:=x1

End

Else begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a)

end;

write(' x1=',x1:5:2,' x2=',x2:5:2)

end;

readkey;

End.

 

З А Д А Н И Я:

1. Решить следующие уравнения:

 

а) 3х² + 6х - 8 = 0

 

б) х² - 2х - 1 = 0

 

в) 5х² - 4х + 3 = 0

 

г) 4х² + 4х - 1 = 0

 

д) 5х² - 5х + 2 = 0

 

2. Вставить в программу комментарии:

а) полное название программы;

б) автор программы и дату составления программы.

3. Сделать так, чтобы результат выводился на чистом экране

с указанием значений коэффициентов.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 8

ОПЕРАТОР ВАРИАНТА

Оператор варианта является обобщением условного оператора: он дает

возможность выполнить один из нескольких операторов в зависимости

от значения некоторого выражения, называемого СЕЛЕКТОРОМ.

CASE <селектор> OF { case (кейс) - выбор }

< список меток1 >: < оператор1 >; { of (oф) - из }

< список меток2 >: < оператор2 >;

.......:......;

< список метокN >: < операторN >;

ELSE <оператор>

END;

селектор - выражение любого перечисляемого типа, кроме вещественного;

integer, byte (-целые из [0;255]), char -символьный тип.

оператор - любой оператор языка, в том числе и составной;

список меток - список разделенных запятыми значений выражения 'селектор' или одно его значение; тип метки и селектора одинаков;

Оператор варианта выбирает для исполнения тот ОПЕРАТОР, одна из меток которого равна текущему значению выражения СЕЛЕКТОР. Если ни одна из меток не равна текущему значению селектора, то никакие операторы не выполняются, либо выполняются операторы, следующие за зарезервированным словом ELSE (если такое имеется).

Program Primer_Case1; Uses crt;

var n:integer;

Begin

clrscr; write('Нажмите цифру 1..8'); readln(n);

Case n of

1,7: write('В а н я');

2: write('В а с я');

3: write('В а л я');

4: write('В а р я');

5: write('В а д я');

Write('в а з а')

End.

Program Primer_Case2; Uses crt;

var n:char; { char - символьный тип,занимает 1 байт памяти }

Begin

clrscr; write('Нажмите букву а..е'); readln(n);

Case n of

'a': write('Вы ввели символ а');

'b': write('Вы ввели символ b');

'c': write('Вы ввели символ c');

'd': write('Вы ввели символ d')

End.

З А Д А Н И Я:

1. Набрать приведенные выше программы и выполнить их.

2. Во второй программе после <clrscr> ввести МЕНЮ для выбора меток.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 9

ОПЕРАТОР ВАРИАНТА (продолжение)

 

Вычислить площади фигур, выбирая их из списка (меню):

 

Program PLFigur; Uses crt;

var s,a,b,h,r:real;

n:integer;

Begin

ClrScr;

writeln(' П Л О Щ А Д И');

writeln(' =============');

writeln(' 1. Прямоугольника.');

writeln(' 2. Трапеции.');

writeln(' 3. Круга.');

writeln(' 4. Конец работы.');

writeln;

write('Введите номер строки:'); readln(n);

Case n of

Begin

clrscr;

write('Введите стороны прямоугольника a,b:');

readln(a,b);

s:=a*b;

write('Площадь прямоугольника S=',s)

end;

Begin

clrscr;

write('Введите основания и высоту трапеции a,b,h:');

readln(a,b,h);

s:=(a+b)*h/2;

write('Площадь трапеции S=',s)

end;

Begin

clrscr;

write('Введите радиус круга r=');

readln(r);

s:=pi*r*r;

write('Площадь круга S=',s)

End

else write(' ***** Работа окончена *****');

end;

readkey;

End.

З А Д А Н И Я:

 

1. Набрать программу и выполнить ее для четырех строк меню.

2. Самостоятельно дописать в программу вычисление площади треугольника.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 10

ПОДГОТОВКА К КОНТРОЛЬНОЙ РАБОТЕ

 

1. Составить программу вычисления силы взаимодействия двух точечных

 

электрических зарядов: , где:

F - сила взаимодействия зарядов по закону Кулона (Ньютон),

q1,q2 -неподвижные точечные электрические заряды (Кулон),

k=9∙е9 -коэффициент (),

е - относительная диэлектрическая проницаемость среды (табличное значение),

r - расстояние между точечными электрическими зарядами (метр).

 

2. Вычислить значение функции:

 

, при x¹3 и -2<=x<8

Y=

, при x¹-5 и x=-10 и x=0 и x=10

 

3. Повторить к контрольной работе:

а) Принципы фон Неймана;

 

б) экспоненциальная форма представления числа;

 

в) графическое представление разветвляющихся алгоритмов;

 

г) перевод алгебраических выражений для ввода в программу;

 

д) решение математических и физических задач;

 

е) разветвляющиеся вычислительные процессы.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №11

ЦИКЛИЧЕСКИЕ ПРОЦЕССЫ

Циклические конструкции используются в тех случаях, когда необходимо повторять какие-либо действия. Различают два вида циклов: с заданным количеством шагов и циклы, в которых количество шагов заранее неизвестно, а цикл завершается при выполнении условия.

1. ЦИКЛ С ПРЕДУСЛОВИЕМ или цикл "ПОКА".

 

Сначала проверяется условие и тело цикла выполняется ПОКА УСЛОВИЕ ИСТИННО,

если условие становится ЛОЖНЫМ, то происходит выход из цикла.

Реализуется этот цикл инструкцией:

WHILE < условие > DO < тело цикла >

while - (вайл) - пока, do - (ду) – делать (выполнять).

В тело цикла входит только один оператор! Если нужно объединить в тело цикла несколько операторов, то применяются операторные скобки begin-end.

Условие может быть простым или сложным, если применить слова: NOT, AND, OR.

ПРИМЕРЫ ПРОСТЕЙШИХ ЦИКЛИЧЕСКИХ ПРОЦЕССОВ.

 

Пример 1. Вывести 20 одинаковых символов на экран.

Program Simwol; Uses crt;

var i,h,n: integer;

Begin {Действительно ли на экране 20 символов?}

clrscr; {пронумеруем символы:}

i:=1; h:=1; n:=20;

while i<=n do while i<=n do

Begin begin

write('* '); writeln(i,'- * ');

i:=i+h; i:=i+h;

end; end;

readkey;

End.

 

Пример 2. Вывести на экран Пример 3. Вывести на экран

числа от 1 до 20. числа от 20 до 1.

 

Program Ch; Uses crt; Program Ch; Uses crt;

var i,h,n: integer; var i,h,n: integer;

Begin Begin

Clrscr; clrscr;

i:=1; h:=1; n:=20; i:=20; h:=-1; n:=1;

while i<=n do while i>=n do

Begin begin

write(i,' '); write(i,' ');

i:=i+h; i:=i+h;

end; end;

readkey; readkey;

End. End.

 

 

ПРИЛОЖЕНИЕ К ПРАКТИЧЕСКОМУ ЗАНЯТИЮ № 11

 

Пример 4. Вывести на экран числа, оканчивающиеся на 7 на интервале от -100 до 100.

Program Ch; Uses crt;

var i,h,n: integer;

Begin

clrscr;

i:=-100; h:=1; n:=100;

while i<=n do

Begin

if i mod 10=7 then write(i,' ');

i:=i+h;

end;

readkey;

End.

 

нечетные: if odd(i) then write(i,' ');

четные: if not(odd(i)) then write(i,' ');

делящиеся на 7: if i mod 7=0 then write(i,' ')

нечетные и делящиеся на 7: if (odd(i)) and (i mod 7=0) then write(i,' ');

Пример5. Найти сумму ряда: 1, 2,..20.

Тип переменной S может быть integer, если сумма чисел не более 32767.

Program Summa; Uses crt;

var i,n,h,s: integer;

Begin

clrscr;

i:=1; n:=20; h:=1; s:=0; { s:=0 -обнуление суммы }

while i<=n do

Begin

s:=s+i; { процесс суммирования }

i:=i+h;

end;

write('Сумма чисел натурального ряда от 1 до 20 равна ',s);

readkey;

End.

Пример 6. Найти сумму ряда: 0.1, 0.3, 0.5,.., 32.5

Program Summa; Uses crt; { s - сумма }

var x,h,n,s: real; { h - шаг }

Begin { x – начальное значение параметра цикла}

ClrScr; { n - конечное значение параметра цикла.}

s:=0; x:=0.1; h:=0.2; n:=32.5;

while (x<=n) do

Begin

s:=s+x; { -суммирование очередного элемента }

x:=x+h; { -изменение параметра цикла на шаг }

end;

writeln('Сумма ряда: 0.1, 0.3,.., 32.5 S=',s); readkey;

End.


ПРИЛОЖЕНИЕ К ПРАКТИЧЕСКОМУ ЗАНЯТИЮ № 11 продолжение

 

Пример 7. Вывести на экран таблицу функции Y=sin(х),

где х изменяется от 10 до 90 с шагом 5 градусов.

Program Tabl; Uses crt;

var x, h, n, y: real;

Begin

ClrScr; writeln(' Таблица функции y=sin(х)');

x:=10; h:=5; n:=90;

while x<=n do

Begin

y:=sin(x*pi/180);

writeln('X=',x,' Y=',y);

x:=x+h;

end;

readkey;

End.

 

З А Д А Н И Я:

 

1. Найти сумму ряда: 5.6, 5.9,..,9.7

2. Получить таблицу функции y=cos(5∙х), где х изменяется от 1 до 10 с шагом 0.5

 

3. Найти произведение чисел от 6.7 до 7.8 с шагом 0.4

 

4. Сравнить, что больше сумма ряда 8.5, 8.6,...,40.9 или произведение чисел от 1 до 3 с шагом 0.25

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 12

 

ЦИКЛИЧЕСКИЕ ПРОЦЕССЫ (продолжение)

 

2. ЦИКЛ С ПОСТУСЛОВИЕМ или ЦИКЛ "ДО "

Сначала выполняется тело цикла, затем проверяется условие. Выход из цикла

осуществляется, когда УСЛОВИЕ СТАНЕТ ИСТИННЫМ, если условие ЛОЖНО, то

цикл повторяется.

REPEAT repeat - (рипид) - повторять

тело цикла until - (антил) - ДО тех пор пока

UNTIL условие;

Проверка условия производится после выполнения тела цикла, что делает

применение цикла "ПОКА" более предпочтительным, когда требуется пропустить

цикл вообще.

Вычислить для любого Х, с проверкой корректности ввода.

Program Func; Uses crt;

var x,y: real;

Begin

Repeat

ClrScr;

write('X='); readln(x);

until (x<>0);

y:=1/x;

writeln('x=',x,' y=',y);

readkey;

End.

 

З А Д А Н И Я:

 

1. Вычислить сумму ряда: 0.6, 0.7, 0.8, 0.9.

 

2. Вывести таблицу функции y=cos(x),

где x изменяется в градусах от 10 до 45 с шагом 5.

 

3. Определить, что больше сумма ряда: 1.1, 1.3,..., 93.1

или произведение: 5*7*...*11.

 

4. Вычислить значение функции y=1/(x-5), на отрезке от 0 до 10

с шагом 1 и с проверкой отсутствия деления на 0.

 


ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 13

ЦИКЛИЧЕСКИЕ ПРОЦЕССЫ (продолжение)

 

Begin

clrscr;

for i:=1 to 20 do write(i,' '); { 1 -начальное значение параметра }

End. { 20 -конечное значение параметра }

{ write(i,' ') -тело цикла }

После каждого выполнения тела цикла параметр i увеличивается на 1.

 

Напечатать числа от 20 до 1.

Program Chisla; Uses crt;

var i:integer;

Begin

clrscr;

for i:=20 downto 1 do write(i,' ')

End.

После каждого выполнения тела цикла параметр i увеличивается на -1.

 

Найти произведение чисел делящихся на 2 от 10 до 20.

Program Mult; Uses crt;

var x:integer; P:real;

Begin

clrscr;

p:=1; { начальное значение произведения }

for x:=10 to 20 do

if x mod 2=0 then p:=p*x;

write('Произведение чисел, делящихся на 2 от 10 до 40 равно P=',p)

End.

З А Д А Н И Я:

1. Вычислить сумму чисел из промежутка [1;1000].

2. Вывести на экран 56 символов &.

3. Получить на экране значения функции Y=SIN X,

где x берется из промежутка [25;45] и измеряется в градусах.

4. Вывести на экран все числа, делящиеся на 13, от 1 до 100.

5. Вывести на экран все числа от 500 до 300.

6. Найти значение дроби: в числителе - сумма чисел от 1 до 100 делящихся на 7,

а в знаменателе - сумма чисел от 100 до 500, делящихся на 17.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 14

СУММА. ПРОИЗВЕДЕНИЕ. ТАБУЛИРОВАНИЕ.

 

Рассмотрим суммирование числового ряда, если элемент ряда является

алгебраическим выражением с помощью циклов ДЛЯ, ПОКА, ДО:

 

Найти сумму ряда для i от 1 до 15, каждый элемент которого выражается

по формуле , то есть найти сумму: 6+9+14+...

 

Program Summa; Uses crt; Program Summa; Uses crt;

var s,i,n: integer; var s,i,n,h: integer;

Begin Begin

clrscr; clrscr;

s:=0; n:=15; s:=0; i:=1; n:=15; h:=1;

FOR i:=1 TO n DO s:=s+(i*i+5); WHILE i<=n DO

write('Сумма числового ряда S=',s); begin

End. s:=s+(i*i+5);

i:=i+h;

Program Summa; Uses crt; end;

var s,i,n,h: integer; write('Сумма ряда S=',s);

Begin End.

clrscr;

s:=0; i:=1; n:=15; h:=1;

REPEAT

s:=s+(i*i+5);

i:=i+h;

UNTIL i>n;

write('Сумма числового ряда S=',s);

End.

Найти произведение чисел ряда, каждый элемент которого определяется по формуле (i+1)/i и i изменяется от 1 до 20 с шагом 0.2, т.е. найти произведение чисел: P=2*1.8333*1.714*1.625*...

Program Mult; Uses crt;

var i,p,n,h: real;

Begin

clrscr;

p:=1; i:=1; n:=20; h:=0.2;

while i<=n do begin p:=p*(i+1)/I; i:=i+h; end;

write('Произведение ряда чисел P=',p);

End.

З А Д А Н И Я:

1. Найти сумму чисел ряда, каждый элемент которого определяется по

формуле (i+5)/i и i изменяется от 1 до 20 с шагом 0.4.

2. Получить таблицу для построения графика функции

на отрезке [7;15] с шагом 0.4.

 

3. Найти сумму ряда чисел, каждый элемент которого определяется по

формуле (i+5)/(i*i) и i=1,2,3,4,.... Суммировать до элемента равного 6E-3.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 15

ТАБУЛИРОВАНИЕ (продолжение)

 

Для получения качественного вывода таблицы применяется указание ШИРИНЫ

ПОЛЯ ВЫВОДА, которая пишется после переменной через двоеточие.

Например, а:5 или в:6. Для числа <а> выделяется поле из пяти символов.

Но следует иметь ввиду, что целые и вещественные числа при таком выводе

в таблице будут расположены нестандартно.

 

Для получения более качественного вывода таблицы применяют GOTOXY(C,R).

C - номер символа в строке, изменяется от 1 до 79, { Column }

R - номер строки, изменяется от 1 до 24. { Row }

При выводе таблицы значение C не изменяется, а значение R должно, после каждой выведенной строки, увеличиваться на 1.

 

Рассмотрим программу решения задания #2 практического занятия #14.

Program Tab; Uses crt;

var x,h,n: real; r:byte;

Begin

clrscr;

x:=7; h:=0.4; n:=15; r:=1; { r - номер строки }

Repeat

gotoxy(1,r); write('X=',x:2,' Y=',(x*x+5*x+4)/(x-6));

x:=x+h; r:=r+1; ПРИМЕЧАНИЯ: 1. Выравнивание разрядов

until x>n; производится if-then-else

End. 2. Если строк в таблице больше, чем строк на

экране, то применяется поэкранный вывод с

очисткой экрана (см. WHEREY занятие № 17).

 

Встречаются таблицы, в которых при некоторых значениях аргументов значения функции не определяются. В этом случае необходимо исключить прерывание программы и выдать на экран сообщение об отсутствии функции.

Вывести таблицу значений функции на интервале 1,2..15.

 

Program Tab; Uses crt;

var x, n: integer;

Begin

clrscr; n:=15;

for x:=1 to n do if x=5 then writeln('X=',x:2,' Y-не определяется')

else writeln('X=',x:2,' Y=',1/(x-5));

End.

 

З А Д А Н И Я:

1. Получить таблицу для построения графика функции y=sin х, используя

указание ширины поля вывода.

2. Получить эту же таблицу с использованием gotoxy(c,r);

3. Вывести таблицу в центральной части экрана.

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 16

 

ТАБЛИЦА П И Ф А Г О Р А

 

Если телом цикла является циклическая конструкция, то такие циклы называют ВЛОЖЕННЫМИ.

 

Program Pifagor; Uses crt;

var i,j: integer;

Begin

clrscr;

gotoxy(20,1);writeln('Таблица Пифагора');

FOR I:=1 TO 9 DO

BEGIN

FOR J:=1 TO 9 DO

BEGIN

gotoxy(i*4,j*2);

write(i*j:4);

END;

WRITELN;

END;

 

for i:=1 to 41 do

Begin

gotoxy(i,3);write('-');

if i<=19 then begin

gotoxy(9,i);

write('!');

end;

end;

gotoxy(5,22);

readkey;

End.

 

З А Д А Н И Я:

 

1. Набрать программу и получить на экране таблицу.

2. Получить максимально возможную квадратную таблицу.

3. Получить максимально возможную прямоугольную таблицу.


 

 

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 17

П Р О Ц Е Д У Р Ы

Программу, состоящую только из операторов, называют МОНОЛИТНОЙ.

Программу, содержащую процедуры и функции называют МОДУЛЬНОЙ.

ПРОЦЕДУРА - часть программы, имеющая имя и предназначенная для решения определенной задачи. Каждая процедура определяется только однажды, но может использоваться многократно. Процедуры определяются в разделе описаний вслед за разделом переменных.

PROCEDURE Name; prоcedure - служебное слово;

BEGIN Name - идентификатор отражающий смысл данной задачи;

ИНСТРУКЦИЯ Описание процедуры само по себе никакого действия не

END; вызывает. Чтобы исполнить процедуру, необходимо в нужном

месте программы поместить обращение к ней, указав Name;.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 257; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.111.24 (0.721 с.)