Методические рекомендации для выполнения практических работ

Методические указания для выполнения практических работ разработаны для студентов, изучающих программирование. Для проверки практических навыков программирования разработаны 10 практических работ по темам «Работа в командном режиме», «Программирование алгоритмов линейной структуры», «Программирование алгоритмов разветвляющейся структуры», «Программирование алгоритмов циклической структуры», «Одномерные массивы», «Двумерные массивы», «Подпрограммы», «Создание простейших графических изображений с...
Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Практическая работа №1.

Тема: вычисление в командном режиме.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания: Вычислите:

1 вариант.

1. 18*32,1*22-75

2. |121,3-18,5|-Методические рекомендации для выполнения практических работ

3. cos1

4. 3sinМетодические рекомендации для выполнения практических работ

5. 2соs245°

6. lg3

7Методические рекомендации для выполнения практических работ. 7*0,732-4*1,2342+3Методические рекомендации для выполнения практических работ

(2,4-7,5)2+2

8Методические рекомендации для выполнения практических работ. 7*53,82-4Методические рекомендации для выполнения практических работ-77*0,35

(5*11,2+4,3)2+1

9. 2Методические рекомендации для выполнения практических работ+5

Методические рекомендации для выполнения практических работ 3Методические рекомендации для выполнения практических работ+5

10. 4tg1 -8 cos2 22 + 5

(2*2,73-2)2+1

2 вариант.

1. 24*18,3*41-83

2. |10,3-16,48|-Методические рекомендации для выполнения практических работ

3. cos2

4. 2sin2Методические рекомендации для выполнения практических работ

5. соs230°-2

6. lg4

7Методические рекомендации для выполнения практических работ. 2*0,218-3*1,422-3Методические рекомендации для выполнения практических работ

(8,4-11,5)2+1

8Методические рекомендации для выполнения практических работ. 2*41,23-5Методические рекомендации для выполнения практических работ-24*0,62

(2*10,6+1,3)2-1

9. Методические рекомендации для выполнения практических работ-1

Методические рекомендации для выполнения практических работ 2Методические рекомендации для выполнения практических работ+4

10. 2tg2 -4 sin2 23 - 1

(2*4,21+1)2-3

Теоретические сведения к практической работе:

Арифметические выражения

Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними.

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

При построении арифметических выражений следует учитывать следующие правила:

Выражение записывается в строчку. Например, выражение:

Методические рекомендации для выполнения практических работ

на Паскале будет записываться следующим образом:

(2*a*x+3*b*y-4*x)/(2.5*(a+b+c))

Скобки в арифметических выражениях только круглые. Число открывающихся

скобок должно равняться числу закрывающихся скобок.

Нельзя записывать два знака операций подряд, без скобок, например в

выражении:

Методические рекомендации для выполнения практических работследует записать: (3*a+b)/(-x).

Порядок выполнения арифметических операций слева направо в соответствии со

старшинством операций:

1) значения функций; 2) *, /, div, mod; 3) +, -.

Пример:

Рассмотрим порядок вычисления на примере:

Методические рекомендации для выполнения практических работ

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

  1. Вычисление функции Sin(x);

  2. a*Sin(x); 3) Cos(y); 4) b*cos(y); 5) aSin(x)+b*Cos(y);

6) SQR(aSin(x)+b*Cos(y)) - получено значение в числителе;

  1. Вычисление x/y; 8) Sin(x/y); 8) a*a; 9) b*b; 10) SQR(a*a+b*b);

11) SQR(a*a+b*b)*Sin(x/y) - получено значение в знаменателе;

12) числитель/знаменатель - получен результат.

Пример:

Program Р;

const

a := 1.5;

b := 0.5;

var

x,Y,F: real;

begin

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

Y := ln (abs(x-b))*(a*x*arctan(a+x)-sqrt(abs(sqr(x)*x-1))+ln(abs(b+x)+1));

F := 1+sqrt(a*x*sqr(x)+b)-a*exp(-a*x);

Writeln ('Значение Y: ',Y);

Writeln ('Значение F: ',F)

End.

Сделайте вывод по работе.










Практическая работа №2.

Тема: программирование алгоритмов линейной структуры.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

Разработать алгоритм, составить программу решения задачи, подготовить тестовый пример и вычислить его на ПК.

1 вариант.

1. Вычислите, используя расчетную формулу:

