Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_SI.doc
Скачиваний:
30
Добавлен:
23.02.2015
Размер:
2.05 Mб
Скачать

5 Задача

Цель: работа с перечислимым типом.

Вывести сообщение, если введенный день недели суббота или воскресенье, и другое сообщение, если это рабочий день.

#include <stdio.h>

/* описание перечислимого типа*/

enumDays

{

Monday=1,

Tuesday,

Wednesday,

Thusday,

Friday,

Saturday,

Sunday

};

int main()

{

/* объявление переменной для работы с номером дня */

int choice;

puts("Enter a day (1-7): ");

scanf("%d", &choice);

/* проверка, является ли введенный день недели субботой или воскресеньем*/

if ((choice == Sunday) || (choice == Saturday))

puts(" You're already off on weekend! ");

else

puts("Unfortunately, that is a working day");

return 0;

}

6 Задача

Цель: работа с циклами.

Вычислить сумму первых N натуральных чисел.

Дополнительное условие: использовать цикл с предусловием.

#include <stdio.h>

/* препроцессорная обработка: везде в тексте программы вместо N подставляется значение 6*/

#define N 6

int main()

{

/* инициализация переменной при объявлении*/

inti= 1;

/* объявление переменной для хранения текущего значения суммы*/

intsum= 0;

/* пока не все числа просмотрены */

while (i < =N)

{

/* значение переменной sum увеличивается на текущеее значение i*/

sum=sum+i; /*эффективнее sum += i;*/

/* наращивание значений переменной i на 1*/

i=i+1; /*лучше i+=1; или i++ */

}

printf("sum = %d\n" , sum) ;

return 0;

}

Дополнительное условие: использовать цикл с постусловием.

#include <stdio.h>

int main()

{

constintN=5; /*описание целой константы вместо прероцессорного оператора*/

int i = 1;

int sum = 0;

do

{

sum += i;

i++;

}

while(i <= N);

printf("sum = %d\n ",sum);

return 0;

}

Дополнительное условие:использование цикла с предусловием.

#include <stdio.h>

#define N 5

int main()

{

int i;

int sum=0;

for (i=1; i<=N; i++)

sum+=i;

/* можно также использовать оператор цикла в виде

for (i=1, sum=0; i<=N; sum+=i, i++); */

printf( "sum = %d \n ",sum);

return 0;

}

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

  1. Вывести данные о себе (фамилию, год рождения, пол, средний балл аттестата). Предусмотреть ввод с клавиатуры года рождения и среднего балла.

  2. Изменить задачу , так, чтобы можно было вводить в цикле значения x. Цикл должен работать до первого значения, не принадлежащего области допустимых значений.

Лабораторная работа №2

Целые числа

Цель: закрепление на практике знаний основных структур языка. Использование простейших алгоритмов. Понятие функции. Передача параметров в функцию. Возвращение значения функцией.

Методические рекомендации: лабораторная работа рассчитана на 2 часа и состоит из анализа четырех заданий, рассматриваемых в двух вариантах: без использования и с использованием функции и выполнения самостоятельной работы.

Обязательное зачетное задание.

Необходимый уровень знаний:

  • синтаксис языка;

  • основные конструкции языка.

1 Задача

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

Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n.

Дополнительное условие: программа написана без использования функции.

#include <stdio.h>

#include <math.h>

int main ()

{

// описание переменной булевского типа, выделение памяти под переменную и

// присваивание ей значения false

bool f=false;

int m;

int n;

scanf("%d",&n);

// вычисления квадрата введенного числа

n*=n;

do

{

// нахождение остатка от деления на 10

m=n%10;

// если остаток от деления равен 3, то

if (m==3)

// присваиваем переменной f значение true

f=true;

// нахождение результата целочисленного деления

m=n/10;

// присвоение переменной n значения переменной m

n=m;

}

// проверяем каждый разряд на совпадение с 3 (слева направо)

while (m!=0);

// если нашли 3 в каком-нибудь разряде

if (f)

printf("YES \n");

else

printf("NO \n");

return0;

}

Цель: первичное знакомство с понятием функции. Передача параметров в функцию. Возвращение значения из функции.

Дополнительное условие: программа написана с использованием функции.

#include <stdio.h>

#include <math.h>

#define PARAM 3

// описание прототипа функции, который проверяет, входит ли цифра 3 в запись числа n.

bool isContainsParam(int n);

bool isContainsParam(int n)

{

// вычисление квадрата введенного числа

n *= n;

do

{

// если остаток от деления на 10 равен 3, то

if (PARAM == n % 10)

{

// возвращаем true

return true;

}

n /= 10;

}

// проверяем каждый разряд на наличие 3 (слева направо)

while (n != 0);

// функция возвращает значение false, если не найден PARAM в числе n

return false;

}

int main ()

{

int n;

scanf("%d",&n);

// проверка на нахождение 3 в каком-нибудь разряде. Вызов функции, в которую

// передается число, которое проверяется

if (isContainsParam(n))

{

printf("YES \n");

}

else

{

printf("NO \n");

}

return0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]