- •«Оренбургский государственный университет»
- •Основы программирования
- •Содержание
- •Введение
- •1 Лабораторная работа № 1. Турбо среда языка Паскаль. Главное меню. Работа с окнами
- •1.1 Ход работы
- •1.2 Содержание отчёта
- •1.3 Вопросы для допуска к лабораторной работе № 1
- •1.4 Методические указания к лабораторной работе № 1
- •1.4.1 Запуск среды Турбо-Паскаль
- •1.4.2 Режимы работы
- •Открыть окно Help-помощи можно не только из меню. В таблице 2 показаны клавиши справочной службы.
- •1.5 Вопросы к защите лабораторной работы № 1
- •2 Лабораторная работа № 2. Составление и отладка программ линейной структуры
- •Данные:
- •- Переменные (значения возникают и могут изменяться в процессе выполнения программы).
- •2.4.1 Структура программы
- •Раздел модулей – uses
- •2) Раздел меток – label
- •Составной оператор
- •Оператор вывода
- •2.4.2 Линейные алгоритмические конструкции
- •2.5 Задания базового уровня
- •Определить декларативную часть предложенной программы. Набрать программу в среде программирования Турбо Паскаль. Варианты индивидуаль-ных заданий указаны в таблице 4.
- •Задание № 2 Составить программу для вычисления значения функции y при заданном значении аргумента X. Варианты индивидуальных заданий указаны в таблице 5.
- •2.6 Задания повышенного уровня Составить программу по заданию своего варианта:
- •2.7 Вопросы к защите лабораторной работы № 2
- •3.4 Вопросы к защите домашней работы № 1
- •4 Лабораторная работа № 3. Составление и отладка программ разветвляющей структуры
- •4.1 Ход работы
- •4.2 Содержание отчета
- •4.3 Вопросы для допуска к лабораторной работе № 3
- •4.4 Методические указания к лабораторной работе № 3
- •4.4.1 Ветвящиеся алгоритмические конструкции
- •Полная форма оператора
- •4.5 Задания базового уровня Задание № 1
- •4.6 Вопросы к защите лабораторной работы № 3
- •5.4 Задания базового уровня
- •5.5 Вопросы к защите лабораторной работы №4
- •6 Домашняя работа №2. Выполнение индивидуальной работы по теме «Разветвляющие процессы с использованием символьных переменных»
- •6.1 Ход работы
- •6.2 Содержание отчёта
- •6.3 Варианты заданий домашней работы № 2 Составить программу с использованием символьной переменной по заданию своего варианта.
- •6.4 Вопросы к защите домашней работы №2
- •7.4.1 Оператор цикла с параметром
- •1) Суммы
- •2) Количества
- •3) Произведений
- •7.4.2 Оператор цикла с постусловием
- •7.4.3 Оператор цикла с предусловием
- •7.4.4 Пустой оператор
- •7.5 Задания базового уровня
- •Варианты индивидуальных заданий указаны в таблице 6.
- •7.7 Вопросы к защите лабораторной работы № 5
- •8 Лабораторная работа № 6. Составление и отладка программ с использованием процедуры и функции
- •8.1 Ход работы
- •8.2 Содержание отчёта
- •8.3 Вопросы для допуска к лабораторной работе № 6
- •8.4 Методические указания к лабораторной работе № 6
- •8.5 Задания базового уровня
- •8.6 Вопросы для защиты лабораторной работы № 6
- •9 Домашняя работа № 3. Выполнение индивидуального задания по темам «Циклические структуры», «Процедуры и функции»
- •9.1 Ход работы
- •9.2 Содержание отчета
- •9.4 Вопросы к защите домашней работы № 3
- •10.5 Задания базового уровня
- •10.6 Вопросы к защите лабораторной работы № 7
- •11 Лабораторная работа №8. Составление и отладка программ со строковыми типами данных
- •11.1 Ход работы
- •11.2 Содержание отчета
- •11.3 Вопросы для допуска к лабораторной работе № 8
- •11.4 Методические указания к лабораторной работе № 8
- •11.5 Задания базового уровня
- •11.6 Вопросы к защите лабораторной работы № 8
- •12 Домашняя работа № 4. Выполнение индивидуального задания по теме «Одномерные и двумерные массивы», «Строковый тип данных»
- •12.1 Ход работы
- •12.2 Содержание отчета
- •12.3 Варианты заданий
- •12.3.1 Задачи на одномерные и двумерные массивы
- •12.3.2 Задачи на строковый тип данных
- •12.4 Вопросы к защите домашней работы № 4
- •Список использованных источников
1) Суммы
Первоначальное значение S:=0
Подсчет в цикле: S:=S+{текущее значение}
1.1 Вычислить: S=1+2+3+...N.
program zadacha ; { вычисление суммы натуральных чисел }
var n, s, i : integer;
begin
writeln ('введите натуральное число N=') ;
readln (n) ;
s:=0;
for i:=l to n do
s:=s+i;
writeln ( 'сумма=', s)
end.
1.2
Вычислить:
program zadacha ; { вычисление суммы }
var n, i : integer; s : real;
begin
writeln ( 'введите натуральное число N=' ) ;
readln (n) ;
s:=0;
for i:=l to n do
s :=sqrt (2+s) ;
writeln ('сумма=' , s)
end.
2) Количества
Первоначальное значение k: = 0
Подсчет в цикле: k:= k + 1
2.1 Среди чисел 1 < N < 100 найти все пары чисел, для которых их сумма равнялась бы их произведению.
program zadacha ( input, output ); {нахождение пар чисел}
var k, a, b: integer;
begin
r:=0;
for a:=l to 100 do
for b:=l to 100 do
begin
if a + b = a * b then
begin
k:=k + 1;
writein('числа',a,b);
end
end;
if k=0 then writeln ('таких чисел нет') else ('k=', k);
end.
2.2 Определить, сколько из N заданных точек принадлежат графику у = |х|
program zadacha ; { количество точек, принадлежащих графику }
var k, i, n : integer; х, у : real;
begin
writeln ( 'введите количество точек N=');
readln (n) ;
k:=0;
for i:=1 to n do
begin
writeln ('введите координаты', i ,'-ой точки х и у') ;
readln (x,y) ;
if y=abs (x) then k:=k+l
end;
if k=0 then writeln ('таких точек нет') else writeln ('k=',k)
end.
3) Произведений
Первоначальное значение р:=1
Подсчет в цикле: р:= р *{множитель}
3.1 Вычислить N!
program zadacha ; { нахождение факториала числа N }
var n, p, i : integer;
begin
writeln ('введите число n=');
readln (n) ;
p:=l;
for i:=l to n do
p:=p*i;
writeln ('факториал числа' ,n,' = ' ,p)
end.
7.4.2 Оператор цикла с постусловием
Оператор цикла с постусловием используется, если число повторений заранее неизвестно, а определяется по ходу реализации циклического процесса.
Формат оператора цикла с постусловием:
repeat
<оператор 1>;
<оператор 2>;
<оператор М>
until <условие>;
где repeat – повторять;
<оператор 1>;
<оператор 2>;
<оператор N> – последовательность операторов внутри цикла (тело цикла);
until – до;
<условие> – логическое выражение.
Этот процесс завершается, тогда когда после выполнения заданной последовательности операторов логическое выражение <условие> станет TRUE (истинно).
Оператор for v:=E1 to E2 do S;
Эквивалентен if E2>=E1 then
begin
v:=El;
repeat
S;
v:=succ(v)
until v>E2;
end;
Пример 1. Распечатать числа Фибоначчи от 1 до N. (Каждое число в последовательности, начиная с третьего, получается сложением двух предыдущих чисел. Например: 1, 1, 2, 3, 5, 8, 13, 21...).
program zadacha ; { числа Фибоначчи }
var a, b, c, n, i : integer;
begin
writeln ('введите число N=') ;
readln (n) ;
a:=l; b:=l;
writeln (a,b) ;
i:=3;
repeat
c:=a+b;
writeln (c) ;
a := b; b := c;
until i>n
end.
Пример 2. Вычислить значение переменной у, при заданном значении n.
program zadacha ;
var i, n : integer; у : real;
begin
writeln ('введите число N=') ;
readln (n) ;
y:=1; i:=y;
repeat
y:=y+1/i; i:=i+1;
until i>n;
writeln ( ' y= ' , y)
end.