аМетодические рекомендации для выполнения практических работ) у= 3Методические рекомендации для выполнения практических работ- 7Методические рекомендации для выполнения практических работ

Методические рекомендации для выполнения практических работ+2

вМетодические рекомендации для выполнения практических работ) у= 3sin2x- 7Методические рекомендации для выполнения практических работ

5tg3x+3cos3c

2. Найдите удвоенную сумму трех чисел.

2 вариант.

1. Вычислите, используя расчетную формулу:

аМетодические рекомендации для выполнения практических работ) у= 2Методические рекомендации для выполнения практических работ+4Методические рекомендации для выполнения практических работ

4Методические рекомендации для выполнения практических работ+1

вМетодические рекомендации для выполнения практических работ) у= 6соs2x- 2Методические рекомендации для выполнения практических работ

6tg2x-3cos2c

2. Найдите частное от деления числа 2a на разность чисел b и с.

Теоретические сведения к практической работе:

Переменная величина - это именованный элемент, который в процессе выполнения программы может принимать различные значения.

Типы переменных:

Тип

Наименование

Диапазон допустимых значений

INTEGER

Целое

-32768…32767

LONGINT

Длинное целое

-2 *109 … 2*109

REAL

Вещественный

10-38 …1038

CHAR

Символьный

Множество символов ASCII

Переменные описываются в разделе VAR с указанием типа, например: var a: integer; b,c: Real; R:char;.

Оператор ввода с клавиатуры READ() или READLN(), например:

а)READ(a, b) -программа ожидает ввода значений переменных a и b. Курсор остается на этой же строке;

б) READLN (a, b) -программа ожидает ввода данных и затем переводит курсор на новую строку.

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

Схема линейного алгоритма вычислений

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

VAR a,b,S: Integer;

Begin

a:=5;

b:=7;

S:=a+b;

WRITELN('сумма=',S)

end.

Пример: Определить расстояние на плоскости между двумя точками с заданными координатами M1(x1,y1) и M2(x2,y2)
Решение: Математическая модель: расстояние на плоскости между двумя точками M1(x1,y1) и M2(x2,y2) высчитывается по формуле Методические рекомендации для выполнения практических работ

Составим схему алгоритма: Методические рекомендации для выполнения практических работ:

Переводим блок-схему на язык Паскаль:

program example1;

var x1, x2, y1, y2: integer;

d:real;

begin

write('x1= '); readln(x1);

write('y1= '); readln(y1);

write('x2= '); readln(x2);

write('y2= '); readln(y2);

d:=sqrt(sqr(x2-x1)+sqr(y2-y1));

writeln('d=',d);

end.

Сделайте вывод по работе.











Практическая работа №3.

Тема: программирование алгоритмов разветвляющейся структуры.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

Разработать алгоритм, составить программу решения задачи, подготовить тестовый пример и вычислить его на ПК.

1 вариант.

1. Вычислите значение у, используя расчетную формулу:

Методические рекомендации для выполнения практических работsin x, если х>0,

у=

х+1, если хМетодические рекомендации для выполнения практических работ0.

2. Вычислите значение у, используя расчетную формулу:

Методические рекомендации для выполнения практических работ

х3, если хМетодические рекомендации для выполнения практических работ0,

у= log4x, если 0<х<10,

Методические рекомендации для выполнения практических работ, если хМетодические рекомендации для выполнения практических работ10.

3. Попадает ли точка с координатами (х;у) в указанную область?

Методические рекомендации для выполнения практических работ

4. Вычислить значение функции f(x), используя оператор выбора:

Методические рекомендации для выполнения практических работ х, при х=1,

у= x3, при х=2,

х4, при х=3,

0 в остальных случаях.

2 вариант.

1. Вычислите значение у, используя расчетную формулу:

Методические рекомендации для выполнения практических работ

х3, если х>1,

у=

12-х, если хМетодические рекомендации для выполнения практических работ1.

2. Вычислите значение у, используя расчетную формулу:

Методические рекомендации для выполнения практических работ

х4, если х<1,

у= log5x, если 1Методические рекомендации для выполнения практических работх<7,

Методические рекомендации для выполнения практических работ, если хМетодические рекомендации для выполнения практических работ7.

3. Попадает ли точка с координатами (х;у) в указанную область?

Методические рекомендации для выполнения практических работ

4Методические рекомендации для выполнения практических работ. Вычислить значение функции f(x), используя оператор выбора:

