Пример 1. Составить программу для вычисления и вывода значений функции
при изменении x от –4 до 4 с шагом 0,2.
Чтобы воспользоваться циклом с параметром сначала подсчитаем число повторений по формуле: 
program fun_y;
var x, y: real;
k: integer;
begin
x: =-4;
for k: = 1 to 41 do
begin {начало цикла}
y: =(x*x-2*x+2)/(x-1);
write (x, y);
x: = x+0,2
end {конец цикла}
end.
Вложенные циклы. Все рассмотренные раньше примеры циклических программ содержали так называемые простые циклы. Вложенным называется цикл, содержащий несколько вложенных один в другой простых циклов.
for i:=… begin for j:=… begin серия; end; end; | При организации вложенных циклов необходимо учитывать следующее: 1. Имена параметров для циклов, вложенных один в другой, должны быть разными. 2. Внутренний цикл должен полностью входить во внешний. |
Задача 1. Напечатать на экране следующую фигуру: ******
******
******
******
Решение:
program Z1; {Звездочка} var i, j: byte; begin for i:=1 to 4 do begin for j:=1 to 6 do write('*'); writeln; end; end. | Вначале внешний цикл устанавливает значение номера строки i=1. Внутренний цикл с параметром j печатает шесть «звездочек» в строке. Затем оператор writeln переводит курсор в следующую строку. Принимается следующее значение i=2 и процесс печати повторяется до тех пор, пока . |
Задания для тренировки:
1.Составьте программу вычисления первых десяти членов последовательности, заданной формулой n–го члена: Xn=n2+5.
2.Определить сумму чисел:
![]()
3. Определить результат выполнения фрагментов программ (без компьютера):
а) begin s:=0; for i:=1 to 5 do begin f:=1; for j:= 1 to i do f:=f*j; s:=s + f; end; writeln(‘s=’, s); end. | б) begin for i:=1 to 9 do begin for j:= 1 to i do write(i*j); writeln; end; end. |
Решить задачи самостоятельно по своему варианту:
1. Найти сумму кубов чисел от 1до 10 с шагом 3.
2. Составить программу вычисления суммы квадратов нечетных чисел (для проверки четности использовать ODD – если число x - четное, то ODD(x)=false) от 7 до 37
3. Каждая бактерия делится на 2 каждую минуту. Сколько их будет через N минут?
4. Вычислить значение функции Y=x*x при х=2, 4, 6, 8, 10, 12. Помните, что переменная счетчика может изменяться только на +1 или –1. Обойдите это ограничение.
5. Вычислить сумму 
6. Вычислить сумму 
7. Составить программу, которая из первых 10 натуральных чисел все нечетные числа перемножает.
8. Вычислить ![]()
9. Составить программу вычисления и печати значений функции у=10sinX для X от 0 до 1 с шагом 0,1. Помните, что переменная счетчика может изменяться только на +1 или –1. Обойдите это ограничение.
10.Составить программу вычисления суммы кубов чисел от 25 до 75.
Контрольные вопросы
1. Поясните механизм работы команды повторения с параметром?
2. Определить результат выполнения фрагмента программы (без компьютера):
begin
s:=0;
for i:= - 4 to 1 do
s:=s + i;
writeln (s);
end.
3. Поясните механизм работы вложенных циклов
Литература: 1[с.37-40], 3[с.31-40], 7[с.15-20, с.110-112]
Лабораторная работа №9-10- Решение задач на обработку символьных и строковых данных.
Цель: Ввести процедуры и функции для работы со строковым типом данных в языке программирования Pascal; применить их к решению конкретных задач.
Теоретические сведения
Строковый тип данных. Процедуры и функции для работы со строковым типом данных.
Решить задачи самостоятельно по своему варианту:
1. Определите результат выполнения фрагмента программы без компьютера:
а) a:='КАНАТОХОДЕЦ';
b:= copy (a,3,2)+ copy (a,7,3)+ copy (a,1,2);
writeln (b);
b) t:='КОМПЬЮТЕР';
x:= copy (t,1,4) + 'oc' + copy (t,7,3);
writeln (x);
c) y:=312;
str (y, k);
s:=0;
for i:=1 to 3 do
begin
z:= copy (k, i,1); val (z, p,l); s:=s+z
end;
writeln (s);
d) a:= chr (157)+ chr (130)+ chr (140)
writeln (a);
2. Составить алгоритм и программу на языке Pascal для подсчета суммарного числа букв «е» и букв «о» в строковой величине.
3. Составить программу для замены в тексте словосочетания «ма» на словосочетание «па».
4. Написать программу, подсчитывающую сколько раз в данном слове встречается сочетание «со» (например, в слове «согласование» оно встречается 2 раза)
5. Составить программу, вычеркивающую из данного слова все буквы «k».
6. Напишите программу, проверяющую, является ли частью данного слова слово «том». Ответ должен быть «да» или «нет».
7. Составить программу, определяющую какая из букв «Е» или «О» встречается в предложении чаще.
8. Составить программу, выясняющую, является ли данное слово «перевертышем» (так называются слова, читающиеся одинаково слева направо и справа налево, например: ТОПОТ, ШАЛАШ).
9. Составить программу, определяющую на какую букву начинается второе слово в предложении, если слова в нем разделены пробелом.
10. Дано слово из четного числа букв. Поменять местами его половинки.
11. Написать программу, которая выводит на экран первую часть таблицы кодировки символов ASCII (символы, имеющие коды от 0 до 127). Таблица должна состоять из восьми колонок и шестнадцати строк. В первой колонке должны быть символы, имеющие код от 0 до 15, во второй – от 16 до 31 и т. д.
Литература: 5, С. 94-105; 10, С.117-127.
Лабораторная работа №11-12 «Решение задач на обработку элементов одномерных массивов»
Цель: Ввести понятие одномерного массива. Показать приемы обработки массивов и применить их к решению конкретных задач
Теоретические сведения
Динамические переменные. Массивы. Перестановка, замена, сортировка элементов массивов.
Решить задачи самостоятельно по своему варианту:
1. Дана таблица А[1:100]. Найти количество элементов этой таблицы, больших среднего арифметического всех ее элементов.
2. Вычислить произведение всех ненулевых элементов массива С.
3. Определить, имеется ли в массиве хотя бы одно отрицательное число с нечетным номером. Вывести на печать этот элемент и его номер.
4. Каковы будут результаты исполнения алгоритма для таблицы А:
А[1] | А[2] | А[3] | А[4] | А[5] | А[6] | А[7] | А[8] | А[9] | А[10] |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
а) | для I от 1 до 10 нц А[I]:=A[11-I] кц | б) | для I от 1 до 10 нц R:=A[I] А[I]:=A[11-I] A[11-I]:=R кц | в) | для I от 1 до 5 нц R:=A[I] А[I]:=A[11-I] A[11-I]:=R кц |
5. Подсчитать количество элементов одномерного массива, которые совпадают со своим номером и при этом кратны 3.
6. Вычислить среднее арифметическое тех элементов одномерного массива, которые попадают в интервал от –2 до 10.
7. Дан массив А. Напечатать порядковые номера целых элементов.
8. Дан одномерный массив. Сформировать новый массив, который состоит только из тех элементов массива A, которые превосходят свой номер на 10. Если таких элементов нет, выдать сообщение.
9. Найти количество пар взаимообратных соседних чисел в одномерном массиве X.
10. В одномерном массиве определить сумму элементов расположенных между максимальным и минимальным элементом.
11. Дан массив А. Определить, минимальный элемент среди положительных элементов массива, максимальный среди отрицательных и поменяйте их местами.
12. Дан одномерный массив с данными роста учеников. Определите, рост ученика, который меньше 120 см и ближе всего к 120 см.
13. При поступлении в институт абитуриенты набирают определенное количество баллов. Считая фамилии абитуриентов и набранное ими количество баллов исходными данными, составить список будущих студентов, если известно, что на выбранный факультет будет зачислено М человек.
14. Упорядочить по возрастанию четные элементы массива.
Контрольные вопросы
1. Что такое массив?
2. Каким образом описываются массивы?
3. Как размещаются массивы в памяти компьютера?
4. Как организовать ввод и вывод элементов массива?
Литература: 5, С. 106-128; 10, С.169-175.
Лабораторная работа №13 «Решение задач на обработку элементов двумерных массивов»
Цель: Ввести понятие двумерного массива (матрицы). Показать приемы обработки матриц и применить их к решению конкретных задач
Теоретические сведения
Массив, каждый элемент которого содержит один индекс, называется одномерным.
Двумерный массив условно можно изобразить в виде прямоугольной таблицы. Каждый элемент имеет два индекса, указывающих местоположение элемента (сначала номер строки, затем столбца). Такие таблицы (массивы) часто называются матрицами. Матрицы описываются следующим образом:
var имя массива:array [нач. индекс строки .. кон.индекс строки, нач. индекс столбца .. кон.индекс столбца] of тип элемента
Например, a:array[1 .. 3, 1 .. 4] of integer
1 | 2 | 3 | 9 |
4 | 6 | 5 | 7 |
8 | 9 | 10 | -2 |
Двумерный массив, количество строк которого совпадает с количеством столбцов, называется квадратной матрицей.
Для квадратных матриц существует понятие главной и побочной диагонали.
Для элементов, расположенных на главной диагонали, выполняется отношение i=j, под главной диагональю i>j, над главной диагональю i<j.
Для элементов, расположенных на побочной диагонали, выполняется отношение i=n-j+1, под побочной диагональю i>n-j+1, над побочной диагональю i<n-j+1.
Решить задачи самостоятельно:
1. Определить сумму элементов неглавной диагонали матрицы А(5, 5) и заменить этим значением минимальный элемент.
2. Найти максимальный элемент над побочной диагональю матрицы.
3. Найти сумму элементов в каждой строке матрицы.
4. Написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матрица магическим квадратом.
5. Магическим квадратом называется матрица, сумма элементов которой в каждой строке, в каждом столбце и по каждой диагонали одинакова.
Литература: 10, С.175-197.
Лабораторная работа №14-15 «Разработка программ с использованием графических построений»
Цель: Познакомиться библиотекой стандартных подпрограмм. Применить библиотеку GRAPH к решению графических задач
Рассмотреть теоретические сведения по компьютерной графике:
1. Процедуры и функции модуля GRAPH.
2. Обращение к библиотекам подпрограмм. Использование библиотеки подпрограмм для решения задач.
Решить задачи самостоятельно
1. Постройте на экране компьютера 10 случайных прямоугольников. Воспользуйтесь функцией RANDOM.
2. Нарисуйте на экране ЭВМ радугу, т. е. разноцветные дуги концентрических окружностей, опирающихся на нижнюю границу экрана.
3. Построить графики функций:
а) ![]()
б) ![]()
Литература: 5, С. 75-89.
Подготовить сообщения на тему предложенную преподавателем по языкам программирования. Заслушать и обсудить сообщения студентов.
Литература: 4, С. 43-50.
Список литературы
Основная
1. Фаронов Паскаль 7.0. Начальный курс. Учебное пособие.- М.: Нолидж, 2004.
2. Потопахин Паскаль. Освой на примерах. – СПб.: БХВ-Петербург, 2005. – 240 с.
3. Tyrbo Pascal в задачах и примерах. – СПб.: БХВ-Петербург, 2003.
4. Turbo Pascal. Программирование на языке высокого уровня: Учебник для вузов. 2-е изд. - СПб.: Питер, 2005. –544 с.
5. Криворучко по языку программирования Паскаль: уч. пособие для студентов и преподавателей. - Павлодар, 2007. – 146 с.
6. борник задач по программированию. – СПб.: Питер, 2003.
7. , , Язенко задач по информатике (с решениями и ответами). - Павлодар: ТОО НПФ «ЭКО», 2003. -176 с.
8. Окулов в алгоритмах. М.: БИНОМ. Лаборатория знаний, 2004. - 341 с.
Дополнительная
9. Юркин по программированию. – СПб.: Питер, 2002.
10., Кетков программирования: Бейсик, Си, Паскаль. Самоучитель. - СПб.: БХВ - Петербург, 2002.– 480 c.
11. Turbo Pascal: практикум. – СПб.: Питер, 2000. – 253 с.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


