русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Контрольная 1 (с элементами тестирования).


Дата добавления: 2015-06-12; просмотров: 699; Нарушение авторских прав


 

1. Определить результат после выполнения оператора if для каждого из четырёх вариантов исходных данных:

1) int a=…, b=…, r=…; 2) 3) 4)

Варианты оператора if:: 1) if (a>=1) r=a+b; else if (b>0) r=a-b; else if (b<-5) r=a*b; else r=a;

2) if (a>=1) r=a+b; else if (b>0) r=a-b; else if (b<-5) r=a*b;

3) if (a=b) if (b) r=a+b; else r=a-b;

4) if (a>=1) { if (b>0) r=a+b; } else r=a-b;

5) if (a>=1) if (b>0) r=a+b; else r=a-b;

6) if (a+b) if (a-b) {a*=b; b*=a++; }

else { a*=(--b); b*=(a--); }

else { a--; b=a; ++b; }

7) if (a+b) if (a-b) {a*=b; b*=a++; }

else { a*=(--b); b*=(a--); } else a--; b=a; ++b;

8): if (a=b) { if (b) r=a+b; } else r=a-b;

9)if (a==b) if (b) r=a+b; else r=a-10;

10)if (a==b) { if (b) r=a+b; } else r=a-10;

11)if (a+b) if (a-b) {a*=b; b*=a++; } else { a*=(--b); b*=(a--); } else { a--; b=a; ++b; }

12)if (a+b) if (a-b) {a*=b; b*=a++; } else { a*=(--b); b*=(a--); } else a--; b=a; ++b;

2. Определить результат (true или false) двух тестов: 1) int x=…, y=…; 2) int x=…, y=…; для каждого из нескольких (например, пяти) логических выражений (см. [Аленский Н. А. Основы программирования на языке С++], стр.21 <=9 баллов и стр. 117 – 119 на 10 баллов).

В вариантах по-разному расставлены скобки и меняются логические операции и операции сравнения. Может использоваться и операция ! (отрицание).

3. Запишите номера логических выражений, для которых получим true, если int x=…, y=…;

Логические выражения см. [Аленский Н. А. Основы программирования на языке С++], стр.21 <=9 баллов и стр. 117 – 119 на 10 баллов.

4 Запишите в указанном порядке значения x, y, r, которые получатся после выполнения следующих операторов:например, 1) float x=…, y=…, …; r= !(x>1 || y<=0) ? r=++x: r=y--;

или в цикле: 2) float x,y; cin>>x>>y; while (x!=1000 && y!= 1000)



{ cout<<(y<x*x || y>3? x+y : x*y)<<" "; cin>>x>>y; }

Записать результат, если последовательно ввести 0 2 2 0 2 2 1 -5 1000 2. Используется тернарная операция и операции ++ и --.

На 10 баллов вложенная тернарная операция и более сложные логические выражения [Аленский Н. А. Основы программирования на языке С++], стр.21 <=9 баллов и стр. 117 – 119 на 10 баллов.

5 Что будет выведено, если последовательно введём … (указана конкретная числовая последовательность)

int m; do { cin>>m; if (m== -1) break;

switch (m)

{ case 1: case 2: case 3: cout<<endl<<2<<" "; break;

case 4: case 5: cout<<endl<<3<<" "; break;

case 6: case 7: case 8: cout<<endl<<4<<" "; break; case 9: case 10: cout<<endl<<5<<" "; break;

default: cout<<endl<<"Error"<<" ";

} } while (1);

В других вариантах где-то нет break.

Оператор switch может быть с ошибкой . Найти ошибки. Например:

В каких строках ( //1 -- //6) есть ошибки компиляции?

#define ONE 1

int m; const n=4; float const k=1; cin>>m;

switch (m+k) //1

{ case ONE: //2

case т: cout<<endl<<2<<" "; break; //3

case ONE+2: cout<<3<<” “; //4

case n: cout<<4<<" "; //5

case k+n: cout<<"Five"<<" "; break; } //6

В каких строках ( //1 -- //7) есть ошибки компиляции?

char C, B='B'; C=getch();

switch (C) //1

{ case 'A': cout<<"One"<<" "; //2

case 'B': switch (B) //3

{ case 'A': cout<<endl<<" BA "; break; //4

case B : cout<<endl<< " BB "; break; //5

case ‘C’ : cout<< endl<<" BC "; break; //6

}

case ‘C’: cout<<" C "; } //7

Оператор switch может быть в цикле.

6. Определить результат. Если программа будет выполняться, записать, что будет выведено. В противном случае указать, в каких строках (//1 — //5) будет ошибка.

const n=10; int K=0; int a[n]={1, 2, -3, -4, -5 , 6, 7, 8, 90, -100 }; //1

for (int i=0; i<n; i++) if (a[i]<0) K++; cout<<K<<" "; //2

int i=0; K=0; //3

for ( ; i<n ; ) //4

{ if (a[i]<0) K++; cout<<K<<" "; i++; } //5

В вариантах по-разному записан цикл for (см. лекцию 4), разная расстановка {}., параметр цикла может меняться внутри цикла, например, так

if (a[--i]<0) K++; cout<<K<<" ";

Вместо for может быть оператор while или do… while.

7.Записать, что будет выведено на экран после выполнения последовательности операторов:

1)long int r=…, a[5]={…}, i=0;

do { r*=a[i++]; cout<<r<<" "<<i<<" " ;

} while (i<5); cout<<endl<<i;

2) long int r=…, a=…, b=…; while (r<a) r*=++b; cout<<r<<" "<<b;

Внутри цикла может быть break или continue.

По-разному расставлены скобки {} и используются операции ++(--) справа или слева.

8 Записать номера правильных утверждений:

1) В операторе while значения некоторых переменных, записанных в выражении в круглых скобках, должны быть определены до входа в цикл.

2) В операторе do … while значения всех переменных, записанных в выражении в круглых скобках после ключевого слова while, должны быть определены до входа в цикл.

3) В операторе while значения некоторых переменных, записанных в выражении в круглых скобках после ключевого слова while, должны меняться в теле цикла так, чтобы на каком-нибудь этапе выражение стало ложным.

4) Тело оператора while выполняется всегда, как минимум, один раз.

 



<== предыдущая лекция | следующая лекция ==>
Массив дегеніміз | Контрольная 2 (с элементами тестирования).


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.502 сек.