х2, при х=1,

у= x4, при х=2,

х, при х=3,

0 в остальных случаях.

Теоретические сведения к практической работе:

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки, выполнить то или иное действие.

Полная форма команды ветвления:

IF условие

THEN оператор 1

ELSE оператор 2;

Неполная форма команды ветвления.

IF условие THEN оператор;

Команда IF выполняет после слов THEN, ELSE только один оператор.

Если требуются выполнить более чем один оператор, то цепочку операторов заключаем в операторные скобки BEGIN...END.

Для получения сложных условий простые условия объединяют с помощью скобок и операций AND(и), OR(или), NOT(не), например (х>-5) and (x<5) (простые условия заключаются в скобки и соединяются союзом).

Пример: Дана программа нахождения меньшего из двух чисел:

Var a,b, min: real;

BEGIN

READ(a,b);

IF A

THEN min: = a

ELSE min: = b;

writeln(min)

END.

Пример: Составить программу, позволяющую получить словесное наименование дня недели.

Var x: integer;

A: string;

Begin

Write ('введите номер дня');

Readln(х);

Case х of

1: a:='понедельник';

2: a:='вторник';

3: a:='среда';

4: a:='четверг';

5: a:='пятница';

6: a:='суббота';

7: a:='воскресенье';

else а:='такого дня недели нет';

end;

writeln(a)

end.

Пример: Дано действительное а. Для функций f(a),график которой представлен на рисунке, вычислить f(a).

Методические рекомендации для выполнения практических работ

Решение: Математическая модель: функция вычисляется по следующей формуле

Методические рекомендации для выполнения практических работ

Составим схему алгоритма:

Методические рекомендации для выполнения практических работ


Program example1;

var a, f:real;

begin

write('Введите a> '); readln(a);

if a<-1 then f:= -a-1 else

if (a>=-1) and (a<0) then f:= a+1 else

if (a>=0) and (a<1) then f:= -a+1 else f:= a+1;

writeln('F= 'f);

end.

Сделайте вывод по работе.



Практическая работа №4.

Тема: программирование алгоритмов циклической структуры.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

Разработать алгоритм, составить программу решения задачи, подготовить тестовый пример и вычислить его на ПК.


1 вариант.

1. Найдите сумму двузначных натуральных чисел, кратных трем.

2. Найдите сумму п первых чисел ряда, если ап=Методические рекомендации для выполнения практических работ.

3. Вычислить значения функции у=хМетодические рекомендации для выполнения практических работна [0;10] с шагом 1.

2 вариант.

1. Найдите сумму трехзначных натуральных чисел, оканчивающихся на 18.

2. Найдите сумму п первых чисел ряда, если ап=Методические рекомендации для выполнения практических работ.

3. Вычислить значения функции у=Методические рекомендации для выполнения практических работна [1;10] с шагом 1.

Теоретические сведения к практической работе:

Оператор FOR используется, когда известно число повторений в цикле.

Этот оператор обеспечивает повторение цикла, управляемое переменной:

FOR переменная:=начальное значение TO конечное значение DO оператор;

где переменная -переменная порядкового типа, причем она последовательно принимает значения от начального до конечного с шагом 1, либо:

FOR переменная:=начальное значение DOWNTO конечное значение DO оператор,

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

Если необходимо последовательно выполнять несколько операторов в теле цикла, их следует объединить в составной оператор с помощью операторных скобок BEGIN...END.

Схема универсального оператора цикла такова:

WHILE логическое выражение DO оператор; (оператор будет повторяться, пока истинно логическое выражение). Цикл необходимо составить так, чтобы перед каждым повторением оператора значение логического выражения вычислялось заново. Если необходимо повторять несколько операторов, их следует объединить составным оператором BEGIN...END.

Оператор FOR обеспечивает повторение цикла, управляемое переменной:

FOR переменная:=начальное значение TO конечное значение DO оператор;

где переменная - переменная порядкового типа, причем она последовательно принимает значения от начального до конечного с шагом 1.

FOR переменная:=начальное значение DOWNTO конечное значение DO оператор;, где переменная принимает последовательно убывающие значения с шагом -1.

Пример: Составить программу вычисления суммы 24 членов ряда: 1+2+3+...+24

var k,s: integer;

begin

s:=0;

for k:= 1 to 24 do

s:=s+k;

writeln('сумма=',s)

