Инфоурок / Информатика / Другие методич. материалы / Рабочая тетрадь по МДК 01 02 Прикладное программирование
Обращаем Ваше внимание: Министерство образования и науки рекомендует в 2017/2018 учебном году включать в программы воспитания и социализации образовательные события, приуроченные к году экологии (2017 год объявлен годом экологии и особо охраняемых природных территорий в Российской Федерации).

Учителям 1-11 классов и воспитателям дошкольных ОУ вместе с ребятами рекомендуем принять участие в международном конкурсе «Законы экологии», приуроченном к году экологии. Участники конкурса проверят свои знания правил поведения на природе, узнают интересные факты о животных и растениях, занесённых в Красную книгу России. Все ученики будут награждены красочными наградными материалами, а учителя получат бесплатные свидетельства о подготовке участников и призёров международного конкурса.

ПРИЁМ ЗАЯВОК ТОЛЬКО ДО 21 ОКТЯБРЯ!

Конкурс "Законы экологии"

Рабочая тетрадь по МДК 01 02 Прикладное программирование

библиотека
материалов



Министерство образования и молодежной политики Ставропольского края

Государственное бюджетное профессиональное образовательное учреждение «Ставропольский региональный многопрофильный колледж»














РАБОЧАЯ ТЕТРАДЬ


по


МДК 01 02 Прикладное программирование


технический профиль



ДЛЯ СТУДЕНТОВ ОЧНОЙ ФОРМЫ ОБУЧЕНИЯ


















Ставрополь 2015


Одобрено кафедрой программного обеспечения и информационных технологий




Рабочая тетрадь для студентов по междисциплинарному курсу Прикладное программирование









Рабочая тетрадь для студентов по междисциплинарному курсу 01 02 Прикладное программирование является частью основной профессиональной образовательной программы ГБПОУ СРМК по техническим специальностям в соответствии с требованиями ФГОС СПО третьего поколения.

Рабочая тетрадь адресована студентам очной формы обучения.

Рабочая тетрадь содержит задания для закрепления знаний по всем разделам МДК 01 02 «Прикладное программирование».

.






Составитель: Краскова Ольга Владимировна, преподаватель ГБПОУ СРМК, 2015














Содержание


Введение 4

Стандартные типы данных и выражения 5

Задания 5

Самостоятельная работа 8

Линейные структуры 9

Задания 9

Самостоятельная работа 12

Разветвляющие структуры. Оператор варианта 13

Самостоятельная работа 17

Циклические структуры 18

Задания 18

Самостоятельная работа 24

Подпрограммы. Процедуры и функции 26

Задания 26

Самостоятельная работа 28

Массивы одномерные 30

Задания 30

Самостоятельная работа 32

Массивы двумерные 33

Задания 33

Самостоятельная работа 37

Строки и символы 38

Задания 38

Файлы 40

Задания 40

Список используемых источников 42




Введение


Применение рабочей тетради в обучении улучшает качество образования, повышает эффективность учебного процесса на основе его индивидуализации, появляется возможность реализации перспективных методов обучения. Сложность проектирования занятий заключается в том, что программ специального целевого дидактического назначения мало, и преподавателю приходится использовать в основном те, которые предлагаются для широкого круга пользователей (электронные энциклопедии, справочники) или программы для профессиональной подготовки (компьютерные учебники, моделирующие среды) и адаптировать их к конкретным условиям. Актуальность рабочей тетради заключается в оптимальном сочетании содержания информационной подготовки студентов на занятиях с возможностью выявить направление движения формирования мыслительной деятельности. Рабочие тетради используются для текущего контроля преподавателем знаний и умений студентов применять знания при решении учебных задач. Поскольку учебные пособия содержат пошаговое описание задач, то студент имеет возможность самостоятельно проверить правильность решения задач в рабочих тетрадях. Практическая значимость заключается в применении листов рабочей тетради для облегчения освоения студентами трудной для них, но очень важной дисциплины и в ее личностно-формирующей ориентации.

Разработка по дисциплине «Прикладное программирование» весьма актуальна на нынешний день. Благодаря листам рабочей тетради, можно осуществить более лёгкое усвоение материала, и проверку усвоения этого материала.

