ТЕМА 4. Алгоритмизация и программирование. Инструментальные системы, Visual Basic, Visual Basic for Application.

ТЕМА 3. Модели решения функциональных и вычислительных задач

На нескольких листах имеются метеорологические данные за январь, февраль и март.

Январь

Город Температура Давление Осадки
Москва -10
Петербург -12
Томск -25
Псков -9
Омск -20

Февраль

Город Температура Давление Осадки
Москва -12
Петербург -14
Томск -35
Псков -8
Омск -24

Март

Город Температура Давление Осадки
Москва -1
Петербург -2
Томск -17
Псков
Омск -10

Получить средние значения показателей погоды за квартал и несмещенное отклонение их от средних. Сделать выводы о средних показателях в различных пунктах и их изменчивости. Результирующая таблица должна иметь вид:

Место Средняя температура Среднее давление Средние осадки Несмещенное отклонение температуры Несмещенное отклонение давления Несмещенное отклонение осадков
             

 


Gрограмма на Visual Basic for Application

Перед началом работы с новым проектом необходимо знать некоторый минимум, который позволит разобраться в программах на Visual Basic for Application. Это характеристики и особенности применения языка, алфавит, инструкции языка, основы объектно-ориентированного программирования и другие элементы. Visual Basic for Application является процедурным языком, а следовательно, каждая логически законченная часть - это подпрограмма. Понятие подпрограммы существует и в традиционном Бейсике. Напомним, что для вызова подпрограмм используется оператор GOSUB, для выхода из нее - RETURN. В Visual Basic for Application введено понятие процедур, описываемых инструкциями Sub и Function. Так, инструкции Sub - End Sub позволяют создавать подпрограмму, а инструкции Function - End Function - функции. Например, в следующей программе процедура CallMe вызывается из процедуры MyProc, в процедуре MyProc объявляется переменная B, которой присваивается число 5, затем значение переменной передается в процедуру CallMe и с помощью конструкции A = A + 1 увеличивается на единицу.

Sub CallMe(A)

A = A + 1

End Sub

Sub MyProc()

Dim B

B = 5

CallMe(B)

End Sub

Visual Basic for Application является модульным языком. Модуль представляет собой некоторый объект, содержащий описания отдельных процедур. Сходство Visual Basic for Application с современными системами программирования придают проекты. Набор модулей, относящихся к одному документу, объединяется в проекты. Кроме процедур, в проекте могут храниться макеты форм, модули формы и модули классов. Впрочем, сходство Visual Basic for Application с другими системами разработки, такими, как Visual Basic, Delphi и др., на этом заканчивается. В отличие от упомянутых выше средств разработки, система для создания программ для Microsoft Office не может формировать автономные приложения. Visual Basic for Application - это, скорее, язык сценариев, а модули на Visual Basic for Application несут описательную часть. Как и когда эти действия должны быть исполнены, решаете вы или тот человек, который собирается использовать модули. Так, в одной из следующих статей мы рассмотрим программу для преобразования денежной суммы в текстовое ее представление. Как запускать такую программу? Существует несколько способов. Можно создать форму с двумя полями и кнопкой, а затем в первом ее поле вводить число, а во втором поле распечатывать результат. Но такая программа, наверное, окажется бесполезной. Намного лучше, если результат появлялся бы непосредственно в текстовом документе, отчете базы данных или ячейке электронной таблицы. Для этого следует использовать объекты Microsoft Office и приложения, в которых работает ваша программа. Например, можно предусмотреть специальные команды панели инструментов или копировать текст в буфер обмена, чтобы затем вручную вставлять его в текстовый документ, электронную таблицу или базу данных.

Задание:

Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования).

Бейсик a = 60 b = 90 b = b-а IF a < b THEN c = b - a ELSE c = 2 * b-а END I Паскаль a:= 60; b:= 90; b:= b-а; if a < b then c := b - a else c := 2 * b-а;
Си a = 60; b = 90; b = b-а; if (a < b) c = b – a; else c = 2 * b-а; Алгоритмический язык a:= 60 b:= 90 b:= b-а если a < b то c := b - a иначе c:= 2 * b-а все

Варианты ответа:

Начало формы

 

 
   
 
   
 
   
   

 

Вопрос №2

Тема:Языки программирования

Сложность:Сложное задание

Задание:

Задан одномерный массив (таблица) х[1..N]. Фрагмент алгоритма

T := 0;

For k := 1 To N Do

If (k = 1) Or (T < х[k]) Then T := х[k];

определяет ...

Варианты ответа:

Начало формы

 
   
 
   
 
   
 

3.Задание:

Какая из записей математического выражения является записью на языке программирования?

х2 + 6у
9 - ху

 

 

Варианты ответа:

Начало формы

 

 
   
 
   
 
   
 

Вопрос №4

Тема:Языки программирования

Сложность:Задание средней сложности

Задание:

Фрагмент программы

for i:= 1 to n do begin

y := x mod 10;

x := x div 10;

end;

вычислит при х=9631 значение у, равное цифре:

Варианты ответа:

Начало формы

 

 
   
 
   
 
   
 

5. Задание:

Какой ответ будет на экране в результате выполнения программы?

var k,m:integer;

begin

k:=0;

for m:=1 to 10 do begin

if (m mod 3) <> (m mod 5) then k:=k+1;

end;

write(k);

Варианты ответа:

Начало формы

 

 
   
 
   
 
   
   

6. Задание:

Дан фрагмент программы. Что в результате выполнения будет на экране?

i=1

k=1

while i<4

i=i+(2*i+1) mod (2*i)

k=k+k*i

wend

print k

Варианты ответа:

Начало формы

 

 
   
 
   
 
   
   

7. Задание:

Дан фрагмент программы, обрабатывающей массив A из n элементов:

Бейсик Паскаль Алгоритмический
M = A(1) FOR i = 1 TO n IF M > A(i) THEN M=A(i) NEXT I s = M M: = A[1]; for i:=1 to n do begin if M>A[i] then M:=A[i]; end; s:=M; M: = A[1] нц для iот 1 до n еслиM>A[i] то M:=A[i] все кц s:=M

Чему будет равно значение переменной s после выполнения данного алгоритма, при любых значениях элементов массива А?

Варианты ответа:

Начало формы