end.

Пример: Дана программа вычисления суммы S первых 100 членов ряда: 1+2+3+...+100:

var k,s: integer;

begin

s:=0;

k:=1;

while k<=100 do begin

s:=s+k;

k:=k+1;

end;

writeln('сумма=',s)

end.

Сделайте вывод по работе.




























Практическая работа №5.

Тема: одномерные массивы.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

Разработать алгоритм, составить программу решения задачи, подготовить тестовый пример и вычислить его на ПК.

1 вариант.

1. Нахождения суммы элементов одномерного массива, состоящего из N элементов, меньших 10.

2. Нахождения числа элементов одномерного массива, состоящего из N элементов, больших 0,5.

3. Замены элементов одномерного массива, состоящего из N элементов, их квадратами.

4. Нахождения наименьшего элемента одномерного массива, состоящего из N элементов.


2 вариант.

1. Нахождения суммы элементов одномерного массива, состоящего из N элементов, больших 4.

2. Нахождения числа элементов одномерного массива, состоящего из N элементов, не превосходящих 4.

3. Замены элементов одномерного массива, состоящего из N элементов, их кубами.

4. Нахождения количества элементов одномерного массива, состоящего из N элементов, равных первому.


Теоретические сведения к практической работе:

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

var имя массива : array [размер] of тип ;

Например: a:array [1..6] of integer;

А) Вводить данные в массив можно следующим образом, например: CONST f:array[1..10] of integer=(1,2,3,4,0,6,8,10,-5,6); {в массив из 10 элементов вводятся числа, указываемые в скобках}

Б) Вводить, выводить данные в массив и из массива, обрабатывать данные удобно с помощью циклов, например: for i:=1 to n do read(f[i]); {один из способов ввода данных в одномерный массив).};

В) for i:=1 to n do write(f[i],' '); {вывод данных из одномерного массива).}

Пример: Найдите сумму положительных и отрицательных элементов одномерного массива.

Program Р;

uses crt;

var

M:array[1..200] of real;

s1,s2:real;

i,k:integer;

begin

clrscr;

s1:=0;

s2:=0;

write('Введите число элементов массива: ');

readln(k);

for i:=1 to k do begin

WRITE('M[',i,']=');

readln(M[i]);

end;

for i:=1 to k do begin

if M[i]<0 then s1:=s1+M[i];

if M[i]>0 then s2:=s2+M[i];

end;

writeln('Сумма отрицательных элементов: ',s1);

writeln('Сумма положительных элементов: ',s2);

readln;

end.

Пример: Найти сумму 6 элементов массива:

const a = array [1..6] of

integer = (5,-1,7,13,-8,21)

var i ,s: integer;

begin

s:=0;

for i:= 1 do 6 do

s:= s+a[i];

writeln ( s )

end.

Сделайте вывод по работе.
















Практическая работа № 6-7.

Тема: двумерные массивы.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

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


1 вариант.

1. Нахождения суммы элементов двумерного массива, меньших 10.

2. Нахождения числа элементов двумерного массива, больших 0,5.

3. Замены элементов двумерного массива их квадратами.

4. Нахождения произведения и количества элементов второй строки двумерного массива больших 8 и замены остальных элементов 1.

5. Нахождения суммы элементов двумерного массива Методические рекомендации для выполнения практических работ2,5 и замены остальных элементов их квадратами. Элементы массива - случайные натуральные числа Методические рекомендации для выполнения практических работ100.


2 вариант.

1. Нахождения суммы элементов двумерного массива, больших 4.

2. Нахождения числа элементов двумерного массива, не превосходящих 4.

3. Замены элементов двумерного массива их кубами.

4. Нахождения произведения и количества элементов первого столбца двумерного массива меньших 3 и замены остальных элементов 3.

5. Нахождения суммы элементов двумерного массива Методические рекомендации для выполнения практических работ8,3 и замены остальных элементов нулями. Элементы массива - случайные натуральные числа Методические рекомендации для выполнения практических работ100.

Теоретические сведения к практической работе:

Под массивом понимается упорядоченная совокупность (последовательность, набор) конечного числа данных одного типа, объединенных под общим именем. Имена массивов образуются так же, как и имена простых переменных. Двумерные массивы можно описать следующим образом:

var имя массива ; array [размер] of тип, где в "размере" указывается на первом месте количество строк, а на втором месте - количество столбцов;