В заключении можно отметить, что разработка рабочей тетради является вполне современным способом ведения учебного процесса. Несомненные преимущества налицо: проверка усвоения материала, контроль мыслительной деятельности учащихся, проверка полученных знаний, сами лекции проходят более разнообразно и как следствие этого повышенный интерес аудитории, возможность исправлять ошибки в момент, когда они делаются.










Стандартные типы данных и выражения

Задания


1. Идентификатор Почему он недопустим?

5Summa

Begin

D'Artanyan

Сумма

Summa Dohoda

A*B

Nomer.Doma

2. Зачеркните числа, записанные не по правилам языка C++

1)3.14159 5)16. 9) 12.SE.3

2)150 6)15.0Е-04 10) 12Е+5

3)0,005 7)2.345Е2 11) Л23ЕЗ

4).12345 8) 1.15Е-3 12) 1.15Е-3


3. Подберите подходящий тип данных:

Количество учеников в классе

Площадь круга

Количество автомобилей в регионе

Количество автомобилей у одного владельца__________

Первая буква фамилии

Количество жителей в государстве

Плотность населения в государстве

Произведение цифр двузначного числа __

Произведение цифр трехзначного числа_________________

Фамилия сотрудника фирмы

Заработная плата сотрудника фирмы____________________


4. Записать выражение на языке программирования C++.


  1. hello_html_m6cd8f784.gif____________________________________________________


  1. hello_html_2709e24b.gif__________________________________________________


  1. hello_html_1cf6d41b.gif______________________________________________________


  1. hello_html_197e1c3.gif___________________________________________________


  1. hello_html_4017aa58.gif__________________________________________________


  1. hello_html_3210e4e7.gif__________________________________________________________


  1. hello_html_4f160f17.gif_________________________________________________________


  1. hello_html_2aba45f5.gif________________________________________________________

  2. hello_html_5dbac942.gif_____________________________________________________

  3. hello_html_m6a38e81c.gif_________________________________________________


  1. hello_html_4753f478.gif____________________________________________


  1. hello_html_5558f68a.gif_______________________________________________


  1. hello_html_m1ef4051f.gif____________________________________________


5. Определить тип результата, если: X-integer, Y-real, C-char.


Al=sqrt(X) ______ A7=A6

A2= sqrt (Y) _______ A8=div(23,4).rem______

A3=2.5*X _______ A9=div(7,2/3).quot______

A4=X-A1 _______ A10=pred(C)______

A5=A4>A3 _______ A11=A8/y

A6=ord(C) _______ A12=chr(X)


6. Найти значение выражения:


  1. 25/2= _____________

  2. div(25,2).quot = ___________

  3. div(25,2).rem = __________

  4. 15+div(21,2).quot= _________

  5. div(2,3).qout = ____________

  6. div(2,3).rem = ___________

  7. div(11, 5).rem = ___________

  8. div(14, 5 + 3).rem = ___________

7. Записать в виде обычной математической формулы


  1. y=2*sin(x)*sqrt(x+sqrt(abs(x)))_______________________________________


  1. y= sqrt(sin(x)+sin(sqrt(x)))___________________________________________

  1. y= sqrt(abs(x-1)+sqrt(sin(x)))________________________________________


  1. y=(5*sin(x) +4)/2*15*sin(sqrt(x))______________________________________


  1. y=k+15*x/(2*sin(x)) _______________________________________________


  1. y=sin(sqr(x)+sqr(sin(x))_____________________________________________


7) y=a+b/b+c__________________________________________________________


8) у=a*b*sin(x)_____________________________________________________


8. Выберите для каждого значения наиболее подходящий тип данных из таблиц типов и укажите ниже.

5

'X'

'*'

-5





999

-999

'5'

'-5'





True

False

5.0

-5.0






Самостоятельная работа


Вариант 1


  1. Найти значение выражения:

  1. div(220, div(10,3).rem).quot = ________

  2. div(-16, 11 * 3).rem = __________

  3. div(3, 5+3).quot = __________

  4. (div(16, 6).rem) / (div(2,1).quot) = ______


  1. Записать выражение на языке программирования C++:

hello_html_46bc65f5.gif


Вариант 2

1. Найти значение выражения:

  1. div(220, div(10,3).quot).rem = ________

  2. div(3, 5).quot + 3 = _________

  3. div((-19)+9, -5).qout = ________

  4. div(16, 6).rem / div(2,1).quot = __________

2. Записать выражение на языке программирования C++:

hello_html_264acd65.gif

Линейные структуры

Задания


1. Напишите инструкцию вывода на экран:


а) вашего имени ______________________________________________________;

б) числа 400 _________________________________________________________;

в) значения выражения 7,3(3,22+8,61) ____________________________________.


2. Найдите значение S после выполнения следующих операторов:





3. Расположите в правильном порядке строки программы, вычисляющей периметр и площадь параллелограмма:


4. Дан текст программы в таблице с ошибками:

  • исправьте ошибки в программе;

  • что выведется на экран в результате выполнения программы?

int a,b;

a = 3,5

b = 11;

prnitf(“%d”, a+b;)

return 1;

}





#include (iostream)


int main()

{

int сумма = 0;

int дельта = 1;

y = сумма + дельта;

printf(y);

}




5. Перевести блок-схему вычисление расстояния между точками А и B на язык C++.

hello_html_m473a708.gif


















6. Напишите программы для следующих задач, организуя экран пользователя по предложенному варианту.


Длина (см)? 9

Ширина (см)? 7.5

Высота (см)? 5

Площадь поверхности: 300.00 кв.см.








2. Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей.

Вычисление стоимости покупки.

Введите исходные данные:

Цена тетради (руб.)? 2.75

Количество тетрадей? 5

Цена карандаша (руб.)? 0.85

Количество карандашей? 2

Стоимость покупки: 15.45 руб.










7. Заполните таблицу. Пробел перед числом обозначайте _


Вариант 1

1. Представить результат работы процедуры (по позициям и строкам)

printf (“%d : %10d”, r, a);

printf (“%f %f %9.3f”, s, x, d);

printf (”i =%3d”, i);

printf (“%d %d”, t, d);

printf (“%d”, z).

2. Составить линейный алгоритм вычисления у по формуле:

y= 6x (x + 2) – (x + 4), при x = 2


Вариант 2

1. Представить результат работы процедуры (по позициям и строкам)

printf (“%d %10.3f”, y, d);

printf (“Введите %3d”, k);

printf (“%d %f %d”, y, t, a);

printf ('”При к = %f, %d, %d”, k, s, g);

printf (“%3f, %d”, s, d).

2. Составить линейный алгоритм вычисления у по формуле:

y = 3x – (2x + 1), при x =3


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


  1. 60>20 = =true

  2. ! (30> 10) ==false

  3. (3>2) && (5>6) == true

  4. (60>70) ||(100<90) = =true

  5. (60>70) &&(100<90) = =true.


2. Предположим А=5; B=10; C=15.

Вычислите значение выражения (true, false):


Выражение

Результат

Выражение


Результат




(А=В) ||(A<=B)


!(A>=5)


(А=В) &&(A<=B)


(С=А+В) ||(B>C)


!(A=B) &&(A<B)


(С<=А-В) || (B<C)


(В<=12)||(С=15)


(С<=А+В) || (B>C)


(B<=12)&&(C=15)


(С=А+В) &&(B<C)



3. Запишите логическое выражение для каждой из фраз:


А принадлежит диапазону (18; 80)___________________________________

А принадлежит диапазону [18; 80) __________________________________

А принадлежит диапазону (-10; 18) __________________________________

А принадлежит диапазону [-10; 18] _________________________________

А не принадлежит диапазону [-10; 18]_______________________________

А не принадлежит диапазону (-10; 18) _______________________________

А меньше -1 или больше 1_________________________________________

А не принадлежит диапазону [18; 80) _______________________________

А больше 0 и не равно 10__________________________________________

А кратно 4 и 5 (используйте div(n,m).rem)__________________________________


4. Запиши словесное описание фрагмента алгоритма на языке C++:


  1. Если число Х равно 47, то увеличить переменную Х на 15, иначе уменьшить на 36;

_________________________________________________________________

  1. Если переменная S не равна 21, то увеличить переменную S в 6 раз, иначе уменьшить на 53;

_________________________________________________________________

  1. Если переменная U нечетная, то увеличить ее на 8, иначе увеличить в 53 раза;

_________________________________________________________________

  1. Если число Z больше 48, то увеличить на 51, иначе уменьшить на 51;

_________________________________________________________________

  1. Если X меньше 15, то Y присвоить значение X/2, а Z присвоить значение 15/ X, иначе Y присвоить значение X*2, а Z присвоить значение 15- X.

__________________________________________________________________


5. Расставь строки программы в правильном порядке, чтобы получилась программа, которая находит решение уравнения ах=b:


1) printf(‘решения нет)


