
- •Содержание
- •Предисловие научного редактора
- •Введение
- •1. Понятие алгоритма. Способы представления алгоритмов
- •В виде компьютерной программы:
- •2. Свойства алгоритмов
- •Язык графического представления алгоритмов
- •4. Общие принципы построения программ
- •5. Структура программы на языке паскаль
- •6. Классификация типов данных, используемых в языке паскаль
- •6.1. Символьный тип
- •6.2. Числовые типы
- •6.2.1. Целые типы
- •6.2.2. Вещественные типы
- •6.3. Логический тип
- •6.4. Типы данных, определяемые программистом
- •7. Основные операторы языка паскаль.
- •7.1. Операторы (процедуры) ввода – вывода
- •7.2. Оператор присваивания
- •7.3. Условный оператор
- •Первый вариант условного оператора:
- •If условие then оператор1 else оператор2;
- •Второй вариант условного оператора (сокращенная форма):
- •If условие then оператор1;
- •If условие1 then
- •If условие2 then оператор21 else
- •If условие3 then оператор31 else
- •7.4. Оператор выбора case
- •7.5. Операторы цикла
- •7.5.1. Оператор цикла с параметром
- •Параметр цикла I меняет свои значения только автоматически, при переходе к следующему шагу цикла. Изменения параметра цикла I в теле цикла запрещены.
- •7.5.2 Оператор цикла с предусловием оператор цикла с предусловием имеет структуру:
- •7.5.3. Оператор цикла с постусловием
- •8. Структурированные типы данных
- •8.1. Массивы
- •8.2. Записи
- •8.3. Файлы
- •2.Связать файловую переменную с именем файла на диске с помощью процедуры Assign(фп, ‘имя_файла_на диске’).
- •3. Открыть файл:
- •4. Выполнить работу с файлом.
- •Закрыть файл при окончании работы: Сlose(фп);
- •9. Процедуры и функции
- •9.1. Процедуры
- •Var I:integer; {I – локальная переменная}
- •9.2. Функции
- •2)Имя функции входит составной частью (как переменная) в некоторое выражение.
- •Задание к лабораторной работе №2.
- •Часть 1. Тема: вычисление по формулам и представление результатов с учетом форматного вывода.
- •Часть 2. Тема: Циклические вычисления с учетом диапазона типа данных и выдача результатов вычислений по шагам.
- •Задание к лабораторной работе №3.
- •Часть 1 .
- •Часть 2.
- •Задание к лабораторной работе №4.
- •Лабораторная работа №5.
Задание к лабораторной работе №3.
Тема: применение операторов цикла с параметром, с предусловием и с постусловием. Программирование рекуррентных соотношений.
Часть 1 .
1. Задается целое положительное число N. Набрать и запустить на решение программу вычисления значения Y по формуле:
Y = (1+(2+(3+…(N-1+(N)1/2)1/2…)1/2 )1/2 )1/2.
Здесь принципиально важно применить вариант оператора цикла с параметром с изменением значения параметра по нисходящей, так как вычисление начинается с оператора sqrt(n) и заканчивается оператором sqrt(1+sqrt(…)).
{ Программа вычисления вложенных друг в друга N корней квадратных.}
program sqrt_n;
var i,n:integer;y:real;p:char;
begin write (‘Введи целое положительное N= ’);readln(n);
y:=0;
for i:=n downto 1 do y:=sqrt(y+i);
writeln(‘При N = ’,n,’ Y = ‘,y:8:3);
readln
end.
2. Внести в программу изменения, позволяющие выдавать на монитор результаты вычисления Y на каждом шаге i.
3. Внести в программу изменения, позволяющие вычислять Y до тех пор, пока разность значений Y на двух последующих шагах больше некоторой заданной (введенной с клавиатуры) величины Е.
Часть 2.
Разработать самостоятельно, набрать на ПК и отладить программу вычисления и выдачи на монитор последовательности чисел Фибоначчи:
А1=А2=1; Аi=Аi-1 + Аi-2.
В программе предусмотреть три варианта задания условия окончания вычисления последовательности:
Вариант 1. Вычислить N чисел последовательности (N вводить с клавиатуры).
Вариант 2. Вычислять последовательность чисел Фибоначчи до тех пор, пока последнее число не станет больше некоторого заданного с клавиатуры числа М.
Вариант 3. Вычислять до тех пор, пока разность между двумя последними числами последовательности на станет больше некоторого заданного R.
Задание к лабораторной работе №4.
Тема: вычисление суммы ряда сходящейся последовательности, программирование рекуррентных соотношений.
Разработать программу вычисления c заданной точностью Е суммы ряда
S = X2/4! – X4/6! + X6/8! – X8/10! + … - + X2i /(2i+2)!+ -…
Вычисление суммы заканчивается, если модуль очередного слагаемого оказывается меньше заданного значения точности Е, вводимого с клавиатуры. Для оценки правильности результата предусмотреть вычисление по контрольной формуле:
S = (cos(X) - 1)/(X**2) + 0.5.
Примечание. Вычисление очередного члена ряда ai , i=2,3,… следует проводить по формуле
ai = a (i-1) *d
на основе значения предыдущего члена ряда ai-1 , умноженного на дополнение d. Дополнение d следует определить из отношения d = ai /ai-1 , где выражения для вычисления двух соседних членов ряда записываются в общем виде.
Тогда для приведенного выше ряда дополнение получается в виде:
d = (- (X2i /(2i+2)!) )/ (X2(i-1) /(2(i-1)+2)!) = - X2 / ((2i+1)(2i+2)),
и первый член ряда а1 = X2/4!