Например: var f: array[1..n,1..m] of real; {- массив, состоящий из n строк и m столбцов и в нем -n*m элементов вещественного типа}.

a:array [1..10,1..5] of integer {-массив, состоящий из 10 строк и 5 столбцов и в нем -10*5 элементов целого типа}.

а[i,j] - значение элемента массива a, первым указывается i - порядковый номер строки, вторым j - порядковый номер столбца, на пересечении которых находится данный элемент.

Вводить, выводить данные в массив и из массива, обрабатывать данные удобно с помощью циклов, например: for i:=1 to n do begin

for j:=1 to m do

write(а[i,j],' ');

writeln;

end;

end;

Пример: Выведите на экран элементы двумерного массива.

Program Р;

Uses crt;

Var MA:array[1..20,1..20]of integer;

Sum:array[1..20] of longint;

k,i,j,imin:integer;

min:longint;

BEGIN

clrscr;

write('Введите число строк и столбцов: ');

readln(k);

Randomize;

Writeln('Введите элементы: ');

for i:=1 to k do

for j:=1 to k do

begin

write('MA[',i,',',j,']=');

Readln(MA[i,j]);

writeln;

end;

Пример: Составьте программу нахождения суммы элементов массива:

а)const a: array[1..2,1..10] of integer= ((5,7,0,3,-5,4,-5,7,0,1), (2,3,6,0,1,1,1,2,9,7));

var i, j, S, : integer;

begin

S:= 0;

for i:= 1 to 2 do

for j:= 1 to 10 do

S:= S + a [i,j] ;

Writeln ( S )

End.

б) var i, j, S, : integer;

a: array[1..2,1..10] of integer;

begin

for i:= 1 to 2 do

for j:= 1 to 10 do

read(a[i,j]);

S:= 0;

for i:= 1 to 2 do

for j:= 1 to 10 do

S:= S + a [i,j] ;

Writeln ( S )

End.

Сделайте вывод по работе.












Практическая работа №8.

Тема: подпрограммы.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

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

1 вариант.

1. Вычислить значение функции у=Методические рекомендации для выполнения практических работ, если A=20,B=60,C=45,D=30.

(Числовые значения углов даны в градусах).

2. Вычислить по формуле С=n!m!.

3. Вычислить значение выражения Методические рекомендации для выполнения практических работ.

2 вариант.

1. Вычислить значение функции у= Методические рекомендации для выполнения практических работ, если A=20,B=60,C=45,D=30.

(Числовые значения углов даны в градусах).

2. Вычислить по формуле С=Методические рекомендации для выполнения практических работ.

3. Вычислить значение выражения Методические рекомендации для выполнения практических работ.

Теоретические сведения к практической работе:

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

Передача данных из основной программы в подпрограмму (входные данные) и возврат результата выполнения подпрограммы осуществляется с помощью параметров.

Параметры - это данные, которые передаются вызываемой подпрограмме и используются последней в качестве входной и (или) выходной информации.

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

Структура процедуры имеет вид :

Procedure имя(список формальных параметров);

(* раздел описаний *)

begin

(* раздел операторов *)

end;

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

Функции

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

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

Общий вид описания функции:

Function Имя[(список формальных параметров)]:Тип результата;

описательная часть

Begin

тело функции, в которой обязательно должно быть

присваивание Имя_функции:=значение;

End;

Формальные параметры - параметры, определенные в заголовке процедуры.

Фактические параметры - выражения, задающие конкретные значения при обращении к процедуре.

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

Фактические параметры - это параметры, которые передаются процедуре при ее вызове.

Количество и тип формальных и фактических параметров должны в точности совпадать.

Методические рекомендации для выполнения практических работ



program primer1;

var

a,b,c,d,z,z1,z2,x,y:real;

procedure w(x,y:real; var w:real);

begin

w:=cos(x)+sin(y)+3;

end;

begin

writeln('задайте a,b,c,d');

readln(a,b,c,d);

x:=a*3.14/180;

y:=b*3.14/180;

w(x,y,z1);

x:=c*3.14/180;

y:=d*3.14/180;

w(x,y,z2);

z2:=sqrt(z2);

z:=z1/z2;

write('z=',z:4:2);

readln;

end.

Тестовый пример

A=20

B=60

C=45

D=30

Z=2.19

ПМетодические рекомендации для выполнения практических работример 2:

Вычислить С=