2) float a,x,b;


3) if(a!=0) {


4) printf(“x=%f”,b/a);


5) a!=0


6) {


7) cin>>a>>b;


8) }


9) else


10) #include


11)#include


12)return 0;


13)int main()



6. Что будет выведено на экран, после выполнения данной программы:



Ответ: __________


Ответ: __________



7. Заполните таблицу:

x

y

a

19

10


6

44


100

49


55

22



int main() {

int a, x, y;

cin>>c>>y;

if (x+y>50 || y>100)

a=x+y;

else

a=2*x+y;

printf(“%d”, a);

return 0;}

8. Представьте фрагмент программы в виде блок-схемы

hello_html_64ba49f.gif

а)

if (a>b)

k=k+l ;

else

{

if (b>c);

k=k+2;

}

else

k=k+3;

printf(“%d”,k);




бhello_html_m6adc4180.gif)

if(a==0)

{

X=l;

Y=l;

}

else

{

X=2;

Y=2;

}





hello_html_m2c3b0ab9.gif

в)

if(a==b)

z=a+b ;

else

{

if (a>0)

a=2*a;

a=a-l; b=b-l;

z=a/b;

}

z=z+10;


9. Запишите оператор IF, эквивалентный следующему оператору switch.


switch(x)

{

case 2.5 : printf('Ничья'); break;

case 7.11: printf ('Выигрыш') ; break;

Default:

printf('Проигрыш');

break;

}


10. Определить, что будет выведено на экран после выполнения фрагмента программы:





break;

case 1: printf(“k=4m+l”);

break;

case 2: printf(“k=4m+2”);

break;

case 3: printf(”k=4m+3”);

break;

}


d=30; s=1000;

switch(d)

{

case 1: s=15;break;

case 5: s=15;break;

case 6: s=36;break;

case 10: s=36;break;


}

printf(s);


m=43; s=1234;

switch(m)

{

case 10: s=30;

break;

case 20: s=5;

break;

case 30: s=25;

break;

}

printf(s);

____________________

___________________

_______________

11. Запишите оператор switch, эквивалентный следующему оператору IF.

hello_html_148f5348.gif

……………………….

if (x>=a || x<=b)

printf (“Хорошо”)

else

if(x == d || x == f)

printf(“Плохо”)

else

printf (“Неверный ввод”);

……………………….


12 . Составьте программы для следующих задач:


Задачи



Отметка

hello_html_48adb792.gifДано число х. х2+1, если х <0

  1. Вычислить значение функции: У= x-2,1,если х>hello_html_777b1f80.gif

Sin x, если 0hello_html_50e13651.gifхhello_html_69ce5f53.gif




  1. По введенному году обучения в школе (числу от 1 до 11) вывести сообщение «Привет, k-классник!». Например, если k=1, «Привет, первоклассник!»




Самостоятельная работа


Вариант 1

1. Какое значение будет иметь переменная d после выполнения операторов при a = 3, b = 1, d = 0:


1) if (a>b) d=a; else d=b; d=d*10 _______________________________________;


2) if (a>b) d=b; d=d*10 _______________________________________________;


3) if (a>b) d=b; d=d+a; else d=d*10 _____________________________________;


