- •«Информатика»
- •Введение
- •Требования к оформлению отчёта по лабораторной работе
- •Лабораторная работа №1. Табуляция функции
- •3. Лабораторная работа №2. Одномерные массивы
- •4. Лабораторная работа №3. Двухмерные массивы
- •Лабораторная работа №4. Построение графика функции
- •6. Лабораторная работа №5.Строковые типы и операции над ними
Лабораторная работа №1. Табуляция функции
Выполнение лабораторной работы рассмотрим на конкретном примере.
2.1. Условие задачи:
Найти и вывести на экран все значения функции на отрезке [A,B] с шагомD. Подсчитать количество значений функции, больших 10.
2.2. Постановка задачи:
Вводимые переменные: A,B,D– вещественные числа – начало отрезка, конец отрезка, шаг.
При вводе данных необходимо учитывать, что переменные A,B,Dдолжны соответствовать следующим условиям:B>AиD>0. Если данные не соответствуют этим условиям, необходимо повторить ввод новых данных.
Для решения этой задачи целесообразно организовать цикл. Переменная цикла К должна изменяться в пределах от К=А до К=В с шагом D.
, , пока.
С – количество, целое. ,при
Выводимые переменные: К, Р, С– таблица:
Аргумент=... Значение функции=...
Аргумент=... Значение функции=...
Количество значений функции, больших 10=…
2.3. Алгоритм:
C=C+1 K=K+D
Нет Да
Нет Да
Нет Да
2.4. Текст программы:
Program TAB;
{Составил .........}
Var A,B,D,K,P:Real; { описаниe переменных}
C:Integer;
Begin {начало программы}
Repeat {Оператор цикла с постусловием. Организуется цикл выполнения перечня операторов, заключенных между словамиrepeatиuntilдо тех пор, пока не будет выполнено условие, указанное послеuntil.}
WriteLn('Введи начало отрезка, конец отрезка, шаг'); {Оператор вывода на экран строки заключенной в апострофах.}
ReadLn (A,B,D);{ Ввод числовых данных. Состоит из переменных в скобках, которыми будут обозначены вводимые данные.}
Until (B>A) and (D>0);
C:=0;
K:=A;
While K<=B do{Организуется цикл для нахождения значений заданной функции, вывода на экран таблицы, подсчета количества Р>10 до тех пор пока выполняется условие, указанное после управляющего словаwhile.}
Begin {начало цикла}
P:=24.9*exp(ln(sqr(sin(2*k)))/7);
WriteLn ('Аргумент=',K:6:2,'Значение функции='’,P:8:2);
if P>10 thenC:=C+1;{ Проверка условия.}
K:=K+D;
End; {конец цикла while}
Write ('Количество значений функции, больших 10=',C);
End.{конец программы}
2.5. Результаты расчетов:
Введи начало отрезка, конец отрезка, шаг 1 3 0.5
Аргумент=1.00 Значение функции=24.23
Аргумент=1.50 Значение функции=14.23
Аргумент=2.00 Значение функции=22.99
Аргумент=2.50 Значение функции=24.60
Аргумент=3.00 Значение функции=17.30
Количество значений функции, больших 10=5
3. Лабораторная работа №2. Одномерные массивы
Номер элемента массива: 1 2 …………… j…n
Элемент массива: |
186 |
155 |
4 |
… |
28.6 |
…. |
Примеры.
Описание массивов:
Var b:array [1..28] of real;
b:array [45..61] of byte;
Присвоение значений элементам массива
B[1]:=186;B[19]:=143.8;B[j]:=28.6;
B[j+1]:= a+c;
Выполнение лабораторной работы рассмотрим на конкретном примере.
3.1. Условие задачи:
Дано 40 оценок, найти среднюю.
3.2. Постановка задачи:
1) Вводимые переменные: Оc[i] – оценка.
Проверка: при вводе данных необходимо учитывать, что
, если данные не соответствуют этим условиям, необходимо повторить ввод новых данных.
2) Промежуточные переменные: i– номер оценки
Sum– сумма оценок
3) Выводимые переменные: SR– средняя оценка.
Для решения задачи потребуются следующие формулы.
Sum = Sum + Oc[i]; = 0; SR = Sum/40
Результат: SR= …
3.3. Алгоритм:
i=1
i=i+1 Sum=0 i=40 Sum=Sum+Oc[i] i=i-1 SR=Sum/40
3.4. Текст программы:
Program OCEN;
{составил ...}
var Oc : array[1..40] of integer;
Sum,i : integer;
Sr : real;
begin
for i:=1 to 40 do{ Выполняется цикл(повтор) одного оператора, стоящего за управляющим словомdo. Количество повторений равно разности между значениями переменной цикла после словаtoи словаfor, увеличенной на единицу. При каждом повторении переменная цикла изменяется с шагом +1.}
begin
repeat
write ('введи оценку ');
readln (Oc[i]);
until (Oc[i]>0) and (Oc[i]<=5);
end;
Sum:=0;
fori:=40downto1do{Выполняется цикл(повтор) одного оператора, стоящего за управляющим словомdo.При каждом повторении переменная цикла изменяется с шагом –1.}
Sum:=Sum+Oc[i];
SR:=Sum/40;
Write ('средняя оценка=',Sr:4:2);
end.
3.5. Результаты расчетов:
Введи оценку 4
Введи оценку 3
..........................
Введи оценку 5
Средняя оценка=3.05
Другие возможные варианты:
1.Накапливающее умножение
Р - произведение
…………………….
p:=1;
for i:=1 to 40 do
p:=pOc[i];
2.Подсчёт количества
........................
kol:=0;
for i:=1 to 40 do
begin
if St>175 then
kol:=kol+1;
end;
write (‘kol=’,kol);