N!=1*2*3*…*N

1!=1

2!=1*2=2

3!=1*2*3=6

4!=1*2*3*4=24

Методические рекомендации для выполнения практических работ

program primer2;

var

z,z1,z2,c:real;

k,m,n:integer;

function factorial(k:integer):integer;

var i,p:integer;

begin

p:=1;

for i:=1 to k do

p:=p*i;

factorial:=p;

end;

begin

writeln('задайте m');

readln(m);

writeln('задайте n');

readln(n);

z:=factorial(n);

z1:=factorial(m);

z2:=factorial(n-m);

c:=z/(z1*z2);

write('c=',c:4:2);

readln;

end.

Тестовый пример

m=2

n=5

c=10

Пример3: Вычислить значение выражения:

Методические рекомендации для выполнения практических работ

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

Методические рекомендации для выполнения практических работ

program primer3;

var x,у:real;

function lg(x:real) :real; {Функция вычисления десятичного логарифма}

begin

lg:=ln(x)/ln(10);

end;

function tg (x: real) : real; {Функция вычисления тангенса}

begin

tg:=sin(x)/cos(x);

end;

BEGIN

writeln('Введите х');

readln(x);

y:=lg(sqr(tg(x))+sqr(cos(x)))/sqr(tg(x+sqr(lg(x)))+sqr(sin(x)));

writeln('y=',y:10:4);

END.

Тестовый пример:

Введите х

3.4
у=0.0045

Сделайте вывод по работе.













Практическая работа №9.

Тема: создание простейших графических изображений с помощью графических средств языка.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

1 вариант.

1. Составить программу вывода на графический экран своего имени.

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

2 вариант.

1. Составить программу вывода на графический экран своего имени.

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

Теоретические сведения к практической работе:

Графика

В графическом режиме экран рассматривается как последовательность точек (пикселей), из которых строится изображение.

Количество пикселей в строке и количество строк на экране характеризуют его разрешающую способность.

640х480 - в строке 640 пикселей , а строк всего 480.

Пиксель определяют: координаты X, Y и цвет. Х

Методические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работ (0,0) (640,0)

(0,480) (640,480)

Для работы в графическом режиме разработана библиотека GRAPH, содержащая множество графических процедур и набор драйверов.

Драйвер находится в файле с расширением .TPU

Для того, чтобы в программе можно было использовать процедуры модуля GRAPH, его надо подключить к программе, использовав раздел описаний модулей:

USES GRAPH;

С момента подключения модуля GRAPH программисту доступны все находящиеся в ней подпрограммы.

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

Формат процедуры :

InitGraph( gd,gm,'');

В программе нужно описать переменные gd,gm:

var

gd,gm : integer;

В разделе операторов, перед тем как написать первый графический оператор, следует выполнить:

gd:=vga;

gm:=vgahi ;

InitGraph( gd,gm,'');

if Graphresult=grok then

Установка цвета и стиля заполнения

SetColor(N); - установка цвета графического изображения.

SetLineStyle(Ln,P,T); - установка способа закраски.

Ln- стиль линий

0

сплошная

1

пунктирная

2

штрихпунктирная

3

штриховая

Р- шаблон (0-для всех линий), Т- толщина линий

1

нормальная

3

толстая

Таблица цветов

Константа

Цвет

Имя

Значение

Black

0

Черный

Blue

1

Синий

Green

2

Зеленый

Cyan

3

Бирюзовый

Red

4

красный

Magenta

5

малиновый

Brown

6

коричневый

LightGray

7

светло-серый

DarkGray

8

темно-серый

LightBlue

9

ярко-голубой

LightGreen

10

ярко-зеленый

LightCyan

11

ярко-бирюзовый

LightRed

12

ярко-красный

LightMagenta

13

ярко-малиновый

Yellow

14

желтый

White

15

белый

Рисование геометрических фигур:

1. Вывод отрезка

Line(x1,y1,x2,y2);

(x1,y1) - координаты начала отрезка

(x2,y2) - координаты конца отрезка

!!! Обратите внимание на то, что в процедуре не задается цвет. В этом и аналогичных случаях цвет определяется процедурой SetColor(N).

2. Построение прямоугольника

Rectangle(x1,y1,x2,y2);

Точки с координатами (x1,y1) (x2,y2) должны быть противоположными вершинами прямоугольника.

3. Построение дуг, окружностей, эллипсов.