4) if (a>2) if (b>2) d=1; else d=2; d=d*10 ____________________________.


  1. Составить блок-схему и программу вычисления значения функции:


hello_html_17bce545.gif



Вариант 2

1. Какое значение будет иметь переменная d после выполнения операторов при a = 2, b = 5, d = 4:


1) if (a > b) d = a; else { d = b; d= d – a; } _____________________


2) if (a < b) d = b; d = d + a; ______________________________________


3) if (a > b) d = a; else { d = b; d = d + a; } d= 2 * d; _____________


4) if (d > b || d < a ) d = b; else d = a; d = d + c; __________________


2. Составить блок-схему и программу вычисления значения функции:


hello_html_5ea3049a.gif


Циклические структуры

Задания


1. Запишите заголовки цикла For для изменения параметра из диапазонов:


от -10 до +10_______________________________________________

от 100 до 1_________________________________________________

от 15 до 25_________________________________________________

от -10 до -20_______________________________________________

2. Запишите оператор цикла For, который бы выводил все числа в диапазоне от 100 до 10 включительно:

____________________________________________________________________________________________________________________________________________

______________________________________________________________________




3. Определить, сколько раз выполнится цикл:




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

……………..

cin >> n;

s=s+i;

i=i+5;

}

print(“%d”,s);

…………….


5. Составьте блок-схему по готовой программе.






7. Выполните трассировку и определите значение переменной S и I после выполнения фрагмента программы.


i=i-1;

s=s+1/i;

} while(I<=1);

int s=0;

int i=1;

do {

i=i+1;

} while(i>2);

s=s+1/i;


int s=0;

int i=1;

do {

s=s+1/i;

i=i+1;

} while(i<1);

_____________

_______________




9. Расставьте строки программы в правильном порядке, чтобы получилась программа, которая находит сумму первых N натуральных чисел:




11. Сопоставьте фрагменту программы с циклом while соответствующий ей фрагмент программы с циклом For:



X=X-2;

}


X ____________


I

X

Экран

результата








13. Составить программу по блок-схеме:


hello_html_75c43e84.png

14. Исправьте синтаксические ошибки в следующем фрагменте программы:


K=81;

S=4;

for(int i=1;i<=K;i++)

S=S/2

б)

float a;

int s;

s=10;

s=s+2;

for (int s=1; i<=10;i++)

printf(“%d”,s);


Самостоятельная работа

Вариант 1

  1. Составить циклический алгоритм вычисления произведения всех чисел от 25 до 40.

2. Определить значение переменной n после выполнения следующих элементов программы:

int y=0;

int x=10;

while (x>0) {

x=x+2;

y=y+x;

}



Ответ: ______________________________


Вариант 2

  1. Составить циклический алгоритм вычисления среднеарифметического значения всех четных чисел от 0 до 20.

2. Определить значение переменной n после выполнения следующих элементов программы:

int x=0;

int y=5;

do {

y=2*y;

x=x+y;

} while(y>5);



Ответ: ______________________________



Массивы одномерные

Задания


1. Определите количество элементов в массиве:


2. Какие из приведенных описаний массивов являются правильными?


  1. int a[-20];

  2. float a[0];


  1. int size = 10;


int mass[size];

  1. const int size = 5;

int mass[size];



  1. Записать циклы для решения следующей задачи:


_______________________________________________________________


  1. Ввод 96 элементов массива А в столбец. Параметром цикла является переменная h. Нумерация начинается с 1.


_______________________________________________________________


  1. Формирует массив Е из 162 случайных чисел, принадлежащих промежутку [15;30]. Параметром цикла является переменная Х.Нумерация начинается с 1


_______________________________________________________________


  1. Формирует массив D из 179 случайных чисел, принадлежащих промежутку [16;24]. Параметром цикла является переменная f. Нумерация начинается с 1


_______________________________________________________________


3. Напишите пропущенные команды. Ввести массив В, из 18 элементов целого типа, заданных случайным образом на промежутке [12;65], нумерация начинается с 0 и вывести элементы массива с 0-го по 6-й в столбец.

