Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмізація та програмування.docx
Скачиваний:
84
Добавлен:
17.05.2015
Размер:
1.35 Mб
Скачать

Іспит На кінець місяця студенти повинні знати:

- перехід від запису алгоритму у вигляді блок-схеми, до запису на мові Сі;

- принцип організації двовимірних і багатовимірних масивів, способи введення-виводу;

- способи сортування масивів і пошуку елементів масиву;

- принципи організації процедур і функцій, передачі ним параметрів і зони видимості змінних;

- принципи роботи рекурсивних підпрограм;

Уміти вирішувати завдання:

- створення і сортування багатовимірних масивів за певним законом;

- видалення елементів з масиву;

- модифікації двовимірних масивів;

- створення покажчиків на змінні і масиви, встановлювати і набувати їх значень;

- складання тексту програми з використанням процедур і функцій;

- написання рекурсивних підпрограм

3-й місяць "Файли"

Практика. «Вдосконалення роботи з масивами і функціями»

Описати рекурсивну функцію Fib1(N) цілого типу, обчислюючи N -й елемент послідовності чисел Фібоначчі (N — ціле число) :

F1 = F2 = 1, FK = FK - 2 + FK - 1, K = 3, 4, .

За допомогою цієї функції знайти п'ять чисел Фібоначчі з цими номерами, і вивести ці числа разом з кількістю рекурсивних викликів функції Fib1, що знадобилися для їх знаходження.

Описати процедуру Split1(A, NA, B, NB, C, NC), що формує по речовому масиву A розміру NA два речові масиви B і C розміру NB і NC відповідно; при цьому масив B містить усі елементи масиву A з непарними порядковими номерами (1, 3, .), а масив C — усі елементи масиву A з парними номерами (2, 4, ...). Масиви B і C і числа NB і NC є вихідними параметрами. Застосувати цю процедуру до цього масиву A розміру NA і вивести розмір і вміст отриманих масивів B і C.

Описати рекурсивну функцію MaxElem(A, N) цілого типу, яка знаходить максимальний елемент цілочисельного масиву A розміру N (1 < N < 10), не використовуючи оператор циклу. За допомогою цієї функції знайти максимальні елементи масивів A, B, C розміру NA, NB, NC відповідно.

Дана матриця розміру M х N. Упорядкувати її рядки так, щоб їх перші елементи утворювали зростаючу послідовність.

Лекція 1. "Символьні рядки"

  • що таке символьний рядок

  • уведення-виведення символьних рядків

  • операції над рядками

  • рядки у функціях і процедурах

Лекція №14 "Символьних рядків"

План

- вступ (суть лекції)

- що таке символьний рядок

- уведення-виведення символьних рядків

- операції над рядками

- рядки у функціях і процедурах

Завдання. Заміна усіх маленьких англійських букв в рядку відповідними великими

#include <stdio.h>

#include <stdlib.h>

long int leng (char *S){

int i;

for (i=0;S[i]!='';i++){}

return i;

}

void upcase (char *S){

int dist = 'a '-' A';

int i, N=leng(S);

printf ("%i", N);

for ( i=0;i<N;i++){

if (S[i]>'a' && S[i] <'z') S[i]=S[i]- dist;

printf ("S[%i]= %c %i", i, S[i],S[i]);

}

}

int main(int argc, char *argv[])

{char S[1000];

int N, i;

scanf ("%s", S);

upcase (S);

printf ("%s", S);

system("PAUSE");

return 0;

}

Практика.

Даний символ C. Вивести два символи, перший з яких передує символу C в кодовій таблиці, а другою йде за символом C.

Дано парне число N (> 0) і символи C1 і C2. Вивести рядок довжини N, яка складається з символів C1 і C2, що чергуються, починаючи з C1.

Даний рядок. Підрахувати кількість цифр, що містяться в ній.

Даний рядок, що містить цифри і дужки трьох видів : «() », «[]», «{}». Якщо дужки розставлені правильно (тобто кожною відкриває відповідає закриваюча дужка того ж виду), то вивести число 0. Інакше вивести або номер позиції, в якій розташована перша помилкова дужка, або, якщо закриваючих дужок бракує, число - 1.

Лекція 2. "Текстові файли"

  • типи файлів

  • дескриптори файлів

  • нижній рівень введення-виводу

  • системні виклики

  • текстові файли

Практика.

Дано ім'я файлу і цілі позитивні числа N і K. Створити текстовий файл з вказаним ім'ям і записати в нього N рядків, кожна з яких складається з K символів «*» (зірочка).

Дано ім'я файлу і ціле число N (0 < N < 27). Створити текстовий файл з вказаним ім'ям і записати в нього N рядків : перший рядок повинен містити рядкову (тобто маленьку) латинську букву «a», друга, — букви «ab», третя, — букви «abc» і т. д.; останній рядок повинен містити N початкових рядкових латинських букв в алфавітному порядку.

Дано ціле число K і текстовий файл. Видалити з кожного рядка файлу перші K символів (якщо довжина рядка менше K, то видалити з неї усі символи).

Дано два текстові файли. Додати в кінець першого файлу вміст другого файлу.

Даний текстовий файл. Замінити в нім усі пропуски, що підряд йдуть, на один пропуск.

Лекція 3. "Файли з довільним доступом".

  • бінарні файли

  • довільний доступ

  • покажчик поточної позиції

  • переміщення покажчика по файлу

  • читання і виведення бінарних файлів

Практика.

Дано ім'я бінарного файлу і ціле число N (> 1). Створити файл цілих чисел

цим ім'ям і записати в нього N перших позитивних парних чисел (2, 4, ...:).

Дано ім'я файлу цілих чисел. Знайти кількість елементів, що містяться в цьому файлі. Якщо файлу з таким ім'ям не існує, то вивести - 1.