Circle(x,y,<радиус> ); - окружность указанного радиуса

Ellipse(x,y, <нач_угол>,<кон_угол>,xR,yR) - построение эллиптических дуг.

X,Y - координаты центра,

xR, yR - длина горизонтальной и вертикальной полуосей в пикселях.

Угол отсчитывается против часовой стрелки и указывается в градусах. Дуга эллипса вычерчивается от заданного начального угла до конечного угла. Если значение начального угла 0°, а конечного 360° - будет построен полный эллипс.

Arc(x,y, <нач_угол>,<кон_угол>,r);


Методические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работ

10 20 30 40 50 60 70 80 90

x

Методические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работМетодические рекомендации для выполнения практических работ

10

20

30

40

50

Program primer;

USES GRAPH;

var

gd,gm : integer;

begin

gd:=vga; графический адаптер

gm:=vgahi ; графический режим 640х480

InitGraph( gd,gm,''); включение графического режима

if Graphresult=grok then если режим включен успешно

begin

setcolor(5);

SetLineStyle(2,0,3);

Line(10,50,10,10);

Line(10,10,20,20);

Line(20,20,30,10);

Line(30,10,30,50);

Line(40,10,40,50);

Line(40,50,60,10);

Line(60,10,60,50);

Rectangle(70,10,90,40);

Line(70,40,70,50);

End;

Readln;

End.

Сделайте вывод по работе.











Практическая работа №10.

Тема: разработка и программирование задач с обработкой текстовой информации.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Задания:

Составьте программу и тестовый пример для решения следующих задач:

1 вариант.

1. Из слова «путеводитель» составьте слова «дело», «пудель», «водитель».

2. Дан текст. Сосчитайте количество запятых в нем.

3.Дан массив символьных переменных разной длины. Выведите на экран те из них, которые оканчиваются на букву «я».

2 вариант.

1. Из слова «водозаборный» составьте слова «забор», «вода», «завод».

2. Дан текст. Сосчитайте количество букв «и» в нем.

3.Дан массив символьных переменных разной длины. Выведите на экран те из них, которые начинаются с буквы «к».

Теоретические сведения к практической работе:

Работа с символьными величинами.

Символьная величина- это цепочка символов, заключенная в апострофах, длина которой не более 255 символов. Объявление символьных переменных осуществляется в разделе объявления переменных с помощью служебного слова char или string.

Операции над строковыми переменными:

1. Сравнения: <, >, <>, >=, <=,=.

2. Cложения: +.

3. Функции обработки:

а) delete(a, poz, n)- удаление из строки а, начиная с позиции poz n символов.

а:='оператор', delete(a,2,2), рез.: оратор

б) insert(str1, str2, poz) - вставка строки str1 в строку str2, начиная с позиции poz.

str1='ка', str2='тропинка', insert(str1, str2, 6), рез: тропиканка

в) length(str)- длина строки ( количество символов).

str1='оператор', length(str), рез: 8

г) copу(str, poz, n)-из строки str, начиная с позиции poz, берутся n символов.

str='стройка', copi(str, 2, 6), рез: 'тройка'

д) str(v,s) - заданное число v преобразует в строку s

е) val(s,v,c) - если строка s состоит из цифр, они преобразуются в некоторое числовое значение и передаются переменной v

1)

program s1;

const a='классшкола';

b='абвгд№0123456789';

var

c,d: string;

begin

c:=copу(a,6,5)+' '+copу(b,6,1)+copу(b,14,1);

d:=copу(a,1,5)+' '+copу(b,length(b),1)+copу(b,2,1);

write(c,d);

readln;

end.

2) Подсчитайте количество букв «а» в некотором слове.

program s2;

var

c,d: string;

i,n: integer;

begin

writeln(c);

readln(c);

n:=0;

for i:=1 to length(c) do

begin

d:= copу(c,i,1);

if d='a' then n:=n+1;

end;

writeln(n);

readln;

end.

3) Дан символьный массив переменной разной длины. Вывести на экран те из них, которые начинаются с буквы «а».

program s3;

var

a: array[1..5] of string;

i:integer;

begin

for i:=1 to 5 do

begin

writeln('задайте слово');

readln(a[i]);

end;

for i:=1 to 5 do

begin

if copу(a[i],1,1)='a' then writeln(a[i]);

end;

readln;

end.

Сделайте вывод по работе.

© 2010-2022