-6A82E~1
.PDF171
Контроль знаний
Контрольные вопросы
1.Назначение интегрированной среды программирования ТурбоПаскаль.
2.Файлы ТурбоПаскаль.
3.Главное меню ТурбоПаскаль.
4.Последовательность действий при работе с Турбо-отладчиком.
5.Стандартные функции языка Паскаль.
6.Вычисление математических функций на языке Паскаль.
7.Составной оператор. Пустой оператор.
8.Оператор безусловного перехода goto.
9.Оператор условного перехода if.
10.Оператор выбора case.
11.Оператор цикла while.
12.Оператор цикла repeat.
13.Оператор цикла for.
14. Операторы ввода.
15.Операторы вывода.
16.Форматный вывод переменных в языке Паскаль.
17.Описание файлов.
18.Некоторые стандартные процедуры и функции для работы с файлами. 19.Описание массивов.
20.Особенности ввода и вывода массивов.
21.Строковые константы и переменные.
22.Операция присваивания над строками.
23.Операция сцепления над строками.
24.Операции отношения над строками.
25.Некоторые встроенные функции для обработки строк.
26.Описание записей.
27.Оператор присоединения with.
28.Организация подпрограмм пользователя.
29.Подпрограммы процедуры.
30.Подпрограммы функции.
31.Область действия переменных.
32.Использование модулей в Турбо-Паскале. Модуль CRT. 33.Работа с экраном дисплея в текстовом режиме (Модуль CRT). 34.Воспроизведение звука (Модуль CRT).
35.Работа с клавиатурой (Модуль CRT).
36.Модуль GRAPH.
37.Инициализация графического режима и выход из него (модуль GRAPH). 38.Управление экраном и организация окон (модуль GRAPH).
172
Контрольная работа
Задание: Изучить типовые задачи и выполнить три задания, согласно вашему варианту
Типовая задача №1. Составить схему алгоритма и программу для задачи:
Записать в файл вещественных чисел числа 1,1 1,4 1,7 2,0 2,3. Затем, читая из этого файла эти числа, вычислять синус (sin) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Программа
Program PR_1; Var i,j:real;
r1:file of real; r2:text;
Begin Assign(r1,'res-1'); Rewrite(r1); Assign(r2,'res-2'); Rewrite(r2); i:=1.1;
While i<=(2.3+0.000001) do begin Write(r1,i);
i:=i+0.3;
end;
Reset(r1);
While not eof(r1) do begin Read(r1,i);
j:=sin(i);
Writeln(r2,'sin(',i:3:1,')=',j:0:5);
end;
Close(r1);
Close(r2);
END.
Результат
sin(1.1)=0.89121
sin(1.4)=0.98545
sin(1.7)=0.99166
sin(2.0)=0.90930
sin(2.3)=0.74571
173
Схема алгоритма
174
Индивидуальное задание №1
Вариант №1. Составить схему алгоритма и программу для задачи:
Записать в файл целых чисел числа 5 10 25 20 25. Затем, читая из этого файла эти числа, вычислять десятичный логарифм (lg) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №2. Составить схему алгоритма и программу для задачи:
Записать в файл вещественных чисел числа 0,2 0,3 0,4 0,5 0,6. Затем, читая из этого файла эти числа, вычислять арккосинус (arccos) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №3. Составить схему алгоритма и программу для задачи:
Записать в файл целых чисел числа 5 10 15 20 25. Затем, читая из этого файла эти числа, вычислять логарифм по основанию 5 (lоg5) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №4. Составить схему алгоритма и программу для задачи:
Записать в файл вещественных чисел числа 0,1 0,3 0,5 0,7 0,9. Затем, читая из этого файла эти числа, вычислять арксинус (arcsin) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №5. Составить схему алгоритма и программу для задачи: Записать в файл целых чисел числа 10 16 22 28 34. Затем, читая из этого файла эти числа, вычислять логарифм по основанию 4 (log4) каждого числа и записывать развернутые выражения и результаты в текстовый файл. Вариант №6. Составить схему алгоритма и программу для задачи:
Записать в файл вещественных чисел числа 0,2 0,4 0,6 0,8 1. Затем, читая из этого файла эти числа, вычислять арккотангенс (arcctg) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №7. Составить схему алгоритма и программу для задачи:
Записать в файл целых чисел числа 2 4 6 8 10. Затем, читая из этого файла эти числа, вычислять логарифм по основанию 2 (lоg2) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №8. Составить схему алгоритма и программу для задачи:
Записать в файл вещественных чисел числа 0,1 0,3 0,5 0,7 0,9. Затем, читая из этого файла эти числа, вычислять арксинус (arcsin) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №9. Составить схему алгоритма и программу для задачи: Записать в файл целых чисел числа 20 40 60 80 100. Затем, читая из этого
файла эти числа, вычислять десятичный логарифм (lg) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
Вариант №10. Составить схему алгоритма и программу для задачи: Записать в файл вещественных чисел числа 1,2 1,3 1,4 1,5 1,6. Затем, читая из этого файла эти числа, вычислять тангенс (tg) каждого числа и записывать развернутые выражения и результаты в текстовый файл.
175
Типовая задача №2. Составить схему алгоритма и программу для задачи:
Начислить 13-ю зар.плату работникам фирмы (количество работников не более 10) в зависимости от стажа (в полных годах):
-менее 5 лет - в размере 70% зар.платы;
-от 5, но менее 10 лет - в размере 90% зар.платы;
-от 10 лет - в размере 100% зар.платы;
Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его зар.платы, его стажа и 13-ой зар.платы
Программа
Program PR_2; type zap=record
fio:string[20]; {Ф.И.О.} zp: real; {зар.плата}
st: integer; {стаж в годах} v13: real; {13-я зар.плата} end;
var tab:array[1..10] of zap; i,n:integer;
r:text; BEGIN
assign(r,'r-2'); rewrite(r);
writeln(' Количество работников - ?'); readln(n); writeln(' Введите список: Ф.И.О.');
writeln(' зар.плата стаж'); for i:=1 to n do begin readln(tab[i].fio); readln(tab[i].zp,tab[i].st);
end;
writeln(r,' Ф.И.О. |
',' Оклад ',' Стаж(в годах) ',' 13-я з/пл'); |
for i:=1 to n do |
|
With tab[i] do begin |
|
if st<5 then v13:=zp*0.7 |
|
else if st<10 |
then v13:=zp*0.9 |
else v13:=zp;
writeln(r, fio, '':20-length(fio), zp:7:1, st:10, v13:12:1); end;
close(r);
END.
176
Схема алгоритма
177
Индивидуальное задание №2
Вариант №1. Составить схему алгоритма и программу для задачи: Начислить премию работникам фирмы (количество работников не более
10) в зависимости от стажа (в полных годах): менее 10 лет – в размере 30% от оклада, от 10 лет – в размере 50% от оклада. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, стажа и суммы премии.
Вариант №2. Составить схему алгоритма и программу для задачи: Начислить премию работникам фирмы (количество работников не более
10) в зависимости от оклада – в размере 50% от оклада. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, и суммы премии.
Вариант №3. Составить схему алгоритма и программу для задачи:
Начислить новый оклад работникам фирмы (количество работников не более 10) в зависимости от повышения минимальной заработной платы со 100 руб. до 150 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его старого и нового окладов.
Вариант №4. Составить схему алгоритма и программу для задачи: Начислить премию работникам фирмы (количество работников не более
10) в зависимости от стажа (в полных годах): менее 10 лет – нет премии, от 10 лет – в размере 50% от оклада. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести
1)табель с указанием Ф.И.О. работника, его оклада и стажа;
2)табель с указанием Ф.И.О. работника и суммы выплаты.
Вариант №5. Составить схему алгоритма и программу для задачи:
Начислить новый оклад работникам фирмы (количество работников не более 10) в зависимости от стажа (в полных годах): менее 10 лет – оклад увеличить на 30%, от 10 лет – на 50%. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его старого и нового оклада.
178
Вариант №6. Составить схему алгоритма и программу для задачи:
В мартовскую зарплату выдать премию работникам женского пола в размере 100 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его пола, оклада, премии и суммы выплаты.
Вариант №7. Составить схему алгоритма и программу для задачи:
В февральскую зарплату выдать премию работникам мужского пола в размере 100 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его пола, оклада, премии и суммы выплаты.
Вариант №8. Составить схему алгоритма и программу для задачи:
В сентябрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от стажа (в полных годах): менее 2 лет – в размере 25 руб., от 2 лет – в размере 50руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, стажа и полной суммы выплаты.
Вариант №9. Составить схему алгоритма и программу для задачи:
В декабрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от стажа (в полных годах): менее 2 лет – в размере 25 руб., менее 5 лет – в размере 50руб, от 5 лет – в размере 75 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, стажа и полной суммы выплаты.
Вариант №10. Составить схему алгоритма и программу для задачи:
В декабрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от количества детей: 1 ребенок – в размере 25 руб., 2 ребенка – в размере 50 руб., 3 и более – в размере 75 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, количества детей и полной суммы выплаты.
179
Типовая задача №3-1.
Составить схему алгоритма и программу для вычисления циклической суммы
m
f (x) , когда вид функции заранее неизвестен. Вычислить значения сумм
x n
20 |
5 |
и |
50 |
|
5 |
, результат записать в файл. |
|
|
|
|
|
||
x 10 |
1 x2 |
|
x 51 |
lg(x) |
|
|
Программа
Program Lab3_T1;{Familii}
Type func=function(x:integer):real; Var S1,S2:real; n1,m1,n2,m2:integer;
r:text;
{$F+}
Function f1(x:integer):real; Begin
f1:=5/(1+x*x);
End;
Function f2(x:integer):real; Begin f2:=5/(1+ln(x)/ln(10)); End;
{$F-}
Procedure Sum(n,m:integer;f:func;Var S:real); Var x:integer;
Begin
S:=0;
For x:=n to m do S:=S+f(x); End;
Begin Assign(r,'res7-t1');Rewrite(r); Writeln('n1,m1=');Readln(n1,m1); Sum(n1,m1,f1,S1); Writeln(r,'S1=',S1:8:5); Writeln('n2,m2=');Readln(n2,m2); Sum(n2,m2,f2,S2); Writeln(r,'S2=',S2:8:5);
Close(r);
End.
Результат
S1= 0.28025
S2=98.34142
180
Схема алгоритма
Рисунок 1 – Схема головной программы
