Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1800

.pdf
Скачиваний:
5
Добавлен:
15.11.2022
Размер:
925.77 Кб
Скачать

торов, то их заключают в так называемые операторные скобки:

begin

Оператор11; Оператор12;

Оператор1N: end;

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

Пример. Даны длины трёх сторон треугольника. Если такой треугольник существует, вычислить его площадь.

Программа:

Program Treug;

Var a,b,c,p,s : Real; Begin

WriteLn(‘Введите длины сторон треугольника:’);

ReadLn(a,b,c);

If (a+b<c)or(a+c<b)or(b+c<a)

then WriteLn(‘Такого треугольника не существует’)

else begin p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln(‘Площадь треугольника

равна ’,s:6:2);

end;

end.

Циклические алгоритмы. Операторы цикла

Для организации циклов в языке Паскаль предусмотрены три оператора.

20

1) Оператор с предусловием While.

While (Условие) do Оператор;

Условие — это логическое выражение, представляющей собой условие продолжения цикла, Оператор — простой или составной — представляет собой тело цикла. Однако в теле необходимо предусмотреть модификацию условия для того, чтобы цикл мог на каком-либо шаге закончиться. Проверка условия продолжения цикла осуществляется перед выполнением тела. Поэтому тело такого цикла может ни разу не выполниться.

Пример. Дано 100 вещественных чисел, вводимых с клавиатуры. Найти разность между максимальным и минимальным из них.

Program Primer;

Var x,min,max : real;

j : integer;

Begin

WriteLn('Вводите числа!'); ReadLn(x); min:=x; max:=x; j:=1;

While (j<=100) do begin ReadLn(x);

If x<min then min:=x; If x>max then max:=x; j:=j+1;

end; WriteLn('Искомая разность

равна ',max-min:9:3);

End.

2) Оператор цикла с постусловием Repeat.

Repeat

Тело цикла

Until (Условие);

21

Условие — это логическое выражение, представляющей собой условие окончания цикла. Тело цикла может состоять из большого числа операторов, среди которых необходимо предусмотреть модификацию условия для того, чтобы цикл мог на каком-либо шаге закончиться. Проверка условия окончания цикла осуществляется после выполнением тела. Поэтому тело такого цикла хотя бы один раз выполниться.

Пример. Дано 100 вещественных чисел, вводимых с клавиатуры. Найти разность между максимальным и минимальным из них.

Program Primer;

Var x,min,max : real;

j : integer;

Begin

WriteLn('Вводите числа!'); ReadLn(x); min:=x; max:=x; j:=1;

Repeat ReadLn(x);

If x<min then min:=x; If x>max then max:=x; j:=j+1;

Until (j>=100) WriteLn('Искомая разность

равна ',max-min:9:3);

End.

3) Оператор цикла с параметром применяется для организации циклов с известным количеством повторением и относится к циклам с предусловием. Формат оператора следующий:

For Переменная Цикла:=НачальноеЗначение to КонечноеЗначение do Оператор;

Переменная цикла — переменная одного из порядковых типов

— пересчитывает количество повторений цикла, заданное с помощью начального и конечного значений. Количество повторений на единицу больше разности между конечным и

22

начальным значениями. Оператор представляет собой тело цикла. Поскольку оператор for берёт на себя пересчёт количества повторений, то внутри тела цикла нельзя изменять переменную цикла. Её можно лишь использовать.

Пример. Дано 100 вещественных чисел, вводимых с клавиатуры. Найти разность между максимальным и минимальным из них.

Program Primer;

Var x,min,max : real;

j : integer;

Begin

WriteLn('Вводите числа!'); ReadLn(x); min:=x; max:=x; For j:=2 to 100 do

begin ReadLn(x);

If x<min then min:=x; If x>max then max:=x; end;

WriteLn('Искомая разность равна ',max-min:9:3);

End.

Некоторые «горячие» клавиши среды Free Pascal

Создать новое окно — File New;

Переключение между окнами — Alt+Номер Окна; Закрытие текущего окна — Alt+F3;

Сохранение программы — F2 или File Save или File Save As; Открытие файла — F3 или File Open;

Компиляция без выполнения — Alt+F9 или Compile; Компиляция с выполнением — Ctrl+F9 или Run.

Практические задания

При выполнении практического задания придерживайтесь следующий последовательности действий:

23

1)Обязательно изучите описание, предлагаемое выше.

2)Разберите примеры, приводимые в описании.

3)Осмыслите задачу, предлагаемую в вашем варианте. Задаете вопросы преподавателю по сути решаемой задачи.

4)Составьте словесный алгоритм решения задачи. Покажите его преподавателю.

5)Представьте алгоритм решения в виде блок-схемы, покажите ее преподавателю.