int main() {

___________________;

for (int j=1; ______ )

_________________________

for (int j=1; _____ )

_________________________

return 0;

}


7. Дан массив К. Индексы начинаются с 0.


K[6]=___________

K[4]+K[1]=_______

2+K[6]=_________

K[1+2]=_________

K[5]+10=________

10*K[4]=________



Самостоятельная работа

Вариант 1

Изменить программу нахождения суммы элементов массива таким образом, чтобы:

1) массив состоял из 15 элементов вещественного типа;

2) значения элементов массива должны меняться в интервале от 0 до 5;

3) в результате выполнения программы должно быть найдено произведение всех элементов массива, а не их сумма.

#include

#include

#include

const int n=10;

int a[n];

int s;


int main() {

printf(“Исходный массив:”);

for(int i=0; i

a[i]=rand() % 10;

printf(“a[%d]=%d\n”, i, a[i]);

}

s=0;

for(int i=0; i

s=s+a[i];

printf(“Сумма всех элементов массива S=%d”,s);

}





Вариант 2

1. Изменить программу нахождения произведения элементов массива таким образом, чтобы:

1) массив состоял из 20 элементов целого типа;

2) значения элементов массива должны меняться в интервале от 8 до 27;

3) в результате выполнения программы должно быть найдено сумма всех элементов массива.

#include

#include

#include

const int n=10;

float a[n];

float s;


int main() {

printf(“Исходный массив:”);

for (int i=0;i

a[i]=rand () % 10;

printf(“a[%d]=%f\n”, i, a[i]);

}

s=0;

for(int i=0; i

s=s*a[i];

printf(“произведение всех элементов массива S=%f”,s);

}



Массивы двумерные

Задания


1. Значения двух массивов А[100] и В [100] задаются с помощью следующего фрагмента программы:

…………….

for(int n=0; n<100;n++)

A[n]=n-100;

for(int n=0; n<100;n++)

B[n]=A[n]*n

…………….

Сколько элементов массива В будут иметь положительные значения?

Ответ: _________________


2. Напишите пропущенные команды. Ввести массив D, из 138 элементов целого типа, нумерация начинается с 0 и заменить не четные элементы на число 496. Вывести элементы массива после замены.


#include <iostream>

#include <math.h>

________________________;

int f;

int main() {

for(int j=0;_________) {___________________________}

for(int j=0; ________ ) {___________________________}

if(________________) {___________________________}

for(int f=0; ________) {___________________________}

return 0;

}

  1. Как выглядит массив А, состоящий из 4 строк и 5 столбцов, если А(I,j) = i*j ?

  1. 2) 3)

A[5,1]=_____ ,

A[6,4]=_____ ,

A[4,5]=_____ ,

A[2,3]=_____ ,

A[4,2]=_____ ,

A[3,2]=______.

Определите месторасположение элементов со следующими значениями:

A[ …..,…..]= 17, A[…..,..…]= 29, A[ .. ..,…..]= 30,

A[..…,..…]= 16, A[ ....,…..]= 1, A[…..,..…]= 27.

Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы. Чему будет равно значение B(2,4)?

..

for(int n=0;n<5;n++)

for(int k=0; k<5;k++)

B[n,k]=n+k;

…………..

Ответ: ______________________











  1. Дан фрагмент программы, обрабатывающей двухмерный массив A размера

n×n. Выберите правильный ответ, когда данный алгоритм меняет местами:

два столбца в таблице

2)

две строки в таблице

3)

элементы диагонали и k-ой строки таблицы

4)

элементы диагонали и k-го столбца таблицы


6. Задана целочисленная квадратная матрица со значениями, показанными на рисунке:

int s,i,j;

int A[3][3];

..................

for (int i=0;i<3;i++) {

s:=0;

for(int j=2; j>=0;j--) {

s=s+a[i,j];

a[i,j]=s;

}

}

..................


7. Укажите, что будет напечатано в результате выполнения следующей программы:


int a[3][3];


int main() {

for(int i=2; i>=0;i--)

for(int j=0; j<3;j++)

if (j > i) a[i,j]=10 * i + j;

else a[i,j]=10 * i - j;

for(int i=0; i < 3;i++)

{

for(int j=0; j<3;j++)

printf (“%d ”,a[i,j]);

printf(“\n”);

}

return 0;

}


