- •Методические указания по выполнению лабораторно-практических работ
- •1 Решим простейший пример: найти сумму трех чисел.
- •Программирование циклических алгоритмов. Циклы «до» и «пока»
- •Лабораторная работа №10
- •Оператор параметрического цикла for
- •Работа с массивами
- •Оператор варианта
- •Работа со строками в объектно-ориентированном программировании. Оператор цикла с параметрами
- •Лабораторная работа №7
- •Процедуры и функции
- •Практические задания
- •Лабораторная работа №8
- •1. Программа, которая определяет, есть ли одинаковые числа в трехзначном числе.
- •2. В одномерном массиве вывести на экран четные числа и нечетные числа.
- •3. Из введенной последовательности символов, признаком конца которой является '0', сформировать множество заглавных и строчных латинских букв.
- •Множественный тип
- •Практические задания
- •Лабораторная работа №9
- •Label Edit Button Memo
- •Лабораторная работа №10
- •Лабораторная работа №11
- •Implementation
- •Лабораторная работа №12
- •Лабораторная работа №13
- •Лабораторная работа №14
- •Implementation
- •Практическая работа Случайный выбор из списка
- •Практическая работа «Тест»
- •Типы бд в Delphi
- •1. Создание каталога
- •2. Создание псевдонима
- •3. Создание таблицы
- •4. Разработка приложения, работающего с бд
- •Создание каталога и псевдонима
- •Создание таблицы
- •Создание формы
- •Вставка изображений в бд
- •Заключение
Лабораторная работа №10
Задача: Вывести 5 одинаковых надписей: «Программа цикла»
Для вывода повторяющегося действия нам понадобиться описать переменную iцелого типа, обработать событияOnClickдля кнопкиButton1. В теле процедуры необходимо описать нижеследующий метод:
procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to 5 do
Memo1.Lines.Add('Программа цикла')
end;
Рассмотрим пример решения задачи: найти сумму ряда s=1+1/2+1/3+…+1/k.
Для задачи наиболее оптимальным алгоритмом решения будет цикл. Для того чтобы выделить повторяющие части запишем ряд следующим образом: s=1/1+1/2+1/3+…+1/k.
Заметим, что числители постоянен и равен 1. Знаменатели постоянно увеличиваются на 1 в интервале от 1 до k. Таким образом, общий вид элемента ряда = 1/i, гдеi– изменяющийся знаменатель. Следовательно, запишем метод решения задачи:
Var k,i: integer; s: real;
Begin
k:=StrToInt(Edit1.Text); s:=0;
For i:=1 to k do s:=s+1/i; {i пробегает все значения знаменателя от 1 до k (1, 2, 3, …, k) изначально s=0, при k=1 s=0+1/1, s становится равным 1; при k=2 s=1+1/2, s становится равным 1,5 и т.д.} Memo1.Text:=FloatToStr(s);
End;
Оператор параметрического цикла for
Пример 1:
Пусть нужно написать программу, которая вычисляет значение функции у = 5х2- 7 в точкахx—1, -0.5, 0, 0.5 и 1 с шагом 0,5.
procedure TForm1.Button1Click(Sender: TObject);
var
y:real;
x:real;
dx:real;
st:string;
i:integer;
begin
st:=' ';
x:=-1;
dx:=0.5;
for i:=1 to 5 do
begin
y:=5*x*x-7;
st:=st+'x='+floattostr(x)+','+' y='+floattostr(y)+chr(13)+chr(13);
x:=x+dx;
end;
label2.Caption:=st;
end;
end.
Результат на экране:
Задание 2.
Нужно написать программу, которая вычисляет значение функции в точкахХ значение которых равны от 9 до 10 с шагом 0,2
WHILE операторы
Пример 2:
Напишите программу, которая суммирует первых n чисел.
procedure TForm1.Button1Click(Sender: TObject);
var
n,i,s:integer;
begin
i:=1;
s:=0;
n:=StrToInt(Edit1.Text); while i<=n do
begin
s:=s+i;
inc(i);
end;
Edit2.Text:=IntToStr(s);
end;end.
Задание 4.
Напишите программу, которая находит произведение первых n чисел.
Задания для самостоятельной работы:
Вывести таблицу умножения на любое число, введенное с клавиатуры.
Вывести таблицу значений функции y=sin(x) в интервале 0..1
Вывести 4 надписи: «На окне сидело nкошек», 1n4.
В интервале [0,20] подсчитать количество четных чисел и чисел, которые делятся на 3.
Вычислить сумму натурального ряда чисел от 1 до n.
Вычислить сумму чисел s=1/(p+2)+2(p+2)+3/(p+2)+…+p/(p+2).
Вычислить произведение чисел кратных 5 ряда от 1 до n.
8*. Вычислить сумму чиселs=(1+3+5+…+2*n-1)3-(2+4+6+…+2*n)2.
9*. Составить программу для проверки утверждения: «Результатами вычислений по формуле х2+х+17 при 0≤х≤15 являются простые числа». Все результаты вывести на экран (простое число – число которое делится только на себя и на единицу).
10*. Покупатель должен заплатить в кассуsрублей. У него имеются 1, 2, 5, 10, 50, 100, 500, 1000-рублевые купюры. Сколько купюр разного достоинства отдаст покупатель, если он начнет платить с самых крупных? (использовать процедуру Continue).
11*. Написать программу, которая запрашивает исходные данные и производит над ними выбранное пользователем действие. Выбор действий осуществляется с помощью меню. Исходные данные – числаaиb. Меню действий: 1—сложить, 2—умножить,3– вычесть,4– разделить,5– выход. Результат выводить после каждого действия
Лабораторная работа №3.
Тема: Решение задач на ввод, вывод данных.
Цель работы - создать программу, выполняющую следующие действия:
После запуска программы по щелчку мышью на кнопке «Приветствие» появляется сообщение «Первые успехи».
Label
1
Button
1
Button
2
Для выхода из программы необходимо щелкнуть мышью на кнопке «Закрыть».
Таблица 2. Свойства проекта 3
Выделенный объект |
Вкладка окна Object Inspector |
Имя свойства/ имя события |
Действие |
Form1 |
Properties |
Caption |
Установка имени формы «Проект2» |
Label1 |
Properties |
Caption |
Ввод текста надписи «Первые успехи» |
Button1 |
Properties |
Caption |
Установка имени кнопки «Приветствие» |
Events |
OnClick |
Label1.Caption:=’Первые успехи’ | |
Button2 |
Properties |
Caption |
Установка имени кнопки «Закрыть» |
Events |
OnClick |
Close; |
Сделать так, чтобы после нажатия кнопки «Приветствие» на экране появлялось сообщение «Первые и не последние!».
procedure TForml.ButtonlClick(Sender: TObject);
begin
Label1.Caption:='Первые и не последние!';
end;
end.
Задача 1 Одна сторона прямоугольника на 5 см. длиннее другой, а сумма их длин равна 17 см. Найти стороны этого прямоугольника.
Задача 2 Одно число в 2 раза больше другого, а их сумма равна 93. Найти эти числа.
Задача 3 Определите из двух девочек старшую.
Задача 4 Вводятся оценки по физике и математике. Выведи на экран "Молодец", если их сумма равна 9 или более 9. В противном случае выведи "Подтянись".
Задача 5 Сформировать массив из положительных элементов и найти их произведение.
Лабораторная работа №4.
Тема: Решение задач на условный оператор и оператор выбора.
Цель: Ознакомить с использованием массивов