Четверг, 21.11.2024, 10:47
Приветствую Вас Гость | RSS
Главная Основы алгоритмизации (март 2017) Регистрация Вход
Меню сайта

Форма входа

План уроков темы:

  1. Понятие операции и выражения. Основные правила записи, вычисления и использование выражений. Приоритет операций 
  2. Алгоритмическая конструкция ветвления, операторы ветвления. Флажки и группы переключателей
  3. Реализация ветвления с использованием флажков и переключателей
  4. Операторы цикла
  5. Составление и программная реализация алгоритмов с циклами
  6. Массивы

     Объекты алгоритмов (http://www.yaklass.ru/p/informatika/8-klass/osnovy-algoritmizatcii-14923)


ПРОЙДИТЕ ТЕСТ ОСНОВНЫЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ

ПРОЙДИТЕ ТЕСТ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

 


ИЗВЕСТНЫЕ АЛГОРИТМЫ

Цикл с параметром

Оператор цикла применяется при выполнении расчетов или других действий, повторяющихся определенное количество раз. Оператор имеет вид:

                  For  i:= N1    To    N2  Do  "оператор";

либо

                  For  i:= N1  DownTo  N2  Do "оператор";

Здесь i - параметр цикла (переменная порядкового типа),

N1, N2 - начальное и конечное значения параметра цикла i.

N1, N2 могут быть константами, переменными или выражениями порядкового типа.

1. ПРОСТЫЕ ЧИСЛА (Простое число - натуральное число, которое делится только на единицу и само на себя. Ряд простых чисел: 2, 3, 5, 7, 11,...)

использование цикла со счетчиком и оператора ветвления

program Lab_4;
var
  i, n, range : integer;
  Flag : boolean;
begin
  write('Введите диапазон: ');
  read(range);
  for i := 2 to range do begin
    Flag := True;
    for n := 2 to Trunc(Sqrt(i)) do begin
      Flag := i mod n <> 0;
      if not Flag then
        break;
    end;
    if Flag then
      writeln(i, ' - Простое число!');
  end;
end.

2. Программа вычисления конечной суммы денежного вклада в банк через N месяцев при ежемесячной процентной ставке "pr" (5% соответствует  pr=5).

использование цикла со счетчиком
PROGRAM VKLAD; { расчет конечной суммы вклада в банк }
var
 S, Sn, pr : Real;
 i, N : Integer;
Begin
 Write('Введите начальную сумму вклада S=');
 readln(S);
 Write('Введите процент по вкладу pr=');
 readln(pr);
 Write('Введите количество месяцев вклада N=');
 readln(N);
 For i:= 1 to N do S:= S*(1+pr/100); { цикл произведений }
 Writeln('Конечная сумма вклада S=', S:10:2);
 { Оператор для расчета "Sn" напишите самостоятельно }
 Writeln('Расчет конечной суммы вклада по формуле Sn=', Sn:10:2);
 Writeln('Нажмите Enter'); 
 readln 

end.

Операторы цикла с условием

В Паскале применяются два оператора цикла с условием:
 While "условие" DO "оператор";  (выполняется пока условие истинно)
- цикл с предусловием: проверка условия перед каждым выполнением "оператора",
 Repeat "операторы" Until "условие"; (выполняется, пока условие ложно)
- цикл с постусловием: проверка условия после каждого выполнения "операторов".
Здесь "условие" - выражение логического типа (Boolean).

3. На промежутке от 1 до M найти все числа Армстронга. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу.

Блок - схема:  алгоритм:
PROGRAM Primer_1; 
var i,k,s,p,n: Integer; 
 BEGIN 
 Write('Введите M ');
 Readln(m); 
 For i:=1 to M do 
 begin 
 s:=0; k:=i; n:=0; 
 While k<>0 do 
 begin k:=k DIV 10; n:=n+1 end; 
 k:=i; 
 While k<>0 do 
 begin p:=k MOD 10; k:=k DIV 10; 
 If p<>0 then s:=Trunc (s+Exp(n*Ln(p))) 
 end; 
 If s=f then WriteLn (f)
 end; 
END. 

ПРОЙДИТЕ ТЕСТ "ЗАПИСЬ АЛГОРИТМОВ НА ЯЗЫКАХ ПРОГРАММИРОВАНИЯ"


Структурные типы данных. Массивы (теория)

Массивы: практические примеры

Пройдите тест. Структурированные типы данных. Массивы.


Задачи поиска элемента с заданным условием

Пример1

program Primer1; const h: array[1..12] of integer= (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); var i, k : integer ; begin  k:= 0; { начальное значение k } for i :=1 to 12 do { просмотр массива } if h[i] = 172 then k := i ; if k>0 then writeln('номер ученика по списку = ', k) { вывод } else writeln('ученика с таким ростом нет'); end.

Пример 2

program Primer2; const h: array[1..12] of integer= (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); var i, k : integer ; begin k:= 0; { начальное значение k } for i :=1 to 12 do { просмотр массива } if h[i] > 170 then k:=k+1; { подсчет k } writeln(' таких учеников ', k ); { вывод k } end.

Пример 3

program Primer3; var A: array[1..15] of integer; i : integer ; begin for i := 1 to 15 do A[i] := random(51); for i :=1 to 15 do  if A[i] mod 2 = 1 then  writeln('найден элемент A[‘ , i , ‘] = ‘, A[i]);for i:=1 to 15 do write(a[i]:4);  end.

 

 


Программирование в среде Microsoft Office средствами VBA

Создадим программу  "Убегающая кнопка"

Задание

  1. Создать в Microsoft Excel форму шириной 350 пикселей и высотой 200 пикселей.
  2. Разместить на форме кнопки "Да", "Нет" и надпись: "Хотите ли вы получить прибавку к зарплате?".
  3. Настроить свойства кнопки с надписью "Да" таким образом, чтобы на нее нельзя было перевести фокус ввода.
  4. Написать программу, которая при наведении указателя мыши на кнопку с надписью "Да" перемещала бы эту кнопку в пределах формы.

 Решение

Создадим новую форму, установим следующим образом ее свойства:

Name (Имя) — frm_MovingButton

Width (Ширина) — 350

Height (Высота) — 200

Caption (Заголовок формы) — Тест

Добавим на форму следующие элементы управления (табл.)

Таблица  Элементы управления и их свойства
Название Name (Имя) Caption (Надпись) Tabstop (Фокус ввода по нажатию клавиши Tab) Height (Высота) Width (Ширина)
Кнопка №1 cmd_Yes Да False 30 80
Кнопка №2 cmd_No Нет   30 80
Надпись lbl_text Хотите ли вы получить прибавку к зарплате?      

На рис. вы можете видеть форму frm_MovingButton.Форма задачи об убегающей кнопке в окне редактора VBA

Рис. Форма задачи об убегающей кнопке в окне редактора VBA

Дважды щелкнем по cmd_Yes. В редакторе кода выберем в поле событий MouseMove.

В тело обработчика события MouseMove для кнопки cmd_Yes введите такой текст 

cmd_Yes.Left = Rnd * 250

cmd_Yes.Top = Rnd * 150

Листинг 1: Код обработчика MouseMove кнопки cmd_Yes

В листинге 1. мы обращаемся к следующим свойствам кнопки cmd_Yes:

  • Left — расстояние между кнопкой и левым краем формы.
  • Top — расстояние между кнопкой и верхним краем формы.

Функция Rnd возвращает случайное число от 0 до 1. Для вычисления нового расстояния от кнопки до левого края формы умножаем случайное число на 250, до верхнего края формы – на 150. Эти значения взяты не случайно. Ниже приведен их расчет.

250 = (ширина формы) – (ширина кнопки) – (запас по ширине)= 350-80-20
150 = (высота формы) – (высота кнопки) – (запас по высоте) = 200 – 30 – 20

Каждый раз, когда пользователь наводит указатель мыши на кнопку cmd_Yes, кнопка случайным образом меняет положение на форме. Значит, с помощью мыши он не сможет нажать на кнопку.

Кнопки на формах можно нажимать не только с помощью мыши. Если на кнопке установлен фокус ввода (как вы знаете, он перемещается по элементам управления по нажатию клавиши Tab на клавиатуре), "нажать" на кнопку можно, нажав клавишу Пробел или Enter. Свойство Tabstop кнопки cmd_Yes мы установили равным False — то есть кнопка не сможет получить фокус ввода и ее нельзя будет нажать даже с использованием клавиатуры.

Для того чтобы программа приобрела законченный вид, добавим обработчики события Click для кнопок cmd_No и cmd_Yes. Нажатие на кнопку cmd_No должно вывести надпись: "Спасибо за участие в опросе" и завершить программу. А если пользователю все же удастся нажать на неуловимую cmd_Yes (это возможно, если кнопка "прыгнет" так, что окажется под указателем мыши), должна вывестись какая-нибудь подходящая надпись.

для вывода сообщение используем функцию:

msgbox("Спасибо за участие в опросе")

Для удобства работы с программой добавьте на лист MS Excel кнопку cmd_Show_Form, которая вызывала бы форму программы. Используйте метод Show формы frm_MovingButton, чтобы отобразить ее по нажатию на кнопку (листинг 2).

Frm_MovingButton.Show

Листинг 2. Код обработчика Click кнопки cmd_Show_Form

На рис. 2. вы можете видеть запущенную форму программы в процессе работы с ней на фоне листа Microsoft Excel с кнопкой для вызова этой формы.

Программа с убегающей кнопкой в действии


Рис. 2 Программа с убегающей кнопкой в действии


Создайте собственный кроссворд по теме "Свойства элементов управления формы" (для перехода в режим отладки кроссворда перейдите по ссылке: http://learningapps.org/create?edit=pgnawa0d317)


Практическая  работа №24. Составление программ с использованием ветвления

скачать файл-задание

Система ЯКласс: операторы цикла 

ЯКласс→Информатика→8класс→Начала программирования→Программирование циклических алгоритмов


 Контрольная работа 1


 Подготовка к контрольной работе по теме "Основы алгоритмизации"

пройти тест: https://docs.google.com/forms/d/e/1FAIpQLSeNrBqOdwmF-7v4Ld3SiplKatt9gV_yZ_BsiVwELhElS52sGw/viewform

записать протокол ответов в любом текстовом файле


Упражнения для закрепления знаний по теме "Основы алгоритмизации"

 


Практическая  работа: Составление программ с использованием ветвления

Выберите любые три программы из предложенных на сайте

проверьте работоспособность этих программ в среде ABCPascal

расшифруйте построчно назначение операторов в любой из 3-х программ

Наши новости
События компьютерного отделения [1]
Последние новости компьютерного отделения

Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930

Поиск

Архив записей

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Copyright MyCorp © 2024 Сделать бесплатный сайт с uCoz