Ответ,:______________________



8. Отгадай кроссворд:

  1. Порядковый номер элемента массива.

  2. Пронумерованная последовательность однотипных величин.

  3. Команда записанная на языке программирования.

  4. Постоянная величина.

Самостоятельная работа

Вариант 1

  1. Укажите, что будет напечатано в результате выполнения следующей программы:

int a[3, 3];

int main() {

for(int i=0; i<3;i++)

for(int j=2; j>=0;j++)

if (i > j)

a[i,j]=10 * i + j;

else

a[i,j]=10 * i - j;

for(int i=0; i<3;i++)

{

for(int j=0;j<3;j++)

printf (“%d ”, a[i,j]);

printf (“\n”);

}

return 0;

}


Ответ:


Вариант 2


1. Укажите, что будет напечатано в результате выполнения следующей программы:


Задания

1. Какое из следующих описаний процедуры, выводящей строку символов (*), свободно от ошибок:


void Proc(int x, int y,int &z);

int Func1(int a, int b);

Proc(k, l, m);

H=Func1(I, j);


Укажите соответствие между представленными ниже наборами параметров этих подпрограмм(слева) и названиями разновидностей параметров(справа).

  1. Какое определение верно, либо ложно:

#hello_html_6d532785.gifinclude

#include

int A,B;


void F1(int X, int Y);

{

Y=2*X+3;

}


void F2(int &X, int &Y);

{

Y=3*X+1;

}


int main() {

A=1;

B=3;

F1(A,B);

printf (“A=%d B=%d', A, B);

F2(A,B);

printf(“A= %d B=%d”, A,B);

return 0;

}


5. Напишите, что напечатает следующие программы:

hello_html_3953e3cc.gif

int a,b,c,d;

int func(int x, int y, int z);

{

int w;

w=x+y;

if (y

return w;

}


int main() {

int a=5;

int b=4;

int c=2;

d=func(a,b,c); printf(“func от %d…%d и %d, даёт %d”, a, b, c, d);

a=func(b,c,d); printf(“func от %d…%d и %d дает %d”, a, b, c, a);

}

Самостоятельная работа


Вариант 1


1. Напишите программу, которая по значениям двух катетов вычисляет гипотенузу, площадь, прямоугольного треугольника (используя подпрограмму).

2. Напишите, что выведет на экран следующая программа:

#include

#include

#include

hello_html_3953e3cc.gifint A,B;


void F1(int &X, int &Y)

{

Y=pow(X, 2);

X=pow(X, 2)+X;

}


void F2(int &X, int Y);

{

Y=pow(X, 2);

X=po2(X, 2)+X;

}


int main() {

A=1;B=3;

F1(A,B); printf(“A=%d B=%d\n”, A, B);

F2(A,B); printf(“A=%d B=%d”, A, B);

return 0;

}



Вариант 2


1. Написать программу сравнения площадей и периметров двух прямоугольных треугольников, если заданы их катеты (используя подпрограмму).

2. Напишите, что выведет на экран следующая программа:

#include

#include

#include

float A,B,A1,B1;


void SD(float X, float Y, float &P, float &Q);

{

P=(X+Y)/2; Q=(X-Y)/2 ;

}


int main() {

A=2; B=-4;

SD(A,B,A1,B1);

printf(“A= %4.0f B= %4.0f A1=%4.0f B1=%4.0f”, A,B,A1,B1);

SD(A,B,B1,A1);

printf (“A= %4.0f B= %4.0f A1=%4.0f B1=%4.0f”, A,B,A1,B1);

SD(B,A,A1,B1);

printf (“A= %4.0f B= %4.0f A1=%4.0f B1=%4.0f”, A,B,A1,B1);

Return 0;

}


Строки и символы

Задания


1. Запишите условие истинное, если:

1) в записи фамилии «Соколенко» встречается буква «л»;

________________________________________________________________________

  1. в записи фамилии «Соколенко» не встречается буква «л»;

________________________________________________________________________

  1. в записи фамилии «Соколенко» встречается буква «я»;

________________________________________________________________________

  1. в записи фамилии «Соколенко» не встречается буква «я»;

_______________________________________________________________________

  1. в записи фамилии «Соколенко» встречается буква «н», но не встречается буква «у»;

_______________________________________________________________________

  1. слово а длиннее слова b;

_______________________________________________________________________


  1. Укажите, какие из указанных ниже выражений допустимы в C++:

char a[20]; char b[100]; string str1; string str2;

1) str1 + str2;

