- •Предисловие
- •Содержание курсов "информатика" и "основы алгоритмизации и языки программирования"
- •2.1. Лекционные занятия
- •Тема 9. Разработка и отладка программ с использованием подпрограмм-
- •Тема 10. Разработка и отладка программ с использованием данных
- •Тема 11. Разработка и отладка программ с использованием
- •Приложение
- •2.2. Лабораторные и практические занятия
- •2.3. Рекомендации к бюджету времени при изучении курсов
- •Внимание!
- •Введение Начальные сведения о компьютере ibm pc
- •Клавиатура
- •Особые комбинации клавиш
- •Файлы данных
- •Операционная система ms dos
- •Составные части dos
- •Загрузка и перезагрузка пк
- •Работа с файлами, каталогами и командами
- •Внутренние команды dos
- •Программная оболочка Norton Commander
- •Функциональные клавиши nc
- •Некоторые комбинации клавиш nc
- •Особенности работы интегрированной среды (ide) Турбо Паскаль (Тurbo Рascal)
- •Команды работы с блоками
- •Программирование на языке турбо паскаль Тема № 1 Разработка и отладка программ линейного вычислительного процесса
- •Приоритет выполнения операций
- •Примеры
- •Варианты заданий
- •Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
- •Тема № 3 Разработка и отладка программ разветвляющегося вычислительного процесса. Оператор выбора варианта
- •Варианты заданий
- •15. Введите символ с клавиатуры компьютера и определите, является ли он символом английского алфавита, символом русского алфавита или знаком препинания.
- •16. Введите цифру и распечатайте соответствующий ей знак зодиака. Например единице, соответствует знак зодиака "водолей". Если такой цифры нет, то сделайте сообщение.
- •Тема № 4 Разработка и отладка программ циклического вычислительного процесса. Оператор цикла с параметром
- •Примеры
- •Варианты заданий
- •Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
- •Оператор цикла с предварительным условием (предусловием) имеет вид:
- •Тема № 6 Разработка и отладка программ с использованием структурированных типов данных – одномерных массивов
- •Тема № 7 Разработка и отладка программ с использованием структурированных типов данных – двухмерных массивов
- •Тема № 8 Разработка и отладка программ с использованием подпрограмм-функций
- •Подпрограмма-функция Структура функции
- •Примеры
- •11. Даны три массива а(10), в(8), с(12). Подсчитайте для каждого массива среднее арифметическое его положительных элементов, для чего используйте подпрограмму-функцию.
- •13. Составьте подпрограмму-функцию вычисления элементов нового массива на основании элементов массивов а и в по правилу
- •20. Вычислите суммы элементов каждой строки матрицы в(8,8), определите наибольшее значение этих сумм и номер соответствующей строки. Для подсчета сумм и наименьшего значения напишите функции.
- •Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
- •Подпрограмма-процедура
- •Структура процедуры
- •Примеры
- •Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
- •Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
- •Операции над символами
- •Операции над строками
- •Строковые процедуры
- •Строковые функции
- •Варианты заданий
- •Тема № 11 Разработка и отладка программ с использованием структурированных типов данных - файлов
- •Var имя : file of базовый тип;
- •Var имя : имя типа;
- •4.Массив к данных вещественного типа записать в типизированный файл, а затем считать из него средний элемент.
- •Варианты заданий
- •9. Имеется файл с данными целого типа. Считайте эти значения в исходной программе в массив, упорядочьте элементы массива в порядке возрастания (убывания) и запишите его в новый файл.
- •18. Имеется массив температур т[30]. Напишите подпрограмму, находящую среднюю температуру за дни с к1 по к2. Определите самую теплую неделю месяца. Результат запишите в файл.
- •23. Имеется массив температур т[30]. Определите среднюю температуру за месяц, самую теплую и самую холодную температуры в течение месяца. Результаты запишите в файл.
- •Приложения
- •Типы Простые Порядковые Целые
- •Процедурные Файлы
- •Длинные и короткие вещественные типы
- •В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
- •I. Модуль system
- •II. Модуль dos
- •III. Модуль crt
- •IV. Модуль graph
- •V. Модуль printer
- •VI. Модуль overlay
- •Основные термины
- •Учебная литература по курсу
Примеры
1. Программа возведения в натуральную степень вещественного числа xn.
Program pr;
var x, p: real; i,n:integer;
begin
writeln(’Введите х и n ’); readln(x,n);
p:=1; for i:=1 to n do p:=p*x;
writeln(’p=’,p);
end.
2. Распечатайте латинский алфавит.
PROGRAM ALFAVIT;
USES CRT;
VAR C:CHAR;
BEGIN
CLRSCR;
FOR C:=‘A’ TO ‘Z’ DO WRITE(C,’ ‘);
READLN;
END.
3. Распечатайте таблицу умножения на 5.
PROGRAM TABL;
USES CRT;
VAR I,Y:UNTEGER;
BEGIN
CLRSCR;
FOR I:=1 TO 10 DO BEGIN
Y:=I*5;
WRITELN(‘5*’,I,’=‘,Y); END;
READLN; END.
4. Вычислите сумму вклада в банк через один месяц, если вкладывается сумма V и начисляется 0,6 % в день.
PROGRAM PROCENT;
USES CRT;
VAR V,M: REAL;
I:INTEGER;
BEGIN
CLRSCR;
WRITELN(‘ Введите вкладываемую сумму V’);
READLN(V);
FOR I:=1 TO 31 DO{Цикл по количеству дней месяца}
BEGIN
M:=V*0.6/100;
V:=V+M
END;
WRITELN(‘Полученная сумма=’,V:15:4);
READLN; END.
Варианты заданий
Составьте программу для вычисления сумм и произведений в заданной точке X. Значение X выберите самостоятельно из указанных в каждом варианте пределов.
; .
; x > -0,3.
; .
; x 1,5.
; 0 x 5.
; | x | 0,95.
; | x | 1.
; | x | < 1,9.
9. ; | x | 0,95.
10. ; | x | 1.
; | x | > 1.
; | x | 1.
; | x | > 1.
; | x | 1.
; | x | 0,5.
; | x | 1.
; | x | 1.
; | x | 0,7.
; | x | 1.
; | x | 0,8.
; | x | 1
. ;| x | 1.
; | x | 0,6.
; | x | 0,2.
; | x | 2.
Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
В данной теме изучаются основные возможности языка по организации циклического алгоритма и составлению программы с использованием оператора цикла с постусловием и предусловием.
Процессы, в которых многократно выполняются одни и те же действия, называются циклическими.
Оператор цикла с предварительным условием (предусловием) имеет вид:
WHILE логическое выражение (условие) DO оператор;
где WHILE переводится как "пока". Если после DO ("делать"), т.е. в цикле, необходимо выполнить несколько операторов, то они заключаются в операторные скобки BEGIN … END;. Цикл выполняется пока условие "истина".
Форма записи оператора с последующим условием (постусловием)
REPEAT операторы UNTIL логическое выражение (условие);
где REPEAT "повторять"; UNTIL "до тех пор, пока". Цикл выполняется пока условие "ложь". Здесь операторы циклической части не заключаются в скобки вида BEGIN … END.
Цикл, содержащий внутри себя один или несколько других циклов, называется вложенным. Цикл, охватывающий другие циклы, называется внешним, а остальные – внутренними. При составлении вложенных циклов необходимо помнить, что внутренний цикл должен полностью находиться в циклической части внешнего.
Примеры
1. Протабулируйте функцию y = sin(5*/2)+x на интервале [0, 1] с шагом 0,1.
Программа с использованием оператора цикла с предусловием
PROGRAM WIT1;
VAR X,Y,DX : REAL;
BEGIN
X:=0.0; DX:=0.1;
WHILE X<=1 DO
BEGIN Y:=SIN(5*PI/2)+X;
WRITELN(’X=’,X:10:4,’Y=’,Y:10:4);
X:=X+DX;
END; END.
Можно составить программу для этой же задачи, но с оператором цикла с постусловием.
PROGRAM WIT2;
VAR X,Y,DX:REAL;
BEGIN
X:=0.0; DX:=0.1;
REPEAT Y:=SIN(5.0*PI/2);
WRITELN(’X=’,X:10:4,’Y=’,Y:10:4);
X:=X+DX;
UNTIL X>1; END.
2. Задано натуральное число N. Определите сумму, количество и произведение цифр этого числа.
PROGRAM REZ;
USES CRT;
VAR N,C,S,P,K:INTEGER;
BEGIN
CLRSCR;
WRITELN(‘ Введите N’);
READLN(N);
S:=0; P:=1;K:=0;
REPEAT
C:=N MOD 10;{Вычисление остатка последней цифры} S:=S+C;{Вычисление сумы}
P:=P*S;{Вычисление произведения}
K:=K+1;{Вычисление количества}
N:=N DIV 10;{Целая часть числа отбрасываем последнюю цифру}
UNTIL N=0;
WRITELN(‘Сумма =’,S);
WRITELN(‘Произведение =’,P);
WRITELN(‘Количество =’,K);
END.
3. Даны вещественные переменные x и y. Переменная x изменяется от 1,1 до 1,5, а переменная y от 3,1 до 3,8. Протабулируйте (представьте в виде таблицы) функцию z = sin(x) +lny, шаг изменения по х – 0,2; шаг изменения по y – 0,1. Используйте вложенные циклы.
PROGRAM PR3;
VAR X, Y, Z:REAL;
BEGIN
X=1.1;
WHILE X<=1.5 DO BEGIN
Y=3.1;
WHILE Y<=3.8 DO BEGIN
Z:=SIN(X)+LN (Y);
WRITELN ('X=', X, 'Y=', Y, 'Z=', Z );
Y:=Y+0.1; END;
X:=X+0.2; END; END.
Варианты заданий
1. Вычислите объем каждого шара из нескольких шаров, а затем найдите суммарный объем всех шаров. Известно, что радиус первого шара R, а радиус каждого последующего шара больше предыдущего на величину R. Радиус последнего шара равен RK. (Объем шара - 4R3/3). Подсчитайте количество шаров.
2. Вычислите значение функции y = x2 при x, меняющемся от начального значения до конечного с заданным шагом. Эти значения задайте самостоятельно.
3. Вычислите сумму
x = sin1,0 + sin1,1 + sin1,2 + ... + sin2,0.
4. Дано вещественное число х. Вычислите сумму
y = cosx + cosx2 + cosx3 + ... +cosx10.
5. Протабулируйте (представьте в виде таблицы) функцию
y =
на интервале х [0, 1] с шагом х = 0,1.
6. Выведите на печать первое из чисел sinx, sinxsinx, sinxsinxsinx, ..., меньшее по модулю 10-4. Вещественное число х введите с экрана.
7. Протабулируйте (представьте в виде таблицы) функцию вещественного аргумента х
.
Значения b, c введите с экрана ПК, х [1, 2] с шагом х = 0,2
8. Дано вещественное число х (х 0). Вычислите сумму квадратов и количество всех целых чисел, попадающих в интервал [lnx, ex].
9. Имеется билет с шестизначным номером (числом). Билет считается ”счастливым”, если сумма первых трех цифр равна сумме трех последних цифр и равна, например, 10 или 11, или 9. Подсчитайте, количество ”счастливых” билетов для каждой такой суммы. Сколько всего ”счастливых” билетов с шестизначным номером? Выведите на печать все комбинации.
10. Летом каждое воскресение рыбак ходил ловить рыбу. В июне он поймал 8, 5, 9, 10, 7 рыб соответственно за воскресения месяца. В июле – 3, 5, 6, 10; в августе – 4, 1, 7, 4 рыб. Сколько рыб поймал рыбак за лето, каков средний улов рыбака за лето, а также средний улов за каждый месяц?
11. Пять дней в неделю хозяйка ходит на базар и делает покупки. Каждый день она подсчитывает расходы и учитывает их с расходами за предыдущие дни, поэтому она всегда знает израсходованную сумму на текущий день. Составьте соответствующую действиям хозяйки программу и подсчитайте средние расходы за один день.
12. Леспромхоз ведет заготовку деловой древесины. Ее первоначальный объем на территории леспромхоза был равен 120 000 м3. Ежегодный естественный прирост составляет 5,5 %, и годовой план заготовки древесины 9 500 м3. Какой объем деловой древесины на данной территории будет через год, через два года и т.д. до тех пор, пока этот объем не станет меньше минимально допустимого значения – 23 000 м3 ?
13. Расположенный на берегу металлургический завод осуществил сброс сточных вод, в результате чего концентрация С вредных веществ в реке резко увеличилась. С течением времени эта концентрация уменьшалась в К раз в сутки. Каков уровень загрязнения реки через сутки, двое суток и т.д. до тех пор, пока концентрация не станет меньше предельно допустимой D? Сделайте анализ по мышьяку, свинцу и фтору, данные для которых приведены в табл. 2.
Таблица 2
-
Вещество
C, мг/л
D, мг/л
K, o.e.
Свинец
10
0,03
1,12
Мышьяк
5
0,05
1,05
Фтор
8
0,05
1,01
14. Напишите программу вычисления для
y = .
с точностью = 0,0001. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенной функции.
15. Напишите программу вычисления для
y = sin x = x - + (-1)n-1 + ...
с точностью = 0,00001. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенной функции.
16. Напишите программу вычисления для
y = cos x = 1 - + (-1)n + ...
с точностью = 0,0001. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенной функции.
17. Напишите программу вычисления для
y = arctg x = x - + (-1)n-1 + ...
с точностью = 0,0001, причем –1 < x < 1. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенной функции.
18. Напишите программу вычисления для
y = ln x = (x - 1) - + (-1)n-1 - ...
с точностью = 0,00001, причем 0 < x < 2. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенной функции.
19. Напишите программу вычисления гиперболического косинуса
y = ch x = = 1 + + + ...
с точностью = 0,00001. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенных функций.
20. Напишите программу вычисления гиперболического синуса
y = sh x = = x + + +...
с точностью = 0,00001. Подсчитайте, сколько членов ряда необходимо для этого. Проверьте результат с помощью встроенных функций.
21. Определите приближенное значение корня уравнения x - sinx = 0,25. Для чего, изменяя значения х от -2 до +2 с шагом 0,01, вычислите значения функции y = 0,25 - x + sin(x). Изменение знака функции y является признаком пересечения оси х, т.е. наличия корня.
22. Определите приближенное значение корня уравнения 2x - 4x = 0. Для чего, изменяя значения х от 0 до 1 с шагом 0,001, вычислите значения функции y = 2x - 4x. Изменение знака функции y является признаком пересечения оси х, т.е. наличия корня.
23. Определите приближенное значение корня уравнения х - 0,1е-х - = 0. Для чего, изменяя значения х от 1 до 1,5 с шагом 0,0001, вычислите значения функции y = х - 0,1е-х - . Изменение знака функции y является признаком пересечения оси х, т.е. наличия корня.
24. Определите приближенное значение корня уравнения sin(x) - xcos(x) = 0. Для чего, изменяя значения х от 5/4 до 3/2 с шагом 0,01, вычислите значения функции y = sin(x) - x cos(x). Изменение знака функции y является признаком пересечения оси х, т.е. наличия корня.
25. Определите приближенное значение корня уравнения х - х2 + cos(x) = 0. Для чего, изменяя значения х от 0,5 до 1 с шагом 0,01, вычислите значения функции y = х - х2 + cos(x). Изменение знака функции y является признаком пересечения оси х, т.е. наличия корня.