6)Переведите алгоритм на язык программирования.

Варианты заданий

Вариант 1

Даны два натуральных чисел M и N . Определите, имеют ли они общие делители, большие 1. Два числа, не имеющие общих делителей больших 1, называются взаимно простыми.

Вариант 2.

В обращении имеются монеты 1-,5-,10-,50-копеечного достоинства. Напишите программу, определяющую сдачу наименьшим количеством монет.

Вариант 3.

Выведите на экран 10 первых совершенных чисел. Натуральное число является совершенным, если оно равно сумме всех своих делителей, включая 1.

Вариант 4.

Выведите на экран первые 100 простых чисел. Натуральное число является простым, если оно не имеет делителей, кроме самого себя и единицы.

Вариант 5.

Даны координаты точки A(x,y). Составьте программу, выдающую ответ, принадлежит ли точка A области пересечения окружностей, изображенных на рис. 1.2.

24

y

x

1 2

Рис. 1.2. К варианту 5

Вариант 6.

Даны координаты точки A(x,y). Составьте программу, выдающую ответ, принадлежит ли точка А ромбу, изображен-

ному на рис.1.3.

y

1

x -2 2

-1

Рис. 1.3. К варианту 6

Вариант 7.

ВычислитеS 4 8 12 ... 172 176

25

Вариант 8.

Вычислите S = cos(π +cos(2 π + …cos(29 π+cos(30 π)…).

Вариант 9.

Вычислите количество точек с целочисленными координатами находящихся в круге радиуса R (R>0) с центром в точ-

ке A(х,у).

Вариант 10.

С клавиатуры вводится десятичное число В и основание системы счисления от 2 до 9. Составьте программу, которая переводит число В в указанную систему счисления.

Варианты 11–18.

Составьте программу вычисления суммы. С целью проверки ее работоспособности вычислите сумму аналитически. Число слагаемых N вводится с клавиатуры с проверкой правильности ввода.

Номер

Сумма

варианта

 

 

 

11

1 2 3 4 ... N

 

 

12

1 3 5 7 ... (2N 1)

 

 

13

2 4 6 8 .. 2N

 

 

26

14

12 22 32

42

... N2

 

 

 

15

12 32

52 ... (2N 1)2

 

 

 

 

 

16

13 23

33

43

... N 3

 

 

17

13 33 53 ... (2N 1)3

 

 

 

 

18

14 24 34

44

... N4

 

 

 

 

 

Варианты 19–22.

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

Номер

Формула

 

 

 

 

 

 

 

 

 

варианта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

19

i 2 1

 

 

 

 

...

 

 

 

 

i 1

22

 

32

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

20

( 1)i 1i 2

1

 

 

 

...

22

 

32

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

21

(2i 1) 2

1

 

 

 

...

32

 

52

 

i 1

 

 

 

 

 

 

27

 

 

 

( 1)i

 

1

 

1

 

22

 

 

 

1

 

 

 

...

(2i 1)

3

5

 

 

 

 

 

 

i 1

 

 

 

 

 

 

Варианты 23–28

Разложите в ряд Тейлора в окрестности точки x0 0

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

Номер

Функция

Варианта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

sin(x)

 

 

 

 

 

 

 

 

24

exp(x)

 

 

 

 

 

 

 

 

25

 

cos(x)

 

 

 

 

 

 

 

 

26

sh(x)

ex e x

 

 

 

 

 

2

 

 

27

ch(x)

ex e x

 

 

 

 

2

 

 

28

 

sin(x)

 

 

x

 

 

28

ЛАБОРАТОРНАЯ РАБОТА № 2

РАБОТА С МАССИВАМИ

Цели работы:

овладение практическими навыками работы с массивами;

освоение методов сортировки массивов.

Теоретические сведения

Описание одномерных массивов

Массив — это объединение нескольких однотипных переменных, рассматриваемое как единое целое. Описать массив можно либо в разделе переменных, либо с использованием описания нового типа. При описании массива необходимо указать:

имя массива,

тип элементов, из которых он состоит,

количество элементов в массиве,

способ нумерации (или индексирования элементов).

Описание массива в разделе описания переменных выглядит так:

Var

Имя_Массива : array [Тип_индекса] of Тип_Элементов;

Здесь ARRAY, OF – зарезервированные слова (массив, из). Например:

a,b,c,d : array [Integer] of Integer;

Здесь определено 4 массива с именами a,b,c и d. Все они состоят из элементов типа Integer. Элементы нумеруются целыми числами от -32768 до 32767, так как типом индекса указан тип Integer. Как правило, для типа индекса используют тип диапазон (вырезку из одного из базовых перечислимых типов). Например

x1 : array [1..100] of Real;

29

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]