2) strlen(a)*2 + str1;

3) strlen(a)+strlen(str1.c_str());

4) a+b

5) strcpy(a,b);

6) strcpy(a,str1)

7) strcpy(str1.c_str(), str2.c_str());

8) str2.push_back(str1.append(a).c_str());

9) str1.insert(0, “Start”):

10) str2.insert(str2.size()-1;str1);

11) (str1.clear()).c_str()[20]


  1. Запишите оператор, проверяющий:

  1. является ли заданный символ строчной гласной буквой русского алфавита.

____________________________________________________________

  1. является ли заданный символ согласной буквой русского алфавита (заглавной или строчной).

____________________________________________________________

  1. является ли заданный символ цифрой.

____________________________________________________________


  1. Из слова 'понедельник', используя функции строковых данных, получите слово 'плодик'.

____________________________________________________________


Файлы

Задания

1. Файл t1.dat был создан программой

#include


int main()

{

FILE * pFile;

char mystring [100];


pFile = fopen ("myfile.txt" , "r");

if (pFile == NULL) perror ("Error opening file");

else {

if ( fgets (mystring , 100 , pFile) != NULL )

puts (mystring);

fclose (pFile);

}

return 0;

}

Можно ли заменить char mystring[100]; на std::string mystring?

____________________________________________________________

Можно ли изменить пятую запись этого файла? ________________________

А вставить за пятой записью новую, не переписывая файла? ____________________



  1. Исправьте ошибку в программе

#include


int main ()

{

FILE * pFile;

int n = -5;

pFile = fopen ("myfile.txt");

if (pFile==NULL) perror ("Error opening file");

else

{

while (fgetc(pFile) = EOF) {

++n;

}

if (feof(pFile)) {

puts ("End-of-File reached.");

printf ("Total number of bytes read: %d\n", n);

}

else puts ("End-of-File was not reached.");

fclose (pFile);

}

return 0;

}



.




Список используемых источников


  1. Голицына О.Л., Попов И.И. Основы алгоритмизации и про­граммирования: Учебное пособие. - М: Форум: Инфра-М, 2012.

  2. Семакин И.Г. Основы программирования: Учебник для сред. Проф. Образования – 5-е изд., стер. – М.: Эпштейн Издательский центр «Академия», 2013.

  3. Павловская Т.А. Программирование на языке высокого уровня: Учебник для вузов – Спб.; Питер, 2013.

  4. Рапаков, Г.Г. C++ для студентов и школьников / Г.Г. Рапаков, С.Ю. Ржеужкая. – СПб.: БХВ-Петербург, 2012. – 352 с.

  5. Моргун, А.Н., Кривель И.А. Программирование на языке C++. Основы обработки структур данных / А.Н. Моргун, И.А. Кривель. – М.: Издательский дом «Вильямс», 2013. – 576 с.
















Самые низкие цены на курсы переподготовки

Специально для учителей, воспитателей и других работников системы образования действуют 50% скидки при обучении на курсах профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок", но в дипломе форма обучения не указывается.

Начало обучения ближайшей группы: 25 октября. Оплата возможна в беспроцентную рассрочку (10% в начале обучения и 90% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru

Краткое описание документа:

Рабочая тетрадь содержит задания для закрепления знаний по разделу "Основы прикладного программирования с использованием языка С++" междисциплинарного курса «Прикладное программирование» для специальности 09.02.03 Программирование в компьютерных системах. Рабочая тетрадь адресована студентам очной формы обучения.

Общая информация

Номер материала: ДБ-207500

Похожие материалы